diff -Nru mkvtoolnix-4.0.0/ac/ax_boost_filesystem.m4 mkvtoolnix-4.5.0+dfsg/ac/ax_boost_filesystem.m4 --- mkvtoolnix-4.0.0/ac/ax_boost_filesystem.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/ax_boost_filesystem.m4 2011-01-31 20:34:09.000000000 +0000 @@ -62,7 +62,7 @@ LIBS="$LIBS $BOOST_SYSTEM_LIB" export LIBS - AC_CACHE_CHECK(whether the Boost::Filesystem library is available, + AC_CACHE_CHECK(whether the Boost::Filesystem library headers are available, ax_cv_boost_filesystem, [ AC_LANG_PUSH([C++]) @@ -75,8 +75,11 @@ ]) if test "x$ax_cv_boost_filesystem" = "xyes"; then - AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available]) + ax_lib= + + AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library headers are available]) BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_filesystem_lib" = "x"; then for libextension in `ls $BOOSTLIBDIR/libboost_filesystem*.{so,dylib,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_filesystem.*\)\.so.*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.a*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.dylib$;\1;'` ; do ax_lib=${libextension} @@ -101,14 +104,18 @@ [link_filesystem="no"]) done fi - - if test "x$link_filesystem" != "xyes"; then - AC_MSG_ERROR(Could not link against $ax_lib !) - fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" LIBS="$LIBS_SAVED" + + if test x"$link_filesystem" != "xyes" ; then + if test x"$ax_lib" = "x" ; then + AC_MSG_ERROR([The Boost::Filesystem library was not found in $BOOSTLIBDIR.]) + else + AC_MSG_ERROR([The Boost::Filesystem library is required and it was found, but linking against it failed.]) + fi + fi fi ]) diff -Nru mkvtoolnix-4.0.0/ac/ax_boost_property_tree.m4 mkvtoolnix-4.5.0+dfsg/ac/ax_boost_property_tree.m4 --- mkvtoolnix-4.0.0/ac/ax_boost_property_tree.m4 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/ax_boost_property_tree.m4 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,41 @@ +AC_DEFUN([AX_BOOST_PROPERTY_TREE_TRY_COMPILE],[ + result="$1" + AC_LANG_PUSH(C++) + AC_TRY_COMPILE([ + #include + #include + ],[ + boost::property_tree::ptree pt; + ], + ax_cv_boost_property_tree=$result, + ax_cv_boost_property_tree=no) + AC_LANG_POP() +]) + +AC_DEFUN([AX_BOOST_PROPERTY_TREE],[ + included_boost_dir="$1" + included_boost_exception_dir="$2" + + AC_CACHE_CHECK([which boost/property_tree/ptree.hpp to use], + [ax_cv_boost_property_tree],[ + CXXFLAGS_SAVED="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS" + export CXXFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AX_BOOST_PROPERTY_TREE_TRY_COMPILE(system) + + if test x"$ax_cv_boost_property_tree" = "xno"; then + CXXFLAGS="-I$included_boost_exception_dir -I$included_boost_dir $CXXFLAGS_SAVED $BOOST_CPPFLAGS" + export CXXFLAGS + + AX_BOOST_PROPERTY_TREE_TRY_COMPILE(included) + fi + + CXXFLAGS="$CXXFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + ]) +]) diff -Nru mkvtoolnix-4.0.0/ac/ax_boost_system.m4 mkvtoolnix-4.5.0+dfsg/ac/ax_boost_system.m4 --- mkvtoolnix-4.0.0/ac/ax_boost_system.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/ax_boost_system.m4 2011-01-31 20:34:09.000000000 +0000 @@ -63,7 +63,7 @@ export LDFLAGS AC_CACHE_CHECK( - whether the Boost::System library is available, + whether the Boost::System library headers are available, ax_cv_boost_system, [ AC_LANG_PUSH([C++]) CXXFLAGS_SAVE=$CXXFLAGS @@ -78,8 +78,8 @@ if test "x$ax_cv_boost_system" = "xyes"; then AC_SUBST(BOOST_CPPFLAGS) + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library headers are available]) - AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` LDFLAGS_SAVE=$LDFLAGS diff -Nru mkvtoolnix-4.0.0/ac/boost.m4 mkvtoolnix-4.5.0+dfsg/ac/boost.m4 --- mkvtoolnix-4.0.0/ac/boost.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/boost.m4 2011-01-31 20:34:09.000000000 +0000 @@ -32,3 +32,17 @@ if test x"$ax_cv_boost_foreach" = "xincluded"; then EXTRA_CFLAGS="$EXTRA_CFLAGS -I$boost_foreach_dir" fi + +# boost::property_tree can be missing; the included version will be used in +# that case. +boost_exception_dir=lib/boost/exception +boost_property_tree_dir=lib/boost/property_tree +AX_BOOST_PROPERTY_TREE($boost_property_tree_dir, $boost_exception_dir) + +if test x"$ax_cv_boost_property_tree" = "xno"; then + AC_MSG_ERROR([The Boost property_tree library was not found, and the included version does not work. Install Boost v1.41.0 or later.]) +fi + +if test x"$ax_cv_boost_property_tree" = "xincluded"; then + EXTRA_CFLAGS="-I$boost_exception_dir $EXTRA_CFLAGS -I$boost_property_tree_dir" +fi diff -Nru mkvtoolnix-4.0.0/ac/curl.m4 mkvtoolnix-4.5.0+dfsg/ac/curl.m4 --- mkvtoolnix-4.0.0/ac/curl.m4 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/curl.m4 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,45 @@ +dnl +dnl Check for libcurl +dnl + +continue_curl_check=1 + +AC_ARG_WITH(curl_config, + AC_HELP_STRING([--with-curl-config=prog],[use prog instead of looking for curl-config]), + [ CURL_CONFIG="$with_curl_config" ],) +AC_PATH_PROG(CURL_CONFIG, curl-config, no, $PATH:/usr/local/bin) +if test x"$CURL_CONFIG" = "xno" ; then + echo "*** Not checking for curl: curl-config not found" + continue_curl_check=0 +elif test ! -x "$CURL_CONFIG" ; then + echo "*** Not checking for curl: file '"$CURL_CONFIG"' not executable" + continue_curl_check=0 +fi + +if test x"$continue_curl_check" = x1 ; then + CURL_CFLAGS=`$CURL_CONFIG --cflags` + CURL_LIBS=`$CURL_CONFIG --libs` + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $CURL_CFLAGS" + LIBS="$LIBS $CURL_LIBS" + AC_CHECK_LIB(curl, curl_easy_init, + [ curl_found=yes ], + [ curl_found=no ],) + if test "$curl_found" = "yes"; then + AC_CHECK_HEADERS(curl/easy.h, , curl_found=no, [#include ]) + fi + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" +fi + +if test "$curl_found" = "yes"; then + opt_features_yes="$opt_features_yes\n * online update checks (via libcurl)" +else + opt_features_no="$opt_features_no\n * online update checks (via libcurl)" + CURL_CFLAGS="" + CURL_LIBS="" +fi + +AC_SUBST(CURL_CFLAGS) +AC_SUBST(CURL_LIBS) diff -Nru mkvtoolnix-4.0.0/ac/debugging_profiling.m4 mkvtoolnix-4.5.0+dfsg/ac/debugging_profiling.m4 --- mkvtoolnix-4.0.0/ac/debugging_profiling.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/debugging_profiling.m4 2011-01-31 20:34:09.000000000 +0000 @@ -1,32 +1,43 @@ dnl dnl Debugging, profiling and optimization options dnl + +AC_ARG_ENABLE([debug], + AC_HELP_STRING([--enable-debug],[compile with debug information (no)]), + [], + [enable_debug=no]) + +AC_ARG_ENABLE([profiling], + AC_HELP_STRING([--enable-profiling],[compile with profiling information (no)]), + [], + [enable_profiling=no]) + +AC_ARG_ENABLE([optimization], + AC_HELP_STRING([--enable-optimization],[compile with optimization: -O3 (yes)]), + [], + [if test x"$enable_debug" = xyes ; then + enable_optimization=no + else + enable_optimization=yes + fi]) + DEBUG_CFLAGS="" -OPTIMIZATION_CFLAGS="-O3" +OPTIMIZATION_CFLAGS="" PROFILING_CFLAGS="" PROFILING_LIBS="" -AC_ARG_ENABLE([optimization], - AC_HELP_STRING([--enable-optimization],[compile with optimization: -O3 (yes)]), - , [ enable_optimization=no ]) -AC_ARG_ENABLE( - [debug], - AC_HELP_STRING([--enable-debug],[compile with debug information (no)]), - [ - if test x"$enable_debug" = xyes ; then - DEBUG_CFLAGS="-g -DDEBUG" - if test x"$enable_optimization" = x"no"; then - OPTIMIZATION_CFLAGS="" - fi - fi - ]) -AC_ARG_ENABLE( - [profiling], - AC_HELP_STRING([--enable-profiling],[compile with profiling information (no)]), - [ - PROFILING_CFLAGS="-pg" - PROFILING_LIBS="-pg" - ]) +if test x"$enable_debug" = xyes ; then + DEBUG_CFLAGS="-g -DDEBUG" +fi + +if test x"$enable_optimization" = xyes; then + OPTIMIZATION_CFLAGS="-O3" +fi + +if test x"$enable_profiling" = xyes ; then + PROFILING_CFLAGS="-pg" + PROFILING_LIBS="-pg" +fi AC_SUBST(DEBUG_CFLAGS) AC_SUBST(PROFILING_CFLAGS) diff -Nru mkvtoolnix-4.0.0/ac/ebml.m4 mkvtoolnix-4.5.0+dfsg/ac/ebml.m4 --- mkvtoolnix-4.0.0/ac/ebml.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/ebml.m4 2011-01-31 20:34:09.000000000 +0000 @@ -2,7 +2,7 @@ dnl Test for libebml, and define EBML_CFLAGS and EBML_LIBS dnl ebml_ver_req_major=1 - ebml_ver_req_minor=0 + ebml_ver_req_minor=2 ebml_ver_req_micro=0 AC_CACHE_CHECK([for libEBML headers version >= ${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}], @@ -50,58 +50,62 @@ AC_LANG_POP CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" + + if test x"${ac_cv_ebml_found}" != "xyes" ; then + ac_cv_ebml_found=internal + fi ]) - if test x"${ac_cv_ebml_found}" != "xyes" ; then - echo '*** Your libEBML version is too old. Upgrade to at least version' - echo '*** '${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}' and re-run configure.' - exit 1 - fi + if test x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" + else dnl dnl Test if libebml has to be compiled with -DEBML_DLL on Windows. dnl - ebml_check_msg_nodll="yes, without -DEBML_DLL" - ebml_check_msg_dll="yes, with -DEBML_DLL" + ebml_check_msg_nodll="yes, without -DEBML_DLL" + ebml_check_msg_dll="yes, with -DEBML_DLL" - AC_CACHE_CHECK([if linking against libEBML works and if it requires -DEBML_DLL], - [ac_cv_ebml_dll],[ - AC_LANG_PUSH(C++) - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" - LIBS="$LIBS $EBML_LIBS" - AC_TRY_LINK([ + AC_CACHE_CHECK([if linking against libEBML works and if it requires -DEBML_DLL], + [ac_cv_ebml_dll],[ + AC_LANG_PUSH(C++) + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" + LIBS="$LIBS $EBML_LIBS" + AC_TRY_LINK([ #include #include using namespace libebml; - ], - [EbmlDummy d;], - ac_cv_ebml_dll="${ebml_check_msg_nodll}", - ac_cv_ebml_dll="not found") - - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DEBML_DLL" - AC_TRY_LINK([ + ], + [EbmlDummy d;], + ac_cv_ebml_dll="${ebml_check_msg_nodll}", + ac_cv_ebml_dll="not found") + + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DEBML_DLL" + AC_TRY_LINK([ #include #include using namespace libebml; - ], - [EbmlDummy d;], - ac_cv_ebml_dll="${ebml_check_msg_dll}") + ], + [EbmlDummy d;], + ac_cv_ebml_dll="${ebml_check_msg_dll}") + fi fi - fi - AC_LANG_POP - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" - ]) - - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - echo '*** The libEBML library was not found.' - exit 1 + AC_LANG_POP + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" + ]) + + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + echo '*** The libEBML library was not found.' + exit 1 + fi fi if test x"${ac_cv_ebml_dll}" = "x${ebml_check_msg_dll}" ; then diff -Nru mkvtoolnix-4.0.0/ac/manpages_translations.m4 mkvtoolnix-4.5.0+dfsg/ac/manpages_translations.m4 --- mkvtoolnix-4.0.0/ac/manpages_translations.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/manpages_translations.m4 2011-01-31 20:34:09.000000000 +0000 @@ -1,31 +1,16 @@ AC_MSG_CHECKING(the manpage translation languages to install) MANPAGES_TRANSLATIONS="" -MANPAGES_TRANSLATIONS_POS="" if test x"$LINGUAS" = x ; then for file in $srcdir/doc/man/po4a/po/*.po; do MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS`basename $file .po` " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$file " done else for i in $LINGUAS; do if test -f "$srcdir/doc/man/po4a/po/$i.po"; then MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS$i " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$srcdir/doc/man/po4a/po/$i.po " fi done fi AC_MSG_RESULT($MANPAGES_TRANSLATIONS) -MANPAGES_TRANSLATED="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo '$(subst doc/man, doc/man/'$lang', $(MANPAGES)) '; done | tr -d '\n\r'`" - -MANPAGES_TRANSLATED_XML_RULE="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo 'doc/man/'$lang'/%.xml: doc/man/%.xml doc/man/po4a/po/'$lang'.po' - echo ' @echo '\'' PO4A '\'' $< '\''('$lang')'\' - echo ' $(Q)$(PO4A_TRANSLATE) $(PO4A_TRANSLATE_FLAGS) -m $< -p doc/man/po4a/po/'$lang'.po -l $@'; done`" - - AC_SUBST(MANPAGES_TRANSLATIONS) -AC_SUBST(MANPAGES_TRANSLATIONS_POS) -AC_SUBST(MANPAGES_TRANSLATED) -AC_SUBST(MANPAGES_TRANSLATED_XML_RULE) diff -Nru mkvtoolnix-4.0.0/ac/matroska.m4 mkvtoolnix-4.5.0+dfsg/ac/matroska.m4 --- mkvtoolnix-4.0.0/ac/matroska.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/matroska.m4 2011-01-31 20:34:09.000000000 +0000 @@ -2,21 +2,22 @@ dnl Test for libmatroska, and define MATROSKA_CFLAGS and MATROSKA_LIBS dnl kax_ver_req_major=1 - kax_ver_req_minor=0 + kax_ver_req_minor=1 kax_ver_req_micro=0 AC_CACHE_CHECK([for libMatroska headers version >= ${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}], [ac_cv_matroska_found], [ - MATROSKA_LIBS="-lmatroska" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - rm -f conf.matroskatest - AC_LANG_PUSH(C++) - AC_TRY_COMPILE([ + if test x"${ac_cv_ebml_found}" = "xyes" ; then + MATROSKA_LIBS="-lmatroska" + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + rm -f conf.matroskatest + AC_LANG_PUSH(C++) + AC_TRY_COMPILE([ #include #include #include @@ -26,17 +27,17 @@ #if LIBMATROSKA_VERSION < ((${kax_ver_req_major} << 16) + (${kax_ver_req_minor} << 8) + ${kax_ver_req_micro}) # error libmatroska is too old #endif - ], - [], - ac_cv_matroska_found=yes, - ac_cv_matroska_found=no) + ], + [], + ac_cv_matroska_found=yes, + ac_cv_matroska_found=no) - if test x"${ac_cv_matroska_found}" != "xyes" ; then - MATROSKA_CFLAGS="-I/usr/local/include" - MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" - CXXFLAGS="-I/usr/local/include $CXXFLAGS" - LIBS="-L/usr/local/lib $LIBS" - AC_TRY_COMPILE([ + if test x"${ac_cv_matroska_found}" != "xyes" ; then + MATROSKA_CFLAGS="-I/usr/local/include" + MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" + CXXFLAGS="-I/usr/local/include $CXXFLAGS" + LIBS="-L/usr/local/lib $LIBS" + AC_TRY_COMPILE([ #include #include #include @@ -46,68 +47,76 @@ #if LIBMATROSKA_VERSION < ((${kax_ver_req_major} << 16) + (${kax_ver_req_minor} << 8) + ${kax_ver_req_micro}) # error libmatroska is too old #endif - ], - [], - ac_cv_matroska_found=yes, - ac_cv_matroska_found=no) + ], + [], + ac_cv_matroska_found=yes, + ac_cv_matroska_found=no) + fi + + AC_LANG_POP + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" fi - AC_LANG_POP - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" + if test x"${ac_cv_matroska_found}" != "xyes" ; then + ac_cv_matroska_found=internal + fi ]) - if test x"${ac_cv_matroska_found}" != "xyes" ; then - echo '*** Your libMatroska version is too old. Upgrade to at least version' - echo '*** '${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}' and re-run configure.' - exit 1 - fi - - matroska_check_msg_nodll="yes, without -MATROSKA_DLL" - matroska_check_msg_dll="yes, with -DMATROSKA_DLL" - - AC_CACHE_CHECK([if linking against libMatroska works and if it requires -DMATROSKA_DLL], - [ac_cv_matroska_dll],[ - AC_LANG_PUSH(C++) - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - AC_TRY_LINK([ + if test x"${ac_cv_matroska_found}" = "xinternal" -o x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" + MATROSKA_CFLAGS="-Ilib/libmatroska" + MATROSKA_LIBS="-Llib/libmatroska/src -lmatroska" + EBML_MATROSKA_INTERNAL=yes + + else + matroska_check_msg_nodll="yes, without -MATROSKA_DLL" + matroska_check_msg_dll="yes, with -DMATROSKA_DLL" + + AC_CACHE_CHECK([if linking against libMatroska works and if it requires -DMATROSKA_DLL], + [ac_cv_matroska_dll],[ + AC_LANG_PUSH(C++) + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + AC_TRY_LINK([ #include #include using namespace libmatroska; - ], - [KaxSegment s;], - ac_cv_matroska_dll="${matroska_check_msg_nodll}", - ac_cv_matroska_dll="not found") - - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" - AC_TRY_LINK([ + ], + [KaxSegment s;], + ac_cv_matroska_dll="${matroska_check_msg_nodll}", + ac_cv_matroska_dll="not found") + + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" + AC_TRY_LINK([ #include #include using namespace libmatroska; - ], - [KaxSegment s;], - ac_cv_matroska_dll="${matroska_check_msg_dll}") + ], + [KaxSegment s;], + ac_cv_matroska_dll="${matroska_check_msg_dll}") + fi fi - fi - AC_LANG_POP - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" - ]) - - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then - echo '*** The libMatroska library was not found.' - exit 1 - fi + AC_LANG_POP + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" + ]) + + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then + echo '*** The libMatroska library was not found.' + exit 1 + fi - if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then - MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then + MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + fi fi if test x"${ac_cv_ebml_dll}" != "xyes" -o x"${ac_cv_matroska_dll}" != "xyes" ; then @@ -116,3 +125,4 @@ AC_SUBST(MATROSKA_CFLAGS) AC_SUBST(MATROSKA_LIBS) +AC_SUBST(EBML_MATROSKA_INTERNAL) diff -Nru mkvtoolnix-4.0.0/ac/precompiled_headers.m4 mkvtoolnix-4.5.0+dfsg/ac/precompiled_headers.m4 --- mkvtoolnix-4.0.0/ac/precompiled_headers.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/precompiled_headers.m4 2011-01-31 20:34:09.000000000 +0000 @@ -4,7 +4,7 @@ AC_ARG_ENABLE([precompiled_headers], AC_HELP_STRING([--enable-precompiled-headers],[enable the generation and use of precompiled headers (auto)]), - [enable_precompiled_headers=yes], + [], [enable_precompiled_headers=auto]) if test x"$enable_precompiled_headers" = x"auto"; then diff -Nru mkvtoolnix-4.0.0/ac/tiocgwinsz.m4 mkvtoolnix-4.5.0+dfsg/ac/tiocgwinsz.m4 --- mkvtoolnix-4.0.0/ac/tiocgwinsz.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/tiocgwinsz.m4 2011-01-31 20:34:09.000000000 +0000 @@ -1,6 +1,7 @@ AC_SYS_POSIX_TERMIOS AC_HEADER_TIOCGWINSZ +AC_CHECK_HEADERS([sys/ioctl.h]) -if test x"ac_cv_sys_posix_termios" = "xyes" ; then +if test x"$ac_cv_sys_posix_termios" = "xyes" ; then AC_DEFINE([HAVE_TIOCGWINSZ], 1, [define if ioctl & TIOCGWINSZ are available]) fi diff -Nru mkvtoolnix-4.0.0/ac/translations.m4 mkvtoolnix-4.5.0+dfsg/ac/translations.m4 --- mkvtoolnix-4.0.0/ac/translations.m4 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ac/translations.m4 2011-01-31 20:34:09.000000000 +0000 @@ -30,5 +30,4 @@ fi AC_SUBST(LIBINTL_LIBS) -AC_SUBST(TRANSLATIONS_POS) AC_SUBST(TRANSLATIONS) diff -Nru mkvtoolnix-4.0.0/AUTHORS mkvtoolnix-4.5.0+dfsg/AUTHORS --- mkvtoolnix-4.0.0/AUTHORS 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/AUTHORS 2011-01-31 20:34:09.000000000 +0000 @@ -1,5 +1,8 @@ The authors for the main code in alphabetical order: +Bilous'ko, Andriy + * Ukrainian translation + Bunkus, Moritz (Mosu) * Almost everything @@ -46,6 +49,9 @@ * The CorePicture XML reader * Changes for compilation with libebml2/libmatroska2 +Medina, Sergi + * Spanish translation + Maassen, René * Dutch translation @@ -102,6 +108,17 @@ Taniura, Hiroki * Japanese translation +Torrijos, Israel Lucas + * Spanish translation + +Trinine + * French translation + +Vega, Cristian Morales + * .desktop and MIME type files + * build system changes to install mmg's guide into configure's + "docdir" location + Wu, Dong-Jun * Chinese Traditional translation @@ -114,6 +131,9 @@ ?, ? * Support for Ogg Kate in mkvmerge and mkvextract +?, ? + * Bugfix 591 in mkvinfo + ------------------------------------------------------- Stuff that was developped externally and only included/patched in mkvtoolnix: diff -Nru mkvtoolnix-4.0.0/autogen.sh mkvtoolnix-4.5.0+dfsg/autogen.sh --- mkvtoolnix-4.0.0/autogen.sh 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/autogen.sh 2011-01-31 20:34:09.000000000 +0000 @@ -74,6 +74,5 @@ echo " automake --add-missing --copy" && automake --add-missing --copy 2> /dev/null echo -echo "You can run './configure' now. If you need dependencies then" -echo "run 'make depend' afterwards." +echo "You can run './configure' followed by 'rake' now." cd $olddir diff -Nru mkvtoolnix-4.0.0/autom4te.cache/output.0 mkvtoolnix-4.5.0+dfsg/autom4te.cache/output.0 --- mkvtoolnix-4.0.0/autom4te.cache/output.0 2010-06-05 12:26:20.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/autom4te.cache/output.0 2011-01-31 20:43:49.000000000 +0000 @@ -594,12 +594,8 @@ ac_subst_vars='LTLIBOBJS LIB@&t@OBJS GUIDE_TRANSLATIONS -MANPAGES_TRANSLATED_XML_RULE -MANPAGES_TRANSLATED -MANPAGES_TRANSLATIONS_POS MANPAGES_TRANSLATIONS TRANSLATIONS -TRANSLATIONS_POS LIBINTL_LIBS PO4A_WORKS PO4A_TRANSLATE_FLAGS @@ -617,6 +613,9 @@ BOOST_LDFLAGS BOOST_CPPFLAGS BOOST_SYSTEM_LIB +CURL_LIBS +CURL_CFLAGS +CURL_CONFIG MAGIC_LIBS USE_QT QT_LIBS @@ -633,6 +632,7 @@ ZLIB_LIBS EXPAT_LIBS EXPAT_CFLAGS +EBML_MATROSKA_INTERNAL MATROSKA_LIBS MATROSKA_CFLAGS EBML_LIBS @@ -737,9 +737,9 @@ with_words with_extra_includes with_extra_libs -enable_optimization enable_debug enable_profiling +enable_optimization enable_precompiled_headers with_build_timestamp enable_posix_fadvise @@ -752,6 +752,7 @@ enable_qt with_moc with_uic +with_curl_config with_boost with_boost_libdir with_boost_system @@ -1383,9 +1384,9 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-optimization compile with optimization: -O3 (yes) --enable-debug compile with debug information (no) --enable-profiling compile with profiling information (no) + --enable-optimization compile with optimization: -O3 (yes) --enable-precompiled-headers enable the generation and use of precompiled headers (auto) @@ -1409,6 +1410,7 @@ --with-wx-config=prog use prog instead of looking for wx-config --with-moc=prog use prog instead of looking for moc --with-uic=prog use prog instead of looking for uic + --with-curl-config=prog use prog instead of looking for curl-config --with-boost=DIR specify the root directory for the mandatory Boost library (default is autodetection) --with-boost-libdir=LIB_DIR @@ -2545,7 +2547,7 @@ PACKAGE="mkvtoolnix" -VERSION="4.0.0" +VERSION="4.5.0" @@ -5042,39 +5044,53 @@ -DEBUG_CFLAGS="" -OPTIMIZATION_CFLAGS="-O3" -PROFILING_CFLAGS="" -PROFILING_LIBS="" - -@%:@ Check whether --enable-optimization was given. -if test "${enable_optimization+set}" = set; then : - enableval=$enable_optimization; -else - enable_optimization=no -fi @%:@ Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; - if test x"$enable_debug" = xyes ; then - DEBUG_CFLAGS="-g -DDEBUG" - if test x"$enable_optimization" = x"no"; then - OPTIMIZATION_CFLAGS="" - fi - fi - +else + enable_debug=no fi + @%:@ Check whether --enable-profiling was given. if test "${enable_profiling+set}" = set; then : enableval=$enable_profiling; - PROFILING_CFLAGS="-pg" - PROFILING_LIBS="-pg" - +else + enable_profiling=no fi +@%:@ Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then : + enableval=$enable_optimization; +else + if test x"$enable_debug" = xyes ; then + enable_optimization=no + else + enable_optimization=yes + fi +fi + + +DEBUG_CFLAGS="" +OPTIMIZATION_CFLAGS="" +PROFILING_CFLAGS="" +PROFILING_LIBS="" + +if test x"$enable_debug" = xyes ; then + DEBUG_CFLAGS="-g -DDEBUG" +fi + +if test x"$enable_optimization" = xyes; then + OPTIMIZATION_CFLAGS="-O3" +fi + +if test x"$enable_profiling" = xyes ; then + PROFILING_CFLAGS="-pg" + PROFILING_LIBS="-pg" +fi + @@ -5083,7 +5099,7 @@ @%:@ Check whether --enable-precompiled_headers was given. if test "${enable_precompiled_headers+set}" = set; then : - enableval=$enable_precompiled_headers; enable_precompiled_headers=yes + enableval=$enable_precompiled_headers; else enable_precompiled_headers=auto fi @@ -5940,7 +5956,7 @@ ebml_ver_req_major=1 - ebml_ver_req_minor=0 + ebml_ver_req_minor=2 ebml_ver_req_micro=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libEBML headers version >= ${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}" >&5 @@ -6028,44 +6044,47 @@ CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" + + if test x"${ac_cv_ebml_found}" != "xyes" ; then + ac_cv_ebml_found=internal + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebml_found" >&5 $as_echo "$ac_cv_ebml_found" >&6; } - if test x"${ac_cv_ebml_found}" != "xyes" ; then - echo '*** Your libEBML version is too old. Upgrade to at least version' - echo '*** '${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}' and re-run configure.' - exit 1 - fi + if test x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" - ebml_check_msg_nodll="yes, without -DEBML_DLL" - ebml_check_msg_dll="yes, with -DEBML_DLL" + else + ebml_check_msg_nodll="yes, without -DEBML_DLL" + ebml_check_msg_dll="yes, with -DEBML_DLL" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libEBML works and if it requires -DEBML_DLL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libEBML works and if it requires -DEBML_DLL" >&5 $as_echo_n "checking if linking against libEBML works and if it requires -DEBML_DLL... " >&6; } if test "${ac_cv_ebml_dll+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" - LIBS="$LIBS $EBML_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" + LIBS="$LIBS $EBML_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include using namespace libebml; - + int main () { @@ -6082,17 +6101,17 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DEBML_DLL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DEBML_DLL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include using namespace libebml; - + int main () { @@ -6106,24 +6125,25 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + fi fi - fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" - + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebml_dll" >&5 $as_echo "$ac_cv_ebml_dll" >&6; } - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - echo '*** The libEBML library was not found.' - exit 1 + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + echo '*** The libEBML library was not found.' + exit 1 + fi fi if test x"${ac_cv_ebml_dll}" = "x${ebml_check_msg_dll}" ; then @@ -6134,7 +6154,7 @@ kax_ver_req_major=1 - kax_ver_req_minor=0 + kax_ver_req_minor=1 kax_ver_req_micro=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libMatroska headers version >= ${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}" >&5 @@ -6144,19 +6164,20 @@ else - MATROSKA_LIBS="-lmatroska" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - rm -f conf.matroskatest - ac_ext=cpp + if test x"${ac_cv_ebml_found}" = "xyes" ; then + MATROSKA_LIBS="-lmatroska" + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + rm -f conf.matroskatest + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6168,7 +6189,7 @@ #if LIBMATROSKA_VERSION < ((${kax_ver_req_major} << 16) + (${kax_ver_req_minor} << 8) + ${kax_ver_req_micro}) # error libmatroska is too old #endif - + int main () { @@ -6184,12 +6205,12 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test x"${ac_cv_matroska_found}" != "xyes" ; then - MATROSKA_CFLAGS="-I/usr/local/include" - MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" - CXXFLAGS="-I/usr/local/include $CXXFLAGS" - LIBS="-L/usr/local/lib $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_matroska_found}" != "xyes" ; then + MATROSKA_CFLAGS="-I/usr/local/include" + MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" + CXXFLAGS="-I/usr/local/include $CXXFLAGS" + LIBS="-L/usr/local/lib $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6201,7 +6222,7 @@ #if LIBMATROSKA_VERSION < ((${kax_ver_req_major} << 16) + (${kax_ver_req_minor} << 8) + ${kax_ver_req_micro}) # error libmatroska is too old #endif - + int main () { @@ -6216,54 +6237,61 @@ ac_cv_matroska_found=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi + fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test x"${ac_cv_matroska_found}" != "xyes" ; then + ac_cv_matroska_found=internal + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_matroska_found" >&5 $as_echo "$ac_cv_matroska_found" >&6; } - if test x"${ac_cv_matroska_found}" != "xyes" ; then - echo '*** Your libMatroska version is too old. Upgrade to at least version' - echo '*** '${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}' and re-run configure.' - exit 1 - fi + if test x"${ac_cv_matroska_found}" = "xinternal" -o x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" + MATROSKA_CFLAGS="-Ilib/libmatroska" + MATROSKA_LIBS="-Llib/libmatroska/src -lmatroska" + EBML_MATROSKA_INTERNAL=yes - matroska_check_msg_nodll="yes, without -MATROSKA_DLL" - matroska_check_msg_dll="yes, with -DMATROSKA_DLL" + else + matroska_check_msg_nodll="yes, without -MATROSKA_DLL" + matroska_check_msg_dll="yes, with -DMATROSKA_DLL" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libMatroska works and if it requires -DMATROSKA_DLL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libMatroska works and if it requires -DMATROSKA_DLL" >&5 $as_echo_n "checking if linking against libMatroska works and if it requires -DMATROSKA_DLL... " >&6; } if test "${ac_cv_matroska_dll+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include using namespace libmatroska; - + int main () { @@ -6280,17 +6308,17 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include using namespace libmatroska; - + int main () { @@ -6304,28 +6332,29 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + fi fi - fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" - + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_matroska_dll" >&5 $as_echo "$ac_cv_matroska_dll" >&6; } - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then - echo '*** The libMatroska library was not found.' - exit 1 - fi + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then + echo '*** The libMatroska library was not found.' + exit 1 + fi - if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then - MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then + MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + fi fi if test x"${ac_cv_ebml_dll}" != "xyes" -o x"${ac_cv_matroska_dll}" != "xyes" ; then @@ -6335,6 +6364,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 $as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then : @@ -7484,6 +7514,146 @@ + +continue_curl_check=1 + + +@%:@ Check whether --with-curl_config was given. +if test "${with_curl_config+set}" = set; then : + withval=$with_curl_config; CURL_CONFIG="$with_curl_config" +fi + +# Extract the first word of "curl-config", so it can be a program name with args. +set dummy curl-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CURL_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CURL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_CURL_CONFIG="$CURL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PATH:/usr/local/bin" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CURL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_CURL_CONFIG" && ac_cv_path_CURL_CONFIG="no" + ;; +esac +fi +CURL_CONFIG=$ac_cv_path_CURL_CONFIG +if test -n "$CURL_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL_CONFIG" >&5 +$as_echo "$CURL_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test x"$CURL_CONFIG" = "xno" ; then + echo "*** Not checking for curl: curl-config not found" + continue_curl_check=0 +elif test ! -x "$CURL_CONFIG" ; then + echo "*** Not checking for curl: file '"$CURL_CONFIG"' not executable" + continue_curl_check=0 +fi + +if test x"$continue_curl_check" = x1 ; then + CURL_CFLAGS=`$CURL_CONFIG --cflags` + CURL_LIBS=`$CURL_CONFIG --libs` + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $CURL_CFLAGS" + LIBS="$LIBS $CURL_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_easy_init in -lcurl" >&5 +$as_echo_n "checking for curl_easy_init in -lcurl... " >&6; } +if test "${ac_cv_lib_curl_curl_easy_init+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char curl_easy_init (); +int +main () +{ +return curl_easy_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_curl_curl_easy_init=yes +else + ac_cv_lib_curl_curl_easy_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_init" >&5 +$as_echo "$ac_cv_lib_curl_curl_easy_init" >&6; } +if test "x$ac_cv_lib_curl_curl_easy_init" = x""yes; then : + curl_found=yes +else + curl_found=no +fi + + if test "$curl_found" = "yes"; then + for ac_header in curl/easy.h +do : + ac_fn_c_check_header_compile "$LINENO" "curl/easy.h" "ac_cv_header_curl_easy_h" "#include +" +if test "x$ac_cv_header_curl_easy_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_CURL_EASY_H 1 +_ACEOF + +else + curl_found=no +fi + +done + + fi + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" +fi + +if test "$curl_found" = "yes"; then + opt_features_yes="$opt_features_yes\n * online update checks (via libcurl)" +else + opt_features_no="$opt_features_no\n * online update checks (via libcurl)" + CURL_CFLAGS="" + CURL_LIBS="" +fi + + + + # =========================================================================== # http://autoconf-archive.cryp.to/ax_boost_base.html # =========================================================================== @@ -7561,6 +7731,10 @@ + + + + # =========================================================================== # http://autoconf-archive.cryp.to/ax_boost_regex.html # =========================================================================== @@ -7929,8 +8103,8 @@ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library is available" >&5 -$as_echo_n "checking whether the Boost::System library is available... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library headers are available" >&5 +$as_echo_n "checking whether the Boost::System library headers are available... " >&6; } if test "${ax_cv_boost_system+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7973,10 +8147,10 @@ if test "x$ax_cv_boost_system" = "xyes"; then - $as_echo "@%:@define HAVE_BOOST_SYSTEM /**/" >>confdefs.h + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` LDFLAGS_SAVE=$LDFLAGS @@ -8184,8 +8358,8 @@ LIBS="$LIBS $BOOST_SYSTEM_LIB" export LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Filesystem library is available" >&5 -$as_echo_n "checking whether the Boost::Filesystem library is available... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Filesystem library headers are available" >&5 +$as_echo_n "checking whether the Boost::Filesystem library headers are available... " >&6; } if test "${ax_cv_boost_filesystem+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -8227,10 +8401,13 @@ $as_echo "$ax_cv_boost_filesystem" >&6; } if test "x$ax_cv_boost_filesystem" = "xyes"; then + ax_lib= + $as_echo "@%:@define HAVE_BOOST_FILESYSTEM /**/" >>confdefs.h BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_filesystem_lib" = "x"; then for libextension in `ls $BOOSTLIBDIR/libboost_filesystem*.{so,dylib,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_filesystem.*\)\.so.*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.a*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.dylib$;\1;'` ; do ax_lib=${libextension} @@ -8381,15 +8558,19 @@ done fi - - if test "x$link_filesystem" != "xyes"; then - as_fn_error "Could not link against $ax_lib !" "$LINENO" 5 - fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" LIBS="$LIBS_SAVED" + + if test x"$link_filesystem" != "xyes" ; then + if test x"$ax_lib" = "x" ; then + as_fn_error "The Boost::Filesystem library was not found in $BOOSTLIBDIR." "$LINENO" 5 + else + as_fn_error "The Boost::Filesystem library is required and it was found, but linking against it failed." "$LINENO" 5 + fi + fi fi @@ -8755,6 +8936,125 @@ EXTRA_CFLAGS="$EXTRA_CFLAGS -I$boost_foreach_dir" fi +# boost::property_tree can be missing; the included version will be used in +# that case. +boost_exception_dir=lib/boost/exception +boost_property_tree_dir=lib/boost/property_tree + + included_boost_dir="$boost_property_tree_dir" + included_boost_exception_dir="$boost_exception_dir" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which boost/property_tree/ptree.hpp to use" >&5 +$as_echo_n "checking which boost/property_tree/ptree.hpp to use... " >&6; } +if test "${ax_cv_boost_property_tree+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + CXXFLAGS_SAVED="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS" + export CXXFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + + result="system" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + boost::property_tree::ptree pt; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_boost_property_tree=$result +else + ax_cv_boost_property_tree=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + if test x"$ax_cv_boost_property_tree" = "xno"; then + CXXFLAGS="-I$included_boost_exception_dir -I$included_boost_dir $CXXFLAGS_SAVED $BOOST_CPPFLAGS" + export CXXFLAGS + + + result="included" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + boost::property_tree::ptree pt; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_boost_property_tree=$result +else + ax_cv_boost_property_tree=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + fi + + CXXFLAGS="$CXXFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_property_tree" >&5 +$as_echo "$ax_cv_boost_property_tree" >&6; } + + +if test x"$ax_cv_boost_property_tree" = "xno"; then + as_fn_error "The Boost property_tree library was not found, and the included version does not work. Install Boost v1.41.0 or later." "$LINENO" 5 +fi + +if test x"$ax_cv_boost_property_tree" = "xincluded"; then + EXTRA_CFLAGS="-I$boost_exception_dir $EXTRA_CFLAGS -I$boost_property_tree_dir" +fi + # Extract the first word of ""etags"", so it can be a program name with args. set dummy "etags"; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -8972,8 +9272,20 @@ fi fi +for ac_header in sys/ioctl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioctl_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_SYS_IOCTL_H 1 +_ACEOF + +fi + +done + -if test x"ac_cv_sys_posix_termios" = "xyes" ; then +if test x"$ac_cv_sys_posix_termios" = "xyes" ; then $as_echo "@%:@define HAVE_TIOCGWINSZ 1" >>confdefs.h @@ -9186,39 +9498,23 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking the manpage translation languages to install" >&5 $as_echo_n "checking the manpage translation languages to install... " >&6; } MANPAGES_TRANSLATIONS="" -MANPAGES_TRANSLATIONS_POS="" if test x"$LINGUAS" = x ; then for file in $srcdir/doc/man/po4a/po/*.po; do MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS`basename $file .po` " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$file " done else for i in $LINGUAS; do if test -f "$srcdir/doc/man/po4a/po/$i.po"; then MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS$i " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$srcdir/doc/man/po4a/po/$i.po " fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANPAGES_TRANSLATIONS" >&5 $as_echo "$MANPAGES_TRANSLATIONS" >&6; } -MANPAGES_TRANSLATED="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo '$(subst doc/man, doc/man/'$lang', $(MANPAGES)) '; done | tr -d '\n\r'`" - -MANPAGES_TRANSLATED_XML_RULE="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo 'doc/man/'$lang'/%.xml: doc/man/%.xml doc/man/po4a/po/'$lang'.po' - echo ' @echo '\'' PO4A '\'' $< '\''('$lang')'\' - echo ' $(Q)$(PO4A_TRANSLATE) $(PO4A_TRANSLATE_FLAGS) -m $< -p doc/man/po4a/po/'$lang'.po -l $@'; done`" - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking the mmg guide translation languages to install" >&5 @@ -9239,7 +9535,7 @@ -ac_config_files="$ac_config_files Makefile doc/Makefile doc/man/Makefile doc/guide/Makefile doc/guide/en/Makefile lib/avilib-0.6.10/Makefile lib/librmff/Makefile src/Makefile src/common/Makefile src/common/chapters/Makefile src/common/strings/Makefile src/common/tags/Makefile src/common/xml/Makefile src/input/Makefile src/output/Makefile src/mpegparser/Makefile src/mmg/Makefile src/mmg/header_editor/Makefile src/mmg/options/Makefile src/mmg/tabs/Makefile src/extract/Makefile src/merge/Makefile src/info/Makefile src/propedit/Makefile po/Makefile" +ac_config_files="$ac_config_files build-config" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -9925,31 +10221,7 @@ do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.h.in" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "doc/guide/Makefile") CONFIG_FILES="$CONFIG_FILES doc/guide/Makefile" ;; - "doc/guide/en/Makefile") CONFIG_FILES="$CONFIG_FILES doc/guide/en/Makefile" ;; - "lib/avilib-0.6.10/Makefile") CONFIG_FILES="$CONFIG_FILES lib/avilib-0.6.10/Makefile" ;; - "lib/librmff/Makefile") CONFIG_FILES="$CONFIG_FILES lib/librmff/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;; - "src/common/chapters/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/chapters/Makefile" ;; - "src/common/strings/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/strings/Makefile" ;; - "src/common/tags/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/tags/Makefile" ;; - "src/common/xml/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/xml/Makefile" ;; - "src/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/input/Makefile" ;; - "src/output/Makefile") CONFIG_FILES="$CONFIG_FILES src/output/Makefile" ;; - "src/mpegparser/Makefile") CONFIG_FILES="$CONFIG_FILES src/mpegparser/Makefile" ;; - "src/mmg/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/Makefile" ;; - "src/mmg/header_editor/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/header_editor/Makefile" ;; - "src/mmg/options/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/options/Makefile" ;; - "src/mmg/tabs/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/tabs/Makefile" ;; - "src/extract/Makefile") CONFIG_FILES="$CONFIG_FILES src/extract/Makefile" ;; - "src/merge/Makefile") CONFIG_FILES="$CONFIG_FILES src/merge/Makefile" ;; - "src/info/Makefile") CONFIG_FILES="$CONFIG_FILES src/info/Makefile" ;; - "src/propedit/Makefile") CONFIG_FILES="$CONFIG_FILES src/propedit/Makefile" ;; - "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; + "build-config") CONFIG_FILES="$CONFIG_FILES build-config" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff -Nru mkvtoolnix-4.0.0/autom4te.cache/traces.0 mkvtoolnix-4.5.0+dfsg/autom4te.cache/traces.0 --- mkvtoolnix-4.0.0/autom4te.cache/traces.0 2010-06-05 12:26:20.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/autom4te.cache/traces.0 2011-01-31 20:43:49.000000000 +0000 @@ -386,27 +386,27 @@ m4trace:ac/extra_inc_lib.m4:45: -1- AC_SUBST_TRACE([LDFLAGS_RPATHS]) m4trace:ac/extra_inc_lib.m4:45: -1- m4_pattern_allow([^LDFLAGS_RPATHS$]) m4trace:configure.in:21: -1- m4_include([ac/debugging_profiling.m4]) -m4trace:ac/debugging_profiling.m4:10: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +m4trace:ac/debugging_profiling.m4:6: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -ac/debugging_profiling.m4:10: the top level]) -m4trace:ac/debugging_profiling.m4:14: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +ac/debugging_profiling.m4:6: the top level]) +m4trace:ac/debugging_profiling.m4:11: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -ac/debugging_profiling.m4:14: the top level]) -m4trace:ac/debugging_profiling.m4:25: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +ac/debugging_profiling.m4:11: the top level]) +m4trace:ac/debugging_profiling.m4:16: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -ac/debugging_profiling.m4:25: the top level]) -m4trace:ac/debugging_profiling.m4:31: -1- AC_SUBST([DEBUG_CFLAGS]) -m4trace:ac/debugging_profiling.m4:31: -1- AC_SUBST_TRACE([DEBUG_CFLAGS]) -m4trace:ac/debugging_profiling.m4:31: -1- m4_pattern_allow([^DEBUG_CFLAGS$]) -m4trace:ac/debugging_profiling.m4:32: -1- AC_SUBST([PROFILING_CFLAGS]) -m4trace:ac/debugging_profiling.m4:32: -1- AC_SUBST_TRACE([PROFILING_CFLAGS]) -m4trace:ac/debugging_profiling.m4:32: -1- m4_pattern_allow([^PROFILING_CFLAGS$]) -m4trace:ac/debugging_profiling.m4:33: -1- AC_SUBST([PROFILING_LIBS]) -m4trace:ac/debugging_profiling.m4:33: -1- AC_SUBST_TRACE([PROFILING_LIBS]) -m4trace:ac/debugging_profiling.m4:33: -1- m4_pattern_allow([^PROFILING_LIBS$]) -m4trace:ac/debugging_profiling.m4:34: -1- AC_SUBST([OPTIMIZATION_CFLAGS]) -m4trace:ac/debugging_profiling.m4:34: -1- AC_SUBST_TRACE([OPTIMIZATION_CFLAGS]) -m4trace:ac/debugging_profiling.m4:34: -1- m4_pattern_allow([^OPTIMIZATION_CFLAGS$]) +ac/debugging_profiling.m4:16: the top level]) +m4trace:ac/debugging_profiling.m4:42: -1- AC_SUBST([DEBUG_CFLAGS]) +m4trace:ac/debugging_profiling.m4:42: -1- AC_SUBST_TRACE([DEBUG_CFLAGS]) +m4trace:ac/debugging_profiling.m4:42: -1- m4_pattern_allow([^DEBUG_CFLAGS$]) +m4trace:ac/debugging_profiling.m4:43: -1- AC_SUBST([PROFILING_CFLAGS]) +m4trace:ac/debugging_profiling.m4:43: -1- AC_SUBST_TRACE([PROFILING_CFLAGS]) +m4trace:ac/debugging_profiling.m4:43: -1- m4_pattern_allow([^PROFILING_CFLAGS$]) +m4trace:ac/debugging_profiling.m4:44: -1- AC_SUBST([PROFILING_LIBS]) +m4trace:ac/debugging_profiling.m4:44: -1- AC_SUBST_TRACE([PROFILING_LIBS]) +m4trace:ac/debugging_profiling.m4:44: -1- m4_pattern_allow([^PROFILING_LIBS$]) +m4trace:ac/debugging_profiling.m4:45: -1- AC_SUBST([OPTIMIZATION_CFLAGS]) +m4trace:ac/debugging_profiling.m4:45: -1- AC_SUBST_TRACE([OPTIMIZATION_CFLAGS]) +m4trace:ac/debugging_profiling.m4:45: -1- m4_pattern_allow([^OPTIMIZATION_CFLAGS$]) m4trace:configure.in:22: -1- m4_include([ac/precompiled_headers.m4]) m4trace:ac/precompiled_headers.m4:6: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... @@ -578,24 +578,24 @@ ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... ac/ebml.m4:8: the top level]) -m4trace:ac/ebml.m4:67: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:ac/ebml.m4:70: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2654: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... -ac/ebml.m4:67: the top level]) -m4trace:ac/ebml.m4:67: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +ac/ebml.m4:70: the top level]) +m4trace:ac/ebml.m4:70: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2654: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... -ac/ebml.m4:67: the top level]) -m4trace:ac/ebml.m4:111: -1- AC_SUBST([EBML_CFLAGS]) -m4trace:ac/ebml.m4:111: -1- AC_SUBST_TRACE([EBML_CFLAGS]) -m4trace:ac/ebml.m4:111: -1- m4_pattern_allow([^EBML_CFLAGS$]) -m4trace:ac/ebml.m4:112: -1- AC_SUBST([EBML_LIBS]) -m4trace:ac/ebml.m4:112: -1- AC_SUBST_TRACE([EBML_LIBS]) -m4trace:ac/ebml.m4:112: -1- m4_pattern_allow([^EBML_LIBS$]) +ac/ebml.m4:70: the top level]) +m4trace:ac/ebml.m4:115: -1- AC_SUBST([EBML_CFLAGS]) +m4trace:ac/ebml.m4:115: -1- AC_SUBST_TRACE([EBML_CFLAGS]) +m4trace:ac/ebml.m4:115: -1- m4_pattern_allow([^EBML_CFLAGS$]) +m4trace:ac/ebml.m4:116: -1- AC_SUBST([EBML_LIBS]) +m4trace:ac/ebml.m4:116: -1- AC_SUBST_TRACE([EBML_LIBS]) +m4trace:ac/ebml.m4:116: -1- m4_pattern_allow([^EBML_LIBS$]) m4trace:configure.in:33: -1- m4_include([ac/matroska.m4]) m4trace:ac/matroska.m4:8: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from... @@ -609,24 +609,27 @@ ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... ac/matroska.m4:8: the top level]) -m4trace:ac/matroska.m4:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:ac/matroska.m4:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2654: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... -ac/matroska.m4:69: the top level]) -m4trace:ac/matroska.m4:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +ac/matroska.m4:77: the top level]) +m4trace:ac/matroska.m4:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2654: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... ../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... -ac/matroska.m4:69: the top level]) -m4trace:ac/matroska.m4:117: -1- AC_SUBST([MATROSKA_CFLAGS]) -m4trace:ac/matroska.m4:117: -1- AC_SUBST_TRACE([MATROSKA_CFLAGS]) -m4trace:ac/matroska.m4:117: -1- m4_pattern_allow([^MATROSKA_CFLAGS$]) -m4trace:ac/matroska.m4:118: -1- AC_SUBST([MATROSKA_LIBS]) -m4trace:ac/matroska.m4:118: -1- AC_SUBST_TRACE([MATROSKA_LIBS]) -m4trace:ac/matroska.m4:118: -1- m4_pattern_allow([^MATROSKA_LIBS$]) +ac/matroska.m4:77: the top level]) +m4trace:ac/matroska.m4:126: -1- AC_SUBST([MATROSKA_CFLAGS]) +m4trace:ac/matroska.m4:126: -1- AC_SUBST_TRACE([MATROSKA_CFLAGS]) +m4trace:ac/matroska.m4:126: -1- m4_pattern_allow([^MATROSKA_CFLAGS$]) +m4trace:ac/matroska.m4:127: -1- AC_SUBST([MATROSKA_LIBS]) +m4trace:ac/matroska.m4:127: -1- AC_SUBST_TRACE([MATROSKA_LIBS]) +m4trace:ac/matroska.m4:127: -1- m4_pattern_allow([^MATROSKA_LIBS$]) +m4trace:ac/matroska.m4:128: -1- AC_SUBST([EBML_MATROSKA_INTERNAL]) +m4trace:ac/matroska.m4:128: -1- AC_SUBST_TRACE([EBML_MATROSKA_INTERNAL]) +m4trace:ac/matroska.m4:128: -1- m4_pattern_allow([^EBML_MATROSKA_INTERNAL$]) m4trace:configure.in:34: -1- m4_include([ac/expat.m4]) m4trace:ac/expat.m4:11: -1- AH_OUTPUT([HAVE_EXPAT_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_EXPAT_H]) @@ -797,15 +800,33 @@ m4trace:ac/magic.m4:19: -1- AC_SUBST([MAGIC_LIBS]) m4trace:ac/magic.m4:19: -1- AC_SUBST_TRACE([MAGIC_LIBS]) m4trace:ac/magic.m4:19: -1- m4_pattern_allow([^MAGIC_LIBS$]) -m4trace:configure.in:41: -1- m4_include([ac/ax_boost_base.m4]) -m4trace:configure.in:42: -1- m4_include([ac/ax_boost_filesystem.m4]) -m4trace:configure.in:43: -1- m4_include([ac/ax_boost_foreach.m4]) -m4trace:configure.in:44: -1- m4_include([ac/ax_boost_regex.m4]) -m4trace:configure.in:45: -1- m4_include([ac/ax_boost_system.m4]) +m4trace:configure.in:41: -1- m4_include([ac/curl.m4]) +m4trace:ac/curl.m4:8: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... +ac/curl.m4:8: the top level]) +m4trace:ac/curl.m4:10: -1- AC_SUBST([CURL_CONFIG]) +m4trace:ac/curl.m4:10: -1- AC_SUBST_TRACE([CURL_CONFIG]) +m4trace:ac/curl.m4:10: -1- m4_pattern_allow([^CURL_CONFIG$]) +m4trace:ac/curl.m4:30: -1- AH_OUTPUT([HAVE_CURL_EASY_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_CURL_EASY_H]) +m4trace:ac/curl.m4:30: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CURL_EASY_H]) +m4trace:ac/curl.m4:30: -1- m4_pattern_allow([^HAVE_CURL_EASY_H$]) +m4trace:ac/curl.m4:44: -1- AC_SUBST([CURL_CFLAGS]) +m4trace:ac/curl.m4:44: -1- AC_SUBST_TRACE([CURL_CFLAGS]) +m4trace:ac/curl.m4:44: -1- m4_pattern_allow([^CURL_CFLAGS$]) +m4trace:ac/curl.m4:45: -1- AC_SUBST([CURL_LIBS]) +m4trace:ac/curl.m4:45: -1- AC_SUBST_TRACE([CURL_LIBS]) +m4trace:ac/curl.m4:45: -1- m4_pattern_allow([^CURL_LIBS$]) +m4trace:configure.in:42: -1- m4_include([ac/ax_boost_base.m4]) +m4trace:configure.in:43: -1- m4_include([ac/ax_boost_filesystem.m4]) +m4trace:configure.in:44: -1- m4_include([ac/ax_boost_foreach.m4]) +m4trace:configure.in:45: -1- m4_include([ac/ax_boost_property_tree.m4]) +m4trace:configure.in:46: -1- m4_include([ac/ax_boost_regex.m4]) +m4trace:configure.in:47: -1- m4_include([ac/ax_boost_system.m4]) m4trace:ac/ax_boost_system.m4:129: -1- AC_SUBST([BOOST_SYSTEM_LIB]) m4trace:ac/ax_boost_system.m4:129: -1- AC_SUBST_TRACE([BOOST_SYSTEM_LIB]) m4trace:ac/ax_boost_system.m4:129: -1- m4_pattern_allow([^BOOST_SYSTEM_LIB$]) -m4trace:configure.in:46: -1- m4_include([ac/boost.m4]) +m4trace:configure.in:48: -1- m4_include([ac/boost.m4]) m4trace:ac/boost.m4:2: -1- AC_SUBST([BOOST_CPPFLAGS]) m4trace:ac/boost.m4:2: -1- AC_SUBST_TRACE([BOOST_CPPFLAGS]) m4trace:ac/boost.m4:2: -1- m4_pattern_allow([^BOOST_CPPFLAGS$]) @@ -821,11 +842,11 @@ m4trace:ac/boost.m4:7: -1- m4_pattern_allow([^BOOST_CPPFLAGS$]) m4trace:ac/boost.m4:7: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOOST_SYSTEM]) m4trace:ac/boost.m4:7: -1- m4_pattern_allow([^HAVE_BOOST_SYSTEM$]) -m4trace:ac/boost.m4:7: -1- AH_OUTPUT([HAVE_BOOST_SYSTEM], [/* define if the Boost::System library is available */ +m4trace:ac/boost.m4:7: -1- AH_OUTPUT([HAVE_BOOST_SYSTEM], [/* define if the Boost::System library headers are available */ @%:@undef HAVE_BOOST_SYSTEM]) m4trace:ac/boost.m4:10: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOOST_FILESYSTEM]) m4trace:ac/boost.m4:10: -1- m4_pattern_allow([^HAVE_BOOST_FILESYSTEM$]) -m4trace:ac/boost.m4:10: -1- AH_OUTPUT([HAVE_BOOST_FILESYSTEM], [/* define if the Boost::Filesystem library is available */ +m4trace:ac/boost.m4:10: -1- AH_OUTPUT([HAVE_BOOST_FILESYSTEM], [/* define if the Boost::Filesystem library headers are available */ @%:@undef HAVE_BOOST_FILESYSTEM]) m4trace:ac/boost.m4:10: -1- AC_SUBST([BOOST_FILESYSTEM_LIB]) m4trace:ac/boost.m4:10: -1- AC_SUBST_TRACE([BOOST_FILESYSTEM_LIB]) @@ -865,14 +886,30 @@ ../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... ac/ax_boost_foreach.m4:17: AX_BOOST_FOREACH is expanded from... ac/boost.m4:26: the top level]) -m4trace:configure.in:47: -1- m4_include([ac/etags.m4]) +m4trace:ac/boost.m4:40: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from... +ac/ax_boost_property_tree.m4:1: AX_BOOST_PROPERTY_TREE_TRY_COMPILE is expanded from... +../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... +../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... +ac/ax_boost_property_tree.m4:15: AX_BOOST_PROPERTY_TREE is expanded from... +ac/boost.m4:40: the top level]) +m4trace:ac/boost.m4:40: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from... +ac/ax_boost_property_tree.m4:1: AX_BOOST_PROPERTY_TREE_TRY_COMPILE is expanded from... +../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from... +../../lib/autoconf/general.m4:1998: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:2019: AC_CACHE_CHECK is expanded from... +ac/ax_boost_property_tree.m4:15: AX_BOOST_PROPERTY_TREE is expanded from... +ac/boost.m4:40: the top level]) +m4trace:configure.in:49: -1- m4_include([ac/etags.m4]) m4trace:ac/etags.m4:4: -1- AC_SUBST([ETAGS]) m4trace:ac/etags.m4:4: -1- AC_SUBST_TRACE([ETAGS]) m4trace:ac/etags.m4:4: -1- m4_pattern_allow([^ETAGS$]) m4trace:ac/etags.m4:5: -1- AC_SUBST([ETAGS]) m4trace:ac/etags.m4:5: -1- AC_SUBST_TRACE([ETAGS]) m4trace:ac/etags.m4:5: -1- m4_pattern_allow([^ETAGS$]) -m4trace:configure.in:48: -1- m4_include([ac/ax_docbook.m4]) +m4trace:configure.in:50: -1- m4_include([ac/ax_docbook.m4]) m4trace:ac/ax_docbook.m4:10: -1- AC_SUBST([XSLTPROC]) m4trace:ac/ax_docbook.m4:10: -1- AC_SUBST_TRACE([XSLTPROC]) m4trace:ac/ax_docbook.m4:10: -1- m4_pattern_allow([^XSLTPROC$]) @@ -891,16 +928,20 @@ m4trace:ac/ax_docbook.m4:38: -1- AC_SUBST([XSLTPROC_WORKS]) m4trace:ac/ax_docbook.m4:38: -1- AC_SUBST_TRACE([XSLTPROC_WORKS]) m4trace:ac/ax_docbook.m4:38: -1- m4_pattern_allow([^XSLTPROC_WORKS$]) -m4trace:configure.in:49: -1- m4_include([ac/tiocgwinsz.m4]) +m4trace:configure.in:51: -1- m4_include([ac/tiocgwinsz.m4]) m4trace:ac/tiocgwinsz.m4:2: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL]) m4trace:ac/tiocgwinsz.m4:2: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$]) m4trace:ac/tiocgwinsz.m4:2: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires . */ @%:@undef GWINSZ_IN_SYS_IOCTL]) -m4trace:ac/tiocgwinsz.m4:5: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIOCGWINSZ]) -m4trace:ac/tiocgwinsz.m4:5: -1- m4_pattern_allow([^HAVE_TIOCGWINSZ$]) -m4trace:ac/tiocgwinsz.m4:5: -1- AH_OUTPUT([HAVE_TIOCGWINSZ], [/* define if ioctl & TIOCGWINSZ are available */ +m4trace:ac/tiocgwinsz.m4:3: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_IOCTL_H]) +m4trace:ac/tiocgwinsz.m4:3: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_IOCTL_H]) +m4trace:ac/tiocgwinsz.m4:3: -1- m4_pattern_allow([^HAVE_SYS_IOCTL_H$]) +m4trace:ac/tiocgwinsz.m4:6: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIOCGWINSZ]) +m4trace:ac/tiocgwinsz.m4:6: -1- m4_pattern_allow([^HAVE_TIOCGWINSZ$]) +m4trace:ac/tiocgwinsz.m4:6: -1- AH_OUTPUT([HAVE_TIOCGWINSZ], [/* define if ioctl & TIOCGWINSZ are available */ @%:@undef HAVE_TIOCGWINSZ]) -m4trace:configure.in:50: -1- m4_include([ac/po4a.m4]) +m4trace:configure.in:52: -1- m4_include([ac/po4a.m4]) m4trace:ac/po4a.m4:4: -1- AC_SUBST([PO4A]) m4trace:ac/po4a.m4:4: -1- AC_SUBST_TRACE([PO4A]) m4trace:ac/po4a.m4:4: -1- m4_pattern_allow([^PO4A$]) @@ -922,7 +963,7 @@ m4trace:ac/po4a.m4:24: -1- AC_SUBST([PO4A_WORKS]) m4trace:ac/po4a.m4:24: -1- AC_SUBST_TRACE([PO4A_WORKS]) m4trace:ac/po4a.m4:24: -1- m4_pattern_allow([^PO4A_WORKS$]) -m4trace:configure.in:51: -1- m4_include([ac/translations.m4]) +m4trace:configure.in:53: -1- m4_include([ac/translations.m4]) m4trace:ac/translations.m4:4: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define to 1 if you have the `gettext\' function. */ @%:@undef HAVE_GETTEXT]) m4trace:ac/translations.m4:4: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT]) @@ -934,70 +975,33 @@ m4trace:ac/translations.m4:32: -1- AC_SUBST([LIBINTL_LIBS]) m4trace:ac/translations.m4:32: -1- AC_SUBST_TRACE([LIBINTL_LIBS]) m4trace:ac/translations.m4:32: -1- m4_pattern_allow([^LIBINTL_LIBS$]) -m4trace:ac/translations.m4:33: -1- AC_SUBST([TRANSLATIONS_POS]) -m4trace:ac/translations.m4:33: -1- AC_SUBST_TRACE([TRANSLATIONS_POS]) -m4trace:ac/translations.m4:33: -1- m4_pattern_allow([^TRANSLATIONS_POS$]) -m4trace:ac/translations.m4:34: -1- AC_SUBST([TRANSLATIONS]) -m4trace:ac/translations.m4:34: -1- AC_SUBST_TRACE([TRANSLATIONS]) -m4trace:ac/translations.m4:34: -1- m4_pattern_allow([^TRANSLATIONS$]) -m4trace:configure.in:52: -1- m4_include([ac/manpages_translations.m4]) -m4trace:ac/manpages_translations.m4:28: -1- AC_SUBST([MANPAGES_TRANSLATIONS]) -m4trace:ac/manpages_translations.m4:28: -1- AC_SUBST_TRACE([MANPAGES_TRANSLATIONS]) -m4trace:ac/manpages_translations.m4:28: -1- m4_pattern_allow([^MANPAGES_TRANSLATIONS$]) -m4trace:ac/manpages_translations.m4:29: -1- AC_SUBST([MANPAGES_TRANSLATIONS_POS]) -m4trace:ac/manpages_translations.m4:29: -1- AC_SUBST_TRACE([MANPAGES_TRANSLATIONS_POS]) -m4trace:ac/manpages_translations.m4:29: -1- m4_pattern_allow([^MANPAGES_TRANSLATIONS_POS$]) -m4trace:ac/manpages_translations.m4:30: -1- AC_SUBST([MANPAGES_TRANSLATED]) -m4trace:ac/manpages_translations.m4:30: -1- AC_SUBST_TRACE([MANPAGES_TRANSLATED]) -m4trace:ac/manpages_translations.m4:30: -1- m4_pattern_allow([^MANPAGES_TRANSLATED$]) -m4trace:ac/manpages_translations.m4:31: -1- AC_SUBST([MANPAGES_TRANSLATED_XML_RULE]) -m4trace:ac/manpages_translations.m4:31: -1- AC_SUBST_TRACE([MANPAGES_TRANSLATED_XML_RULE]) -m4trace:ac/manpages_translations.m4:31: -1- m4_pattern_allow([^MANPAGES_TRANSLATED_XML_RULE$]) -m4trace:configure.in:53: -1- m4_include([ac/guide_translations.m4]) +m4trace:ac/translations.m4:33: -1- AC_SUBST([TRANSLATIONS]) +m4trace:ac/translations.m4:33: -1- AC_SUBST_TRACE([TRANSLATIONS]) +m4trace:ac/translations.m4:33: -1- m4_pattern_allow([^TRANSLATIONS$]) +m4trace:configure.in:54: -1- m4_include([ac/manpages_translations.m4]) +m4trace:ac/manpages_translations.m4:16: -1- AC_SUBST([MANPAGES_TRANSLATIONS]) +m4trace:ac/manpages_translations.m4:16: -1- AC_SUBST_TRACE([MANPAGES_TRANSLATIONS]) +m4trace:ac/manpages_translations.m4:16: -1- m4_pattern_allow([^MANPAGES_TRANSLATIONS$]) +m4trace:configure.in:55: -1- m4_include([ac/guide_translations.m4]) m4trace:ac/guide_translations.m4:14: -1- AC_SUBST([GUIDE_TRANSLATIONS]) m4trace:ac/guide_translations.m4:14: -1- AC_SUBST_TRACE([GUIDE_TRANSLATIONS]) m4trace:ac/guide_translations.m4:14: -1- m4_pattern_allow([^GUIDE_TRANSLATIONS$]) -m4trace:configure.in:55: -1- AC_CONFIG_FILES([Makefile - doc/Makefile - doc/man/Makefile - doc/guide/Makefile - doc/guide/en/Makefile - lib/avilib-0.6.10/Makefile - lib/librmff/Makefile - src/Makefile - src/common/Makefile - src/common/chapters/Makefile - src/common/strings/Makefile - src/common/tags/Makefile - src/common/xml/Makefile - src/input/Makefile - src/output/Makefile - src/mpegparser/Makefile - src/mmg/Makefile - src/mmg/header_editor/Makefile - src/mmg/options/Makefile - src/mmg/tabs/Makefile - src/extract/Makefile - src/merge/Makefile - src/info/Makefile - src/propedit/Makefile - po/Makefile -]) -m4trace:configure.in:55: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +m4trace:configure.in:57: -1- AC_CONFIG_FILES([build-config]) +m4trace:configure.in:57: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. You should run autoupdate.], []) -m4trace:configure.in:55: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.in:55: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.in:55: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.in:55: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.in:55: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.in:57: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.in:57: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.in:57: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.in:57: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.in:57: -1- AC_SUBST_TRACE([INSTALL]) diff -Nru mkvtoolnix-4.0.0/build-config.in mkvtoolnix-4.5.0+dfsg/build-config.in --- mkvtoolnix-4.0.0/build-config.in 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/build-config.in 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,128 @@ +# What are we dealing with? +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +shell = @SHELL@ + +# Where to? +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datarootdir = @datarootdir@ +datadir = @datadir@ +docdir = @docdir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +man1dir = $(mandir)/man1 +includedir = @includedir@ +oldincludedir = /usr/include +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +mkinstalldirs = $(shell) $(top_srcdir)/mkinstalldirs +localedir = $(datadir)/locale +desktopdir = $(datadir)/applications +mimepackagesdir = $(datadir)/mime/packages +icondir = $(datadir)/icons/hicolor + +# Common programs +AR = @AR@ +CC = @CC@ +CPP = @CPP@ +CXX = @CXX@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_HEADER = $(INSTALL_DATA) +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +LD = @LD@ +MOC = @MOC@ +OBJEXT = @OBJEXT@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +UIC = @UIC@ +WINDRES = @WINDRES@ + +# Variable stuff as set by configure +BZ2_LIBS = @BZ2_LIBS@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@ +BOOST_LDFLAGS = @BOOST_LDFLAGS@ +BOOST_REGEX_LIB = @BOOST_REGEX_LIB@ +BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@ +CURL_CFLAGS = @CURL_CFLAGS@ +CURL_LIBS = @CURL_LIBS@ +DEBUG_CFLAGS = @DEBUG_CFLAGS@ +DOCBOOK_MANPAGES_STYLESHEET = @DOCBOOK_MANPAGES_STYLESHEET@ +DOCBOOK_ROOT = @DOCBOOK_ROOT@ +EBML_CFLAGS = @EBML_CFLAGS@ +EBML_LIBS = @EBML_LIBS@ +EBML_MATROSKA_INTERNAL = @EBML_MATROSKA_INTERNAL@ +EGREP = @EGREP@ +EXPAT_CFLAGS = @EXPAT_CFLAGS@ +EXPAT_LIBS = @EXPAT_LIBS@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +LDFLAGS_RPATHS = @LDFLAGS_RPATHS@ +FLAC_LIBS = @FLAC_LIBS@ +ICONV_LIBS = @ICONV_LIBS@ +LIBINTL_LIBS = @LIBINTL_LIBS@ +LZO_LIBS = @LZO_LIBS@ +MAGIC_LIBS = @MAGIC_LIBS@ +MATROSKA_CFLAGS = @MATROSKA_CFLAGS@ +MATROSKA_LIBS = @MATROSKA_LIBS@ +MINGW_GUIAPP = @MINGW_GUIAPP@ +MINGW_LIBS = @MINGW_LIBS@ +MINGW = @MINGW@ +OGG_LIBS = @OGG_LIBS@ +OPTIMIZATION_CFLAGS = @OPTIMIZATION_CFLAGS@ +PO4A = @PO4A@ +PO4A_TRANSLATE = @PO4A_TRANSLATE@ +PO4A_FLAGS = @PO4A_FLAGS@ +PO4A_TRANSLATE_FLAGS = @PO4A_TRANSLATE_FLAGS@ +PO4A_WORKS = @PO4A_WORKS@ +PROFILING_CFLAGS = @PROFILING_CFLAGS@ +PROFILING_LIBS = @PROFILING_LIBS@ +QT_CFLAGS = @QT_CFLAGS@ +QT_LIBS = @QT_LIBS@ +USE_PRECOMPILED_HEADERS = @USE_PRECOMPILED_HEADERS@ +USER_CPPFLAGS = @USER_CPPFLAGS@ +USER_CXXFLAGS = @USER_CXXFLAGS@ +USER_CFLAGS = @USER_CFLAGS@ +USER_LDFLAGS = @USER_LDFLAGS@ +VORBIS_LIBS = @VORBIS_LIBS@ +WXWIDGETS_CFLAGS = @WXWIDGETS_CFLAGS@ +WXWIDGETS_INCLUDES = @WXWIDGETS_INCLUDES@ +WXWIDGETS_LIBS = @WXWIDGETS_LIBS@ +XSLTPROC = @XSLTPROC@ +XSLTPROC_FLAGS = @XSLTPROC_FLAGS@ +XSLTPROC_WORKS = @XSLTPROC_WORKS@ +ZLIB_LIBS = @ZLIB_LIBS@ + +# Which additional stuff to compile +USE_WXWIDGETS = @USE_WXWIDGETS@ +USE_QT = @USE_QT@ + +LIBMTXCOMMONDLL=@LIBMTXCOMMONDLL@ + +TRANSLATIONS = @TRANSLATIONS@ +MANPAGES_TRANSLATIONS = @MANPAGES_TRANSLATIONS@ +GUIDE_TRANSLATIONS = @GUIDE_TRANSLATIONS@ diff -Nru mkvtoolnix-4.0.0/ChangeLog mkvtoolnix-4.5.0+dfsg/ChangeLog --- mkvtoolnix-4.0.0/ChangeLog 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/ChangeLog 2011-01-31 20:34:09.000000000 +0000 @@ -1,3 +1,468 @@ +2011-01-31 Moritz Bunkus + + * Released v4.5.0. + + * build: Building mkvtoolnix now requires libebml v1.2.0 and + libmatroska v1.1.0 or later. + + * build: enhancement: mkvtoolnix now includes libebml and + libmatroska. The configure script will use them if either no + installed versions of them is found or if the installed version is + too old. + +2011-01-25 Moritz Bunkus + + * mkvmerge: bug fix: Fixed an infinite loop when reading program + stream maps in MPEG program streams. Part of a fix for bug 589. + +2011-01-21 Moritz Bunkus + + * mkvinfo: new feature: Added an option "--track-info" (short: + "-t") that displays one-line statistics about each track at the + end of the output. The statistics include the track's total size, + duration, approximate bitrate and number of packets/frames. + + * mkvinfo: bug fix: The hexdump mode was accessing invalid memory + if the data to dump was shorter than 16 bytes. It was also + outputting the values as characters instead of hexadecimal + numbers. Patch by ykar@list.ru. Fix for bug 591. + +2011-01-20 Moritz Bunkus + + * mmg: enhancement: The output file name extension is + automatically set to ".mk3d" if the stereo mode parameter for any + video track is changed to anything else than "mono" or the default + value. + + * mmg: enhancement: Added ".mk3d" to the list of known file name + extensions for Matroska files. + + * mkvmerge, mmg: enhancement: Updated the "stereo mode" parameter + to match the current Matroska specifications. + +2010-12-26 Moritz Bunkus + + * mkvmerge: enhancement: If mkvmerge encounters invalid UTF-8 + strings in certain files or command line arguments then those + strings will simply be cut short. Before mkvmerge was exiting with + an error ("Invalid UTF-8 sequence encountered"). + + * all: new feature: Added online update checks. The command line + tools know a new parameter "--check-for-updates". mmg has a new + menu entry ("Help" -> "Check for updates") and checks + automatically when it starts, but at most once in 24 hours. Can be + turned off in the preferences. This function requires libcurl and + is not built if libcurl is not available. + +2010-12-22 Moritz Bunkus + + * mkvmerge: bug fix: Avoid a crash due to invalid memory access if + a source file name contains numbers (happens only if mkvtoolnix is + built with MS Visual Studio). Fix for bug 585. + +2010-12-21 Moritz Bunkus + + * mkvmerge: new feature: Added support for reading VP8 video from + Ogg files. Implements bug 584. + + * mkvextract: enhancement: mkvextract will exit with an error if + the user specifies track IDs that do not exist in the source + file. This works in the "tracks" and "timecodes_v2" extraction + modes. Fix for bug 583. + + * docs: mkvextract's man page has been updated to match the + program's expected command line syntax for the "timecodes_v2" + mode. Fix for bug 583. + +2010-12-20 Moritz Bunkus + + * build system: Fixed building the Qt version of mkvinfo's + GUI. Fix for bug 576. + + * mkvmerge, mmg: bug fix: Option files could not contain options + that started with '#' as they were interpreted as comment lines. + +2010-11-15 Moritz Bunkus + + * mkvmerge: new feature: The "default duration" header field is + set for DTS audio tracks. + +2010-11-09 Moritz Bunkus + + * build system: mmg's guide and its images are installed into the + location given by configure's "docdir" variable. Patch by Cristian + Morales Vega (see AUTHORS). + +2010-11-07 Moritz Bunkus + + * all: Made the French translation selectable in all programs. + +2010-11-01 Moritz Bunkus + + * mmg: bug fix: On Mac OS X the application type is set to a + foreground application preventing issues like the GUI never + getting focus. + +2010-10-31 Moritz Bunkus + + * Released v4.4.0. + + * build system: bug fix: Installation no longer fails if xsltproc + is available but the DocBook stylesheets aren't. Fix for bug 575. + + * mkvmerge: new feature: If the name of an input file starts with + '=' then mkvmerge will not try to open other files with the same + name (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB') from + the same directory. A single '=' as an argument disables this as + well for the next input file. Implements bug 570. + + * mmg: new feature: Added an option to disable extra compression + when adding tracks by default. + + * mkvmerge: bug fix: Made file type detection stricter for MP3, + AC3 and AAC files. This prevents mis-detection of other file types + as one of these for certain files. Fix for bug 574. + +2010-10-19 Moritz Bunkus + + * mkvmerge: bug fix: Fixed the usage of iterators with the STL + "deque" template class. This caused mkvmerge to abort on systems + which did not use the GNU implementation of the standard template + library, e.g. OpenSolaris with the SunStudio compiler. Fix for bug + 567. + +2010-09-28 Moritz Bunkus + + * mkvmerge: enhancement: The warning about subtitle entries that + are skipped because their start time is greater than their end + time now includes the subtitle number. + +2010-09-23 Moritz Bunkus + + * Build system: bug fix: 'drake install' did not work if the login + shell was not POSIX compatible (e.g. fish). Fix for bug 559. + +2010-09-19 Moritz Bunkus + + * mkvmerge: enhancement: When appending two Matroska files which + both contain chapters the chapter entries of all editions will be + merged even if the edition's UIDs were different to begin + with. This is done based on the order of the edition. If both + files contain three editions each then the chapters from the first + edition in the second file will be put into the first edition from + the first file; the chapters from the second edition into the + second edition and so on. + + * all: Added a translation of the programs into French by + Trinine (see AUTHORS). + + * mkvmerge: bug fix: The MPEG ES reader was accessing + uninitialized data. This could lead to crashes or source files not + being read correctly. + + * mkvmerge: bug fix: Using "--no-video" on AVI files caused the + video track to be mistaken for an audio track and included + anyway. Fix for bug 558. + +2010-09-04 Moritz Bunkus + + * Released v4.3.0. + + * mkvmerge: bug fix: Appending tracks which would normally be + compressed (e.g. with header removal compression) and turning off + compression for those tracks with "--compression TID:none" (or the + corresponsing option in mmg) was resulting in the second and all + following appended tracks to be compressed all the same. + +2010-09-01 Moritz Bunkus + + * mkvextract: bug fix: Errors such as 'file does not exist' did + not cause mkvextract to quit. Instead it continued and exited with + the result code 0. + +2010-08-28 Moritz Bunkus + + * mkvmerge: bug fix: Certain frames in certain h.264/AVC raw + tracks were handled wrong, e.g. files created by x264 versions + starting with revision 1665. The situation occured if an IDR slice + comes immedtiately after a non-IDR slice and the IDR slice has its + frame_num and pic_order_count_lsb fields set to 0. + +2010-08-26 Moritz Bunkus + + * mkvmerge: enhancement: Attachments will be rendered at the + beginning of the file again. Fix for bug 516. + +2010-08-24 Moritz Bunkus + + * mkvpropedit, mmg's header editor: Fixed a crash corrupting files + in certain situations. If the updated header fields required + filling exactly one byte with an EbmlVoid element and if the next + Matroska element's "size" was already written with its maximum + length (8 bytes) then the crash would occur. Such files are + written by e.g. lavf. Fix for bug 536. + +2010-08-17 Moritz Bunkus + + * All: bug fix: Fixed a couple of format strings in translations + which could cause the programs to crash. + +2010-08-14 Moritz Bunkus + + * mkvinfo: new feature: mkvinfo will show the h.264 profile and + level for AVC/h.264 tracks along with the CodecPrivate element. + +2010-08-10 Moritz Bunkus + + * mkvmerge: bug fix: Video tracks with a width or height of 0 are + not read from AVI files anymore. Fix for bug 538. + +2010-08-05 Moritz Bunkus + + * mkvmerge: bug fix: Fixed an error with losing packets (error + message "packet queue not empty") when reading IVF (VP8) files + using --default-duration on it. + + * mkvmerge: bug fix: Fixed access to uninitialized memory in the + MPEG-2 ES parser. + +2010-08-03 Moritz Bunkus + + * mmg: bug fix: The 'total remaining time' shown by the job + manager was totally wrong. Fix for bug 529. + +2010-08-01 Moritz Bunkus + + * build system: The build system has been changed from "make" to + "rake", the Ruby based build tool. MKVToolNix includes its own + copy of it so all you need is to have Ruby itself installed. The + build proecss has been tested with Ruby 1.8.6, 1.8.7 and + 1.9.1. Building is pretty much the same as before: "./configure", + "./drake", "sudo ./drake install". Most of the build targets have + similar if not identical names, e.g. "./drake install". You can + override variables just like with make, e.g. "./drake + prefix=/somewhere install". + +2010-07-30 Moritz Bunkus + + * mmg header editor: bug fix: If a file was loaded that did not + contain 'track language' elements and those elements were + unchanged then they would be set to 'und' upon saving. Now they're + left as-is, and when adding them to the file the drop-down box + defaults to 'eng' being selected as per Matroska default value + specifications. Fix for bug 525. + +2010-07-29 Moritz Bunkus + + * mkvextract, mkvinfo, mkvpropedit: new feature: Added the option + "-q" and its long version "--quiet". With "--quiet" active only + warnings and errors are output. Fix for bug 527. + + * mkvmerge: bug fix: The option "--quiet" was not working + properly. + + * mkgmerge: bug fix: mkvmerge was treating SSA/ASS subtitle files + as audio files for the purpose of track selection (--no-subtitles + / --no-audio). Fix for bug 526. + +2010-07-28 Moritz Bunkus + + * Released v4.2.0. + + * mkvmerge: bug fix: mkvmerge was accessing invalid memory In + certain cases, e.g. when appending Matroska files that use + compression while turning compression off. + +2010-07-27 Moritz Bunkus + + * mkvmerge: bug fix: Splitting output files by size was basing its + decision when to create a new file on an uninitialized + variable. This caused effects like a lot of small files being + created with sizes much smaller than the intended split size. + +2010-07-19 Moritz Bunkus + + * mkvmerge: bug fix: The speed with which mkvmerge skips garbage + in DTS tracks has been greatly improved. + +2010-07-18 Moritz Bunkus + + * mkvmerge: enhancement: Reading Matroska files: DisplayWidth & + DisplayHeight values that are obviously not meant to represent + pixels but only to be used for aspect ratio calculation (e.g. + 16x9) are converted into proper ranges based on the track's + PixelWidth & PixelHeight values and the quotient of DisplayWidth / + DisplayHeight. + +2010-07-12 Moritz Bunkus + + * mkvmerge: enhancement: Attachments will be rendered at the end + of the file instead of at the beginning. The attachments will be + placed after the cues but before the chapters. Fix for bug 516. + + * mkvmerge: enhancement: Header removal compression has been + enabled by default for MPEG-4 part 10 (AVC/h.264) video tracks + with a NALU size field length of four bytes. + + * mkvmerge: bug fix: Header removal compression has been + deactivated for MPEG-4 part 2 (aka DivX/Xvid) video tracks due to + incompatibility with packed bitstreams. + +2010-07-10 Moritz Bunkus + + * mmg: enhancement: The taskbar progress is reset as soon as + mkvmerge finishes/as soon as all jobs are done (Windows 7). + +2010-07-06 Moritz Bunkus + + * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files + if they're stored without NALUs inside the AVI. Was broken by a + fix for handling AVC/h.264 in NALUs inside AVI. + + * mkvmerge: bug fix: All readers that only handled file formats + which do not contain more than one track did not respect the + "--no-audio / --no-video / --no-subtitles" options. This applied + to the following readers: AAC, AC3, AVC/h.264, CorePicture, Dirac, + DTS, FLAC, IVF, MP3, MPEG ES, PGS/SUP, SRT, SSA, TrueHD, TTA, VC1, + WAV and WavPack. + +2010-07-05 Moritz Bunkus + + * mkvmerge: enhancement: Improved reading text files that use + mixed end-of-line styles (DOS & Unix mixed). + +2010-07-04 Moritz Bunkus + + * mkvmerge: bug fix: Fixed invalid memory access in the PCM + packetizer. Fix for bug 510. + + * mmg: bug fix: When mmg starts it will check the entries in the + file and chapter menu's list of recently used files and remove + those entries that no longer exist. Fix for bug 509. + + * mkvmerge: bug fix: Fixed a crash when reading Matroska files + that were damaged in a certain way. + +2010-07-03 Moritz Bunkus + + * Released v4.1.1. + + * mkvmerge: bug fix: Fixed invalid memory access in the header + removal compressor. Fix for bug 508. + + * mmg: bug fix: mmg will no longer add .mmg files opened by the + job runner to the file menu's list of recently opened files. Fix + for bug 509. + +2010-07-01 Moritz Bunkus + + * Released v4.1.0. + +2010-06-28 Moritz Bunkus + + * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files + if they're stored in NALUs inside the AVI. + +2010-06-26 Moritz Bunkus + + * Build system: enhancement: Improved the error reporting if + certain Boost libraries are not found. + +2010-06-25 Moritz Bunkus + + * mkvmerge: enhancement: mkvmerge will report if it finds data + errors in a Matroska file (e.g. due to storage failure or bad + downloads). The position is reported as well as a periodic update + as long as mkvmerge re-syncs to the next Matroska element. + + * mmg: enhancement: The "compression" drop down box is enabled for + all track types. That way "no compression" can be forced for those + tracks mkvmerge uses "header removal" compression for. + +2010-06-23 Moritz Bunkus + + * mmg: bug fix: Matroska files read from/written to by the header + and chapter editors will no longer be kept opened and locked. Fix + for bug 498. + + * mmg: bug fix: If mmg was called with "--edit-headers + filename.mkv" then it crashed when the header editor was closed. + +2010-06-21 Moritz Bunkus + + * mkvmerge: enhancement: mkvmerge will start a new cluster before + a key frame of the first video track. Fix for bug 500. + + * mkvmerge: enhancement: The default cluster length has been + increased to five seconds (up from two seconds). + +2010-06-20 Moritz Bunkus + + * mkvmerge: bug fix: mkvmerge will no longer report nonsensical + progress reports (e.g. -17239182%) when reading Matroska files + with all the flags "--no-audio --no-video --no-subtitles" + enabled. Fix for bug 505. + + * mmg: bug fix: Fixed a crash in the job runner when the total + time was very big due to a division by zero. + + * mkvmerge: enhancement: Implemented write caching resulting in + faster muxes especially on Windows writing to network shares. + +2010-06-18 Moritz Bunkus + + * mkvmerge: new feature: Added support for reading PGS subtitles + from PGS/SUP files. + + * mkvmerge: bug fix: Specifying an FPS with "--default-duration" + for AVC/h264 tracks in AVI files did not work. Fix for bug 492. + +2010-06-15 Moritz Bunkus + + * mkvmerge: bug fix: Fixed an invalid memory access possibly + causing a crash in the AC3 detection code. + +2010-06-14 Moritz Bunkus + + * mmg: bug fix: Changing mmg's interface language did not change + the entries in the "command line options" dialog if that dialog + had been opened prior to the language change. + +2010-06-12 Moritz Bunkus + + * mkvmerge: enhancement: mkvmerge uses header removal compression + by default for AC3, DTS, MP3, Dirac and MPEG-4 part 2 tracks. + + * all: Added desktop files for mmg/mkvinfo, a MIME type file for + .mmg files and icons to the installation procedure on Linux. Most + files were contributed by Cristian Morales Vega (see AUTHORS). + + * all: Added a translation of the programs into Spanish by Isra + Lucas (see AUTHORS). + +2010-06-11 Moritz Bunkus + + * mkvmerge: bug fix: Fixed access to uninitialized memory when + reading DTS tracks from AVI and Matroska files. + +2010-06-10 Moritz Bunkus + + * mkvmerge: bug fix: The Matroska reader will use the MPEG audio + packetizer for MP2 tracks instead of the passthrough packetizer. + + * mkvmerge: bug fix: The Matroska reader did not handle compressed + tracks correctly if the passthrough packetizer was used. + +2010-06-08 Moritz Bunkus + + * docs: Added a Dutch translation for the man pages by René + Maassen (see AUTHORS). + +2010-06-07 Moritz Bunkus + + * mkvmerge: bug fix: The handling of Matroska files in which the + 'default track flag' is not present has been fixed. + 2010-06-05 Moritz Bunkus * Released v4.0.0. @@ -122,7 +587,7 @@ * mkvmerge: new feature: Added options "--webm"/"--web-media" that enable the WebM compatibility mode. In this mode only Vorbis audio tracks and VP8 video tracks are allowed. Neither chapters - nor tracks are allowed. The DocType element is set to "webm". + nor tags are allowed. The DocType element is set to "webm". * mkvinfo GUI: bug fix: Opening more than one file without restarting mkvinfo GUI could result in wrong timecodes due to diff -Nru mkvtoolnix-4.0.0/config.h.in mkvtoolnix-4.5.0+dfsg/config.h.in --- mkvtoolnix-4.0.0/config.h.in 2010-06-05 12:26:21.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/config.h.in 2011-01-31 20:43:49.000000000 +0000 @@ -6,13 +6,13 @@ /* define if the Boost library is available */ #undef HAVE_BOOST -/* define if the Boost::Filesystem library is available */ +/* define if the Boost::Filesystem library headers are available */ #undef HAVE_BOOST_FILESYSTEM /* define if the Boost::Regex library is available */ #undef HAVE_BOOST_REGEX -/* define if the Boost::System library is available */ +/* define if the Boost::System library headers are available */ #undef HAVE_BOOST_SYSTEM /* Define if the build timestamp should be included in the version information @@ -22,6 +22,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_BZLIB_H +/* Define to 1 if you have the header file. */ +#undef HAVE_CURL_EASY_H + /* Define to 1 if you have the header file. */ #undef HAVE_EXPAT_H @@ -91,6 +94,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H diff -Nru mkvtoolnix-4.0.0/configure mkvtoolnix-4.5.0+dfsg/configure --- mkvtoolnix-4.0.0/configure 2010-06-05 12:26:22.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/configure 2011-01-31 20:43:50.000000000 +0000 @@ -594,12 +594,8 @@ ac_subst_vars='LTLIBOBJS LIBOBJS GUIDE_TRANSLATIONS -MANPAGES_TRANSLATED_XML_RULE -MANPAGES_TRANSLATED -MANPAGES_TRANSLATIONS_POS MANPAGES_TRANSLATIONS TRANSLATIONS -TRANSLATIONS_POS LIBINTL_LIBS PO4A_WORKS PO4A_TRANSLATE_FLAGS @@ -617,6 +613,9 @@ BOOST_LDFLAGS BOOST_CPPFLAGS BOOST_SYSTEM_LIB +CURL_LIBS +CURL_CFLAGS +CURL_CONFIG MAGIC_LIBS USE_QT QT_LIBS @@ -633,6 +632,7 @@ ZLIB_LIBS EXPAT_LIBS EXPAT_CFLAGS +EBML_MATROSKA_INTERNAL MATROSKA_LIBS MATROSKA_CFLAGS EBML_LIBS @@ -737,9 +737,9 @@ with_words with_extra_includes with_extra_libs -enable_optimization enable_debug enable_profiling +enable_optimization enable_precompiled_headers with_build_timestamp enable_posix_fadvise @@ -752,6 +752,7 @@ enable_qt with_moc with_uic +with_curl_config with_boost with_boost_libdir with_boost_system @@ -1383,9 +1384,9 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-optimization compile with optimization: -O3 (yes) --enable-debug compile with debug information (no) --enable-profiling compile with profiling information (no) + --enable-optimization compile with optimization: -O3 (yes) --enable-precompiled-headers enable the generation and use of precompiled headers (auto) @@ -1409,6 +1410,7 @@ --with-wx-config=prog use prog instead of looking for wx-config --with-moc=prog use prog instead of looking for moc --with-uic=prog use prog instead of looking for uic + --with-curl-config=prog use prog instead of looking for curl-config --with-boost=DIR specify the root directory for the mandatory Boost library (default is autodetection) --with-boost-libdir=LIB_DIR @@ -2545,7 +2547,7 @@ PACKAGE="mkvtoolnix" -VERSION="4.0.0" +VERSION="4.5.0" @@ -5042,39 +5044,53 @@ -DEBUG_CFLAGS="" -OPTIMIZATION_CFLAGS="-O3" -PROFILING_CFLAGS="" -PROFILING_LIBS="" - -# Check whether --enable-optimization was given. -if test "${enable_optimization+set}" = set; then : - enableval=$enable_optimization; -else - enable_optimization=no -fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; - if test x"$enable_debug" = xyes ; then - DEBUG_CFLAGS="-g -DDEBUG" - if test x"$enable_optimization" = x"no"; then - OPTIMIZATION_CFLAGS="" - fi - fi - +else + enable_debug=no fi + # Check whether --enable-profiling was given. if test "${enable_profiling+set}" = set; then : enableval=$enable_profiling; - PROFILING_CFLAGS="-pg" - PROFILING_LIBS="-pg" +else + enable_profiling=no +fi + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then : + enableval=$enable_optimization; +else + if test x"$enable_debug" = xyes ; then + enable_optimization=no + else + enable_optimization=yes + fi fi +DEBUG_CFLAGS="" +OPTIMIZATION_CFLAGS="" +PROFILING_CFLAGS="" +PROFILING_LIBS="" + +if test x"$enable_debug" = xyes ; then + DEBUG_CFLAGS="-g -DDEBUG" +fi + +if test x"$enable_optimization" = xyes; then + OPTIMIZATION_CFLAGS="-O3" +fi + +if test x"$enable_profiling" = xyes ; then + PROFILING_CFLAGS="-pg" + PROFILING_LIBS="-pg" +fi + @@ -5083,7 +5099,7 @@ # Check whether --enable-precompiled_headers was given. if test "${enable_precompiled_headers+set}" = set; then : - enableval=$enable_precompiled_headers; enable_precompiled_headers=yes + enableval=$enable_precompiled_headers; else enable_precompiled_headers=auto fi @@ -5940,7 +5956,7 @@ ebml_ver_req_major=1 - ebml_ver_req_minor=0 + ebml_ver_req_minor=2 ebml_ver_req_micro=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libEBML headers version >= ${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}" >&5 @@ -6029,36 +6045,39 @@ CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" + if test x"${ac_cv_ebml_found}" != "xyes" ; then + ac_cv_ebml_found=internal + fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebml_found" >&5 $as_echo "$ac_cv_ebml_found" >&6; } - if test x"${ac_cv_ebml_found}" != "xyes" ; then - echo '*** Your libEBML version is too old. Upgrade to at least version' - echo '*** '${ebml_ver_req_major}.${ebml_ver_req_minor}.${ebml_ver_req_micro}' and re-run configure.' - exit 1 - fi + if test x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" - ebml_check_msg_nodll="yes, without -DEBML_DLL" - ebml_check_msg_dll="yes, with -DEBML_DLL" + else + ebml_check_msg_nodll="yes, without -DEBML_DLL" + ebml_check_msg_dll="yes, with -DEBML_DLL" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libEBML works and if it requires -DEBML_DLL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libEBML works and if it requires -DEBML_DLL" >&5 $as_echo_n "checking if linking against libEBML works and if it requires -DEBML_DLL... " >&6; } if test "${ac_cv_ebml_dll+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" - LIBS="$LIBS $EBML_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS" + LIBS="$LIBS $EBML_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6082,10 +6101,10 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DEBML_DLL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DEBML_DLL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6106,24 +6125,25 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + fi fi - fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebml_dll" >&5 $as_echo "$ac_cv_ebml_dll" >&6; } - if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then - echo '*** The libEBML library was not found.' - exit 1 + if test x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_dll}" -a x"${ac_cv_ebml_dll}" != "x${ebml_check_msg_nodll}" ; then + echo '*** The libEBML library was not found.' + exit 1 + fi fi if test x"${ac_cv_ebml_dll}" = "x${ebml_check_msg_dll}" ; then @@ -6134,7 +6154,7 @@ kax_ver_req_major=1 - kax_ver_req_minor=0 + kax_ver_req_minor=1 kax_ver_req_micro=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libMatroska headers version >= ${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}" >&5 @@ -6144,19 +6164,20 @@ else - MATROSKA_LIBS="-lmatroska" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - rm -f conf.matroskatest - ac_ext=cpp + if test x"${ac_cv_ebml_found}" = "xyes" ; then + MATROSKA_LIBS="-lmatroska" + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + rm -f conf.matroskatest + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6184,12 +6205,12 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test x"${ac_cv_matroska_found}" != "xyes" ; then - MATROSKA_CFLAGS="-I/usr/local/include" - MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" - CXXFLAGS="-I/usr/local/include $CXXFLAGS" - LIBS="-L/usr/local/lib $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_matroska_found}" != "xyes" ; then + MATROSKA_CFLAGS="-I/usr/local/include" + MATROSKA_LIBS="-L/usr/local/lib $MATROSKA_LIBS" + CXXFLAGS="-I/usr/local/include $CXXFLAGS" + LIBS="-L/usr/local/lib $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6216,47 +6237,54 @@ ac_cv_matroska_found=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi + fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test x"${ac_cv_matroska_found}" != "xyes" ; then + ac_cv_matroska_found=internal + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_matroska_found" >&5 $as_echo "$ac_cv_matroska_found" >&6; } - if test x"${ac_cv_matroska_found}" != "xyes" ; then - echo '*** Your libMatroska version is too old. Upgrade to at least version' - echo '*** '${kax_ver_req_major}.${kax_ver_req_minor}.${kax_ver_req_micro}' and re-run configure.' - exit 1 - fi + if test x"${ac_cv_matroska_found}" = "xinternal" -o x"${ac_cv_ebml_found}" = "xinternal" ; then + EBML_CFLAGS="-Ilib/libebml" + EBML_LIBS="-Llib/libebml/src -lebml" + MATROSKA_CFLAGS="-Ilib/libmatroska" + MATROSKA_LIBS="-Llib/libmatroska/src -lmatroska" + EBML_MATROSKA_INTERNAL=yes - matroska_check_msg_nodll="yes, without -MATROSKA_DLL" - matroska_check_msg_dll="yes, with -DMATROSKA_DLL" + else + matroska_check_msg_nodll="yes, without -MATROSKA_DLL" + matroska_check_msg_dll="yes, with -DMATROSKA_DLL" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libMatroska works and if it requires -DMATROSKA_DLL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linking against libMatroska works and if it requires -DMATROSKA_DLL" >&5 $as_echo_n "checking if linking against libMatroska works and if it requires -DMATROSKA_DLL... " >&6; } if test "${ac_cv_matroska_dll+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" - LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $EBML_CFLAGS $MATROSKA_CFLAGS" + LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6280,10 +6308,10 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - if test x"${ac_cv_mingw32}" = "xyes" ; then - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then - CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x"${ac_cv_mingw32}" = "xyes" ; then + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" ; then + CXXFLAGS="$CXXFLAGS -DMATROSKA_DLL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6304,28 +6332,29 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + fi fi - fi - ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="${ac_save_CXXFLAGS}" - LIBS="${ac_save_LIBS}" + CXXFLAGS="${ac_save_CXXFLAGS}" + LIBS="${ac_save_LIBS}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_matroska_dll" >&5 $as_echo "$ac_cv_matroska_dll" >&6; } - if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then - echo '*** The libMatroska library was not found.' - exit 1 - fi + if test x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_nodll}" -a x"${ac_cv_matroska_dll}" != "x${matroska_check_msg_dll}" ; then + echo '*** The libMatroska library was not found.' + exit 1 + fi - if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then - MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + if test x"${ac_cv_matroska_dll}" = "x${matroska_check_msg_dll}" ; then + MATROSKA_CFLAGS="$MATROSKA_CFLAGS -DMATROSKA_DLL" + fi fi if test x"${ac_cv_ebml_dll}" != "xyes" -o x"${ac_cv_matroska_dll}" != "xyes" ; then @@ -6335,6 +6364,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 $as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then : @@ -7484,6 +7514,146 @@ + +continue_curl_check=1 + + +# Check whether --with-curl_config was given. +if test "${with_curl_config+set}" = set; then : + withval=$with_curl_config; CURL_CONFIG="$with_curl_config" +fi + +# Extract the first word of "curl-config", so it can be a program name with args. +set dummy curl-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CURL_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CURL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_CURL_CONFIG="$CURL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PATH:/usr/local/bin" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CURL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_CURL_CONFIG" && ac_cv_path_CURL_CONFIG="no" + ;; +esac +fi +CURL_CONFIG=$ac_cv_path_CURL_CONFIG +if test -n "$CURL_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL_CONFIG" >&5 +$as_echo "$CURL_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test x"$CURL_CONFIG" = "xno" ; then + echo "*** Not checking for curl: curl-config not found" + continue_curl_check=0 +elif test ! -x "$CURL_CONFIG" ; then + echo "*** Not checking for curl: file '"$CURL_CONFIG"' not executable" + continue_curl_check=0 +fi + +if test x"$continue_curl_check" = x1 ; then + CURL_CFLAGS=`$CURL_CONFIG --cflags` + CURL_LIBS=`$CURL_CONFIG --libs` + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $CURL_CFLAGS" + LIBS="$LIBS $CURL_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_easy_init in -lcurl" >&5 +$as_echo_n "checking for curl_easy_init in -lcurl... " >&6; } +if test "${ac_cv_lib_curl_curl_easy_init+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char curl_easy_init (); +int +main () +{ +return curl_easy_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_curl_curl_easy_init=yes +else + ac_cv_lib_curl_curl_easy_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_init" >&5 +$as_echo "$ac_cv_lib_curl_curl_easy_init" >&6; } +if test "x$ac_cv_lib_curl_curl_easy_init" = x""yes; then : + curl_found=yes +else + curl_found=no +fi + + if test "$curl_found" = "yes"; then + for ac_header in curl/easy.h +do : + ac_fn_c_check_header_compile "$LINENO" "curl/easy.h" "ac_cv_header_curl_easy_h" "#include +" +if test "x$ac_cv_header_curl_easy_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_CURL_EASY_H 1 +_ACEOF + +else + curl_found=no +fi + +done + + fi + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" +fi + +if test "$curl_found" = "yes"; then + opt_features_yes="$opt_features_yes\n * online update checks (via libcurl)" +else + opt_features_no="$opt_features_no\n * online update checks (via libcurl)" + CURL_CFLAGS="" + CURL_LIBS="" +fi + + + + # =========================================================================== # http://autoconf-archive.cryp.to/ax_boost_base.html # =========================================================================== @@ -7561,6 +7731,10 @@ + + + + # =========================================================================== # http://autoconf-archive.cryp.to/ax_boost_regex.html # =========================================================================== @@ -7929,8 +8103,8 @@ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library is available" >&5 -$as_echo_n "checking whether the Boost::System library is available... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library headers are available" >&5 +$as_echo_n "checking whether the Boost::System library headers are available... " >&6; } if test "${ax_cv_boost_system+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7974,9 +8148,9 @@ if test "x$ax_cv_boost_system" = "xyes"; then - $as_echo "#define HAVE_BOOST_SYSTEM /**/" >>confdefs.h + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'` LDFLAGS_SAVE=$LDFLAGS @@ -8184,8 +8358,8 @@ LIBS="$LIBS $BOOST_SYSTEM_LIB" export LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Filesystem library is available" >&5 -$as_echo_n "checking whether the Boost::Filesystem library is available... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Filesystem library headers are available" >&5 +$as_echo_n "checking whether the Boost::Filesystem library headers are available... " >&6; } if test "${ax_cv_boost_filesystem+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -8227,10 +8401,13 @@ $as_echo "$ax_cv_boost_filesystem" >&6; } if test "x$ax_cv_boost_filesystem" = "xyes"; then + ax_lib= + $as_echo "#define HAVE_BOOST_FILESYSTEM /**/" >>confdefs.h BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'` + if test "x$ax_boost_user_filesystem_lib" = "x"; then for libextension in `ls $BOOSTLIBDIR/libboost_filesystem*.{so,dylib,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_filesystem.*\)\.so.*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.a*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.dylib$;\1;'` ; do ax_lib=${libextension} @@ -8381,15 +8558,19 @@ done fi - - if test "x$link_filesystem" != "xyes"; then - as_fn_error "Could not link against $ax_lib !" "$LINENO" 5 - fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" LIBS="$LIBS_SAVED" + + if test x"$link_filesystem" != "xyes" ; then + if test x"$ax_lib" = "x" ; then + as_fn_error "The Boost::Filesystem library was not found in $BOOSTLIBDIR." "$LINENO" 5 + else + as_fn_error "The Boost::Filesystem library is required and it was found, but linking against it failed." "$LINENO" 5 + fi + fi fi @@ -8755,6 +8936,125 @@ EXTRA_CFLAGS="$EXTRA_CFLAGS -I$boost_foreach_dir" fi +# boost::property_tree can be missing; the included version will be used in +# that case. +boost_exception_dir=lib/boost/exception +boost_property_tree_dir=lib/boost/property_tree + + included_boost_dir="$boost_property_tree_dir" + included_boost_exception_dir="$boost_exception_dir" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which boost/property_tree/ptree.hpp to use" >&5 +$as_echo_n "checking which boost/property_tree/ptree.hpp to use... " >&6; } +if test "${ax_cv_boost_property_tree+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + CXXFLAGS_SAVED="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS" + export CXXFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + + result="system" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + boost::property_tree::ptree pt; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_boost_property_tree=$result +else + ax_cv_boost_property_tree=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + if test x"$ax_cv_boost_property_tree" = "xno"; then + CXXFLAGS="-I$included_boost_exception_dir -I$included_boost_dir $CXXFLAGS_SAVED $BOOST_CPPFLAGS" + export CXXFLAGS + + + result="included" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + boost::property_tree::ptree pt; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_boost_property_tree=$result +else + ax_cv_boost_property_tree=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + fi + + CXXFLAGS="$CXXFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_property_tree" >&5 +$as_echo "$ax_cv_boost_property_tree" >&6; } + + +if test x"$ax_cv_boost_property_tree" = "xno"; then + as_fn_error "The Boost property_tree library was not found, and the included version does not work. Install Boost v1.41.0 or later." "$LINENO" 5 +fi + +if test x"$ax_cv_boost_property_tree" = "xincluded"; then + EXTRA_CFLAGS="-I$boost_exception_dir $EXTRA_CFLAGS -I$boost_property_tree_dir" +fi + # Extract the first word of ""etags"", so it can be a program name with args. set dummy "etags"; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -8972,8 +9272,20 @@ fi fi +for ac_header in sys/ioctl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioctl_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_IOCTL_H 1 +_ACEOF + +fi -if test x"ac_cv_sys_posix_termios" = "xyes" ; then +done + + +if test x"$ac_cv_sys_posix_termios" = "xyes" ; then $as_echo "#define HAVE_TIOCGWINSZ 1" >>confdefs.h @@ -9186,39 +9498,23 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking the manpage translation languages to install" >&5 $as_echo_n "checking the manpage translation languages to install... " >&6; } MANPAGES_TRANSLATIONS="" -MANPAGES_TRANSLATIONS_POS="" if test x"$LINGUAS" = x ; then for file in $srcdir/doc/man/po4a/po/*.po; do MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS`basename $file .po` " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$file " done else for i in $LINGUAS; do if test -f "$srcdir/doc/man/po4a/po/$i.po"; then MANPAGES_TRANSLATIONS="$MANPAGES_TRANSLATIONS$i " - MANPAGES_TRANSLATIONS_POS="$MANPAGES_TRANSLATIONS$srcdir/doc/man/po4a/po/$i.po " fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANPAGES_TRANSLATIONS" >&5 $as_echo "$MANPAGES_TRANSLATIONS" >&6; } -MANPAGES_TRANSLATED="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo '$(subst doc/man, doc/man/'$lang', $(MANPAGES)) '; done | tr -d '\n\r'`" - -MANPAGES_TRANSLATED_XML_RULE="`for lang in $MANPAGES_TRANSLATIONS; do \ - echo 'doc/man/'$lang'/%.xml: doc/man/%.xml doc/man/po4a/po/'$lang'.po' - echo ' @echo '\'' PO4A '\'' $< '\''('$lang')'\' - echo ' $(Q)$(PO4A_TRANSLATE) $(PO4A_TRANSLATE_FLAGS) -m $< -p doc/man/po4a/po/'$lang'.po -l $@'; done`" - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking the mmg guide translation languages to install" >&5 @@ -9239,7 +9535,7 @@ -ac_config_files="$ac_config_files Makefile doc/Makefile doc/man/Makefile doc/guide/Makefile doc/guide/en/Makefile lib/avilib-0.6.10/Makefile lib/librmff/Makefile src/Makefile src/common/Makefile src/common/chapters/Makefile src/common/strings/Makefile src/common/tags/Makefile src/common/xml/Makefile src/input/Makefile src/output/Makefile src/mpegparser/Makefile src/mmg/Makefile src/mmg/header_editor/Makefile src/mmg/options/Makefile src/mmg/tabs/Makefile src/extract/Makefile src/merge/Makefile src/info/Makefile src/propedit/Makefile po/Makefile" +ac_config_files="$ac_config_files build-config" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -9925,31 +10221,7 @@ do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.h.in" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "doc/guide/Makefile") CONFIG_FILES="$CONFIG_FILES doc/guide/Makefile" ;; - "doc/guide/en/Makefile") CONFIG_FILES="$CONFIG_FILES doc/guide/en/Makefile" ;; - "lib/avilib-0.6.10/Makefile") CONFIG_FILES="$CONFIG_FILES lib/avilib-0.6.10/Makefile" ;; - "lib/librmff/Makefile") CONFIG_FILES="$CONFIG_FILES lib/librmff/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;; - "src/common/chapters/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/chapters/Makefile" ;; - "src/common/strings/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/strings/Makefile" ;; - "src/common/tags/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/tags/Makefile" ;; - "src/common/xml/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/xml/Makefile" ;; - "src/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/input/Makefile" ;; - "src/output/Makefile") CONFIG_FILES="$CONFIG_FILES src/output/Makefile" ;; - "src/mpegparser/Makefile") CONFIG_FILES="$CONFIG_FILES src/mpegparser/Makefile" ;; - "src/mmg/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/Makefile" ;; - "src/mmg/header_editor/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/header_editor/Makefile" ;; - "src/mmg/options/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/options/Makefile" ;; - "src/mmg/tabs/Makefile") CONFIG_FILES="$CONFIG_FILES src/mmg/tabs/Makefile" ;; - "src/extract/Makefile") CONFIG_FILES="$CONFIG_FILES src/extract/Makefile" ;; - "src/merge/Makefile") CONFIG_FILES="$CONFIG_FILES src/merge/Makefile" ;; - "src/info/Makefile") CONFIG_FILES="$CONFIG_FILES src/info/Makefile" ;; - "src/propedit/Makefile") CONFIG_FILES="$CONFIG_FILES src/propedit/Makefile" ;; - "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; + "build-config") CONFIG_FILES="$CONFIG_FILES build-config" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff -Nru mkvtoolnix-4.0.0/configure.in mkvtoolnix-4.5.0+dfsg/configure.in --- mkvtoolnix-4.0.0/configure.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/configure.in 2011-01-31 20:34:09.000000000 +0000 @@ -4,7 +4,7 @@ AC_CONFIG_HEADERS(config.h:config.h.in) PACKAGE="mkvtoolnix" -VERSION="4.0.0" +VERSION="4.5.0" AC_SUBST(PACKAGE) AC_SUBST(VERSION) @@ -38,9 +38,11 @@ m4_include(ac/wxwidgets.m4) m4_include(ac/qt4.m4) m4_include(ac/magic.m4) +m4_include(ac/curl.m4) m4_include(ac/ax_boost_base.m4) m4_include(ac/ax_boost_filesystem.m4) m4_include(ac/ax_boost_foreach.m4) +m4_include(ac/ax_boost_property_tree.m4) m4_include(ac/ax_boost_regex.m4) m4_include(ac/ax_boost_system.m4) m4_include(ac/boost.m4) @@ -52,33 +54,7 @@ m4_include(ac/manpages_translations.m4) m4_include(ac/guide_translations.m4) -AC_OUTPUT( - Makefile - doc/Makefile - doc/man/Makefile - doc/guide/Makefile - doc/guide/en/Makefile - lib/avilib-0.6.10/Makefile - lib/librmff/Makefile - src/Makefile - src/common/Makefile - src/common/chapters/Makefile - src/common/strings/Makefile - src/common/tags/Makefile - src/common/xml/Makefile - src/input/Makefile - src/output/Makefile - src/mpegparser/Makefile - src/mmg/Makefile - src/mmg/header_editor/Makefile - src/mmg/options/Makefile - src/mmg/tabs/Makefile - src/extract/Makefile - src/merge/Makefile - src/info/Makefile - src/propedit/Makefile - po/Makefile -) +AC_OUTPUT(build-config) echo '' echo 'The mkvtoolnix configuration is complete.' diff -Nru mkvtoolnix-4.0.0/contrib/centos.spec mkvtoolnix-4.5.0+dfsg/contrib/centos.spec --- mkvtoolnix-4.0.0/contrib/centos.spec 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/contrib/centos.spec 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,59 @@ +# SPEC file for (at least) Fedora Core 5 and 6 + +Summary: mkvtoolnix +Name: mkvtoolnix +Version: 4.5.0 +Release: 1 +License: GPL +Group: Multimedia +Source: %{name}-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-tmproot +BuildRequires: libebml-devel >= 1.2.0 +BuildRequires: libmatroska-devel >= 1.1.0 +BuildRequires: gcc-c++ gcc gcc-c++ make libogg-devel libvorbis-devel wxGTK-devel >= 2.8 boost-devel file lzo-devel bzip2-devel zlib-devel expat-devel gettext-devel ruby curl-devel + +%description +Matroska video utilities. + +%files +%defattr(-, root, root) +%doc AUTHORS COPYING README ChangeLog NEWS TODO +%{_bindir}/* +%{_datadir}/man/man1/* +%{_datadir}/man/ja/man1/* +%{_datadir}/man/nl/man1/* +%{_datadir}/man/zh_CN/man1/* +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/32x32/apps/*.png +%{_datadir}/icons/hicolor/64x64/apps/*.png +%{_datadir}/mime/packages/*.xml +%{_datadir}/locale/de/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/es/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/fr/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/ja/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/nl/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/ru/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/uk/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/doc/mkvtoolnix/guide + +%changelog +* Sat Jan 2 2004 Ronald Bultje +- set this thing up + +%prep +%setup +export CFLAGS="`echo $CFLAGS | sed -e 's/-O2//g'` -O1" +export CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-O2//g'` -O1" +%configure --prefix=%{_prefix} --without-flac --disable-optimization $EXTRA_CONFIGURE_ARGS + +%build +./drake + +%install +[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT +./drake DESTDIR=%{?buildroot} install + +%clean +[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT diff -Nru mkvtoolnix-4.0.0/contrib/fedora-core.spec mkvtoolnix-4.5.0+dfsg/contrib/fedora-core.spec --- mkvtoolnix-4.0.0/contrib/fedora-core.spec 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/contrib/fedora-core.spec 2011-01-31 20:34:09.000000000 +0000 @@ -2,15 +2,15 @@ Summary: mkvtoolnix Name: mkvtoolnix -Version: 4.0.0 +Version: 4.5.0 Release: 1 License: GPL Group: Multimedia Source: %{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-tmproot -BuildRequires: libebml-devel >= 1.0.0 -BuildRequires: libmatroska-devel >= 1.0.0 -BuildRequires: gcc-c++ gcc gcc-c++ make flac-devel libogg-devel libvorbis-devel wxGTK-devel >= 2.8 boost-devel file lzo-devel bzip2-devel zlib-devel expat-devel gettext-devel +BuildRequires: libebml-devel >= 1.2.0 +BuildRequires: libmatroska-devel >= 1.1.0 +BuildRequires: gcc-c++ gcc gcc-c++ make flac-devel libogg-devel libvorbis-devel wxGTK-devel >= 2.8 boost-devel file lzo-devel bzip2-devel zlib-devel expat-devel gettext-devel ruby libcurl-devel %description Matroska video utilities. @@ -21,15 +21,22 @@ %{_bindir}/* %{_datadir}/man/man1/* %{_datadir}/man/ja/man1/* +%{_datadir}/man/nl/man1/* %{_datadir}/man/zh_CN/man1/* -%{_datadir}/mkvtoolnix +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/32x32/apps/*.png +%{_datadir}/icons/hicolor/64x64/apps/*.png +%{_datadir}/mime/packages/*.xml %{_datadir}/locale/de/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/es/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/fr/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/ja/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/nl/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/ru/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/uk/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo %{_datadir}/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/doc/mkvtoolnix/guide %changelog * Sat Jan 2 2004 Ronald Bultje @@ -37,14 +44,14 @@ %prep %setup -%configure --prefix=%{_prefix} +%configure --prefix=%{_prefix} $EXTRA_CONFIGURE_ARGS %build -make +./drake %install [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT -%makeinstall +./drake DESTDIR=%{?buildroot} install %clean [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT diff -Nru mkvtoolnix-4.0.0/contrib/opensuse-10.spec mkvtoolnix-4.5.0+dfsg/contrib/opensuse-10.spec --- mkvtoolnix-4.0.0/contrib/opensuse-10.spec 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/contrib/opensuse-10.spec 2011-01-31 20:34:09.000000000 +0000 @@ -2,13 +2,13 @@ # spec file for package mkvtoolnix # -BuildRequires: libebml >= 1.0.0 -BuildRequires: libmatroska >= 1.0.0 -BuildRequires: expat flac flac-devel gcc-c++ gtk2 gtk2-devel libogg libogg-devel libstdc++-devel libvorbis libvorbis-devel lzo lzo-devel pkgconfig wxGTK >= 2.6 wxGTK-devel >= 2.6 wxGTK-gl boost-devel file-devel +BuildRequires: libebml >= 1.2.0 +BuildRequires: libmatroska >= 1.1.0 +BuildRequires: expat flac flac-devel gcc-c++ gtk2 gtk2-devel libogg libogg-devel libstdc++-devel libvorbis libvorbis-devel lzo lzo-devel pkgconfig wxGTK >= 2.6 wxGTK-devel >= 2.6 wxGTK-gl boost-devel file-devel ruby libcurl-devel Name: mkvtoolnix URL: http://www.bunkus.org/videotools/mkvtoolnix/ -Version: 4.0.0 +Version: 4.5.0 Release: 1 Summary: tools to create, alter and inspect Matroska files License: GPL @@ -38,11 +38,11 @@ %build export CFLAGS="$RPM_OPT_FLAGS" -./configure --prefix=/usr --mandir=/usr/share/man -make +./configure --prefix=/usr --mandir=/usr/share/man $EXTRA_CONFIGURE_ARGS +./drake %install -make install DESTDIR=$RPM_BUILD_ROOT +./drake DESTDIR=$RPM_BUILD_ROOT MMG_BIN=mkvmerge-gui install %clean rm -rf $RPM_BUILD_ROOT @@ -55,35 +55,26 @@ %files %defattr (-,root,root) -/usr/bin/mkvextract -/usr/bin/mkvinfo -/usr/bin/mkvmerge -/usr/bin/mkvmerge-gui -/usr/bin/mkvpropedit -/usr/share/man/man1/mkvextract.1.gz -/usr/share/man/man1/mkvinfo.1.gz -/usr/share/man/man1/mkvmerge.1.gz -/usr/share/man/man1/mkvmerge-gui.1.gz -/usr/share/man/man1/mkvpropedit.1.gz -/usr/share/man/ja/man1/mkvextract.1.gz -/usr/share/man/ja/man1/mkvinfo.1.gz -/usr/share/man/ja/man1/mkvmerge.1.gz -/usr/share/man/ja/man1/mkvmerge-gui.1.gz -/usr/share/man/ja/man1/mkvpropedit.1.gz -/usr/share/man/zh_CN/man1/mkvextract.1.gz -/usr/share/man/zh_CN/man1/mkvinfo.1.gz -/usr/share/man/zh_CN/man1/mkvmerge.1.gz -/usr/share/man/zh_CN/man1/mkvmerge-gui.1.gz -/usr/share/man/zh_CN/man1/mkvpropedit.1.gz -/usr/share/mkvtoolnix/* -/usr/share/locale/de/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/ja/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/nl/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/ru/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/uk/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo -/usr/share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo -%doc AUTHORS ChangeLog COPYING README +%doc AUTHORS COPYING README ChangeLog NEWS TODO +%{_bindir}/* +%{_datadir}/man/man1/* +%{_datadir}/man/ja/man1/* +%{_datadir}/man/nl/man1/* +%{_datadir}/man/zh_CN/man1/* +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/32x32/apps/*.png +%{_datadir}/icons/hicolor/64x64/apps/*.png +%{_datadir}/mime/packages/*.xml +%{_datadir}/locale/de/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/es/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/fr/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/ja/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/nl/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/ru/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/uk/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo +%{_datadir}/doc/mkvtoolnix/guide %changelog -n mkvtoolnix * Mon Sep 13 2004 - seife@suse.de diff -Nru mkvtoolnix-4.0.0/contrib/parse_iso.awk mkvtoolnix-4.5.0+dfsg/contrib/parse_iso.awk --- mkvtoolnix-4.0.0/contrib/parse_iso.awk 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/contrib/parse_iso.awk 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/bin/awk -f + +BEGIN { + FS = "|"; +} + +!/qaa-qtz/ { + printf(" { %-83s \"%s\", %s, %s },\n", "\""$4"\",", $1, $3 ? "\""$3"\"" : "NULL", $2 ? "\""$2"\"" : "NULL "); +} + +END { + printf(" { %-83s %s, %s, %s },\n", "NULL,", "NULL", "NULL", "NULL"); +} diff -Nru mkvtoolnix-4.0.0/contrib/suse-mmg-rename.diff mkvtoolnix-4.5.0+dfsg/contrib/suse-mmg-rename.diff --- mkvtoolnix-4.0.0/contrib/suse-mmg-rename.diff 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/contrib/suse-mmg-rename.diff 2011-01-31 20:34:09.000000000 +0000 @@ -1,39 +1,11 @@ -diff -ur mkvtoolnix-2.9.8.orig/Makefile.in mkvtoolnix-2.9.8/Makefile.in ---- mkvtoolnix-2.9.8.orig/Makefile.in 2009-08-13 12:32:50.000000000 +0200 -+++ mkvtoolnix-2.9.8/Makefile.in 2009-08-13 18:46:57.462879372 +0200 -@@ -160,8 +160,8 @@ - APPLICATIONS = src/mkvmerge@EXEEXT@ src/mkvinfo@EXEEXT@ src/mkvextract@EXEEXT@ - MANPAGES = doc/man/mkvmerge.1 doc/man/mkvinfo.1 doc/man/mkvextract.1 - ifeq (yes,$(USE_WXWIDGETS)) --APPLICATIONS += src/mmg/mmg@EXEEXT@ --MANPAGES += doc/man/mmg.1 -+APPLICATIONS += src/mmg/mkvmerge-gui@EXEEXT@ -+MANPAGES += doc/man/mkvmerge-gui.1 - endif - - TRANSLATIONS = @TRANSLATIONS@ -@@ -235,6 +235,7 @@ - - install-programs: $(APPLICATIONS) - $(mkinstalldirs) $(DESTDIR)$(bindir) -+ mv src/mmg/mmg@EXEEXT@ src/mmg/mkvmerge-gui@EXEEXT@ - @list='$(APPLICATIONS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p ; then \ -@@ -246,6 +247,7 @@ - - install-mans: - $(mkinstalldirs) $(DESTDIR)$(man1dir) -+ mv doc/man/mmg.1 doc/man/mkvmerge-gui.1 - @for i in $(MANPAGES); do \ - inst=`echo $$i | sed -e 's/^.*\///'`; \ - echo " $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$inst"; \ -@@ -549,6 +551,8 @@ - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mmg_OBJECTS) $(mmg_LDADD) - -+src/mmg/mkvmerge-gui@EXEEXT@: src/mmg/mmg@EXEEXT@ -+ - .SECONDARY: - - # +--- mkvtoolnix-4.4.0.orig/share/desktop/mkvmergeGUI.desktop 2010-10-31 15:42:16.000000000 +0100 ++++ mkvtoolnix-4.4.0/share/desktop/mkvmergeGUI.desktop 2010-10-31 20:04:07.076391913 +0100 +@@ -7,7 +7,7 @@ + GenericName[fr]=Créateur de fichiers MKV + GenericName[zh_TW]=MKV 檔製作軟體 + Icon=mkvmergeGUI +-Exec=mmg ++Exec=mkvmerge-gui + Terminal=false + MimeType=application/x-mmg-settings;video/x-matroska;audio/x-matroska; + Categories=GNOME;AudioVideo;AudioVideoEditing; diff -Nru mkvtoolnix-4.0.0/debian/changelog mkvtoolnix-4.5.0+dfsg/debian/changelog --- mkvtoolnix-4.0.0/debian/changelog 2010-06-17 16:48:43.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/changelog 2011-02-22 22:52:49.000000000 +0000 @@ -1,3 +1,25 @@ +mkvtoolnix (4.5.0+dfsg-0ubuntu1) natty; urgency=low + + * New upstream release (LP: #722372) + - Remove copies of libeml and libmatroska. + * debian/control: + - Bump build-depends on libebml-dev (>= 1.2.0) (LP: #722383) + - Bump build-depends on libmatroska-dev (>= 1.1.0) (LP: #722396) + - Build-depends on rake for the new build system. + - Build-depends on libcurl4-gnutls-dev | libcurl4-openssl-dev, to avoid + crash on building. + * debian/*.install: + - Update installed translations. + - Install icons, guide, mime type and desktop files from upstream. + * debian/rules: + - From upstream, use RAKE instead of MAKE. + * debian/patches/rename-text-exec-desktop.patch: + - Rename the executable for the text binary, to follow packaging. + * debian/README.Debian: + - Add to explain the repack of the tarball. + + -- Julien Lavergne Tue, 22 Feb 2011 23:41:55 +0100 + mkvtoolnix (4.0.0-0ubuntu3) maverick; urgency=low * Adjusted install paths. diff -Nru mkvtoolnix-4.0.0/debian/control mkvtoolnix-4.5.0+dfsg/debian/control --- mkvtoolnix-4.0.0/debian/control 2010-06-12 08:06:43.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/control 2011-02-22 20:20:25.000000000 +0000 @@ -8,11 +8,11 @@ libboost-dev, libboost-regex-dev, libbz2-dev, - libebml-dev (>= 1.0.0), + libebml-dev (>= 1.2.0), libexpat1-dev, libflac-dev, libmagic-dev, - libmatroska-dev (>= 1.0.0), + libmatroska-dev (>= 1.1.0), libogg-dev, libpcre3-dev, libvorbis-dev, @@ -20,7 +20,9 @@ liblzo2-dev, zlib1g-dev, libboost-filesystem-dev, - libboost-math-dev + libboost-math-dev, + libcurl4-gnutls-dev | libcurl4-openssl-dev, + rake Standards-Version: 3.8.4 Homepage: http://www.bunkus.org/videotools/mkvtoolnix/ diff -Nru mkvtoolnix-4.0.0/debian/mkvtoolnix-gui.install mkvtoolnix-4.5.0+dfsg/debian/mkvtoolnix-gui.install --- mkvtoolnix-4.0.0/debian/mkvtoolnix-gui.install 2010-06-17 16:48:19.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/mkvtoolnix-gui.install 2011-02-22 22:11:29.000000000 +0000 @@ -1,5 +1,11 @@ -src/mmg/mmg-gui usr/bin -src/mkvinfo-gui usr/bin -debian/mkvtoolnix-gui.desktop usr/share/applications -src/mmg/matroskalogo.xpm usr/share/pixmaps +src/mmg/mmg-gui /usr/bin +src/mkvinfo-gui /usr/bin +share/desktop/*.desktop /usr/share/applications +share/mime/*.xml /usr/share/mime/packages +share/icons/32x32/* /usr/share/icons/hicolor/32x32/apps +share/icons/64x64/* /usr/share/icons/hicolor/64x64/apps +doc/guide/en/*.html doc/guide/en/*.hh? /usr/share/doc/mkvtoolnix/guide/en +doc/guide/en/images/* /usr/share/doc/mkvtoolnix/guide/en/images +doc/guide/zh_CN/*.html doc/guide/zh_CN/*.hh? /usr/share/doc/mkvtoolnix/guide/zh_CN +doc/guide/zh_CN/images/* /usr/share/doc/mkvtoolnix/guide/zh_CN/images diff -Nru mkvtoolnix-4.0.0/debian/mkvtoolnix.install mkvtoolnix-4.5.0+dfsg/debian/mkvtoolnix.install --- mkvtoolnix-4.0.0/debian/mkvtoolnix.install 2010-06-17 16:45:49.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/mkvtoolnix.install 2011-02-22 22:13:04.000000000 +0000 @@ -3,6 +3,11 @@ usr/bin/mkvextract /usr/bin usr/bin/mkvpropedit /usr/bin usr/share/locale/de/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/de/LC_MESSAGES +usr/share/locale/es/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/es/LC_MESSAGES +usr/share/locale/fr/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/fr/LC_MESSAGES usr/share/locale/ja/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/ja/LC_MESSAGES +usr/share/locale/nl/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/nl/LC_MESSAGES +usr/share/locale/ru/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/ru/LC_MESSAGES +usr/share/locale/uk/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/uk/LC_MESSAGES usr/share/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/zh_CN/LC_MESSAGES usr/share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/zh_TW/LC_MESSAGES diff -Nru mkvtoolnix-4.0.0/debian/patches/rename-text-exec-desktop.patch mkvtoolnix-4.5.0+dfsg/debian/patches/rename-text-exec-desktop.patch --- mkvtoolnix-4.0.0/debian/patches/rename-text-exec-desktop.patch 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/patches/rename-text-exec-desktop.patch 2011-02-22 22:47:59.000000000 +0000 @@ -0,0 +1,12 @@ +# Rename the executable to follow the packaging +--- mkvtoolnix-4.5.0+dfsg.orig/share/desktop/mkvinfo.desktop ++++ mkvtoolnix-4.5.0+dfsg/share/desktop/mkvinfo.desktop +@@ -6,7 +6,7 @@ GenericName[de]=Informationen über MKV- + GenericName[es]=Mostrar información sobre ficheros MKV + GenericName[zh_TW]=顯示 MKV 檔資訊 + Icon=mkvinfo +-Exec=mkvinfo -g ++Exec=mkvinfo-text -g + Terminal=false + MimeType=video/x-matroska;audio/x-matroska; + Categories=AudioVideo;AudioVideoEditing; diff -Nru mkvtoolnix-4.0.0/debian/patches/series mkvtoolnix-4.5.0+dfsg/debian/patches/series --- mkvtoolnix-4.0.0/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/patches/series 2011-02-22 22:48:27.000000000 +0000 @@ -0,0 +1 @@ +rename-text-exec-desktop.patch diff -Nru mkvtoolnix-4.0.0/debian/README.Debian mkvtoolnix-4.5.0+dfsg/debian/README.Debian --- mkvtoolnix-4.0.0/debian/README.Debian 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/README.Debian 2011-02-22 22:52:08.000000000 +0000 @@ -0,0 +1,2 @@ +The upstream tarball was repacked to remove internal copies of libeml and +libmatroska. diff -Nru mkvtoolnix-4.0.0/debian/rules mkvtoolnix-4.5.0+dfsg/debian/rules --- mkvtoolnix-4.0.0/debian/rules 2010-06-17 16:46:19.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian/rules 2011-02-22 21:59:14.000000000 +0000 @@ -1,5 +1,7 @@ #!/usr/bin/make -f +RAKE=./drake + %: dh $@ @@ -13,22 +15,24 @@ cp -f /usr/share/misc/config.guess config.guess endif dh_auto_configure -- --enable-gui - $(MAKE) + $(RAKE) apps:mkvinfo apps:mmg mv src/mkvinfo src/mkvinfo-gui mv src/mmg/mmg src/mmg/mmg-gui - $(MAKE) distclean + $(RAKE) clean:dist dh_auto_configure -- --disable-gui - $(MAKE) + $(RAKE) override_dh_clean: + -$(RAKE) clean dh_clean rm -rf .deps .pc find -name Makefile -delete override_dh_install: - dh_install -a + $(RAKE) install prefix=$(CURDIR)/debian/tmp/usr + dh_install mv debian/mkvtoolnix/usr/bin/mkvinfo debian/mkvtoolnix/usr/bin/mkvinfo-text mv debian/mkvtoolnix-gui/usr/bin/mmg-gui debian/mkvtoolnix-gui/usr/bin/mmg diff -Nru mkvtoolnix-4.0.0/debian-upstream/changelog mkvtoolnix-4.5.0+dfsg/debian-upstream/changelog --- mkvtoolnix-4.0.0/debian-upstream/changelog 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/changelog 2011-01-31 20:34:09.000000000 +0000 @@ -1,3 +1,39 @@ +mkvtoolnix (4.5.0) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Mon, 31 Jan 2011 12:32:27 +0100 + +mkvtoolnix (4.4.0) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Sun, 31 Oct 2010 13:40:15 +0100 + +mkvtoolnix (4.3.0) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Sat, 04 Sep 2010 21:37:24 +0200 + +mkvtoolnix (4.2.0) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Wed, 28 Jul 2010 14:53:48 +0200 + +mkvtoolnix (4.1.1) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Sat, 03 Jul 2010 19:27:54 +0200 + +mkvtoolnix (4.1.0) lucid; urgency=low + + * New version. + + -- Moritz Bunkus Wed, 01 Jul 2010 11:12:14 +0200 + mkvtoolnix (4.0.0) lucid; urgency=low * New version. diff -Nru mkvtoolnix-4.0.0/debian-upstream/control mkvtoolnix-4.5.0+dfsg/debian-upstream/control --- mkvtoolnix-4.0.0/debian-upstream/control 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/control 2011-01-31 20:34:09.000000000 +0000 @@ -2,7 +2,7 @@ Section: graphics Priority: optional Maintainer: Moritz Bunkus -Build-Depends: debhelper (>> 4.0.0), libebml-dev (>= 1.0.0-1), libmatroska-dev (>= 1.0.0-1), libogg-dev, libvorbis-dev, libwxgtk2.6-dev | libwxgtk2.8-dev, libexpat1-dev, zlib1g-dev, liblzo-dev | liblzo2-dev, libbz2-dev, libflac-dev, libmagic-dev, libboost-dev (>= 1.34), libboost-regex-dev, libboost-filesystem-dev, libboost-filesystem-dev (< 1.35) | libboost-system-dev +Build-Depends: debhelper (>> 4.0.0), libebml-dev (>= 1.2.0-1), libmatroska-dev (>= 1.1.0-1), libogg-dev, libvorbis-dev, libwxgtk2.6-dev | libwxgtk2.8-dev, libexpat1-dev, zlib1g-dev, liblzo-dev | liblzo2-dev, libbz2-dev, libflac-dev, libmagic-dev, libboost-dev (>= 1.34), libboost-regex-dev, libboost-filesystem-dev, libboost-filesystem-dev (<< 1.35) | libboost-system-dev, ruby, libcurl4-gnutls-dev | libcurl4-openssl-dev Standards-Version: 3.7.2 Package: mkvtoolnix diff -Nru mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix-gui.desktop mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix-gui.desktop --- mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix-gui.desktop 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix-gui.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=MKV files creator -Name[fr]=Créateur de fichiers MKV -Exec=mmg -Terminal=false -Type=Application -Categories=GNOME;Application;AudioVideo; -Icon=matroskalogo.xpm diff -Nru mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix-gui.install mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix-gui.install --- mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix-gui.install 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix-gui.install 2011-01-31 20:34:09.000000000 +0000 @@ -1,9 +1,11 @@ -src/mmg/mmg-gui /usr/bin -src/mkvinfo-gui /usr/bin -debian/mkvtoolnix-gui.desktop /usr/share/applications -src/mmg/matroskalogo.xpm /usr/share/pixmaps -doc/guide/en/*.html doc/guide/en/*.hh? /usr/share/mkvtoolnix/guide/en -doc/guide/en/images/* /usr/share/mkvtoolnix/guide/en/images -doc/guide/zh_CN/*.html doc/guide/zh_CN/*.hh? /usr/share/mkvtoolnix/guide/zh_CN -doc/guide/zh_CN/images/* /usr/share/mkvtoolnix/guide/zh_CN/images +src/mmg/mmg-gui /usr/bin +src/mkvinfo-gui /usr/bin +share/desktop/*.desktop /usr/share/applications +share/mime/*.xml /usr/share/mime/packages +share/icons/32x32/* /usr/share/icons/hicolor/32x32/apps +share/icons/64x64/* /usr/share/icons/hicolor/64x64/apps +doc/guide/en/*.html doc/guide/en/*.hh? /usr/share/doc/mkvtoolnix/guide/en +doc/guide/en/images/* /usr/share/doc/mkvtoolnix/guide/en/images +doc/guide/zh_CN/*.html doc/guide/zh_CN/*.hh? /usr/share/doc/mkvtoolnix/guide/zh_CN +doc/guide/zh_CN/images/* /usr/share/doc/mkvtoolnix/guide/zh_CN/images diff -Nru mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix.install mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix.install --- mkvtoolnix-4.0.0/debian-upstream/mkvtoolnix.install 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/mkvtoolnix.install 2011-01-31 20:34:09.000000000 +0000 @@ -3,6 +3,8 @@ debian/tmp/bin/mkvextract /usr/bin debian/tmp/bin/mkvpropedit /usr/bin debian/tmp/share/locale/de/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/de/LC_MESSAGES +debian/tmp/share/locale/es/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/es/LC_MESSAGES +debian/tmp/share/locale/fr/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/fr/LC_MESSAGES debian/tmp/share/locale/ja/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/ja/LC_MESSAGES debian/tmp/share/locale/nl/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/nl/LC_MESSAGES debian/tmp/share/locale/ru/LC_MESSAGES/mkvtoolnix.mo /usr/share/locale/ru/LC_MESSAGES diff -Nru mkvtoolnix-4.0.0/debian-upstream/rules mkvtoolnix-4.5.0+dfsg/debian-upstream/rules --- mkvtoolnix-4.0.0/debian-upstream/rules 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/debian-upstream/rules 2011-01-31 20:34:09.000000000 +0000 @@ -17,6 +17,8 @@ CONFIG_FLAGS = --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info +RAKE=./drake + ####################################################################### # BUILD : Two versions: without and with GUI. # This impacts mmg which only exists in -GUI @@ -28,14 +30,14 @@ dh_testdir CFLAGS="$(CFLAGS)" ./configure $(CONFIG_FLAGS) --enable-gui - $(MAKE) + $(RAKE) apps:mkvinfo apps:mmg mv src/mkvinfo src/mkvinfo-gui mv src/mmg/mmg src/mmg/mmg-gui - $(MAKE) distclean + $(RAKE) clean:dist CFLAGS="$(CFLAGS)" ./configure $(CONFIG_FLAGS) --disable-gui - $(MAKE) + $(RAKE) touch build-stamp @@ -49,8 +51,8 @@ rm -f src/mkvinfo-gui rm -f src/mmg/mmg-gui - -$(MAKE) clean - rm -f Makefile config.h + -$(RAKE) clean + rm -f build-config config.h ifneq "$(wildcard /usr/share/misc/config.sub)" "" cp -f /usr/share/misc/config.sub config.sub endif @@ -67,7 +69,7 @@ dh_testroot dh_clean -k - $(MAKE) install prefix=$(CURDIR)/debian/tmp + $(RAKE) install prefix=$(CURDIR)/debian/tmp binary-indep: build install @@ -88,7 +90,6 @@ dh_installman --language=ja -pmkvtoolnix-gui doc/man/ja/mmg.1 dh_installman --language=zh_CN doc/man/zh_CN/mkvextract.1 doc/man/zh_CN/mkvinfo.1 doc/man/zh_CN/mkvmerge.1 doc/man/zh_CN/mkvpropedit.1 dh_installman --language=zh_CN -pmkvtoolnix-gui doc/man/zh_CN/mmg.1 - dh_desktop -pmkvtoolnix-gui dh_link -pmkvtoolnix usr/share/man/man1/mkvinfo.1.gz usr/share/man/man1/mkvinfo-text.1.gz dh_link -pmkvtoolnix-gui usr/share/man/man1/mkvinfo.1.gz usr/share/man/man1/mkvinfo-gui.1.gz diff -Nru mkvtoolnix-4.0.0/doc/guide/en/Makefile.in mkvtoolnix-4.5.0+dfsg/doc/guide/en/Makefile.in --- mkvtoolnix-4.0.0/doc/guide/en/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/guide/en/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @make -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/doc/guide/en/mkvmerge-gui.html mkvtoolnix-4.5.0+dfsg/doc/guide/en/mkvmerge-gui.html --- mkvtoolnix-4.0.0/doc/guide/en/mkvmerge-gui.html 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/guide/en/mkvmerge-gui.html 2011-01-31 20:34:09.000000000 +0000 @@ -155,7 +155,7 @@ Opening an existing file
  • - Opening an existing file + Editing header fields
  • Validation @@ -218,7 +218,7 @@

    This guide only focuses on the GUI part of these tools. All command line options are explained in detail in - mkvmerge's man page/HTML page.

    + mkvmerge's man page/HTML page.


    @@ -391,8 +391,7 @@ for AVI files. They contain links to the key frames. Usually this option should be left on the value 'default'. mkvmerge will automatically chose the best method for any given track type. A full explanation of - tracks can be found in mkvmerge's - documentation.
  • + tracks can be found in mkvmerge's documentation.
  • Make default track: Matroska knows a flag which tells the player that a specific track should be preferred upon playback if the user @@ -410,7 +409,7 @@ specific track. The tags option on the global tab is probably not what you need.
  • -
  • Tags: Normally mkvmerge will derive the +
  • Timecodes: Normally mkvmerge will derive the timecodes for each frame from the source file, but it can also read and use timecodes from an external text file whose name you can specify here. This feature is a very advanced feature. Almost @@ -718,8 +717,7 @@ assigned to any track automatically. In 99% of all cases this is NOT the option you want to use!

    -

    The full explanation can be found in - mkvmerge's documentation.

    +

    The full explanation can be found in mkvmerge's documentation.

    3.6. Starting the merge process

    @@ -1070,7 +1068,7 @@ due to Matroska's flexible file structure.

    -

    5.3. Editing header fields

    +

    5.3. Editing header fields

    After opening the file the left pane will show one element for the diff -Nru mkvtoolnix-4.0.0/doc/guide/Makefile.in mkvtoolnix-4.5.0+dfsg/doc/guide/Makefile.in --- mkvtoolnix-4.0.0/doc/guide/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/guide/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @make -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/doc/guide/Rakefile mkvtoolnix-4.5.0+dfsg/doc/guide/Rakefile --- mkvtoolnix-4.0.0/doc/guide/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/guide/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/doc/guide/zh_CN/Makefile.in mkvtoolnix-4.5.0+dfsg/doc/guide/zh_CN/Makefile.in --- mkvtoolnix-4.0.0/doc/guide/zh_CN/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/guide/zh_CN/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @make -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/doc/Makefile.in mkvtoolnix-4.5.0+dfsg/doc/Makefile.in --- mkvtoolnix-4.0.0/doc/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @make -C .. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/doc/man/ja/mkvextract.1 mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvextract.1 --- mkvtoolnix-4.0.0/doc/man/ja/mkvextract.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvextract.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvextract .\" Author: Bunkus Moritz[FAMILY Given] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Japanese .\" -.TH "MKVEXTRACT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "" +.TH "MKVEXTRACT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -84,10 +84,26 @@ バージョン情報を出力して終了します。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 + +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xmlをダウンロードすることで、新しいリリースがないかオンラインでチェックします。key=valueという書式で、4行が出力されます:どこから情報を取得したか (key +version_check_url)、現在実行中のバージョン (key +running_version)、最新のリリースのバージョン (key +available_version) 及びそのダウンロードURL (key +download_url)。 +.sp +その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。 +.sp +このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。 +.RE +.PP \fB@\fRoptions\-file .RS 4 -\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。メタキャラクタのエスケープは必要ありません。 +\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。 +.sp +エスケープすることができる文字もあります。例えば、コメントではない行を\*(Aq#\*(Aqで始める必要がある場合です。そのルールは、エスケープ文字についてのセクションで説明されています。 .sp \*(Aq\fBmkvextract tracks source\&.mkv \-\-raw 1:destination\&.raw\fR\*(Aqというコマンドラインと同じことは、次のようなオプションファイルによって指定できます。 .sp @@ -216,8 +232,28 @@ \fBtimecodes_v2\fR \fIsource\-filename\fR [\fIoptions\fR] +\fITID1:dest\-filename1\fR +[\fITID2:dest\-filename2\fR \&.\&.\&.] .PP 抽出されたタイムコードは、出力がリダイレクトされていなればコンソールに出力されます。(詳細については、出力リダイレクトについてのセクションを参照ください。) +.PP +\fITID:outname\fR +.RS 4 +IDが\fITID\fRであるトラックがソースファイルに存在すれば、タイムコードを\fIoutname\fRに抽出します。このオプションは複数回指定できます。トラックIDは、\fBmkvmerge\fR(1)に\fB\-\-identify\fRを指定して実行した際の出力に表示されるものと同じです。 +.sp +例: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract timecodes_v2 input\&.mkv 1:tc\-track1\&.txt 2:tc\-track2\&.txt + +.fi +.if n \{\ +.RE +.\} +.RE .SH "出力リダイレクト" .PP いくつかのモードでは、\fBmkvextract\fR(1)は抽出されたデータをコンソールに出力します。一般的に、このデータをファイルに書き出すには二つの方法があります。一つはシェルによって提供され、もう一つは\fBmkvextract\fR(1)自体によって提供されます。 @@ -397,6 +433,11 @@ \fB2\fR \-\- この返り値は、エラーが発生し、エラーメッセージを出力した後に\fBmkvextract\fR(1)が処理を中断したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。 .RE +.SH "テキスト中の特殊文字をエスケープする" +.PP +特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(日本語フォントでは\e記号)の後ろに違う文字が1つついたものと入れ替えます。 +.PP +ルール:\*(Aq \*(Aqは\*(Aq\es\*(Aqに、\*(Aq"\*(Aqは\*(Aq\e2\*(Aqに、\*(Aq:\*(Aqは\*(Aq\ec\*(Aqに、\*(Aq#\*(Aqは\*(Aq\eh\*(Aqに、そして\*(Aq\e\*(Aqそれ自体は\*(Aq\e\e\*(Aqになります。 .SH "関連項目" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/ja/mkvinfo.1 mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvinfo.1 --- mkvtoolnix-4.0.0/doc/man/ja/mkvinfo.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvinfo.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvinfo .\" Author: Bunkus Moritz[FAMILY Given] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Japanese .\" -.TH "MKVINFO" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "" +.TH "MKVINFO" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -53,6 +53,11 @@ 全てのエレメントについて表示するのではなく、\fBmkvinfo\fR(1)の見つけたものの簡潔なサマリを表示します。 .RE .PP +\fB\-t\fR, \fB\-\-track\-info\fR +.RS 4 +各トラックの統計情報を冗長モードで表示します。また、冗長レベルが0だった場合は1に設定します。 +.RE +.PP \fB\-x\fR, \fB\-\-hexdump\fR .RS 4 各フレームの最初の16バイトを16進数のダンプとして表示します。 @@ -103,10 +108,26 @@ バージョン情報を出力して終了します。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 + +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xmlをダウンロードすることで、新しいリリースがないかオンラインでチェックします。key=valueという書式で、4行が出力されます:どこから情報を取得したか (key +version_check_url)、現在実行中のバージョン (key +running_version)、最新のリリースのバージョン (key +available_version) 及びそのダウンロードURL (key +download_url)。 +.sp +その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。 +.sp +このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。 +.RE +.PP \fB@\fRoptions\-file .RS 4 -\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。メタキャラクタのエスケープは必要ありません。 +\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。 +.sp +エスケープすることのできる文字もあります。例えば、コメントではない行を\*(Aq#\*(Aqで始める必要のある場合です。そのルールは、エスケープ文字についてのセクションで説明されています。 .sp \*(Aq\fBmkvinfo \-v \-v input\&.mkv \-\-redirect\-output info\&.txt\fRというコマンドラインと同じことは、次のようなオプションファイルで指定できます。 .sp @@ -181,6 +202,11 @@ .\} この返り値は、エラーが発生し、エラーメッセージを表示した直後に\fBmkvinfo\fR(1)が終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。 .RE +.SH "テキスト中の特殊文字をエスケープする" +.PP +特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(日本語フォントでは\e記号)の後ろに違う文字が1つついたものと入れ替えます。 +.PP +ルール:\*(Aq \*(Aqは\*(Aq\es\*(Aqに、\*(Aq"\*(Aqは\*(Aq\e2\*(Aqに、\*(Aq:\*(Aqは\*(Aq\ec\*(Aqに、\*(Aq#\*(Aqは\*(Aq\eh\*(Aqに、そして\*(Aq\e\*(Aqそれ自体は\*(Aq\e\e\*(Aqになります。 .SH "関連項目" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/ja/mkvmerge.1 mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvmerge.1 --- mkvtoolnix-4.0.0/doc/man/ja/mkvmerge.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvmerge.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvmerge .\" Author: Bunkus Moritz[FAMILY Given] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: -.\" Source: MKVToolNix 4.0.0 +.\" Source: MKVToolNix 4.5.0 .\" Language: Japanese .\" -.TH "MKVMERGE" "1" "2010\-06\-05" "MKVToolNix 4\&.0\&.0" "" +.TH "MKVMERGE" "1" "2011\-01\-31" "MKVToolNix 4\&.5\&.0" "" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -35,6 +35,24 @@ .SH "説明" .PP このプログラムはいくつかのメディアファイルを入力とし、それらに格納されたストリームのうち全て、もしくは選択されたものをMatroska(TM)ファイルに書き込みます。\m[blue]\fBMatroska(TM)\fR\m[]\&\s-2\u[1]\d\s+2のウェブサイトも参照してください。 +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB重要項目\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE .PP グローバルオプション: .PP @@ -184,7 +202,7 @@ .sp 数字\fId\fRに\*(Aqms\*(Aqが後置されていた場合、\fBmkvmerge\fR(1)は各データクラスタ毎に最大でも\fId\fRミリ秒分のデータしか格納しません。\fId\fRの最小値は\*(Aq100ms\*(Aq、最大値は\*(Aq32000ms\*(Aqです。 .sp -デフォルトは、データクラスタ毎に65535データブロック以下、2000ms以下のデータを書き込みます。 +デフォルトは、データクラスタ毎に65535データブロック以下、5000ms以下のデータを書き込みます。 .sp プログラムがあるフレームを見つけようとするときは、クラスタに直接シークして、その後クラスタ全体を読み込みます。よって、より大きなクラスタを作ると、シークが不正確かつ遅くなるかもしれません。 .RE @@ -334,7 +352,7 @@ .PP \fB+\fR .RS 4 -\*(Aq+\*(Aq一文字を指定すると、次に指定されたファイルは追加ではなく結合されます。\*(Aq+\*(Aqは次のファイル名の直前に置くこともできます。よって、次の二つのコマンドは等価です。 +\*(Aq+\*(Aq一文字を指定すると、次に指定されたファイルは追加ではなく結合されます。\*(Aq+\*(Aqは次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。 .sp .if n \{\ .RS 4 @@ -349,6 +367,25 @@ .\} .RE .PP +\fB=\fR +.RS 4 +通常mkvmergeは、入力ファイルと同じディレクトリにあり、同じ基底名を持ち、通し番号だけが異なるファイル(例:\*(AqVTS_01_1\&.VOB\*(Aq, \*(AqVTS_01_2\&.VOB\*(Aq, \*(AqVTS_01_3\&.VOB\*(Aq etc)を検索します。この\*(Aq=\*(Aq一文字のオプションを使うと、mkvmergeはそういった追加ファイルを検索しません。 +.sp +\*(Aq=\*(Aqは次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。 +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o full\&.mkv file1\&.mkv = file2\&.mkv +$ mkvmerge \-o full\&.mkv file1\&.mkv =file2\&.mkv + +.fi +.if n \{\ +.RE +.\} +.RE +.PP 添付ファイルのサポート(グローバルオプションの続き): .PP \fB\-\-attachment\-description\fR \fIdescription\fR @@ -369,7 +406,7 @@ \fB\-\-attach\-file\fR \fIfile\-name\fR, \fB\-\-attach\-file\-once\fR \fIfile\-name\fR .RS 4 -Matroska(TM)ファイルの内部に添付ファイルを作成します。これらのオプションを使用するには、MIMEタイプをこれらのオプションより前に指定しなければなりません。二つのオプションの違いは、出力ファイルを分割する際に、\fB\-\-attach\-file\fRでは全ての出力ファイルに添付されますが、\fB\-\-attach\-file\-once\fRでは最初に作成されたファイルにしか添付されない点です。分割が使用されない場合、二つは等価です。 +Matroska(TM)ファイルの内部に添付ファイルを作成します。これらのオプションを使用するには、MIMEタイプをこれらのオプションより前に指定しなければなりません。二つのオプションの違いは、出力ファイルを分割する際に、\fB\-\-attach\-file\fRでは全ての出力ファイルに添付されますが、\fB\-\-attach\-file\-once\fRでは最初に作成されたファイルにしか添付されない点です。分割が使用されない場合、2つは等価です。 .sp \fBmkvextract\fR(1)でMatroska(TM)ファイルから添付ファイルを抽出することができます。 @@ -554,6 +591,17 @@ NALUサイズ長を\fIn\fRバイトに強制設定します。このパラメータはAVC/h\&.264エレメンタリストリームパケタイザが使用される場合にのみ使用されます。何も指定しなかった時のデフォルト値は4バイトですが、65535バイト以上のフレームやスライスが含まれていないファイルも存在します。そのようなファイルでは、このパラメータを使用してNALUサイズ長を2に減らすことができます。 .RE .PP +\fB\-\-compression\fR \fITID:n\fR +.RS 4 +トラックの圧縮法を選択します。プレイヤーが選択した圧縮法をサポートしている必要があることに注意してください。指定できる圧縮法は、\*(Aqnone\*(Aq、\*(Aqzlib\*(Aq、\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq、\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq及び\*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aqです。\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aqと\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aqは\fBmkvmerge\fR(1)がそれぞれ、liblzo(TM)及びbzlib(TM)圧縮ライブラリのサポート付きでコンパイルされたときのみ使用できます。 +.sp +\*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq圧縮法は、 +MPEG4 +part2 ビデオトラックにのみ適用できる、\*(Aqheader removal\*(Aqと呼ばれる特殊な圧縮法です。 +.sp +いくつかの字幕トラックにおけるデフォルトは\*(Aqzlib\*(Aq圧縮法です。この圧縮法はほとんど全ての再生アプリケーションでサポートされています。\*(Aqnone\*(Aq以外の他の圧縮法については、サポートされているとは限りません。 +.RE +.PP ビデオトラックにのみ適用されるオプション: .PP \fB\-f\fR, \fB\-\-fourcc\fR \fITID:FourCC\fR @@ -592,16 +640,9 @@ .PP \fB\-\-stereo\-mode\fR \fITID:n|keyword\fR .RS 4 -トラックIDが\fITID\fRのビデオトラックのステレオモードを設定します。モードは\fB0\fRから\fB3\fRまでの数字\fIn\fR、又は\*(Aqnone\*(Aq(\fIn\fR=\fB0\fRと同等)、\*(Aqright\*(Aq(\fIn\fR=\fB1\fRと同等)、\*(Aqleft\*(Aq(\fIn\fR=\fB2\fRと同等)、及び\*(Aqboth\*(Aq(\fIn\fR=\fB3\fRと同等)のうちのどれかを\fIkeyword\fRとして指定しなければなりません。 -.RE -.PP -\fB\-\-compression\fR \fITID:method\fR -.RS 4 -VobSubトラックの圧縮法を選択します。プレイヤーが選択した圧縮法をサポートしている必要があることに注意してください。指定できる圧縮法は、\*(Aqnone\*(Aq、\*(Aqzlib\*(Aq、\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq、\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq及び\*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aqです。\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aqと\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aqは\fBmkvmerge\fR(1)がそれぞれ、liblzo(TM)及びbzlib(TM)圧縮ライブラリのサポート付きでコンパイルされたときのみ使用できます。 +トラックIDが\fITID\fRのビデオトラックのステレオモードを設定します。ステレオモードは、\fB0\fR~\fB11\fRの数字\fIn\fR、または以下のキーワードのうちの1つを指定することができます: .sp -\*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq圧縮法は、\*(Aqheader removal\*(Aqと呼ばれる特殊な圧縮法で、MPEG4 part2 ビデオトラックにのみ適用できます。それ以外の圧縮法は一般的な圧縮法で、どんな種類のトラックに適用できます。 -.sp -デフォルトは\*(Aqzlib\*(Aq圧縮法です。この圧縮法はほとんど全ての再生アプリケーションでサポートされています。\*(Aqnone\*(Aq以外の他の圧縮法については、サポートされているとは限りません。 +\*(Aqmono\*(Aq, \*(Aqside_by_side_left_first\*(Aq, \*(Aqtop_bottom_right_first\*(Aq, \*(Aqtop_bottom_left_first\*(Aq, \*(Aqcheckboard_right_first\*(Aq, \*(Aqcheckboard_left_first\*(Aq, \*(Aqrow_interleaved_right_first\*(Aq, \*(Aqrow_interleaved_left_first\*(Aq, \*(Aqcolumn_interleaved_right_first\*(Aq, \*(Aqcolumn_interleaved_left_first\*(Aq, \*(Aqanaglyph\*(Aq, \*(Aqside_by_side_right_first\*(Aq\&. .RE .PP テキスト字幕トラックにのみ適用されるオプション: @@ -621,6 +662,16 @@ \fBmkvmerge\fR(1)に、単一のファイルを探査してその種類と、ファイルに含まれるトラック及びそのトラックIDを表示させます。このオプションを指定した場合、他に指定できるのはファイル名のみです。 .RE .PP +\fB\-I\fR, \fB\-\-identify\-verbose\fR \fIfile\-name\fR +.RS 4 + +\fBmkvmerge\fR(1)に、単一のファイルを探査してその種類と、ファイルに含まれるトラック及びそのトラックIDを表示させます。このオプションを指定した場合、他に指定できるのはファイル名のみです。 +.sp +このオプションを指定すると、\fBmkvmerge\fR(1)はコンテナと中身の各トラックについての追加の情報を出力します。追加情報は、四角の括弧で囲まれます。それはスペースで区切られたキーと値のペアで構成され、キーと値はコロンで区切られます。 +.sp +各値は、テキスト中の特殊文字のエスケープについてのセクションで説明されているルールに従ってエスケープされます。 +.RE +.PP \fB\-l\fR, \fB\-\-list\-types\fR .RS 4 サポートされている入力ファイルの種類を列挙します。 @@ -661,7 +712,9 @@ \fB@\fRoptions\-file .RS 4 -\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。メタキャラクタのエスケープは必要ありません。 +\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。 +.sp +エスケープすることのできる文字もあります。例えば、コメントではない行を\*(Aq#\*(Aqで始める必要のある場合です。そのルールは、エスケープ文字についてのセクションで説明されています。 .sp \*(Aq\fBmkvmerge \-o "my file\&.mkv" \-A "a movie\&.avi" sound\&.ogg\fR\*(Aqというコマンドラインと同じことは、次のようなオプションファイルによって指定できます。 .sp @@ -733,9 +786,90 @@ .RS 4 バージョン情報を出力して終了します。 .RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 + +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xmlをダウンロードすることで、新しいリリースがないかオンラインでチェックします。key=valueという書式で、4行が出力されます:どこから情報を取得したか (key +version_check_url)、現在実行中のバージョン (key +running_version)、最新のリリースのバージョン (key +available_version) 及びそのダウンロードURL (key +download_url)。 +.sp +その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。 +.sp +このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。 +.RE .SH "使用法" .PP 各ファイルについて、ユーザは\fBmkvmerge\fR(1)が取り出すべきトラックを選択できます。取り出されたトラックは、すべて\fB\-o\fRで指定されたファイルに書き出されます。既知の(サポート済の)入力ファイルフォーマットは\fB\-l\fRオプションで取得できます。 +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB重要項目\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE +.SH "オプションの順番" +.PP +いくつかのオプションでは、入力する順番が重要になります。オプションは2つに分類されます: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +プログラム全体に影響し、どの入力ファイルにも関連付けられていないオプション。例えば、\fB\-\-command\-line\-charset\fR、\fB\-\-output\fR、\fB\-\-title\fRなどです。これらのオプションは、コマンドラインのどこに書いても構いません。 +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +1つの入力ファイルのみ、もしくは入力ファイル中の1つのトラックのみに影響するオプション。これらのオプションは全て、コマンドラインでその後ろに続く入力ファイルに適用されます。同じ入力ファイル(または同じ入力ファイル中のトラック)に適用される全てのオプションは、その入力ファイルのファイル名の前に書きさえすれば、どんな順番でも構いません。1つの入力ファイルに適用されるオプションの例を挙げると、\fB\-\-no\-chapters\fRや\fB\-\-chapter\-charset\fRなどがあります。1つのトラックのみに適用されるオプションには、例えば\fB\-\-default\-duration\fRや\fB\-\-language\fRがあります。 +.RE +.PP +オプションは左から右へと処理されます。もし同じスコープ内に1つのオプションが2回以上出てきた場合には、最後のものが使われます。よって、次の例ではタイトルは"Something else"に設定されます。 +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-title \*(AqThis and that\*(Aq input\&.avi \-\-title \*(AqSomething else\*(Aq +.fi +.if n \{\ +.RE +.\} +.PP +次の例は、違うスコープ内で使われているので\fB\-\-language\fRオプションを2回使ってもよいということを示しています。それらは同じトラックIDに適用されますが、違う入力ファイルに適用されるので違うスコープを持っているのです。 +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-language 0:fre fran\(,cais\&.ogg \-\-language 0:deu deutsch\&.ogg +.fi +.if n \{\ +.RE +.\} .SH "例" .PP あなたは、 MyMovie\&.avi というファイルを持っていて、またオーディオトラックが別の、例えば \*(AqMyMovie\&.wav\*(Aqというファイルに入っているとします。あなたは、まず音声をOggVorbis(TM)でエンコードしたいと思います。 @@ -984,6 +1118,18 @@ .\} .PP もし、指定したはずの言語やデフォルトフラグが\fBmkvinfo\fR(1)の出力に見当たらない場合は、デフォルト値のセクションを参照してください。 +.PP +入力ファイルの圧縮をオフにします。 +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o no\-compression\&.mkv \-\-compression \-1:none MyMovie\&.avi \-\-compression \-1:none mymovie\&.srt +.fi +.if n \{\ +.RE +.\} .SH "トラックID" .PP @@ -1003,6 +1149,10 @@ .RE .\} .PP +出力されるMKVファイルの中に配置されるトラックに割り当てられるトラックIDと、入力ファイルのトラックIDを混同しないでください。これらの値が必要なオプションに使われるのは、入力ファイルのトラックIDだけです。 +.PP +また、各入力ファイルは、それ固有のトラックIDの組を持っていることにも注意してください。従って、\*(Aqmkvmerge \-\-identify\*(Aqで報告される\*(Aqfile1\&.ext\*(AqのトラックIDは、他にいくつ入力ファイルがあっても、また、\*(Aqfile1\&.ext\*(Aqがどの位置で使われようとも、変わることはありません。 +.PP トラックIDは次のように割り当てられます: .sp .RS 4 @@ -1014,8 +1164,19 @@ .IP \(bu 2.3 .\} -AVI -ファイル: ビデオトラックのIDは0になります。オーディオトラックのIDは1から昇順に割り当てられます。 +AVIファイル: ビデオトラックのIDは0になります。オーディオトラックのIDは1から昇順に割り当てられます。 +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +MP4ファイル: x264からの出力なので、ビデオトラックのIDは1です。 .RE .sp .RS 4 @@ -1086,7 +1247,7 @@ BOMで始まるテキストファイルは、既にUTFエンコーディングの一種でエンコードされています。\fBmkvmerge\fR(1)はUTF\-8、UTF\-16リトルエンディアン及びビッグエンディアン、UTF\-32リトルエンディアン及びビッグエンディアンの五つのモードをサポートします。BOMで始まるテキストファイルは自動的にUTF\-8に変換されます。この場合、テキストファイルの文字コードを指定するパラメータ(例: \fB\-\-sub\-charset\fR)は全て黙殺されます。 .PP -UNIX系システム上では、\fBmkvmerge\fR(1)は\fBsetlocale\fR(3)システムコールを使うので、\fILANG\fR、\fILC_ALL\fR及び\fILC_CYPE\fR環境変数を使用する。大抵は、UTF\-8かISO\-8859\-*ファミリのどれかが全てのテキストファイルとコマンドライン文字列の処理、及びコンソールへの出力の文字コードとして使用される。 +UNIX系システム上では、\fBmkvmerge\fR(1)は\fBsetlocale\fR(3)システムコールを使うので、\fILANG\fR、\fILC_ALL\fR及び\fILC_CYPE\fR環境変数を使用します。大抵は、UTF\-8かISO\-8859\-*ファミリのどれかが全てのテキストファイルとコマンドライン文字列の処理、及びコンソールへの出力の文字コードとして使用されます。 .PP Windowsでは、\fBcmd\&.exe\fRWindowsシェルプログラムの実装方式のために、\fBmkvmerge\fR(1)は二つの異なる文字コードを使用します。一つ目は\fBGetCP()\fRシステムコールによって決定される文字コードです。この文字コードはテキストファイル変換にデフォルトで使用され、MKVToolNixパッケージに含まれるGUIプログラムで表示される全ての文字列に適用されます。\fBcmd\&.exe\fRはもう一つの、\fBGetACP()\fRシステムコールにより決定される文字コードを使用します。これはコマンドライン文字列及びコンソールへの出力のデフォルト文字コードです。 .PP @@ -1139,6 +1300,11 @@ \fB\-\-output\-charset\fRはコンソールに出力される文字列の文字コード及び、\fB\-\-redirect\-output\fRオプションによりファイルに出力がリダイレクトされている場合、そのファイルの文字列の文字コードを指定します。 .RE +.SH "テキスト中の特殊文字をエスケープする" +.PP +特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(日本語フォントでは\e記号)の後ろに違う文字が1つついたものと入れ替えます。 +.PP +ルール:\*(Aq \*(Aqは\*(Aq\es\*(Aqに、\*(Aq"\*(Aqは\*(Aq\e2\*(Aqに、\*(Aq:\*(Aqは\*(Aq\ec\*(Aqに、\*(Aq#\*(Aqは\*(Aq\eh\*(Aqに、そして\*(Aq\e\*(Aqそれ自体は\*(Aq\e\e\*(Aqになります。 .SH "字幕" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/ja/mkvpropedit.1 mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvpropedit.1 --- mkvtoolnix-4.0.0/doc/man/ja/mkvpropedit.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/ja/mkvpropedit.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvpropedit .\" Author: Bunkus Moritz[FAMILY Given] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Japanese .\" -.TH "MKVPROPEDIT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "" +.TH "MKVPROPEDIT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -54,6 +54,8 @@ .RS 4 このオプション以降のadd、set、deleteアクションが適用されるMatroska(TM)ファイルセクション(セグメント情報または特定のトラックのヘッダ)を指定します。このオプションは、複数のエレメントを修正するために、複数回指定することができます。 .sp +デフォルトでは、\fBmkvpropedit\fR(1)はセグメント情報のセクションを編集します。 +.sp 文法の完全な説明は、エディットセレクタのセクションを参照してください。 .RE .PP @@ -110,10 +112,26 @@ バージョン情報を出力して終了します。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 + +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xmlをダウンロードすることで、新しいリリースがないかオンラインでチェックします。key=valueという書式で、4行が出力されます:どこから情報を取得したか (key +version_check_url)、現在実行中のバージョン (key +running_version)、最新のリリースのバージョン (key +available_version) 及びそのダウンロードURL (key +download_url)。 +.sp +その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。 +.sp +このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。 +.RE +.PP \fB@\fRoptions\-file .RS 4 -\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。メタキャラクタのエスケープは必要ありません。 +\fIoptions\-file\fRで指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク(\*(Aq#\*(Aq)である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。 +.sp +エスケープすることのできる文字もあります。例えば、コメントではない行を\*(Aq#\*(Aqで始める必要のある場合です。そのルールは、エスケープ文字についてのセクションで説明されています。 .sp \*(Aq\fBmkvpropedit source\&.mkv \-\-edit trach:a2 \-\-set name=Comments\fR\*(Aqというコマンドラインと同じことは、次のようなオプションファイルによって指定できます。 .sp @@ -139,6 +157,8 @@ .PP \fB\-\-edit\fRオプションは、以降のadd、set及びdeleteアクションが適用されるMatroska(TM)ファイルセクション(セグメント情報または特定のトラックヘッダ)を設定します。これは次の\fB\-\-edit\fRオプションが見付かるまでずっと有効です。このオプションへの引数はエディットセレクタと呼ばれます。 +.PP +デフォルトでは、\fBmkvpropedit\fR(1)はセグメント情報のセクションを編集します。 .SS "セグメント情報" .PP セグメント情報は次の3つの単語によって選択されます。\*(Aqinfo\*(Aq、\*(Aqsegment_info\*(Aqまたは\*(Aqsegmentinfo\*(Aqです。これはセグメントタイトルやセグメントUIDなどのプロパティを格納しています。 @@ -189,7 +209,7 @@ .RS 4 .\} .nf -$ mkvpropedit movie\&.mkv \-\-edit tracks:s1 \-\-set flag\-default=0 \-\-edit tracks:s2 \-\-set flag\-default=1 +$ mkvpropedit movie\&.mkv \-\-edit track:s1 \-\-set flag\-default=0 \-\-edit track:s2 \-\-set flag\-default=1 .fi .if n \{\ @@ -236,6 +256,11 @@ .\} この返り値は、エラーが発生し、エラーメッセージを表示した直後に\fBmkvpropedit\fR(1)が終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。 .RE +.SH "テキスト中の特殊文字をエスケープする" +.PP +特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(日本語フォントでは\e記号)の後ろに違う文字が1つついたものと入れ替えます。 +.PP +ルール:\*(Aq \*(Aqは\*(Aq\es\*(Aqに、\*(Aq"\*(Aqは\*(Aq\e2\*(Aqに、\*(Aq:\*(Aqは\*(Aq\ec\*(Aqに、\*(Aq#\*(Aqは\*(Aq\eh\*(Aqに、そして\*(Aq\e\*(Aqそれ自体は\*(Aq\e\e\*(Aqになります。 .SH "関連項目" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/ja/mmg.1 mkvtoolnix-4.5.0+dfsg/doc/man/ja/mmg.1 --- mkvtoolnix-4.0.0/doc/man/ja/mmg.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/ja/mmg.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mmg .\" Author: Bunkus Moritz[FAMILY Given] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Japanese .\" -.TH "MMG" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "" +.TH "MMG" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mkvtoolnix-4.0.0/doc/man/Makefile.in mkvtoolnix-4.5.0+dfsg/doc/man/Makefile.in --- mkvtoolnix-4.0.0/doc/man/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/doc/man/mkvextract.1 mkvtoolnix-4.5.0+dfsg/doc/man/mkvextract.1 --- mkvtoolnix-4.0.0/doc/man/mkvextract.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvextract.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvextract .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: User Commands -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: English .\" -.TH "MKVEXTRACT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "User Commands" +.TH "MKVEXTRACT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -110,10 +110,29 @@ Show version information and exit\&. .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Checks online for new releases by downloading the URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Four lines will be output in +key=value +style: the URL from where the information was retrieved (key +version_check_url), the currently running version (key +running_version), the latest release\*(Aqs version (key +available_version) and the download URL (key +download_url)\&. +.sp +Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e\&.g\&. if the update information could not be retrieved)\&. +.sp +This option is only available if the program was built with support for libcurl\&. +.RE +.PP \fB@\fRoptions\-file .RS 4 Reads additional command line arguments from the file -\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. There is no meta character escaping\&. +\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. +.sp +Several chars can be escaped, e\&.g\&. if you need to start a non\-comment line with \*(Aq#\*(Aq\&. The rules are described in +the section about escaping text\&. .sp The command line \*(Aq\fBmkvextract tracks source\&.mkv \-\-raw 1:destination\&.raw\fR\*(Aq could be converted into the following option file: .sp @@ -284,10 +303,37 @@ \fBtimecodes_v2\fR \fIsource\-filename\fR [\fIoptions\fR] +\fITID1:dest\-filename1\fR +[\fITID2:dest\-filename2\fR \&.\&.\&.] .PP The extracted timecodes are written to the console unless the output is redirected (see the section about output redirection for details)\&. +.PP +\fITID:outname\fR +.RS 4 +Causes extraction of the timecodes for the track with the ID +\fITID\fR +into the file +\fIoutname\fR +if such a track exists in the source file\&. This option can be given multiple times\&. The track IDs are the same as the ones output by +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +option\&. +.sp +Example: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract timecodes_v2 input\&.mkv 1:tc\-track1\&.txt 2:tc\-track2\&.txt + +.fi +.if n \{\ +.RE +.\} +.RE .SH "OUTPUT REDIRECTION" .PP Several extraction modes cause @@ -548,6 +594,11 @@ \fBmkvextract\fR(1) aborts right after outputting the error message\&. Error messages range from wrong command line arguments over read/write errors to broken files\&. .RE +.SH "ESCAPING SPECIAL CHARS IN TEXT" +.PP +There are a few places in which special characters in text must or should be escaped\&. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character\&. +.PP +The rules are: \*(Aq \*(Aq becomes \*(Aq\es\*(Aq, \*(Aq"\*(Aq becomes \*(Aq\e2\*(Aq, \*(Aq:\*(Aq becomes \*(Aq\ec\*(Aq, \*(Aq#\*(Aq becomes \*(Aq\eh\*(Aq and \*(Aq\e\*(Aq itself becomes \*(Aq\e\e\*(Aq\&. .SH "SEE ALSO" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/mkvextract.xml mkvtoolnix-4.5.0+dfsg/doc/man/mkvextract.xml --- mkvtoolnix-4.0.0/doc/man/mkvextract.xml 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvextract.xml 2011-01-31 20:34:09.000000000 +0000 @@ -3,8 +3,8 @@ - - + + mkvmerge1"> mkvinfo1"> @@ -159,12 +159,38 @@ + + + + Checks online for new releases by downloading the URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Four lines + will be output in key=value style: the URL from where the information was retrieved (key + version_check_url), the currently running version (key running_version), the latest release's + version (key available_version) and the download URL (key download_url). + + + + Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with + 2 if an error occured (e.g. if the update information could not be retrieved). + + + + This option is only available if the program was built with support for libcurl. + + + + + options-file Reads additional command line arguments from the file options-file. Lines whose first non-whitespace character is a hash mark ('#') are treated as comments and ignored. White spaces at the start and end of a line - will be stripped. Each line must contain exactly one option. There is no meta character escaping. + will be stripped. Each line must contain exactly one option. + + + + Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text. @@ -353,13 +379,34 @@ Timecode extraction mode - Syntax: mkvextract source-filename options + Syntax: mkvextract source-filename options TID1:dest-filename1 TID2:dest-filename2 ... The extracted timecodes are written to the console unless the output is redirected (see the section about output redirection for details). + + + + TID:outname + + + Causes extraction of the timecodes for the track with the ID TID into the file outname + if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by + &mkvmerge;'s option. + + + + Example: + + + +$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt + + + + @@ -592,6 +639,18 @@ + + Escaping special chars in text + + There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character + that needs escaping is replaced with a backslash followed by another character. + + + + The rules are: ' ' becomes '\s', '"' becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' itself becomes '\\'. + + + See also diff -Nru mkvtoolnix-4.0.0/doc/man/mkvinfo.1 mkvtoolnix-4.5.0+dfsg/doc/man/mkvinfo.1 --- mkvtoolnix-4.0.0/doc/man/mkvinfo.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvinfo.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvinfo .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: User Commands -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: English .\" -.TH "MKVINFO" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "User Commands" +.TH "MKVINFO" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -59,6 +59,11 @@ finds and not each element\&. .RE .PP +\fB\-t\fR, \fB\-\-track\-info\fR +.RS 4 +Show statistics for each track in verbose mode\&. Also sets verbosity to 1 if it was at level 0 before\&. +.RE +.PP \fB\-x\fR, \fB\-\-hexdump\fR .RS 4 Show the first 16 bytes of each frame as a hex dump\&. @@ -126,10 +131,29 @@ Show version information and exit\&. .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Checks online for new releases by downloading the URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Four lines will be output in +key=value +style: the URL from where the information was retrieved (key +version_check_url), the currently running version (key +running_version), the latest release\*(Aqs version (key +available_version) and the download URL (key +download_url)\&. +.sp +Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e\&.g\&. if the update information could not be retrieved)\&. +.sp +This option is only available if the program was built with support for libcurl\&. +.RE +.PP \fB@\fRoptions\-file .RS 4 Reads additional command line arguments from the file -\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. There is no meta character escaping\&. +\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. +.sp +Several chars can be escaped, e\&.g\&. if you need to start a non\-comment line with \*(Aq#\*(Aq\&. The rules are described in +the section about escaping text\&. .sp The command line \*(Aq\fBmkvinfo \-v \-v input\&.mkv \-\-redirect\-output info\&.txt\fR\*(Aq could be converted into the following option file: .sp @@ -231,6 +255,11 @@ \fBmkvinfo\fR(1) aborts right after outputting the error message\&. Error messages range from wrong command line arguments over read/write errors to broken files\&. .RE +.SH "ESCAPING SPECIAL CHARS IN TEXT" +.PP +There are a few places in which special characters in text must or should be escaped\&. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character\&. +.PP +The rules are: \*(Aq \*(Aq becomes \*(Aq\es\*(Aq, \*(Aq"\*(Aq becomes \*(Aq\e2\*(Aq, \*(Aq:\*(Aq becomes \*(Aq\ec\*(Aq, \*(Aq#\*(Aq becomes \*(Aq\eh\*(Aq and \*(Aq\e\*(Aq itself becomes \*(Aq\e\e\*(Aq\&. .SH "SEE ALSO" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/mkvinfo.xml mkvtoolnix-4.5.0+dfsg/doc/man/mkvinfo.xml --- mkvtoolnix-4.0.0/doc/man/mkvinfo.xml 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvinfo.xml 2011-01-31 20:34:09.000000000 +0000 @@ -3,8 +3,8 @@ - - + + mkvmerge1"> mkvinfo1"> @@ -90,6 +90,15 @@ + , + + + Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before. + + + + + , @@ -189,12 +198,38 @@ + + + + Checks online for new releases by downloading the URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Four lines + will be output in key=value style: the URL from where the information was retrieved (key + version_check_url), the currently running version (key running_version), the latest release's + version (key available_version) and the download URL (key download_url). + + + + Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with + 2 if an error occured (e.g. if the update information could not be retrieved). + + + + This option is only available if the program was built with support for libcurl. + + + + + options-file Reads additional command line arguments from the file options-file. Lines whose first non-whitespace character is a hash mark ('#') are treated as comments and ignored. White spaces at the start and end of a line - will be stripped. Each line must contain exactly one option. There is no meta character escaping. + will be stripped. Each line must contain exactly one option. + + + + Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text. @@ -278,6 +313,18 @@ + + Escaping special chars in text + + There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character + that needs escaping is replaced with a backslash followed by another character. + + + + The rules are: ' ' becomes '\s', '"' becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' itself becomes '\\'. + + + See also diff -Nru mkvtoolnix-4.0.0/doc/man/mkvmerge.1 mkvtoolnix-4.5.0+dfsg/doc/man/mkvmerge.1 --- mkvtoolnix-4.0.0/doc/man/mkvmerge.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvmerge.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvmerge .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: User Commands -.\" Source: MKVToolNix 4.0.0 +.\" Source: MKVToolNix 4.5.0 .\" Language: English .\" -.TH "MKVMERGE" "1" "2010\-06\-05" "MKVToolNix 4\&.0\&.0" "User Commands" +.TH "MKVMERGE" "1" "2011\-01\-31" "MKVToolNix 4\&.5\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,6 +38,24 @@ Matroska(TM) file; see \m[blue]\fBthe Matroska(TM) website\fR\m[]\&\s-2\u[1]\d\s+2\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBImportant\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE .PP Global options: .PP @@ -254,7 +272,7 @@ .sp \fBmkvmerge\fR(1) -defaults to putting at most 65535 data blocks and 2000ms of data into a cluster\&. +defaults to putting at most 65535 data blocks and 5000ms of data into a cluster\&. .sp Programs trying to find a certain frame can only seek directly to a cluster and have to read the whole cluster afterwards\&. Therefore creating larger clusters may lead to imprecise or slow seeking\&. .RE @@ -487,6 +505,25 @@ .\} .RE .PP +\fB=\fR +.RS 4 +Normally mkvmerge looks for files in the same directory as an input file that have the same base name and only differ in their running number (e\&.g\&. \*(AqVTS_01_1\&.VOB\*(Aq, \*(AqVTS_01_2\&.VOB\*(Aq, \*(AqVTS_01_3\&.VOB\*(Aq etc)\&. This option, a single \*(Aq=\*(Aq, causes mkvmerge not to look for those additional files\&. +.sp +The \*(Aq=\*(Aq can also be put in front of the next file name\&. Therefore the following two commands are equivalent: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o full\&.mkv = file1\&.mkv +$ mkvmerge \-o full\&.mkv =file1\&.mkv + +.fi +.if n \{\ +.RE +.\} +.RE +.PP Attachment support (more global options): .PP \fB\-\-attachment\-description\fR \fIdescription\fR @@ -863,6 +900,23 @@ elementary stream packetizer is used\&. If left out it defaults to 4 bytes, but there are files that contain frames or slices that are all smaller than 65536 bytes\&. For such files you can use this parameter and decrease the size to 2\&. .RE .PP +\fB\-\-compression\fR \fITID:n\fR +.RS 4 +Selects the compression method to be used for the track\&. Note that the player also has to support this method\&. Valid values are \*(Aqnone\*(Aq, \*(Aqzlib\*(Aq, \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq, \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq and \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq\&. The values \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq and \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq are only available if +\fBmkvmerge\fR(1) +has been compiled with support for the +liblzo(TM) +and +bzlib(TM) +compression libraries, respectively\&. +.sp +The compression method \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq is a special compression method called \*(Aqheader removal\*(Aq that is only available for +MPEG4 +part 2 video tracks\&. +.sp +The default for some subtitle tracks is \*(Aqzlib\*(Aq compression\&. This compression method is also the one that most if not all playback applications support\&. Support for other compression methods other than \*(Aqnone\*(Aq is not assured\&. +.RE +.PP Options that only apply to video tracks: .PP \fB\-f\fR, \fB\-\-fourcc\fR \fITID:FourCC\fR @@ -929,27 +983,10 @@ between \fB0\fR and -\fB3\fR -or one of the keywords \*(Aqnone\*(Aq (same as -\fIn\fR=\fB0\fR), \*(Aqright\*(Aq (same as -\fIn\fR=\fB1\fR), \*(Aqleft\*(Aq (same as -\fIn\fR=\fB2\fR) or \*(Aqboth\*(Aq (same as -\fIn\fR=\fB3\fR)\&. -.RE -.PP -\fB\-\-compression\fR \fITID:method\fR -.RS 4 -Selects the compression method to be used for the VobSub track\&. Note that the player also has to support this method\&. Valid values are \*(Aqnone\*(Aq, \*(Aqzlib\*(Aq, \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq, \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq and \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq\&. The values \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq and \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq are only available if -\fBmkvmerge\fR(1) -has been compiled with support for the -liblzo(TM) -respectively -bzlib(TM) -compression libraries\&. +\fB11\fR +or one of these keywords: .sp -The compression method \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq is a special compression method called \*(Aqheader removal\*(Aq that is only available for MPEG4 part 2 video tracks\&. The other methods are general compression methods that can be used with any type of track\&. -.sp -The default is \*(Aqzlib\*(Aq compression\&. This compression method is also the one that most if not all playback applications support\&. Support for other compression methods other than \*(Aqnone\*(Aq is not assured\&. +\*(Aqmono\*(Aq, \*(Aqside_by_side_left_first\*(Aq, \*(Aqtop_bottom_right_first\*(Aq, \*(Aqtop_bottom_left_first\*(Aq, \*(Aqcheckboard_right_first\*(Aq, \*(Aqcheckboard_left_first\*(Aq, \*(Aqrow_interleaved_right_first\*(Aq, \*(Aqrow_interleaved_left_first\*(Aq, \*(Aqcolumn_interleaved_right_first\*(Aq, \*(Aqcolumn_interleaved_left_first\*(Aq, \*(Aqanaglyph\*(Aq, \*(Aqside_by_side_right_first\*(Aq\&. .RE .PP Options that only apply to text subtitle tracks: @@ -976,6 +1013,20 @@ probe the single file and report its type, the tracks contained in the file and their track IDs\&. If this option is used then the only other option allowed is the filename\&. .RE .PP +\fB\-I\fR, \fB\-\-identify\-verbose\fR \fIfile\-name\fR +.RS 4 +Will let +\fBmkvmerge\fR(1) +probe the single file and report its type, the tracks contained in the file and their track IDs\&. If this option is used then the only other option allowed is the filename\&. +.sp +This option causes +\fBmkvmerge\fR(1) +to output additional information about the container and each track within\&. The extra information is surronded by square brackets\&. It consists of space\-saparated key/value pairs where keys and values are separated by a colon\&. +.sp +Each value is escaped according to the rules described in +the section about escaping special characters in text\&. +.RE +.PP \fB\-l\fR, \fB\-\-list\-types\fR .RS 4 Lists supported input file types\&. @@ -1041,7 +1092,10 @@ \fB@\fRoptions\-file .RS 4 Reads additional command line arguments from the file -\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. There is no meta character escaping\&. +\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. +.sp +Several chars can be escaped, e\&.g\&. if you need to start a non\-comment line with \*(Aq#\*(Aq\&. The rules are described in +the section about escaping text\&. .sp The command line \*(Aq\fBmkvmerge \-o "my file\&.mkv" \-A "a movie\&.avi" sound\&.ogg\fR\*(Aq could be converted into the following option file: .sp @@ -1125,6 +1179,22 @@ .RS 4 Show version information and exit\&. .RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Checks online for new releases by downloading the URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Four lines will be output in +key=value +style: the URL from where the information was retrieved (key +version_check_url), the currently running version (key +running_version), the latest release\*(Aqs version (key +available_version) and the download URL (key +download_url)\&. +.sp +Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e\&.g\&. if the update information could not be retrieved)\&. +.sp +This option is only available if the program was built with support for libcurl\&. +.RE .SH "USAGE" .PP For each file the user can select which tracks @@ -1133,6 +1203,85 @@ \fB\-o\fR\&. A list of known (and supported) source formats can be obtained with the \fB\-l\fR option\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBImportant\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE +.SH "OPTION ORDER" +.PP +The order in which options are entered is important for some options\&. Options fall into two categories: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +Options that affect the whole program and are not tied to any input file\&. These include but are not limited to +\fB\-\-command\-line\-charset\fR, +\fB\-\-output\fR +or +\fB\-\-title\fR\&. These can appear anywhere on the command line\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +Options that affect a single input file or a single track in an input file\&. These options all apply to the following input file on the command line\&. All options applying to the same input (or to tracks from the same input file) file can be written in any order as long as they all appear before that input file\*(Aqs name\&. Examples for options applying to an input file are +\fB\-\-no\-chapters\fR +or +\fB\-\-chapter\-charset\fR\&. Examples for options applying to a single track are +\fB\-\-default\-duration\fR +or +\fB\-\-language\fR\&. +.RE +.PP +The options are processed from left to right\&. If an option appears multiple times within the same scope then the last occurence will be used\&. Therefore the title will be set to "Something else" in the following example: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-title \*(AqThis and that\*(Aq input\&.avi \-\-title \*(AqSomething else\*(Aq +.fi +.if n \{\ +.RE +.\} +.PP +The following example shows that using the +\fB\-\-language\fR +option twice is OK because they\*(Aqre used in different scopes\&. Even though they apply to the same track ID they apply to different input files and therefore have different scopes: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-language 0:fre français\&.ogg \-\-language 0:deu deutsch\&.ogg +.fi +.if n \{\ +.RE +.\} .SH "EXAMPLES" .PP Let\*(Aqs assume you have a file called MyMovie\&.avi and the audio track in a separate file, e\&.g\&. \*(AqMyMovie\&.wav\*(Aq\&. First you want to encode the audio to @@ -1411,6 +1560,18 @@ If you do not see the language or default track flags that you\*(Aqve specified in \fBmkvinfo\fR(1)\*(Aqs output then please read the section about default values\&. +.PP +Turn off the compression for an input file\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o no\-compression\&.mkv \-\-compression \-1:none MyMovie\&.avi \-\-compression \-1:none mymovie\&.srt +.fi +.if n \{\ +.RE +.\} .SH "TRACK IDS" .PP Some of the options for @@ -1435,6 +1596,10 @@ .RE .\} .PP +Do not confuse the track IDs that are assigned to the tracks that are placed in the output MKV file with the track IDs of the input files\&. Only the input file track IDs are used for options needing these values\&. +.PP +Also note that each input file has its own set of track IDs\&. Therefore the track IDs for file \*(Aqfile1\&.ext\*(Aq as reported by \*(Aqmkvmerge \-\-identify\*(Aq do not change no matter how many other input files are there or in which position \*(Aqfile1\&.ext\*(Aq is used\&. +.PP Track IDs are assigned like this: .sp .RS 4 @@ -1459,6 +1624,19 @@ .IP \(bu 2.3 .\} +MP4 +files: As output from x264, the video track has the ID 1\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + AAC, AC3, MP3, @@ -1627,6 +1805,11 @@ \fB\-\-redirect\-output\fR option\&. .RE +.SH "ESCAPING SPECIAL CHARS IN TEXT" +.PP +There are a few places in which special characters in text must or should be escaped\&. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character\&. +.PP +The rules are: \*(Aq \*(Aq becomes \*(Aq\es\*(Aq, \*(Aq"\*(Aq becomes \*(Aq\e2\*(Aq, \*(Aq:\*(Aq becomes \*(Aq\ec\*(Aq, \*(Aq#\*(Aq becomes \*(Aq\eh\*(Aq and \*(Aq\e\*(Aq itself becomes \*(Aq\e\e\*(Aq\&. .SH "SUBTITLES" .PP There are several text subtitle formats that can be embedded into diff -Nru mkvtoolnix-4.0.0/doc/man/mkvmerge.xml mkvtoolnix-4.5.0+dfsg/doc/man/mkvmerge.xml --- mkvtoolnix-4.0.0/doc/man/mkvmerge.xml 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvmerge.xml 2011-01-31 20:34:09.000000000 +0000 @@ -3,8 +3,8 @@ - - + + mkvmerge1"> mkvinfo1"> @@ -68,6 +68,13 @@ a &matroska; file; see the &matroska; website. + + + The order of command line options is important. Please read the section "Option + order" if you're new to the program. + + + Global options: @@ -294,7 +301,7 @@ - &mkvmerge; defaults to putting at most 65535 data blocks and 2000ms of data into a cluster. + &mkvmerge; defaults to putting at most 65535 data blocks and 5000ms of data into a cluster. @@ -564,6 +571,26 @@ + + + + + + Normally mkvmerge looks for files in the same directory as an input file that have the same base name and only differ in their running + number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc). This option, a single '=', causes mkvmerge not to look for those + additional files. + + + + The '=' can also be put in front of the next file name. Therefore the following two commands are equivalent: + + + +$ mkvmerge -o full.mkv = file1.mkv +$ mkvmerge -o full.mkv =file1.mkv + + + @@ -993,6 +1020,28 @@ + + + TID:n + + + Selects the compression method to be used for the track. Note that the player also has to support this method. Valid values are + 'none', 'zlib', 'lzo'/'lxo1x', + 'bz2'/'bzlib' and 'mpeg4_p2'/'mpeg4p2'. The values + 'lzo'/'lxo1x' and 'bz2'/'bzlib' are only available if + &mkvmerge; has been compiled with support for the liblzo and bzlib compression libraries, + respectively. + + + The compression method 'mpeg4_p2'/'mpeg4p2' is a special compression method called + 'header removal' that is only available for MPEG4 part 2 video tracks. + + + The default for some subtitle tracks is 'zlib' compression. This compression method is also the one that most if + not all playback applications support. Support for other compression methods other than 'none' is not assured. + + + @@ -1078,35 +1127,15 @@ Sets the stereo mode for the video track with the track ID TID. The mode can either be a number - n between 0 and 3 or one of the keywords 'none' - (same as n=0), 'right' (same as - n=1), 'left' (same as n=2) - or 'both' (same as n=3). - - - - - - TID:method - - - Selects the compression method to be used for the VobSub track. Note that the player also has to support this method. Valid values are - 'none', 'zlib', 'lzo'/'lxo1x', - 'bz2'/'bzlib' and 'mpeg4_p2'/'mpeg4p2'. The values - 'lzo'/'lxo1x' and 'bz2'/'bzlib' are only available if - &mkvmerge; has been compiled with support for the liblzo respectively bzlib - compression libraries. - - - - The compression method 'mpeg4_p2'/'mpeg4p2' is a special compression method called - 'header removal' that is only available for MPEG4 part 2 video tracks. The other methods are general - compression methods that can be used with any type of track. + n between 0 and 11 or one of these keywords: - The default is 'zlib' compression. This compression method is also the one that most if not all playback - applications support. Support for other compression methods other than 'none' is not assured. + 'mono', 'side_by_side_left_first', 'top_bottom_right_first', + 'top_bottom_left_first', 'checkboard_right_first', 'checkboard_left_first', + 'row_interleaved_right_first', 'row_interleaved_left_first', + 'column_interleaved_right_first', 'column_interleaved_left_first', + 'anaglyph', 'side_by_side_right_first'. @@ -1149,6 +1178,26 @@ + + , file-name + + + Will let &mkvmerge; probe the single file and report its type, the tracks contained in the file and their track IDs. If this option is + used then the only other option allowed is the filename. + + + + This option causes &mkvmerge; to output additional information about the container and each track within. The extra information is + surronded by square brackets. It consists of space-saparated key/value pairs where keys and values are separated by a colon. + + + + Each value is escaped according to the rules described in the section about escaping special + characters in text. + + + + , @@ -1233,7 +1282,12 @@ Reads additional command line arguments from the file options-file. Lines whose first non-whitespace character is a hash mark ('#') are treated as comments and ignored. White spaces at the start and end of a line will be - stripped. Each line must contain exactly one option. There is no meta character escaping. + stripped. Each line must contain exactly one option. + + + + Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text. @@ -1304,6 +1358,27 @@ + + + + + + Checks online for new releases by downloading the URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Four lines + will be output in key=value style: the URL from where the information was retrieved (key + version_check_url), the currently running version (key running_version), the latest release's + version (key available_version) and the download URL (key download_url). + + + + Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with + 2 if an error occured (e.g. if the update information could not be retrieved). + + + + This option is only available if the program was built with support for libcurl. + + + @@ -1313,6 +1388,55 @@ For each file the user can select which tracks &mkvmerge; should take. They are all put into the file specified with . A list of known (and supported) source formats can be obtained with the option. + + + + The order of command line options is important. Please read the section "Option + order" if you're new to the program. + + + + + + Option order + + + The order in which options are entered is important for some options. Options fall into two categories: + + + + + + Options that affect the whole program and are not tied to any input file. These include but are not limited to + , or . These can appear anywhere on the + command line. + + + + + + Options that affect a single input file or a single track in an input file. These options all apply to the following input file on the + command line. All options applying to the same input (or to tracks from the same input file) file can be written in any order as long + as they all appear before that input file's name. Examples for options applying to an input file are or + . Examples for options applying to a single track are or + . + + + + + + The options are processed from left to right. If an option appears multiple times within the same scope then the last occurence will be + used. Therefore the title will be set to "Something else" in the following example: + + + $ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else' + + + The following example shows that using the option twice is OK because they're used in different scopes. Even + though they apply to the same track ID they apply to different input files and therefore have different scopes: + + + $ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg @@ -1458,6 +1582,13 @@ If you do not see the language or default track flags that you've specified in &mkvinfo;'s output then please read the section about default values. + + + Turn off the compression for an input file. + + + $ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt + @@ -1477,6 +1608,17 @@ + Do not confuse the track IDs that are assigned to the tracks that are placed in the output MKV file with the track IDs of the input + files. Only the input file track IDs are used for options needing these values. + + + + Also note that each input file has its own set of track IDs. Therefore the track IDs for file 'file1.ext' as + reported by 'mkvmerge --identify' do not change no matter how many other input files are there or in which position + 'file1.ext' is used. + + + Track IDs are assigned like this: @@ -1489,6 +1631,12 @@ + MP4 files: As output from x264, the video track has the ID 1. + + + + + AAC, AC3, MP3, SRT and WAV files: The one 'track' in that file gets the ID 0. @@ -1600,6 +1748,18 @@ + + Escaping special chars in text + + There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character + that needs escaping is replaced with a backslash followed by another character. + + + + The rules are: ' ' becomes '\s', '"' becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' itself becomes '\\'. + + + Subtitles @@ -2054,7 +2214,7 @@ - + Exit codes diff -Nru mkvtoolnix-4.0.0/doc/man/mkvpropedit.1 mkvtoolnix-4.5.0+dfsg/doc/man/mkvpropedit.1 --- mkvtoolnix-4.0.0/doc/man/mkvpropedit.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvpropedit.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvpropedit .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: User Commands -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: English .\" -.TH "MKVPROPEDIT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "User Commands" +.TH "MKVPROPEDIT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -65,6 +65,10 @@ delete actions operate on\&. This option can be used multiple times in order to make modifications to more than one element\&. .sp +By default +\fBmkvpropedit\fR(1) +will edit the segment information section\&. +.sp See the section about edit selectors for a full description of the syntax\&. @@ -146,10 +150,29 @@ Show version information and exit\&. .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Checks online for new releases by downloading the URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Four lines will be output in +key=value +style: the URL from where the information was retrieved (key +version_check_url), the currently running version (key +running_version), the latest release\*(Aqs version (key +available_version) and the download URL (key +download_url)\&. +.sp +Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e\&.g\&. if the update information could not be retrieved)\&. +.sp +This option is only available if the program was built with support for libcurl\&. +.RE +.PP \fB@\fRoptions\-file .RS 4 Reads additional command line arguments from the file -\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. There is no meta character escaping\&. +\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&. +.sp +Several chars can be escaped, e\&.g\&. if you need to start a non\-comment line with \*(Aq#\*(Aq\&. The rules are described in +the section about escaping text\&. .sp The command line \*(Aq\fBmkvpropedit source\&.mkv \-\-edit track:a2 \-\-set name=Comments\fR\*(Aq could be converted into the following option file: .sp @@ -185,6 +208,10 @@ actions operate on\&. This stays valid until the next \fB\-\-edit\fR option is found\&. The argument to this option is called the edit selector\&. +.PP +By default +\fBmkvpropedit\fR(1) +will edit the segment information section\&. .SS "Segment information" .PP The segment information can be selected with one of these three words: \*(Aqinfo\*(Aq, \*(Aqsegment_info\*(Aq or \*(Aqsegmentinfo\*(Aq\&. It contains properties like the segment title or the segment @@ -270,7 +297,7 @@ .RS 4 .\} .nf -$ mkvpropedit movie\&.mkv \-\-edit tracks:s1 \-\-set flag\-default=0 \-\-edit tracks:s2 \-\-set flag\-default=1 +$ mkvpropedit movie\&.mkv \-\-edit track:s1 \-\-set flag\-default=0 \-\-edit track:s2 \-\-set flag\-default=1 .fi .if n \{\ @@ -324,6 +351,11 @@ \fBmkvpropedit\fR(1) aborts right after outputting the error message\&. Error messages range from wrong command line arguments over read/write errors to broken files\&. .RE +.SH "ESCAPING SPECIAL CHARS IN TEXT" +.PP +There are a few places in which special characters in text must or should be escaped\&. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character\&. +.PP +The rules are: \*(Aq \*(Aq becomes \*(Aq\es\*(Aq, \*(Aq"\*(Aq becomes \*(Aq\e2\*(Aq, \*(Aq:\*(Aq becomes \*(Aq\ec\*(Aq, \*(Aq#\*(Aq becomes \*(Aq\eh\*(Aq and \*(Aq\e\*(Aq itself becomes \*(Aq\e\e\*(Aq\&. .SH "SEE ALSO" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/mkvpropedit.xml mkvtoolnix-4.5.0+dfsg/doc/man/mkvpropedit.xml --- mkvtoolnix-4.0.0/doc/man/mkvpropedit.xml 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mkvpropedit.xml 2011-01-31 20:34:09.000000000 +0000 @@ -3,8 +3,8 @@ - - + + mkvmerge1"> mkvinfo1"> @@ -108,6 +108,10 @@ + By default &mkvpropedit; will edit the segment information section. + + + See the section about edit selectors for a full description of the syntax. @@ -220,12 +224,38 @@ + + + + Checks online for new releases by downloading the URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Four lines + will be output in key=value style: the URL from where the information was retrieved (key + version_check_url), the currently running version (key running_version), the latest release's + version (key available_version) and the download URL (key download_url). + + + + Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with + 2 if an error occured (e.g. if the update information could not be retrieved). + + + + This option is only available if the program was built with support for libcurl. + + + + + options-file Reads additional command line arguments from the file options-file. Lines whose first non-whitespace character is a hash mark ('#') are treated as comments and ignored. White spaces at the start and end of a line - will be stripped. Each line must contain exactly one option. There is no meta character escaping. + will be stripped. Each line must contain exactly one option. + + + + Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text. @@ -258,6 +288,10 @@ argument to this option is called the edit selector. + + By default &mkvpropedit; will edit the segment information section. + + Segment information @@ -348,7 +382,7 @@ -$ mkvpropedit movie.mkv --edit tracks:s1 --set flag-default=0 --edit tracks:s2 --set flag-default=1 +$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1 @@ -383,6 +417,18 @@ + + Escaping special chars in text + + There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character + that needs escaping is replaced with a backslash followed by another character. + + + + The rules are: ' ' becomes '\s', '"' becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' itself becomes '\\'. + + + See also diff -Nru mkvtoolnix-4.0.0/doc/man/mmg.1 mkvtoolnix-4.5.0+dfsg/doc/man/mmg.1 --- mkvtoolnix-4.0.0/doc/man/mmg.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mmg.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mmg .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: User Commands -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: English .\" -.TH "MMG" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "User Commands" +.TH "MMG" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mkvtoolnix-4.0.0/doc/man/mmg.xml mkvtoolnix-4.5.0+dfsg/doc/man/mmg.xml --- mkvtoolnix-4.0.0/doc/man/mmg.xml 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/mmg.xml 2011-01-31 20:34:09.000000000 +0000 @@ -3,8 +3,8 @@ - - + + mkvmerge1"> mkvinfo1"> diff -Nru mkvtoolnix-4.0.0/doc/man/nl/mkvextract.1 mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvextract.1 --- mkvtoolnix-4.0.0/doc/man/nl/mkvextract.1 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvextract.1 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,625 @@ +'\" t +.\" Title: mkvextract +.\" Author: Moritz Bunkus +.\" Generator: DocBook XSL Stylesheets v1.75.2 +.\" Date: 2011-01-31 +.\" Manual: Gebruiker commando\*(Aqs +.\" Source: MkvToolNix 4.5.0 +.\" Language: Dutch +.\" +.TH "MKVEXTRACT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "Gebruiker commando\*(Aqs" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "REFERENTIENAAM" +mkvextract \- haalt sporen uit Matroska(TM) bestanden en plaatst die in andere bestanden +.SH "BEKNOPTE INHOUDSBESCHRIJVING" +.HP \w'\fBmkvextract\fR\ 'u +\fBmkvextract\fR {mode} {source\-filename} [options] [extraction\-spec] +.SH "BESCHRIJVING" +.PP +Dit programma haalt specifieke delen uit +Matroska(TM) +bestanden naar andere zeer bruikbare formaten\&. Het eerste argument, +\fBmode\fR, vertelt +\fBmkvextract\fR(1) +wat eruit te halen\&. Momenteel wordt het uithalen ondersteund van +sporen, +markeringen, +bijlagen, +hoofdstukken, +volg document(en) (cue) +en +tijd coderingen\&. Het tweede argument is de bron bestandsnaam\&. Het moet zijn een +Matroska(TM) +bestand\&. Alle volgende argumenten zijn opties en de \*(Aquit te halen\*(Aq sepcificaties; Die beiden van de geselecteerde wijze afhangen\&. +.SS "Algemene opties" +.PP +De volgende opties zijn beschikbaar in alle modes en worden slechts \('e\('enmaal beschreven in deze sectie\&. +.PP +\fB\-f\fR, \fB\-\-parse\-fully\fR +.RS 4 +Stelt de ontleedt mode in op \*(Aqvolledig\*(Aq\&. De standaard waarde ontleedt niet het gehele bestand maar gebruikt de \*(Aqmeta zoek\*(Aq elemen(en) voor het lokaliseren van de vereiste elementen van een bronbestand\&. In 99% van alle gevallen is dit genoeg\&. Maar voor bestanden die het \*(Aqmeta zoek\*(Aq element niet bevatten of voor bestanden die zijn beschadigd kan deze gebruiker mode erg handig zijn\&. Een volledige scan kan een aantal minuten in beslag nemen terwijl een \*(Aqsnelle\*(Aq scan slechts enkele seconden duren\&. +.RE +.PP +\fB\-\-command\-line\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-\-output\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-r\fR, \fB\-\-redirect\-output\fR \fI(bestandsnaam)\fR +.RS 4 +Schrijft alle berichten naar een bestand +\fIfile\-name\fR +i\&.p\&.v naar het \*(Aqapparaat/houder\*(Aq\&. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan, er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e\&.e\&.a her\-interpreteert, voordat het geschreven wordt naar het uitvoer bestand\&. De karakter set met +\fB\-\-output\-charset\fR +is toegewezen\&. +.RE +.PP +\fB\-\-ui\-language\fR \fIcode\fR +.RS 4 +Forceert de vertaling voor de te gebruiken taal +\fIcode\fR +(b\&.v\&. \*(Aqde_DE\*(Aq voor de Duitse taal)\&. Hoewel het de voorkeur heeft de \*(Aqomgevings variabelen\*(Aq te gebruiken +\fILANG\fR, +\fILC_MESSAGES\fR +en +\fILC_ALL\fR\&. Opvragen van een \*(Aqlist\*(Aq als een +\fIcode\fR +zal voor zorgen dat +\fBmkvextract\fR(1) +een lijst zal uitvoeren van alle beschikbaren vertalingen\&. +.RE +.PP +\fB\-v\fR, \fB\-\-verbose\fR +.RS 4 +Wees uitgebreid en toon alle belangrijke +Matroska(TM) +elementen zoals ze zijn gelezen\&. +.RE +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Toon gebruik informatie en sluit af\&. +.RE +.PP +\fB\-V\fR, \fB\-\-version\fR +.RS 4 +Toon versie informatie en sluit af\&. +.RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Controleert online op nieuwere versie\*(Aqs via ophalen op adres +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Vier regels worden uitgevoerd in +key=value +stijl: het adres van waar de informatie wordt verkregen (key +version_check_url), de huidig uitgevoerde versie (key +running_version), laatst uitgebrachte versie (key +available_version +en het ophaal adres (key +download_url)\&. +.sp +Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b\&.v\&. als de opwaardeer info niet verkregen kon worden)\&. +.sp +Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl\&. +.RE +.PP +\fB@\fRoptie\*(Aqs\-bestand +.RS 4 +Leest extra commandoregel argumenten in van een bestand +\fIoptions\-file\fR\&. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) (\*(Aq#\*(Aq) worden behandeld als commentaar en genegeerd\&. Een spatie aan het begin en einde van een regel worden verwijderd\&. Elke regel mag excact \('e\('en waarde bevatten +.sp +Verschillende karakters kunnen worden overgeslagen, b\&.v\&. als het nodig is een niet commentaar regel te starten met \*(Aq#\*(Aq\&. Deze regels worden beschreven in +de sectie over overslaan van tekst\&. +.sp +De commandoregel \*(Aq\fBmkvextract tracks source\&.mkv \-\-raw 1:destination\&.raw\fR\*(Aq kunnen worden geconverteerd naar \('e\('en van de volgende optie bestanden: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Extract a track from source\&.mkv +tracks +source\&.mkv +# Output the track as raw data\&. +\-\-raw +1:destination\&.raw + +.fi +.if n \{\ +.RE +.\} +.RE +.SS "Spoor uitpak mode" +.PP +Ingave: +\fBmkvextract\fR +\fBtracks\fR +\fIsource\-filename\fR +[\fIoptions\fR] +\fITID1:dest\-filename1\fR +[\fITID2:dest\-filename2\fR \&.\&.\&.] +.PP +De volgende commandoregel opties zijn beschikbaar voor elk spoor in \*(Aqtracks\*(Aq uitpak mode\&. Zij zullen vooraan moeten worden geplaatst in de spoor specificatie (zie hieronder) Zij zouden toegepast moeten zijn op\&. +.PP +\fB\-c\fR \fIcharacter\-set\fR +.RS 4 +Stelt de karakter set in waarna het volgende ondertitel tekst spoor geconverteerd wordt\&. Is alleen geldig, wanneer een volgende ondertitel spoor verwijst naar een tekst ondertitel spoor\&. Standaard naar UTF\-8\&. +.RE +.PP +\fB\-\-blockadd\fR \fIniveau\fR +.RS 4 +Houd alleen de BlockAdditions tot aan dit niveau\&. Standaard is alle niveaus te houden\&. Deze optie heeft alleen effect op bepaalde codecs zoals WAVPACK4\&. +.RE +.PP +\fB\-\-cuesheet\fR +.RS 4 +Zorgt er voor dat +\fBmkvextract\fR(1) +uitpakt naar een +CUE +lijst/document/reeks van de hoofdstuk data en markeer data voor de volgende sporen naar een bestand waarvan de naam van het uitvoer spoor heeft waarna \*(Aq\&.cue\*(Aq eraan toegevoegd wordt\&. +.RE +.PP +\fB\-\-raw\fR +.RS 4 +Pakt de raw dat uit naar een bestand zonder enige inhoud data er omheen\&. Niet zoals +\fB\-\-fullraw\fR +dit merkteken markeren, veroorzaakt niet dat de inhoud van +CodecPrivate +element geschreven wordt naar het bestand\&. Deze mode werkt met alle +CodecIDs, zelfs diegenen die +\fBmkvextract\fR(1) +niet eens ondersteunt, maar het resulterende bestand kan onbruikbaar zijn\&. +.RE +.PP +\fB\-\-fullraw\fR +.RS 4 +Pakt de raw data uit naar een bestand zonder enige inhoud data er omheen\&. De inhoud van het +CodecPrivate +element zal eerst naar het bestand worden geschreven als het spoor zo\*(Aqn hoofd element bevat\&. Deze mode werkt met alle +CodecIDs, zelfs diegene die +\fBmkvextract\fR(1) +niet eens ondersteunt, maar het resulterende bestand kan onbruikbaar zijn\&. +.RE +.PP +\fITID:outname\fR +.RS 4 +Extraheert het spoor met het ID +\fITID\fR +naar het bestand +\fIoutname\fR +als een dergelijk spoor bestaat in het bronbestand\&. Deze optie kan meerdere keren geven worden\&. De spo(o)r(en) ID\*(Aqs zijn hetzelfde als diegene die met +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +optie worden verkregen\&. +.sp +Eke uitvoernaam zou slechts \('e\('enmaal mogen worden gebruikt\&. De uitzonderingen zijn RealAudio en RealVideo sporen\&. Als je dezelfde naam gebruikt voor verschillende sporen dan zullen die sporen in hetzelfde bestand bewaard worden\&. Voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract tracks input\&.mkv 1:output\-two\-tracks\&.rm 2:output\-two\-tracks\&.rm + +.fi +.if n \{\ +.RE +.\} +.RE +.SS "Markeeringen extraheer mode" +.PP +Ingave: +\fBmkvextract\fR +\fBtags\fR +\fIsource\-filename\fR +[\fIoptions\fR] +.PP +De ge\(:extraheerde markeringen zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over +uitvoer omleiden +voor details)\&. +.SS "Bijlagen extraheer mode" +.PP +Ingave: +\fBmkvextract\fR +\fBattachments\fR +\fIsource\-filename\fR +[\fIoptions\fR] +\fIAID1:outname1\fR +[\fIAID2:outname2\fR \&.\&.\&.] +.PP +AID:outname +.RS 4 +Zorgt voor het uitpakken van bijlage met het ID +\fIAID\fR +naar het bestand +\fIoutname\fR +als een dergelijke bijlage bestaat in het bronbestand\&. Als de +\fIoutname\fR +wordt leeggelaten dan wordt de naam gebruikt die zich binnenin het +Matroska(TM) +bronbestand bevindt\&. Deze optie kan meerdere malen worden gegeven\&. De ID\*(Aqs van de bijlagen zijn het zelfde als diegene die worden gecre\(:eerd met +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +optie\&. +.RE +.SS "Hoofdstuk uitpak mode" +.PP +Ingave: +\fBmkvextract\fR +\fBchapters\fR +\fIsource\-filename\fR +[\fIoptions\fR] +.PP +\fB\-s\fR, \fB\-\-simple\fR +.RS 4 +Exporteert de hoofdstuk informatie in een simpel tekst formaat gebruikt in de +OGM +hulpmiddelen (CHAPTER01=\&.\&.\&., CHAPTER01NAME=\&.\&.\&.)\&. In deze mode wordt sommige informatie overgeslagen\&. Standaard is de hoofdstuk uitvoer naar +XML +formaat\&. +.RE +.PP +De ge\(:extraheerde hoofdstukken zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over +uitvoer omleiden +voor details)\&. +.SS "Volg document(en) (cue) extraheer mode" +.PP +Ingave: +\fBmkvextract\fR +\fBcuesheet\fR +\fIsource\-filename\fR +[\fIoptions\fR] +.PP +De ge\(:extraheerde volg document(en) (cue) zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over +uitvoer omleiden +voor details)\&. +.SS "Tijdcode extraheer mode" +.PP +Ingave: +\fBmkvextract\fR +\fBtimecodes_v2\fR +\fIsource\-filename\fR +[\fIoptions\fR] +\fITID1:dest\-filename1\fR +[\fITID2:dest\-filename2\fR \&.\&.\&.] +.PP +De ge\(:extraheerde hoofdstukken zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over +uitvoer omleiden +voor details)\&. +.PP +\fITID:outname\fR +.RS 4 +Extraheert tijdcodes voor het spoor met het ID +\fITID\fR +naar het bestand +\fIoutname\fR +als een dergelijk spoor bestaat in het bronbestand\&. Deze optie kan meerdere keren geven worden\&. De spo(o)r(en) ID\*(Aqs zijn hetzelfde als diegene die met +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +optie worden verkregen\&. +.sp +Voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract timecodes_v2 input\&.mkv 1:tc\-track1\&.txt 2:tc\-track2\&.txt + +.fi +.if n \{\ +.RE +.\} +.RE +.SH "UITVOER OMLEIDEN" +.PP +Verschillende extractie modes veroorzaken dat +\fBmkvextract\fR(1) +de ge\(:extraheerde data wegschrijft naar het apparaat/houder\&. In algemene zin, zijn er twee manieren om deze data naar een bestand te schrijven: \('e\('en verzorgd door een \*(Aqschil\*(Aq en \('e\('en verzorgd door +\fBmkvextract\fR(1) +zelf\&. +.PP +De in het schil ingebouwde omleidingsmechanisme wordt gebruikt door het toevoegen \*(Aq> output\-filename\&.ext\*(Aq op de commandoregel\&. Voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract tags source\&.mkv > tags\&.xml + +.fi +.if n \{\ +.RE +.\} +.PP + +\fBmkvextract\fR(1)\*(Aqs eigen omleiding wordt aangehaald met +\fB\-\-redirect\-output\fR +option\&. Voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract tags source\&.mkv \-\-redirect\-output tags\&.xml + +.fi +.if n \{\ +.RE +.\} +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBOpmerking\fR +.ps -1 +.br +.PP +Met Windows zal je waarschijnlijk moeten gebruiken +\fB\-\-redirect\-output\fR +optie omdat, +\fBcmd\&.exe\fR +soms een speciaal karakter interpreteert nog voordat ze geschreven worden naar een uitvoer bestand met als resultaat een \*(Aqgebroken\*(Aq uitvoer\&. +.sp .5v +.RE +.SH "UITVOER BESTANDSFORMATEN" +.PP +De beslissing over het uitvoer formaat is gebasseerd op het spoor type, niet op de gebruikte extensie van de uitvoer bestandsnaam\&. De volgende spoor typen worden momenteel onderstend: +.PP +V_MPEG4/ISO/AVC +.RS 4 + +H\&.264 +/ +AVC +video sporen worden geschreven naar +H\&.264 +elementaire stromen welke verder verwerkt kunnen worden b\&.v\&. +MP4Box(TM) +van het +GPAC(TM) +pakket\&. +.RE +.PP +V_MS/VFW/FOURCC +.RS 4 +Vaste +FPS +video sporen met deze +CodecID +worden geschreven naar +AVI +bestanden\&. +.RE +.PP +V_REAL/* +.RS 4 + +RealVideo(TM) +sporen worden geschreven naar +RealMedia(TM) +bestanden\&. +.RE +.PP +A_MPEG/L3, A_AC3 +.RS 4 +Deze worden uitgepakt naar +MP3 +en +AC3 +bestanden\&. +.RE +.PP +A_PCM/INT/LIT +.RS 4 +Raw +PCM +data zal naar een +WAV +bestand geschreven worden\&. +.RE +.PP +A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC +.RS 4 +Alle +AAC +bestanden zullen geschreven worden in een +AAC +bestand met +ADTS +koppen voor elk pakket\&. De +ADTS +koppen bevatten g\('e\('en verouderd nadrukgebiedsveld\&. +.RE +.PP +A_VORBIS +.RS 4 +Vorbis audio zal worden geschreven naar een +OggVorbis(TM) +bestand\&. +.RE +.PP +A_REAL/* +.RS 4 + +RealAudio(TM) +sporen worden geschreven naar +RealMedia(TM) +bestanden\&. +.RE +.PP +A_TTA1 +.RS 4 + +TrueAudio(TM) +sporen worden geschreven naar +TTA +bestanden\&. Opmerking: door een limitatie in +Matroska(TM)\*(Aqs tijdcode precisie zal de ge\(:extraheerde bestandskop verschillendl zijn aangaande deze twee velden: +\fIdata_length\fR +(de totale nummers van voorbeelden in het bestand) en de +CRC\&. +.RE +.PP +S_TEXT/UTF8 +.RS 4 +Simpele tekst ondertitels worden geschreven in +SRT +bestanden\&. +.RE +.PP +S_TEXT/SSA, S_TEXT/ASS +.RS 4 + +SSA +en +ASS +tekst ondertitels worden respectievelijk geschreven als +SSA/ASS +bestanden\&. +.RE +.PP +S_KATE +.RS 4 + +Kate(TM) +de stromen zullen binnen een +Ogg(TM) +bestand worden geschreven\&. +.RE +.PP +Markeringen +.RS 4 +Markeringen worden geconverteerd naar een +XML +formaat\&. Dit formaat is hetzelfde dat +\fBmkvmerge\fR(1) +ondersteunt voor het lezen van markeringen\&. +.RE +.PP +Bijlagen +.RS 4 +Bijlagen worden geschreven naar de uitvoer zoals ze zijn\&. Geen enkele conversie (welke conversie dan ook) wordt uitgevoerd\&. +.RE +.PP +Hoofdstukken +.RS 4 +Hoofdstukken worden geconverteerd naar een +XML +formaat\&. Dit formaat is hetzelfde welke +\fBmkvmerge\fR(1) +ondersteunt voor het lezen van hoofdstukken\&. Alternatief is een \*(Aquitgekleedde versie\*(Aq welke uitvoert naar het simpele +OGM +stijl formaat\&. +.RE +.PP +Tijd codes +.RS 4 +Tijd codes worden het eerst gesorteerd en daarna gechreven als en tijdcode v2 volgbaar bestandformaat, klaar om aangevoerd te worden naar +\fBmkvmerge\fR(1)\&. Het extraheren naar andere formaten (v1, v3 en v4) zijn niet onderstend\&. +.RE +.SH "VERLAAT CODES" +.PP + +\fBmkvextract\fR(1) +sluit af met drie afsluit codes: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB0\fR +\-\- Deze verlaat code betekend dat de extractie succesvol is voltooid\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB1\fR +\-\- In dit geval heeft +\fBmkvextract\fR(1) +minstends \('e\('en waarschuwing uitgegeven, maar extractie is doorgegaan\&. Een waarschuwing wordt vooraf bepaald met de tekst \*(AqWarning:\*(Aq\&. Afhankelijk van de \*(Aqtegengekomen\*(Aq kwesties kan het resltaat goed of slecht zijn\&. De gebruiker wordt geadviseerd om zowel de waarschuwing als de resulterende bestanden te controleren\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB2\fR +\-\- Deze verlaat code wordt gebruikt nadat een fout is ontstaan\&. +\fBmkvextract\fR(1) +breekt direct af na het uitgeven van de waarschuwing\&. Fout berichten, bereik van verkeerde commandoregel argumenten tot aan lees/schrijf fouten naar gebroken bestanden\&. +.RE +.SH "OVERSLAAN VAN SPECIALE KARAKTER(S) IN TEKST" +.PP +Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen\&. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash "\e" gevolgd door een ander karakter\&. +.PP +De regels zijn: \*(Aq \*(Aq wordt \*(Aq\es\*(Aq, \*(Aq"\*(Aq wordt \*(Aq\e2\*(Aq, \*(Aq:\*(Aq wordt \*(Aq\ec\*(Aq, \*(Aq#\*(Aq wordt \*(Aq\eh\*(Aq en \*(Aq\e\*(Aq zelf wordt \*(Aq\e\e\*(Aq\&. +.SH "ZIE OOK" +.PP + +\fBmkvmerge\fR(1), +\fBmkvinfo\fR(1), +\fBmkvpropedit\fR(1), +\fBmmg\fR(1) +.SH "WWW" +.PP +De laatste versie kan altijd gevonden worden op de +\m[blue]\fBMKVToolNix\fR\m[]\&\s-2\u[1]\d\s+2 +thuis basis\&. +.SH "AUTEUR" +.PP +\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> +.RS 4 +Ontwikkelaar +.RE +.SH "NOTEN" +.IP " 1." 4 +MKVToolNix +.RS 4 +\%http://www.bunkus.org/videotools/mkvtoolnix/ +.RE diff -Nru mkvtoolnix-4.0.0/doc/man/nl/mkvinfo.1 mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvinfo.1 --- mkvtoolnix-4.0.0/doc/man/nl/mkvinfo.1 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvinfo.1 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,287 @@ +'\" t +.\" Title: mkvinfo +.\" Author: Moritz Bunkus +.\" Generator: DocBook XSL Stylesheets v1.75.2 +.\" Date: 2011-01-31 +.\" Manual: Gebruiker commando\*(Aqs +.\" Source: MkvToolNix 4.5.0 +.\" Language: Dutch +.\" +.TH "MKVINFO" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "Gebruiker commando\*(Aqs" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "REFERENTIENAAM" +mkvinfo \- Informatie uitprinten over elementen in Matroska(TM) bestanden +.SH "BEKNOPTE INHOUDSBESCHRIJVING" +.HP \w'\fBmkvinfo\fR\ 'u +\fBmkvinfo\fR [options] {source\-filename} +.SH "BESCHRIJVING" +.PP +Dit programma lijst alle elementen die een +Matroska(TM) +bestand bevat\&. De uitvoer kan gelimiteerd worden naar een lijst van sporen inclusief de informatie over de gebruikte codecs\&. +.PP +\fB\-g\fR, \fB\-\-gui\fR +.RS 4 +Start de +GUI\&. Deze optie is alleen beschikbaar wanneer mkvinfo is gecompileerd met +GUI +ondersteuning\&. +.RE +.PP +\fB\-c\fR, \fB\-\-checksums\fR +.RS 4 +Berekend en toont de +\fBAdler32\fR +controleer som\&. Alleen zinvol voor foutzoeken\&. +.RE +.PP +\fB\-s\fR, \fB\-\-summary\fR +.RS 4 +Toon slechts een grove samenvatting van wat +\fBmkvinfo\fR(1) +vindt en niet elk element\&. +.RE +.PP +\fB\-t\fR, \fB\-\-track\-info\fR +.RS 4 +Toont statiustieken voore elk spoor in \*(Aqstille\*(Aq mode\&. Zet tevens \*(Aqstille mode\*(Aq naar 1 als niveau daarvoor 0 was\&. +.RE +.PP +\fB\-x\fR, \fB\-\-hexdump\fR +.RS 4 +Toont de eerste 16 bytes van elk beeld als een hex dump\&. +.RE +.PP +\fB\-X\fR, \fB\-\-full\-hexdump\fR +.RS 4 +Toont alle bytes van elk beeld als een hex dump\&. +.RE +.PP +\fB\-z\fR, \fB\-\-size\fR +.RS 4 +Toon de grootte van elk element inclusief kophoofd +.RE +.PP +\fB\-\-command\-line\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-\-output\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-r\fR, \fB\-\-redirect\-output\fR \fI(bestandsnaam)\fR +.RS 4 +Schrijft alle berichten naar een bestand +\fIfile\-name\fR +i\&.p\&.v naar het \*(Aqapparaat/houder\*(Aq\&. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e\&.e\&.a her\-interpreteert voordat het geschreven wordt naar het uitvoer bestand\&. De karakter set met +\fB\-\-output\-charset\fR +is toegewezen\&. +.RE +.PP +\fB\-\-ui\-language\fR \fIcode\fR +.RS 4 +Forceert de vertaling voor de te gebruiken taal +\fIcode\fR +(b\&.v\&. \*(Aqde_DE\*(Aq voor de Duitse taal)\&. Hoewel het de voorkeur heeft de \*(Aqomgevings variabelen\*(Aq te gebruiken +\fILANG\fR, +\fILC_MESSAGES\fR +en +\fILC_ALL\fR\&. Opvragen van een \*(Aqlist\*(Aq als een +\fIcode\fR +zal er voor zorgen dat +\fBmkvextract\fR(1) +een lijst zal uitvoeren van alle beschikbaren vertalingen\&. +.RE +.PP +\fB\-v\fR, \fB\-\-verbose\fR +.RS 4 +Wees uitgebreider\&. Zie sectie over +uitgebreide niveaus +voor een beschrijving welke informatie wordt uitgevoerd op welk niveau\&. +.RE +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Toon gebruik informatie en sluit af\&. +.RE +.PP +\fB\-V\fR, \fB\-\-version\fR +.RS 4 +Toon versie informatie en sluit af\&. +.RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Controleert online op nieuwere versie\*(Aqs via ophalen op adres +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Vier regels worden uitgevoerd in +key=value +stijl: het adres van waar de informatie wordt verkregen (key +version_check_url), de huidig uitgevoerde versie (key +running_version), laatst uitgebrachte versie (key +available_version +en het ophaal adres (key +download_url)\&. +.sp +Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b\&.v\&. als de opwaardeer info niet verkregen kon worden)\&. +.sp +Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl\&. +.RE +.PP +\fB@\fRoptie\*(Aqs\-bestand +.RS 4 +Leest extra commandoregel argumenten in van een bestand +\fIoptions\-file\fR\&. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) (\*(Aq#\*(Aq) worden behandeld als commentaar en genegeerd\&. Een spatie aan het begin en einde van een regel worden verwijderd\&. Elke regel mag excact \('e\('en waarde bevatten +.sp +Verschillende karakters kunnen worden overgeslagen, b\&.v\&. als het nodig is een niet commentaar regel te starten met \*(Aq#\*(Aq\&. Deze regels worden beschreven in +de sectie over overslaan van tekst\&. +.sp +De commandoregel \*(Aq\fBmkvinfo \-v \-v input\&.mkv \-\-redirect\-output info\&.txt\fR\*(Aq kon worden geconverteert naar het volgende optie bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Wees uitgebreider +\-v +\-v +# Ontleed invoer\&.mkv +input\&.mkv +# schrijf uitvoer naar info\&.txt +\-\-redirect\-output +info\&.txt + +.fi +.if n \{\ +.RE +.\} +.RE +.SH "UITGEBREIDE NIVEAU'S" +.PP +De optie +\fB\-v\fR +kan worden gebruikt om +\fBmkvinfo\fR(1)\*(Aqs uitgebreide niveau te verhogen en meer informatie te printen over het huidige bestand\&. +.PP +Op niveau 0 print +\fBmkvinfo\fR(1) +de spoor koppen die het vindt en hun typen\&. +\fBmkvinfo\fR(1) +verlaat zo snel mogelijk wanneer de koppen volledig zijn ontleed (meer technisch: zo snel mogelijk wanneer de eerste cluster wordt tegengekomen)\&. Op dit niveau worden de zoek kop ingangen en volg document(en) (cue) niet getoond \-\- zelfs niet wanneer die aan het begin bevinden van de spoor informatie\&. +.PP +Op niveau 1 print +\fBmkvinfo\fR(1) +ook alle +Matroska(TM) +tegengekomen elementen van het complete bestand elementen behalve de zoek koppen en de volg document(en) (cue) ingangen\&. Als de samenvattingsmode aan is dan zal +\fBmkvinfo\fR(1) +het beeld positie eveneens uitvoeren\&. +.PP +Op niveau 2 print +\fBmkvinfo\fR(1) +tevens de zoek kop ingangen, de volg document(en) (cue)l ingangen en de bestandspositie waarbij elk +Matroska(TM) +element kan worden gevonden\&. +.PP +Op niveau 3 en hoger zal +\fBmkvinfo\fR(1) +enige informatie printen welke niet direct aan een +Matroska(TM) +element is gekoppeld\&. Alle overige elementen printen alleen info over de elementen die zojuist werden gevonden\&. Niveau 3 voegt meta informatie toe voor een makkelijkere fout opsporing (lees als: bedoelt voor ontwikkelaars)\&. Alle niveau 3 geschreven regels bevatten zich tussen [ ] om ze makkelijker te herkennen\&.\&. +.SH "VERLAAT CODES" +.PP + +\fBmkvinfo\fR(1) +verlaat met \('e\('en van de drie afsluit codes: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB0\fR +\-\- Deze verlaat code betekend dat alles succesvol voltooid is\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB1\fR +\-\- In dit geval heeft +\fBmkvinfo\fR(1) +minimaal \('e\('en waarschuwing doen uitgaan, maar ging door\&. Een waarschuwing wordt voorafgegaan met de tekst \*(AqWarning:\*(Aq\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB2\fR +\-\- Deze fout code wordt gegeven nadat er een fout optrad\&. +\fBmkvinfo\fR(1) +breekt direct af na het geven van dit waarschuw bericht\&. Fout! bereik in berichten, van een verkeerd commandoregel argument over lees/schrijf fouten naar een \*(Aqgebroken\*(Aq bestanden\&. +.RE +.SH "OVERSLAAN VAN SPECIALE KARAKTER(S) IN TEKST" +.PP +Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen\&. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash "\e" gevolgd door een ander karakter\&. +.PP +De regels zijn: \*(Aq \*(Aq wordt \*(Aq\es\*(Aq, \*(Aq"\*(Aq wordt \*(Aq\e2\*(Aq, \*(Aq:\*(Aq wordt \*(Aq\ec\*(Aq, \*(Aq#\*(Aq wordt \*(Aq\eh\*(Aq en \*(Aq\e\*(Aq zelf wordt \*(Aq\e\e\*(Aq\&. +.SH "ZIE OOK" +.PP + +\fBmkvmerge\fR(1), +\fBmkvextract\fR(1), +\fBmkvpropedit\fR(1), +\fBmmg\fR(1) +.SH "WWW" +.PP +De laatste versie kan altijd gevonden worden op de +\m[blue]\fBMKVToolNix\fR\m[]\&\s-2\u[1]\d\s+2 +thuis basis\&. +.SH "AUTEUR" +.PP +\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> +.RS 4 +Ontwikkelaar +.RE +.SH "NOTEN" +.IP " 1." 4 +MKVToolNix +.RS 4 +\%http://www.bunkus.org/videotools/mkvtoolnix/ +.RE diff -Nru mkvtoolnix-4.0.0/doc/man/nl/mkvmerge.1 mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvmerge.1 --- mkvtoolnix-4.0.0/doc/man/nl/mkvmerge.1 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvmerge.1 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,2513 @@ +'\" t +.\" Title: mkvmerge +.\" Author: Moritz Bunkus +.\" Generator: DocBook XSL Stylesheets v1.75.2 +.\" Date: 2011-01-31 +.\" Manual: Gebruiker commando\*(Aqs +.\" Source: MKVToolNix 4.5.0 +.\" Language: Dutch +.\" +.TH "MKVMERGE" "1" "2011\-01\-31" "MKVToolNix 4\&.5\&.0" "Gebruiker commando\*(Aqs" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "REFERENTIENAAM" +mkvmerge \- Voegt multimedia stromen in een Matroska(TM) bestand in\&. +.SH "BEKNOPTE INHOUDSBESCHRIJVING" +.HP \w'\fBmkvmerge\fR\ 'u +\fBmkvmerge\fR [global\ options] {\-o\ out} [options1] {file1} [[options2]\ {file2}] [@optionsfile] +.SH "BESCHRIJVING" +.PP +Dit programma neemt de invoer van verschillende media bestanden en voegt die stromen samen (allemaal of slechts een stukje) naar een +Matroska(TM) +bestand; zie de +\m[blue]\fBMatroska(TM)\fR\m[]\&\s-2\u[1]\d\s+2 +website\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBBelangrijk\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE +.PP +Globale opties: +.PP +\fB\-v\fR, \fB\-\-verbose\fR +.RS 4 +Verhoog \*(Aquitgebreidheid\*(Aq\&. +.RE +.PP +\fB\-q\fR, \fB\-\-quiet\fR +.RS 4 +Onderdruk status uitvoer\&. +.RE +.PP +\fB\-o\fR, \fB\-\-output\fR \fIfile\-name\fR +.RS 4 +Schrijf naar het bestand +\fIfile\-name\fR\&. Indien splitsen aan staat, dan wordt dat iets anders verwerkt\&. Zie uitleg voor de +\fB\-\-split\fR +optie voor details\&. +.RE +.PP +\fB\-w\fR, \fB\-\-webm\fR +.RS 4 +Cre\(:eer een WebM herkenbaar bestand\&. mkvmerge zet dit tevens aan wanneer het uitvoerbestandsnaam de extensie "webm" heeft\&. Deze modus dwingt diverse beperkingen af\&. De enig toegestane codecs zijn VP8 video en Vorbis audio sporen\&. G\('e\('en van de volgende hoofdstuk markeringen zijn toegstaan\&. Het DocType kop item is veranderd naar "webm"\&. +.RE +.PP +\fB\-\-title\fR \fItitle\fR +.RS 4 +Stelt de algemene naam in voor het uitvoer bestand, b\&.v\&. de film naam\&. +.RE +.PP +\fB\-\-tags\fR \fIfile\-name\fR +.RS 4 +Leest de globale markeringen van een +XML +bestand +\fIfile\-name\fR\&. Zie de sectie details over markeringen hier beneden\&. +.RE +.PP +\fB\-\-default\-language\fR \fIlanguage\-code\fR +.RS 4 +Stelt de standaard land code in voor alle sporen tenzij die wordt overschreven met +\fB\-\-language\fR +optie\&. De standaard code is \*(Aqonb\*(Aq voor \*(Aqonbekend\*(Aq\&. +.RE +.PP +Hanteren van segment info: (globale opties) +.PP +\fB\-\-segmentinfo\fR \fIfilename\&.xml\fR +.RS 4 +Leest segment informatie in van een +XML +bestand\&. Dit bestand kan de segment familie bevatten +UID, segment +UID, vorige en volgend segment +UID +elementen\&. een voorbeeld bestand en een +DTD +zijn ingesloten in de MKVToolNix distributie\&. +.RE +.PP +\fB\-\-segment\-uid\fR \fISID1,SID2,\&.\&.\&.\fR +.RS 4 +Stelt het te gebruiken segment UID\*(Aqs in\&. Dit is een komma gesepareerde lijst van 128bit segment UID\*(Aqs in het gebruikelijke UID formaat: hex nummers met of zonder het "0x" voorzetsel, met of zonder spaties, exact 32 cijfers\&. +.sp +Elk gecre\(:eerd bestand bevat \('e\('en segment, en elk segment heeft \('e\('en UID\&. Als er meer segment UID\*(Aqs zijn opgegeven dan er zijn gecre\(:eerd, dan zullen de extra UID\*(Aqs worden genegeerd\&. Zijn er minder UID\*(Aqs opgegeven dan er segmenten zijn gecre\(:eerd, dan worden er willekeurig UID\*(Aqs voor hen aangemaakt\&. +.RE +.PP +Hanteren hoofstuk en markeeringen: (globale opties) +.PP +\fB\-\-chapter\-language\fR \fIlanguage\-code\fR +.RS 4 +Stelt de ISO639\-2 land code waarde in welke geschreven wordt voor elk hoofdstuk ingang\&. Standaard naar \*(Aqeng\*(Aq\&. Zie de sectie over +hoofdstukken +hieronder voor details\&. +.sp +Deze optie kan gebruikt worden, voor simpele hoofdstukken en voor bronbestanden welke hoofdstukken bevatten maar geen informatie over hoofdstuk talen, b\&.v\&. MP4 and OGM bestanden\&. +.RE +.PP +\fB\-\-chapter\-charset\fR \fIcharacter\-set\fR +.RS 4 +Stelt de karakter set in, die gebruikt wordt voor de UTF\-8 conversie voor simpele hoofdstuk bestanden\&. Zie de sectie over +tekst bestanden en karakter sets +voor een uitleg hoe +\fBmkvmerge\fR(1) +converteert tussen de \*(Aqverschillende\*(Aq karakter sets\&. +.sp +Deze schakelaar is ook van toepassing op hoofdstukken die zijn gekopieerd van een bepaalde inhoudstypen, b\&.v\&. Ogg/OGM en MP4 bestanden\&. Zie de sectie over hoofdstukken hieronder voor details\&. +.RE +.PP +\fB\-\-cue\-chapter\-name\-format\fR \fIformat\fR +.RS 4 + +\fBmkvmerge\fR(1) +ondersteunt lezen van +CUE +volg document(en) (cue) voor audio bestanden als invoer voor hoofdstukken\&. +CUE +volg document(en) (cue) bevatten gewoonlijk informatie over de +\fIARTIEST\fR +en +\fITITEL\fR +voor elke index ingang\&. +\fBmkvmerge\fR(1) +gebruikt deze twee reeksen om de hoofdstuknaam te construeren\&. Met deze optie kan het formaat dat voor deze naam wordt gebruikt worden geplaatst\&. +.sp +Is deze optie niet opgegeven, dan zal +\fBmkvmerge\fR(1) +het standaard format gebruiken \*(Aq%p \- %t\*(Aq (de artiest (performer), gevolgd door een spatie, een streep, wederom een spatie en de titel)\&. +.sp +Is het format opgegeven dan zal alles behalve de volgende meta karakters gekopieerd worden zoals ze zijn, en de meta karakters worden vervangen zoals dit: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI%p\fR +is vervangen door de huidige ingangen +\fIPERFORMER\fR +(artiest) reeks, +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI%t\fR +is vervangen door de huidige ingangen +\fITITLE\fR +(titel) reeks, +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI%n\fR +wordt vervangen op huidig spoor nummer en +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI%N\fR +wordt vervangen op huidig spoor nummer en op/aangevuld met een beginnend/leidende nul als het is < 10 (kleiner dan)\&. +.RE +.RE +.PP +\fB\-\-chapters\fR \fIfile\-name\fR +.RS 4 +Leest hoofdstuk informatie in van een bestand +\fIfile\-name\fR\&. Zie sectie over +hoofdstukken +kijk hieronder voor details\&. +.RE +.PP +\fB\-\-global\-tags\fR \fIfile\-name\fR +.RS 4 +Leest hoofdstuk informatie in van een bestand +\fIfile\-name\fR\&. Zie sectie over +hoofdstukken +kijk hieronder voor details\&. +.RE +.PP +Algemene uitvoer controle (geavanceerde globale opties): +.PP +\fB\-\-track\-order\fR \fIFID1:TID1,FID2:TID2,\&.\&.\&.\fR +.RS 4 +Deze optie verandert de volgorde waarin de sporen voor een invoer bestand worden gere\(:eerd\&. Het argument is een komma gescheiden lijst van gepaarde ID\*(Aqs\&. Elk paar bevat eerst het bestand ID (\fIFID1\fR) wat simpelweg een nummer van het bestand is op de commandoregel beginnend bij 0\&. Het tweede is een spoor ID (\fITID1\fR) van dat bestand\&. Als sommige spoor id\*(Aqs worden weggelaten, dan zullen die sporen worden gecre\(:eerd na diegene die met deze optie zijn gecre\(:eerd\&. +.RE +.PP +\fB\-\-cluster\-length\fR \fIspec\fR +.RS 4 +Limiteert het aantal data blokken of de duur van de data in elke cluster\&. De +\fIspec\fR +parameter kan \('e\('en van beide zijn een nummer +\fIn\fR +zonder een eenheid of een nummer +\fId\fR +vastgezet met \*(Aqms\*(Aq (miliseconden)\&. +.sp +Als er geen eenheid is gebruikt dan zal +\fBmkvmerge\fR(1) +hoogstends zetten +\fIn\fR +data blokken in elke cluster\&. Het maximum aantal blokken is 65535\&. +.sp +Als het nummer +\fId\fR +is vastgezet met \*(Aqms\*(Aq dan zal +\fBmkvmerge\fR(1) +hoogstends zetten +\fId\fR +milliseconden aan data in elke cluster\&. Het minimum voor +\fId\fR +is \*(Aq100ms\*(Aq, en het maximum is \*(Aq32000ms\*(Aq\&. +.sp + +\fBmkvmerge\fR(1) +plaatst standaard op zijn hoogst 65535 data blokken en 5000ms aan data in een cluster\&. +.sp +Programma\*(Aqs die een bepaald beeld proberen te zoeken, kunnen alleen direct naar een cluster zoeken en moeten daarna de gehele cluster lezen\&. Daarom kan het de oorzaak zijn, dat het maken van grote clusters kan leiden tot onnauwkeurigheid of traag zoeken\&. +.RE +.PP +\fB\-\-no\-cues\fR +.RS 4 +Vertelt +\fBmkvmerge\fR(1) +geen volg document(en) (cue) te cre\(:eren en te schrijven wat vergelijkbaar is met een index in een AVI\&. +Matroska(TM) +bestanden kunnen worden afgespeeld zonder volg document(en) (cue), maar dat kan leiden tot onnauwkeurigheid of traag zoeken\&. Gebruik dit alleen als je echt wanhopig bent qua ruimte of voor test doeleinden\&. Zie ook de optie +\fBvolg document(en) (cue)\fR +welke opgegeven kan worden voor elk invoer bestand\&. +.RE +.PP +\fB\-\-clusters\-in\-meta\-seek\fR +.RS 4 +Vertelt +\fBmkvmerge\fR(1) +een meta element te cre\(:eren aan het eind van het bestand dat alle clusters bevat\&. Zie ook de sectie over de +Matroska(TM) bestand layout\&. +.RE +.PP +\fB\-\-disable\-lacing\fR +.RS 4 +Zet het aaneenkoppelen uit voor alle sporen\&. Dit zal de bestandsgrootte verhogen, speciaal wanneer er veel audio sporen zijn\&. Deze optie is niet bedoeld voor dagelijks gebruik\&. +.RE +.PP +\fB\-\-enable\-durations\fR +.RS 4 +Duur schrijven voor alle blokken\&. Dit zal de bestandsgrootte verhogen en geeft geen extra waarde aan afspelers van dit moment\&. +.RE +.PP +\fB\-\-timecode\-scale\fR \fIfactor\fR +.RS 4 +Forceert de tijdcode schaal factor naar +\fIfactor\fR\&. Geldige bereik waardes zijn +\fB1000\fR\&.\&.\fB10000000\fR +of de speciale waarde +\fB\-1\fR\&. +.sp +Normaal zal +\fBmkvmerge\fR(1) +een waarde gebruiken van +\fB1000000\fR +wat inhoudt, dat de tijd codes en duren een precisie hebben van 1ms\&. Voor bestanden die geen video maar minstends \('e\('en audio spoor bevatten, zal +\fBmkvmerge\fR(1) +automatisch de tijd code schaal factor kiezen, zodat alle tijd codes en duren een precisie hebben van \('e\('en audio voorbeeld\&. Dit veroorzaakt een grotere overhead maar staat een betere zoek en extractie precisie toe\&. +.sp +Als de speciale waarde +\fB\-1\fR +is gebruikt, dan zal +\fBmkvmerge\fR(1) +een voorbeeld precisie gebruiken zelfs als er een video spoor aanwezig is\&. +.RE +.PP +Bestand splitsen, linken en toevoegen (meer globale opties): +.PP +\fB\-\-split\fR \fIspecification\fR +.RS 4 +Splits het uitvoer bestand na een opgegeven grootte of tijd\&. Opmerking, sporen kunnen all\('e\('en direct voor een sleutel beeld gesplitst worden\&. Vanwege het bufferen zal +\fBmkvmerge\fR(1) +als een splitspunt wordt bereikt, direct voor het volgende sleutel beeld gaan splitsen\&. Daarom kunnen de splitspunten enigzins afwijken van wat de gebruiker op gaf\&. +.sp +Op het moment ondersteunt +\fBmkvmerge\fR(1) +drie verschillende modes\&. +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +Splitsen op grootte\&. +.sp +Ingave: +\fB\-\-split\fR +[size:]\fId\fR[k|m|g] +.sp +Voorbeelden: +\-\-split size:700m +of +\-\-split 150000000 +.sp +De parameter +\fId\fR +kan eindigen met \*(Aqk\*(Aq, \*(Aqm\*(Aq of \*(Aqg\*(Aq ter indicatie dat de grootte respectievelijk wordt aangegeven in KB, MB of GB\&. Anders wordt een grootte in Bytes verondersteld\&. Nadat een uitvoer bestand zijn limiet heeft bereikt wordt er een andere aangemaakt\&. +.sp +De \*(Aqsize:\*(Aq mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +Splitsen na een duur van\&. +.sp +Ingave: +\fB\-\-split\fR +[duration:]\fIHH:MM:SS\&.nnnnnnnnn\fR|\fId\fRs +.sp +Voorbeeld: +\-\-split duration:00:60:00\&.000 +of +\-\-split 3600s +.sp +De parameter moet \('e\('en van beiden de vormen hebben +\fIHH:MM:SS\&.nnnnnnnnn\fR +voor het specificeren van de duur tot in de precisie van een nanoseconde of een nummer +\fId\fR +gevolgd door een letter \*(Aqs\*(Aq voor de duur in seconden\&. +\fIHH\fR +is het aantal uren, +\fIMM\fR +het aantal minuten, +\fISS\fR +het aantal seconden en +\fInnnnnnnnn\fR +het aantal nanoseconden\&. Zowel de uren alsmede de nanoseconden mogen weggelaten worden\&. Er mogen tot aan negen nummers opgegeven worden na de decimale punt\&. Nadat de duur van van de huidige inhoud deze limiet bereikt heeft, wordt er een nieuw uitvoer bestand gestart\&. +.sp +De \*(Aqduration:\*(Aq mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +Splitsen na een specifieke tijdcode\&. +.sp +Ingave: +\fB\-\-split\fR +timecodes:\fIA\fR[,\fIB\fR[,\fIC\fR\&.\&.\&.]] +.sp +Voorbeeld: +\-\-split timecodes:00:45:00\&.000,01:20:00\&.250,6300s +.sp +De parameters +\fIA\fR, +\fIB\fR, +\fIC\fR +etc\&. moeten allen dezelfde indeling hebben als de duur (zie hierboven)\&. De lijst van tijd codes is komma gesepareerd\&. Nadat de uitvoer stroom zijn huidige splits tijdcode limiet heeft bereikt wordt er een nieuw bestand gere\(:eerd\&. Daarna wordt het volgende splits punt gebruikt van de gebruikte lijst\&. +.sp +Het \*(Aqtimecodes:\*(Aq voorvoegsel mag niet wegelaten worden\&. +.RE +.sp +Voor deze splits mode wordt het uitvoer bestand anders behandeld dan onder de normale werking\&. Het mag bevatten een +\fBprintf\fR +zoals uitgedrukt \*(Aq%d\*(Aq inclusief een optioneel veld, b\&.v\&. \*(Aq%02d\*(Aq\&. Indien dit het geval is, zal het huidige bestandsaantal geschikt worden geformatteerd en op dat punt in het bestandsnaam worden ingevoegd\&. Is er geen dergelijk patroon dan wordt een patroon van \*(Aq\-%03d\*(Aq aangenomen direct voor de bestand extensie: \*(Aq\-o output\&.mkv\*(Aq zou resulteren in \*(Aqoutput\-001\&.mkv\*(Aq en zo verder\&. Is er geen extensie dan zal \*(Aq\-%03d\*(Aq worden toegevoegd aan de naam\&. +.RE +.PP +\fB\-\-link\fR +.RS 4 +Bestanden linken aan een ander tijdens het splitsen van het uitvoer bestand\&. Zie de sectie op +bestand linken/verbinden +onderstaand voor details\&. +.RE +.PP +\fB\-\-link\-to\-previous\fR \fIsegment\-UID\fR +.RS 4 +Verbindt het laatste uitvoerbestand met het segment UID ingegeven door +\fIsegment\-UID\fR +parameter\&. Zie de sectie op +bestand linken/verbinden +onderstaand voor details\&. +.RE +.PP +\fB\-\-link\-to\-next\fR \fIsegment\-UID\fR +.RS 4 +Verbindt het laatste uitvoerbestand met het segment UID ingegeven door +\fIsegment\-UID\fR +parameter\&. Zie de sectie op +bestand linken/verbinden +onderstaand voor details\&. +.RE +.PP +\fB\-\-append\-mode\fR \fImode\fR +.RS 4 +Calculeert hoe tijd codes worden berekend wanneer die worden toevoegd aan een bestand\&. De parameter +\fImode\fR +kan twee waardes bevatten: \*(Aqfile\*(Aq welke ook standaard is en \*(Aqtrack\*(Aq\&. +.sp +Wanneer mkvmerge een spoor toevoegt (genoemd \*(Aqtrack2_1\*(Aq vanaf nu) van een tweede bestand (genoemd \*(Aqfile2\*(Aq) naar een spoor (genoemd \*(Aqtrack1_1\*(Aq) van het eerste bestand (genoemd \*(Aqfile1\*(Aq) dan moet het alle tijd codes compenseren voor \*(Aqtrack2_1\*(Aq met een bepaalde hoeveelheid\&. Voor \*(Aqfile\*(Aq mode is deze hoeveelheid de hoogste tegengekomen tijd code in \*(Aqfile1\*(Aq\&. zelfs wanneer die tijd code van een ander spoor is dan \*(Aqtrack1_1\*(Aq\&. In spoor mode de is compensatie de hoogste tijd code van \*(Aqtrack1_1\*(Aq\&. +.sp +Helaas kan mkvmerge niet detecteren welke mode betrouwbaar is\&. Daarom zet het de standaard waarde naar \*(Aqfile\*(Aq mode\&. \*(Aqfile\*(Aq mode werkt gewoonlijk beter voor bestanden indien die onafhankelijk van elkaar werden gemaakt; b\&.v\&. het toevoegen van +AVI +of +MP4 +bestanden\&. \*(Aqtrack\*(Aq mode zou beter werken voor bronnen die hoofdzakelijk een deel van \('e\('en groot bestand zijn, b\&.v\&. voor +VOB +en +EVO +bestanden\&. +.sp +Hoofdstuk sporen worden altijd behandeld alsof \*(Aqfile\*(Aq mode actief is en zelfs wanneer \*(Aqtrack\*(Aq mode actueel is\&. +.RE +.PP +\fB\-\-append\-to\fR \fISFID1:STID1:DFID1:DTID1\fR\fI[,\&.\&.\&.]\fR +.RS 4 +Deze optie controleert welk spoor aan welk ander spoor moet worden toegevoegd (bestand wordt dubbel zo groot)\&. Elke specificatie bevat vier ID\*(Aqs: een bestand ID, een spoor ID, een tweede bestand ID en een tweede spoor ID\&. Het eerste paar, "source file ID" en "source track ID", identificeert het spoor dat moet worden toegevoegd\&. Het tweede paar, "destination file ID" en "destination track ID", identificeert het spoor waaraan de eerste is toegevoegd\&. +.sp +Als deze optie weggelaten wordt dan wordt een standaard indeling gebruikt\&. Deze standaard indeling voegt elk spoor van het huidige bestand toe aan een spoor van het vorige bestand met hetzelfde spoor ID\&. Dit staat het makkelijk toevoegen toe indien een film gesplitst is in twee delen en beide bestanden dezelfde aantal sporen en spoor ID\*(Aqs hebben, met het commando +\fBmkvmerge \-o output\&.mkv part1\&.mkv +part2\&.mkv\fR\&. +.RE +.PP +\fB+\fR +.RS 4 +Een enkele \*(Aq+\*(Aq veroorzaakt dat het volgende bestand wordt bijgevoegd (bestand wordt dubbel zo groot) i\&.p\&.v toegevoegd\&. De \*(Aq+\*(Aq kan worden ingegeven voor elk volgende bestandsnaam\&. Daarom zijn de volgende twee commando\*(Aqs gelijkwaardig: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o full\&.mkv file1\&.mkv + file2\&.mkv +$ mkvmerge \-o full\&.mkv file1\&.mkv +file2\&.mkv + +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fB=\fR +.RS 4 +Normaal kijkt mkvmerge naar bestanden in dezelfde map welke dezelfde basis naam bevatten maar alleen verschillen van volgordenummer (b\&.v\&. \*(AqVTS_01_1\&.VOB\*(Aq, \*(AqVTS_01_2\&.VOB\*(Aq, \*(AqVTS_01_3\&.VOB\*(Aq etc)\&. Deze optie, een enkele \*(Aq=\*(Aq maakt dat mkvmerge niet kijkt naar die extra bestanden\&. +.sp +De \*(Aq=\*(Aq kan ook worden ingegeven voor elk volgende bestandsnaam\&. Daarom zijn de volgende twee commando\*(Aqs gelijkwaardig: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o full\&.mkv = file1\&.mkv +$ mkvmerge \-o full\&.mkv =file1\&.mkv + +.fi +.if n \{\ +.RE +.\} +.RE +.PP +Bijlage ondersteuning (meer globale opties): +.PP +\fB\-\-attachment\-description\fR \fIdescription\fR +.RS 4 +Normale tekst beschrijving van de volgende bijlage\&. Is van toepassing op het volgende +\fB\-\-attach\-file\fR +of +\fB\-\-attach\-file\-once\fR +optie\&. +.RE +.PP +\fB\-\-attachment\-mime\-type\fR \fIMIME type\fR +.RS 4 + +MIME +type van de volgende bijlage\&. Is van toepassing op de volgende +\fB\-\-attach\-file\fR +of +\fB\-\-attach\-file\-once\fR +optie\&. Een lijst van offici\(:ele herkende +MIME +typen kan gevonden worden b\&.v\&. op de +\m[blue]\fBIANA\fR\m[]\&\s-2\u[2]\d\s+2 +thuisbasis\&. Het +MIME +type is verplicht voor een bijlage\&. +.RE +.PP +\fB\-\-attachment\-name\fR \fIname\fR +.RS 4 +Stelt de naam in voor deze bijlage welke wordt opgeslagen in het uitvoer bestand\&. Als deze optie niet is opgegeven dan zal de naam worden afgeleid van de naam van de bijlage zoals gegeven met de +\fB\-\-attach\-file\fR +of de +\fB\-\-attach\-file\-once\fR +optie\&. +.RE +.PP +\fB\-\-attach\-file\fR \fIfile\-name\fR, \fB\-\-attach\-file\-once\fR \fIfile\-name\fR +.RS 4 +Cre\(:eert een bestandsbijlage binnenin het +Matroska(TM) +bestand\&. Het +MIME +type moet ingesteld zijn voordat deze optie gebruikt kan worden\&. Het verschil tussen deze twee vormen is, dat tijdens het splitsen van de bestanden vastgemaakt met +\fB\-\-attach\-file\fR +aan alle uitvoerbestanden zijn vastgemaakt terwijl degene vastgemaakt met de +\fB\-\-attach\-file\-once\fR +alleen zijn vastgemaakt aan het eerste bestand\&. Is splitsen niet gebruikt dan doen beide hetzelfde\&. +.sp + +\fBmkvextract\fR(1) +kan worden gebruikt om bestanden uit een +Matroska(TM) +bestand te halen\&. +.RE +.PP +Opties welke gebruikt kunnen worden voor elk invoer bestand: +.PP +\fB\-a\fR, \fB\-\-audio\-tracks\fR \fIn,m,\&.\&.\&.\fR +.RS 4 +Kopieer de audio sporen +\fIn\fR, +\fIm\fR +etc\&. De nummers zijn track ID\*(Aqs welke verkregen kunnen worden met de +\fB\-\-identify\fR +schakelaar\&. Zij zijn simpelweg niet de spoor nummers (zie sectie +spoor ID\*(Aqs)\&. Standaard: Kopieer alle audio sporen\&. +.RE +.PP +\fB\-d\fR, \fB\-\-video\-tracks\fR \fIn,m,\&.\&.\&.\fR +.RS 4 +Kopieer de video sporen +\fIn\fR, +\fIm\fR +etc\&. De nummers zijn track ID\*(Aqs welke kunnen worden verkregen met de +\fB\-\-identify\fR +schakelaar\&. Zij zijn simpelweg niet de spoor nummers (sie sectie +spoor ID\*(Aqs)\&. Standaard: Kopieer alle video sporen\&.\&. +.RE +.PP +\fB\-s\fR, \fB\-\-subtitle\-tracks\fR \fIn,m,\&.\&.\&.\fR +.RS 4 +Kopieer de ondertitel sporen +\fIn\fR, +\fIm\fR +etc\&. De nummers zijn track ID\*(Aqs welke kunnen worden verkregen met de +\fB\-\-identify\fR +schakelaar\&. Zij zijn simpelweg niet de spoor nummers (zie sectie +spoor ID\*(Aqs)\&. Standaard: Kopieer alle ondertitel sporen\&. +.RE +.PP +\fB\-b\fR, \fB\-\-button\-tracks\fR \fIn,m,\&.\&.\&.\fR +.RS 4 +Kopieer de knop sporen\fIn\fR, +\fIm\fR +etc\&. De nummers zijn track ID\*(Aqs welke kunnen worden verkregen met de +\fB\-\-identify\fR +schakelaar\&. Zij zijn simpelweg niet de spoor nummerss (zie sectie +spoor ID\*(Aqs)\&. Standaard: Kopieer alle knop sporen\&. +.RE +.PP +\fB\-\-track\-tags\fR \fIn,m,\&.\&.\&.\fR +.RS 4 +Kopieer de markeringen voor sporen +\fIn\fR, +\fIm\fR +etc\&. De nummers zijn track ID\*(Aqs welke kunnen worden verkregen met de +\fB\-\-identify\fR +schakelaar (zie sectie +spoor ID\*(Aqs)\&. Zij zijn simpelweg niet de spoor nummers\&. Standaard: Kopieer alle markering sporen\&. +.RE +.PP +\fB\-m\fR, \fB\-\-attachments\fR \fIn\fR\fI[:all|first]\fR\fI,m\fR\fI[:all|first]\fR\fI,\&.\&.\&.\fR +.RS 4 +Kopieer de bijlagen met de ID\*(Aqs +\fIn\fR, +\fIm\fR +etc, naar allen of alleen het eerste uitvoer bestand\&. Elk ID kan opgevolgd worden door \*(Aq:all\*(Aq (welke standaard is, als geen van twee is opgegeven) of \*(Aq:first\*(Aq\&. Als het splitsen actief is, dan zullen die bijlagen waarvan de ID\*(Aqs zijn gespecificeerd met \*(Aq:all\*(Aq worden gekopieerd naar alle resulterende uitvoer bestanden, terwijl de anderen alleen gekopieerd worden naar het eerste uitvoerbestand\&. Als splitsen niet actief is, dan hebben beide varianten hetzelfde effect \&. +.sp +Standaard is, kopieer alle bijlagen naar alle uitvoer bestanden\&. +.RE +.PP +\fB\-A\fR, \fB\-\-no\-audio\fR +.RS 4 +Kopieer geen enkel audio spoor van dit bestand\&. +.RE +.PP +\fB\-D\fR, \fB\-\-no\-video\fR +.RS 4 +Kopieer geen enkel video spoor van dit bestand\&. +.RE +.PP +\fB\-S\fR, \fB\-\-no\-subtitles\fR +.RS 4 +Kopieer geen enkel ondertitel spoor van dit bestand\&. +.RE +.PP +\fB\-B\fR, \fB\-\-no\-buttons\fR +.RS 4 +Kopieer geen enkel knop spoor van dit bestand\&. +.RE +.PP +\fB\-T\fR, \fB\-\-no\-track\-tags\fR +.RS 4 +Kopieer geen enkel spoor\-specifieke markeringen van dit bestand\&. +.RE +.PP +\fB\-\-no\-chapters\fR +.RS 4 +Kopieer geen hoofdstukken van dit bestand\&. +.RE +.PP +\fB\-M\fR, \fB\-\-no\-attachments\fR +.RS 4 +Kopieer geen bijlagen van dit bestand\&. +.RE +.PP +\fB\-\-no\-global\-tags\fR +.RS 4 +Kopieer geen globale markeringen van dit bestand\&. +.RE +.PP +\fB\-\-chapter\-charset\fR \fIcharacter\-set\fR +.RS 4 +Stelt de karakter set in, die gebruikt wordt voor de conversie naar UTF\-8 voor de hoofdstuk informatie die zich bevindt in het bronbestand\&. Zie de sectie overtekst bestanden en karakter set\*(Aqs +voor een uitleg hoe +\fBmkvmerge\fR(1) +converteert tussen de karakter set\*(Aqs\&. +.RE +.PP +\fB\-\-chapter\-language\fR \fIlanguage\-code\fR +.RS 4 +Zet de ISO639\-2 taal code, welke wordt geschreven voor elk hoofdstuk ingang\&. Deze optie kan gebruikt worden, voor bronbestanden welke hoofdstuk informatie bevatten maar g\('e\('en informatie over de talen, b\&.v\&. for MP4 en OGM bestanden\&. +.RE +.PP +\fB\-y\fR, \fB\-\-sync\fR \fITID:d\fR\fI[,o[/p]]\fR +.RS 4 +Stelt de tijd code\*(Aqs bij van het spoor met het id +\fITID\fR +met +\fId\fR +ms\&. De spoor ID\*(Aqs zijn hetzelfde als degene gegeven met +\fB\-\-identify\fR +(zie sectie +spoor ID\*(Aqs)\&. +.sp + +\fIo\fR/\fIp\fR: Stel de tijd code\*(Aqs bij met +\fIo\fR/\fIp\fR +om lineaire driften te corrigeren\&. +\fIp\fR +standaard naar 1 indien weggelaten\&. Beide +\fIo\fR +en +\fIp\fR +kunnen een veranderbaar nummer zijn\&. +.sp +Standaard: geen handmatige sync correctie (wat hetzelfde is als +\fId\fR += +\fB0\fR +en +\fIo\fR/\fIp\fR += +\fB1\&.0\fR)\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +\fB\-\-cues\fR \fITID:none|iframes|all\fR +.RS 4 +Controle voor welke sporen cue (index) ingangen worden gere\(:eerd voor een opgegeven spoor (zie sectie +Spoor ID\*(Aqs)\&. \*(Aqnone\*(Aq remt het cre\(:eren van volg document(en) (cue) af\&. Voor \*(Aqiframes\*(Aq all\('e\('en blokken zonder voor of achteruit referenties ( = I beelden in video sporen) worden ingevoerd in het \*(Aqvolg document(en) (cue)\*(Aq\&. \*(Aqall\*(Aq zorgt ervoor dat +\fBmkvmerge\fR(1) +aanmaakt, volg document(en) (cue) voor alle blokken welke het bestand erg groot maakt\&. +.sp +Standaard is \*(Aqiframes\*(Aq voor video sporen en \*(Aqnone\*(Aq voor alle anderen\&. Zie ook opties +\fB\-\-no\-cues\fR +welke verwezenlijken het cre\(:eren van volg document(en) (cue) ongeacht de +\fB\-\-cues\fR +gebruikte opties\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +\fB\-\-default\-track\fR \fITID\fR\fI[:bool]\fR +.RS 4 +Zet de \*(Aqstandaard\*(Aq markering voor een gegeven spoor (zie sectie +spoor ID\*(Aqs) als het optionele argument +\fIbool\fR +niet aanwezig is\&. Als de gebruiker niet zelf uitdrukkelijk een spoor selecteert, dan zou de afspeler een spoor prefereren dat zijn \*(Aqstandaard\*(Aq markering heeft\&. Alleen \('e\('en spoor van elk soort (audio, video, ondertitels, knoppen) kunnen deze \*(Aqstandaard\*(Aq markering gezet hebben\&. Indien een gebruiker geen spoor wenst te hebben met een standaard spoor markering gezet, dan moet hij zetten +\fIbool\fR +naar +\fB0\fR +voor alle sporen\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +\fB\-\-forced\-track\fR \fITID\fR\fI[:bool]\fR +.RS 4 +Stelt de \*(Aqgeforceerde\*(Aq markering in voor een gegeven spoor (zie sectie +spoor ID\*(Aqs) als het optionele argument +\fIbool\fR +niet aanwezig is\&. En afspeler moet alle sporen afspelen waarvan deze markering is gezet +\fB1\fR\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +\fB\-\-blockadd\fR \fITID:level\fR +.RS 4 +Houd alleen de +BlockAdditions +tot aan niveau +\fIlevel\fR +voor het opgegeven spoor\&. Standaard is alle niveau\*(Aqs\&. Deze optie heeft alleen effect op sommige codecs zoals WAVPACK4\&. +.RE +.PP +\fB\-\-track\-name\fR \fITID:name\fR +.RS 4 +Stelt het spoor naam in van een gegeven spoor (zie sectie +spoor ID\*(Aqs) naar +\fInaam\fR\&. +.RE +.PP +\fB\-\-language\fR \fITID:language\fR +.RS 4 +Stelt de taal in voor het opgegeven spoor (zie sectie +spoor ID\*(Aqs)\&. Beide ISO639\-2 taal codes en ISO639\-1 land codes zijn toegestaan\&. De land code wordt automatisch vertaald naar taal code\&. Alle talen inclusief hun ISO639\-2 codes kunnen uitgelijst worden met +\fB\-\-list\-languages\fR +optie\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +\fB\-t\fR, \fB\-\-tags\fR \fITID:file\-name\fR +.RS 4 +Leest de markeringen in van het spoor met het nummer +\fITID\fR +van het bestand +\fIfile\-name\fR\&. Zie de sectie over +markeringen +hieronder voor details\&. +.RE +.PP +\fB\-\-aac\-is\-sbr\fR \fITID\fR\fI[:0|1]\fR +.RS 4 +Vertelt +\fBmkvmerge\fR(1) +dat het spoor met het ID +\fITID\fR +een +SBR AAC +is (ook bekend als +HE\-AAC +of een +AAC+)\&. Deze optie is nodig als a) een bron bestand een +AAC +bestand is (\fIniet\fR +voor een +Matroska(TM) +bestand) en b) het +AAC +bestand bevat +SBR AAC +data\&. De reden voor deze schakelaar is, dat het normaal technisch niet mogelijk is, automatisch te vertellen dat +AAC +data van +SBR AAC +data zonder deze volledig te decoderen van eenAAC +beeld\&. Aangezien er verscheidene octrooi/patent kwesties zijn met +AAC +decoders zal +\fBmkvmerge\fR(1) +nooit dit decodeer stadium bevatten\&. Dus voor +SBR AAC +bestanden is deze schakelaar een vereiste\&. Het resulterende bestand zou niet correct afgespeeld kunnen worden of zelfs helemaal niet, wanneer deze schakelaar werd weggelaten\&. +.sp +Als het bron bestand een +Matroska(TM) +bestand is, dan zou de +CodecID +genoeg moeten zijn om deze +SBR AAC +te detecteren\&. Hoewel, als de +CodecID +verkeerd is, dan kan deze schakelaar gebruikt worden om dat te corrigeren\&. +.sp +Als mkvmerge verkeerd detecteert dat een +AAC +bestand een +SBR +is, dan kan je toevoegen \*(Aq:0\*(Aq aan het spoor ID\&. +.RE +.PP +\fB\-\-timecodes\fR \fITID:file\-name\fR +.RS 4 +Leest de te gebruiken tijd code\*(Aqs in voor een specifiek spoor ID van +\fIfile\-name\fR\&. Deze krachtige tijd code\*(Aqs heffen de tijd code\*(Aqs die +\fBmkvmerge\fR(1) +normaal berekend op\&. Lees de sectie over +externe tijd code bestanden\&. +.RE +.PP +\fB\-\-default\-duration\fR \fITID:x\fR +.RS 4 +Forceert de standaard duur van een gegeven spoor naar de gegeven waarde\&. Tevens de spoor tijdcode aanpast zodat die overeenkomt met de standaard duur\&. Het argument +\fIx\fR +moet zijn vastgezet met \*(Aqs\*(Aq, \*(Aqms\*(Aq, \*(Aqus\*(Aq, \*(Aqns\*(Aq of \*(Aqfps\*(Aq om te specificeren de standaard duur in seconden, milliseconden, microseconden, nanoseconden of respectievelijk de \*(Aq\*(Aqbeelden per seconde\*(Aq (fps)\&. Het aantal +\fIx\fR +kan zelf een veranderbaar nummer ziijn of een fractie\&. +.sp +Als de standaard duur niet is geforceerd, dan zal mkvmerge proberen te achterhalen de standaard spoor duur van de houder en/of de gebruikte codec\&. E\('en geval waarin deze optie in gebruik is, is bij het toevoegen van +AVC/h\&.264 +elementaire stromen, omdat deze g\('e\('en informatie bevatten over de standaard aantal beelden per seconde (fps) of een standaard duur van elk beeld\&. Voor dergelijke bestanden neemt +\fBmkvmerge\fR(1) +aan een standaard duur van \*(Aq25fps\*(Aq tenzij dit overegeld is\&. +.sp +Deze optie kan ook gebruikt worden om de +FPS +(beelden per seconde) te veranderen van video sporen zonder een extern tijdcode bestand te hoeven gebruiken\&. +.RE +.PP +\fB\-\-nalu\-size\-length\fR \fITID:n\fR +.RS 4 +Forceert de +NALU +lengte grootte naar +\fIn\fR +bytes\&. Deze parameter wordt alleen gebruikt als de +AVC/h\&.264 +elementaire stroom inpakker is gebruikt\&. Indien weggelaten is de standaard waarde 4 bytes, maar er zijn bestanden die beelden of delen bevatten die kleiner zijn dan 65536 bytes\&. Voor dergelijke bestanden kan je deze parameter gebruiken en de grootte verminderen naar 2\&. +.RE +.PP +\fB\-\-compression\fR \fITID:n\fR +.RS 4 +Selecteert de te gebruiken compressie methode in voor het spoor\&. Opmerking: de afspeler dient deze methode ook te ondersteunen\&. Geldige waarden zijn \*(Aqnone\*(Aq, \*(Aqzlib\*(Aq, \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq, \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq en \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq\&. De waarden \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq en \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq zijn all\('e\('en beschikbaar als +\fBmkvmerge\fR(1) +is gecompileerd met de ondersteuning voor de +liblzo(TM) +respectievelijk +bzlib(TM) +compressie bibliotheken\&. +.sp +De compressie methode \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq is een speciale compressie methode genoemd \*(Aqheader removal\*(Aq die is all\('e\('en beschikbaar voorMPEG4 +deel 2 video sporen\&. +.sp +Standaard voor sommige ondertitels zijn \*(Aqzlib\*(Aq compressie\&. Deze compressie wordt door bijna alle afspelers ondersteund zoniet allen\&. Ondersteuning voor andere compressie methoden anders dan \*(Aqnone\*(Aq is niet verzekerd\&. +.RE +.PP +Opties die alleen op video sporen van toepassing zijn: +.PP +\fB\-f\fR, \fB\-\-fourcc\fR \fITID:FourCC\fR +.RS 4 +Forceert de +FourCC +naar de opgegeven waarde\&. Werkt all\('e\('en voor video sporen in de \*(AqMS verenigbare mode\*(Aq\&. +.RE +.PP +\fB\-\-display\-dimensions\fR \fITID:widthxheight\fR +.RS 4 + +Matroska(TM) +bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte\&. Deze waaren worden ingesteld met deze optie, b\&.v\&. \*(Aq1:640x480\*(Aq\&. +.sp +Een andere manier om de te gebruiken waarden te specificeren is +\fB\-\-aspect\-ratio\fR +of de +\fB\-\-aspect\-ratio\-factor\fR +optie (zie hieronder)\&. Deze opties zijn wederzijds \- exclusief\&. +.RE +.PP +\fB\-\-aspect\-ratio\fR \fITID:ratio|width/height\fR +.RS 4 + +Matroska(TM) +bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte\&. Met deze optie zal +\fBmkvmerge\fR(1) +automatisch calculeren de scherm breedte en de scherm hoogte gebaseerd, op de orginele beelden/plaatjes breedte en hoogte en de opgegeven verwachte verhouding met deze optie\&. De verhouding kan \('e\('en van beiden zijn een veranderbaar nummer +\fIverhouding\fR +of als een fractie \*(Aq\fIbreedte\fR/\fIhoogte\fR\*(Aq, b\&.v\&. \*(Aq16/9\*(Aq\&. +.sp +Een andere manier om de te gebruiken waarden te specificeren is +\fB\-\-aspect\-ratio\-factor\fR +of +\fB\-\-display\-dimensions\fR +opties (zie hieronder en hierboven)\&. Deze opties zijn wederzijds \- exclusief\&. +.RE +.PP +\fB\-\-aspect\-ratio\-factor\fR \fITID:factor|n/d\fR +.RS 4 +Een andere manier om de verwachtte verhouding te specificeren is een +\fIfactor\fR\&. De orginele verwachtte verhouding factor wordt eerst vermeningvuldigd met deze +\fIfactor\fR +en daarna gebruikt als doel verhouding\&. +.sp +Een andere manier om de te gebruiken waarden te specificeren is +\fB\-\-aspect\-ratio\fR +of +\fB\-\-display\-dimensions\fR +opties (zie boven)\&. Deze opties zijn wederzijds \- exclusief\&. +.RE +.PP +\fB\-\-cropping\fR \fITID:left,top,right,bottom\fR +.RS 4 +Stelt de video spoor uitsnij paramters in naar een gegeven waarden\&. +.RE +.PP +\fB\-\-stereo\-mode\fR \fITID:n|keyword\fR +.RS 4 +Stelt de video mode in voor het video spoor met het spoor ID +\fITID\fR\&. Deze mode kan zijn een nummer +\fIn\fR +tussen +\fB0\fR +en +\fB11\fR +of \('e\('en van de volgende: +.sp +\*(Aqmono\*(Aq, \*(Aqside_by_side_left_first\*(Aq, \*(Aqtop_bottom_right_first\*(Aq, \*(Aqtop_bottom_left_first\*(Aq, \*(Aqcheckboard_right_first\*(Aq, \*(Aqcheckboard_left_first\*(Aq, \*(Aqrow_interleaved_right_first\*(Aq, \*(Aqrow_interleaved_left_first\*(Aq, \*(Aqcolumn_interleaved_right_first\*(Aq, \*(Aqcolumn_interleaved_left_first\*(Aq, \*(Aqanaglyph\*(Aq, \*(Aqside_by_side_right_first\*(Aq\&. +.RE +.PP +Opties alleen geldig voor tekst ondertitel sporen: +.PP +\fB\-\-sub\-charset\fR \fITID:character\-set\fR +.RS 4 +Stelt de karakter set conversie in naar UTF\-8 voor UTF\-8 ondertitels van een opgegeven spoor ID\&. Indien niet opgegeven, dan worden de huidig verkregen besturingssysteem lokatie gebruikt\&. Opmerking: een karakter set voor ondertitels is niet nodig wanneer er gelezen wordt vanuit een +Matroska(TM) +bestand of van Kate stromen, omdat deze altijd zijn opgeslagen in het UTF\-8 format\&. Zie de sectie over +tekst bestanden en karakter sets +voor een uitleg hoe +\fBmkvmerge\fR(1) +converteert tussen de verschillende karakter sets\&. +.sp +Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren\&. +.RE +.PP +Andere opties: +.PP +\fB\-i\fR, \fB\-\-identify\fR \fIfile\-name\fR +.RS 4 +Zal +\fBmkvmerge\fR(1) +(met een sonde) een enkel bestand aftasten en het type rapporteren, de sporen in het bestand en hun spoor ID\*(Aqs\&. Als deze optie wordt gebruikt dan is de enige andere toegestane optie de bestandsnaam\&. +.RE +.PP +\fB\-I\fR, \fB\-\-identify\-verbose\fR \fIfile\-name\fR +.RS 4 +Zal +\fBmkvmerge\fR(1) +(met een sonde) een enkel bestand aftasten en het type rapporteren, de sporen in het bestand en hun spoor ID\*(Aqs\&. Als deze optie wordt gebruikt dan is de enige andere toegestane optie de bestandsnaam\&. +.sp +Deze optie maakt dat +\fBmkvmerge\fR(1) +extra informatie uitvoert over de inhoud en elk spoor\&. De extra informatie staat tussen haken ( [] )\&. Het bevat een spatie gescheiden sleutel/waarde paar, waar de sleutel en waarde\*(Aqs zijn gescheiden door een dubbel punt (:)\&. +.sp +Elke waarde wordt overgeslagen conform de regels beschreven in +de sectie over overslaan van speciale karakters in een tekst\&. +.RE +.PP +\fB\-l\fR, \fB\-\-list\-types\fR +.RS 4 +Somt invoer bestandstypen op\&. +.RE +.PP +\fB\-\-list\-languages\fR +.RS 4 +Somt alle talen en hun ISO639\-2 code\*(Aqs op welke gebruikt kunnen worden met de +\fB\-\-language\fR +optie\&. +.RE +.PP +\fB\-\-priority\fR \fIpriority\fR +.RS 4 +Stelt de proces prioriteit in waarmee +\fBmkvmerge\fR(1) +zijn werk doet\&. Geldige waarden zijn \*(Aqlowest\*(Aq, \*(Aqlower\*(Aq, \*(Aqnormal\*(Aq, \*(Aqhigher\*(Aq en \*(Aqhighest\*(Aq\&. Is niets ingegeven dan wordt \*(Aqnormal\*(Aq gebruikt\&. Op unix achtige systemen zal +\fBmkvmerge\fR(1) +gebruiken de +\fBnice\fR(2) +functie\&. Daarom kan all\('e\('en de \*(Aqsuper\*(Aq gebruiker die gebruiken \*(Aqhigher\*(Aq en \*(Aqhighest\*(Aq\&. Op Windows zijn alle waarden voor iedereen beschikbaar\&. +.RE +.PP +\fB\-\-command\-line\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Plaatst het karakter dat wordt geplaatst om de reeksen om te zetten die op de commandoregel worden ingeven\&. Het is standaard aan het karakter van het systeem en afhankelijk van de besturingssysteem lokatie\&. Deze instellingen zijn van toepassing op argumenten van de volgende opties: +\fB\-\-title\fR, +\fB\-\-track\-name\fR +en +\fB\-\-attachment\-description\fR\&. +.RE +.PP +\fB\-\-output\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-r\fR, \fB\-\-redirect\-output\fR \fI(bestandsnaam)\fR +.RS 4 +Schrijft alle berichten naar een bestand +\fIfile\-name\fR +i\&.p\&.v naar het \*(Aqapparaat/houder\*(Aq\&. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e\&.e\&.a her\-interpreteert voordat het geschreven wordt naar het uitvoer bestand\&. De karakter set met +\fB\-\-output\-charset\fR +is toegewezen\&. +.RE +.PP +\fB\-\-ui\-language\fR \fIcode\fR +.RS 4 +Forceert de vertaling voor de te gebruiken taal +\fIcode\fR +(b\&.v\&. \*(Aqde_DE\*(Aq voor de Duitse taal)\&. Het heeft de voorkeur de \*(Aqomgevings variabelen\*(Aq te gebruiken +\fILANG\fR, +\fILC_MESSAGES\fR +en +\fILC_ALL\fR +Hoewel opvragen van een \*(Aqlist\*(Aq voor een land +\fIcode\fR +zal er voor zorgen dat +\fBmkvextract\fR(1) +een lijst zal uitvoeren van alle beschikbaren vertalingen\&. +.RE +.PP +\fB@\fRoptie\*(Aqs\-bestand +.RS 4 +Leest extra commandoregel argumenten in van een bestand +\fIoptions\-file\fR\&. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) (\*(Aq#\*(Aq) worden behandeld als commentaar en genegeerd\&. Een spatie aan het begin en einde van een regel worden verwijderd\&. Elke regel mag excact \('e\('en waarde bevatten +.sp +Verschillende karakters kunnen worden overgeslagen, b\&.v\&. als het nodig is een niet commentaar regel te starten met \*(Aq#\*(Aq\&. Deze regels worden beschreven in +de sectie over overslaan van tekst\&. +.sp +De commandoregel \*(Aq\fBmkvmerge \-o "mijn bestand\&.mkv" \-A "een film\&.avi" geluid\&.ogg\fR\*(Aq kan geconverteerd worden naar het volgende optie bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Write to the file "mijn bestand\&.mkv"\&. +\-o +my file\&.mkv +# Only take the video from "een film\&.avi"\&. +\-A +een film\&.avi +geluid\&.ogg + +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fB\-\-capabilities\fR +.RS 4 +Somt informtie op over optionele mogelijkheden die zijn gecompileerd en sluit af\&. De eerste uitvoer regel zal de versie informatie zijn\&. Alle volgende informatie regels bevatten exact \('e\('en woord, waarvan de aanwezigheid aangeeft welke eigenschapen er binnenin zijn gecompileerd\&. Deze mogelijkheden zijn: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\*(AqBZ2\*(Aq \-\- de +bzlib(TM) +compressie bibliotheek\&. Heeft effect op de beschikbare compressie methoden voor de +\fB\-\-compression\fR +optie\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\*(AqLZO\*(Aq \-\- de +lzo(TM) +compressie bibliotheek\&. Heeft effect op de beschikbare compressie methoden voor de +\fB\-\-compression\fR +optie\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\*(AqFLAC\*(Aq \-\- lezen raw +FLAC +bestanden en behandelen van +FLAC +sporen in andere inhoudsmaten, b\&.v\&. +Ogg(TM) +of +Matroska(TM)\&. +.RE +.RE +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Toon gebruik informatie en sluit af\&. +.RE +.PP +\fB\-V\fR, \fB\-\-version\fR +.RS 4 +Toon versie informatie en sluit af\&. +.RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Controleert online op nieuwere versie\*(Aqs via ophalen op adres +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Vier regels worden uitgevoerd in +key=value +stijl: het adres van waar de informatie wordt verkregen (key +version_check_url), de huidig uitgevoerde versie (key +running_version), laatst uitgebrachte versie (key +available_version +en het ophaal adres (key +download_url)\&. +.sp +Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b\&.v\&. als de opwaardeer info niet verkregen kon worden)\&. +.sp +Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl\&. +.RE +.SH "GEBRUIK" +.PP +Voor elk bestand kan de gebruiker selecteren welke sporen +\fBmkvmerge\fR(1) +zou moeten nemen\&. Zij zitten allemaal in het bestand gespecificeerd met +\fB\-o\fR\&. Een lijst met bekende (en ondersteunde) bron formaten kunnen verkregen worden met de +\fB\-l\fR +optie\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBBelangrijk\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE +.SH "OPTIE VOLGORDE" +.PP +Voor sommige optie\*(Aqs is de volgorde waarin zij zijn opgegeven belangrijk\&. Optie\*(Aqs mislukken in twee categorie\(:en: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +Opties die het programma beinvloeden en niet verbonden zijn aan enig invoerbestand\&. Dez omvatten maar zijn niet beperkt tot +\fB\-\-command\-line\-charset\fR, +\fB\-\-output\fR +of +\fB\-\-title\fR\&. Deze mogen waar dan ook op de commandoregel staan\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +Opties die \('e\('en enkel invoerbstand be\(:invloedden of spoor in een invoerbestand\&. Deze optie\*(Aqs zijn allen van toepassing op het invoerbestand op de commandoregel\&. Alle optie\*(Aqs naar hetzelfde invoerbestand (of naar sporen in hetzelfde invoerbestand) mogen in elke volgorde geschreven worden zolang deze voor het invoerbestandsnaam staan\&. Voorbeelden die een invoerbestand be\(:invloedden zijn +\fB\-\-no\-chapters\fR +of +\fB\-\-chapter\-charset\fR\&. Voorbeelden voor een enkel spoor +\fB\-\-default\-duration\fR +of +\fB\-\-language\fR\&. +.RE +.PP +De optie\*(Aqs worden uitgevoerd van links naar rechts\&. Indien er een optie meerdere keren is, binnen hetzelfde gebied, dan wordt de laatste gebruikt\&. Daarom zal de titel gezet worden naar "Iets anders" in het volgende voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-title \*(AqDit \('en Dat\*(Aq input\&.avi \-\-title \*(AqIets anders\*(Aq +.fi +.if n \{\ +.RE +.\} +.PP +Het volgende voorbeeld toont dat het gebruiken van de optie +\fB\-\-language\fR +tweemaal OK is, omdat zij andere gebieden gebruiken\&. Alhoewel zij tot hetzelfde spoor ID behoren maar van verschillende invoer bestanden en daarom verschillende gebieden hebben: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-\-language 0:fre fran\(,cais\&.ogg \-\-language 0:deu deutsch\&.ogg +.fi +.if n \{\ +.RE +.\} +.SH "VOORBEELDEN" +.PP +Laten we aannemen dat je een bestand genoemd hebt mijn film\&.avi en het audio spoor in een ander bestand, b\&.v\&. \*(Aqmijn film\&.wav\*(Aq\&. Dan wil je eerst de audio coderen naar +OggVorbis(TM): +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ oggenc \-q4 \-omijn film\&.ogg mijn film\&.wav +.fi +.if n \{\ +.RE +.\} +.PP +Na een paar minuten kan je het video en audio samenvoegen: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o mijn film\-met\-geluid\&.mkv mijn film\&.avi mijn film\&.ogg +.fi +.if n \{\ +.RE +.\} +.PP +Als jouw +AVI +reeds een audio spoor bevat dan wordt ook die gekopieerd (als +\fBmkvmerge\fR(1) +dat audio formaat ondersteunt)\&. Om dat te voorkomen doe simpel +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o mijn film\-met\-geluid\&.mkv \-A mijn film\&.avi mijn film\&.ogg +.fi +.if n \{\ +.RE +.\} +.PP +Na een paar minuten van wikken en wegen rip je een ander audio spoor, b\&.v\&. de regiseur zijn commentaar of een andere taal naar \*(Aqmijn film\-voegtoe\-geluid\&.wav\*(Aq\&. Codeer het opnieuw en voeg het samen met het andere bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ oggenc \-q4 \-omijn film\-voegtoe\-geluid\&.ogg mijn film\-voegtoe\-geluid\&.wav +$ mkvmerge \-o MM\-complete\&.mkv mijn film\-met\-geluid\&.mkv mijn film\-voegtoe\-geluid\&.ogg + +.fi +.if n \{\ +.RE +.\} +.PP +Hetzelfde resultaat kan worden verkregen met +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o MM\-complete\&.mkv \-A mijn film\&.avi mijn film\&.ogg mijn film\-voegtoe\-geluid\&.ogg +.fi +.if n \{\ +.RE +.\} +.PP +Nu +mplayer(TM) +opstarten en geniet\&. Als je meerdere audio sporen hebt (of zelfs video sporen) dan kan je aangeven aan +mplayer(TM) +welk spoor af te spelen met de \*(Aq\fB\-vid\fR\*(Aq en \*(Aq\fB\-aid\fR\*(Aq opties\&. Deze zijn 0 gebaseerd en maken geen onderscheid tussen video en audio\&. +.PP +Indien het nodig is een audio spoor te synchroniseren kan je dat h\('e\('el makkelijk doen\&. Achterhaal eerst welk spoor ID het Vorbis spoor bevat +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-\-identify outofsync\&.ogg +.fi +.if n \{\ +.RE +.\} +.PP +Nu kan je dat ID gebruiken voor de volgende commandoregel: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o goodsync\&.mkv \-A source\&.avi \-y 12345:200 outofsync\&.ogg +.fi +.if n \{\ +.RE +.\} +.PP +Dit zou toevoegen 200ms aan stilte aan het begin van het spoor met het ID +\fB12345\fR +genomen van \*(Aqoutofsync\&.ogg\*(Aq\&. +.PP +Sommige films starten correct gesynchroniseerd maar langzaam aan verloopt dat\&. Voor dit soort films kan je een vertraag factor opgeven die worden toegevoegd aan alle tijd codes \-\- Er wordt g\('e\('en data toegvoegd of verwijderd\&. Dus, als je die factor te klein of te groot maakt dan krijg je een slecht resultaat\&. Een voorbeeld is, dat een episode die ik heb getranscodeerd met +\fB0\&.2\fR +seconden uit sync aan het eind van de film, welke +\fB77340\fR +beelden lang was\&. Bij +\fB29\&.97fps\fR +seconden ongeveer corresponderen met +\fB0\&.2\fR +seconden\&. +\fB6\fR +beelden\&. Dus ik deed +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o goodsync\&.mkv \-y 23456:0,77346/77340 outofsync\&.mkv +.fi +.if n \{\ +.RE +.\} +.PP +Het resultaat was goed\&. +.PP +De sync opties kunnen ook op de zelfde manier gebruikt worden voor ondertitels\&. +.PP +Voor tekst ondertitels kan je \('e\('en van beide Windows programma\*(Aqs gebruiken (zoals +SubRipper(TM)) of het +subrip(TM) +pakket te vinden in +\fBtranscode\fR(1)\*(Aqs bronnen in de \*(Aqcontrib/subrip\*(Aq map\&. Het algemene proces is: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +pak een raw ondertiteling uit van de bron: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ tccat \-i /path/to/copied/dvd/ \-T 1 \-L | tcextract \-x ps1 \-t vob \-a 0x20 | subtitle2pgm \-o mymovie +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +converteer het resultaat PGM beeld/plaatje naar tekst met het \*(AqGOCR\*(Aq programma: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ pgm2txt mymovie +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +spellingscontrole voor de resulterende tekst bestanden: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ ispell \-d american *txt +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +converteer de tekst bestanden naar een SRT bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ srttool \-s \-w \-i mymovie\&.srtx \-o mymovie\&.srt +.fi +.if n \{\ +.RE +.\} +.RE +.PP +Het resultaat bestand kan gebruikt worden als een ander invoerbestand voor +\fBmkvmerge\fR(1): +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o mymovie\&.mkv mymovie\&.avi mymovie\&.srt +.fi +.if n \{\ +.RE +.\} +.PP +Als je een taal wilt opgeven voor een gegeven spoor kan dit h\('e\('el makkelijk gedaan worden\&. Zoek eerst de ISO639\-2 code voor jouw taal\&. +\fBmkvmerge\fR(1) +kan alle code\*(Aqs uitlijsten voor je: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-\-list\-languages +.fi +.if n \{\ +.RE +.\} +.PP +Zoek in de lijst naar de taal die je nodig hebt\&. Laten we aannemen dat je twee audio sporen aan het +Matroska(TM) +bestand wilt invoegen en je hun taalcodes wilt instellen terwijl hun spoor ID\*(Aqs zijn 2 en 3\&. Dit kan gedaan worden met +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o with\-lang\-codes\&.mkv \-\-language 2:ger \-\-language 3:dut without\-lang\-codes\&.mkv +.fi +.if n \{\ +.RE +.\} +.PP +Zoals je kunt zien, kan je de +\fB\-\-language\fR +schakelaar meerdere keren gebruiken\&. +.PP +Misschien zou je het ook fijn vinden dat de afpeler standaard de Nederlandse taal gebruikt\&. Als je ook nog extra ondertitelingen hebt zoals b\&.v\&. Engels, Frans, en je wilt dat de afpeler de Franse als standaard gebruikt\&. Kan je dit doen met +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o with\-lang\-codes\&.mkv \-\-language 2:ger \-\-language 3:dut \-\-default\-track 3 without\-lang\-codes\&.mkv \-\-language 0:eng english\&.srt \-\-default\-track 0 \-\-language 0:fre french\&.srt +.fi +.if n \{\ +.RE +.\} +.PP +Als je de taal of de standaard spoor markering niet ziet, welke je had opgegeven in +\fBmkvinfo\fR(1)\*(Aqs uitvoer lees dan a\&.u\&.b\&. de sectie over +standaard waarden\&. +.PP +Zet de compressie uit voor een invoer bestand +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o no\-compression\&.mkv \-\-compression \-1:none MyMovie\&.avi \-\-compression \-1:none mymovie\&.srt +.fi +.if n \{\ +.RE +.\} +.SH "SPOOR ID'S" +.PP +Sommige opties voor +\fBmkvmerge\fR(1) +hebben een spoor ID nodig om te specificeren op welk spoor zij zouden moeten worden toegepast\&. Die spoor ID\*(Aqs worden getoond door de lezers bij het samenvoegen van het huidige invoer bestand, of als +\fBmkvmerge\fR(1) +is opgeroepen met de +\fB\-\-identify\fR +optie\&. Een voorbeeld van een dergelijke uitvoer: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-i v\&.mkv +File \*(Aqv\&.mkv\*(Aq: container: Matroska(TM) +Track ID 1: video (V_MS/VFW/FOURCC, DIV3) +Track ID 2: audio (A_MPEG/L3) + +.fi +.if n \{\ +.RE +.\} +.PP +Verwar de spoor ID\*(Aqs niet met welke zijn toegewezen aan spo(o)r(en) in het uitvoer MKV bestand met het spoor ID van het invoerbestand\&. Alleen het invoerbestand spoor ID\*(Aqs worden gebruikt voor optie\*(Aqs die deze waarde nodig hebben\&. +.PP +Opmerking: Dat elk invoerbestand zijn eigen spoor ID\*(Aqs heeft\&. Daarom het spoor ID voor bestand \*(Aqfile1\&.ext +gerapporteerd wordt door \*(Aqmkvmerge \-\-identify\*(Aq verander niets, ongeacht hoeveel invoerbestanden in welke positie dan ook \*(Aqfile1\&.ext\*(Aq wordt gebruikt\&. +.PP +Spoor ID\*(Aqs worden toegewezen zoals dit: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +AVI +bestanden: Het video spoor heeft het ID 0\&. De audio sporen krijgen de ID\*(Aqs in oplopende volgorde beginnend bij 1\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +MP4 +bestanden: Als uitvoer van x264, het video spoor het ID 1 heeft\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +AAC, +AC3, +MP3, +SRT +en +WAV +bestanden: Het \*(Aqspoor\*(Aq in dat bestand krijgt het ID 0\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ogg/OGM +bestanden: De spoor ID\*(Aqs worden toegekend volgens de volgorde zoals het gevonden is in het bestand startend bij 0\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +Matroska(TM) +bestanden: Het spoor ID is het spoornummer zoals gerapporteerd door +\fBmkvinfo\fR(1)\&. Het is +\fIniet\fR +het spoor UID\&. +.RE +.PP +Het speciale spoor ID \*(Aq\fB\-1\fR\*(Aq is de \*(Aqjoker\*(Aq en past de bepaalde schakelaar toe op alle sporen die van een invoerbestand worden gelezen\&. +.PP +De opties die de spoor ID\*(Aqs gebruiken zijn degenen die de beschrijvingen bevatten \*(AqTID\*(Aq\&. De volgende optie gebruikt het spoor ID ook: +\fB\-\-atracks\fR, +\fB\-\-vtracks\fR, +\fB\-\-stracks\fR +en +\fB\-\-btracks\fR\&. +.SH "TEKST BESTANDEN EN KARAKTER SET CONVERSIES" +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBOpmerking\fR +.ps -1 +.br +.PP +Deze sectie is van toepassing op alle programma\*(Aqs in MKVToolNix zelfs wanneer all\('e\('en +\fBmkvmerge\fR(1) +genoemd wordt\&. +.sp .5v +.RE +.PP +Alle teksten in +Matroska(TM) +bestanden zijn gecodeerd in UTF\-8\&. Dit betekend, dat +\fBmkvmerge\fR(1) +alle de te lezen tekst bestanden moet converteren en evenals elke ingegeven tekst op de commandoregel om elke karakter te zetten naar UTF\-8\&. Teruggekoppeld betekend dit ook, dat +\fBmkvmerge\fR(1)\*(Aqs uitvoer terug geconverterd moet worden naar die karakter set van UTF\-8, b\&.v\&. als een niet Engelse vertaling is gebruikt met +\fB\-\-ui\-languages\fR +of voor de orginele tekst uit een +Matroska(TM) +bestand\&. +.PP + +\fBmkvmerge\fR(1) +doet deze conversie automatisch gebasseerd op de aanwezigheid van een +Byte Order Marker (byte volgorde markering) +(kort: +BOM) of op basis van het huidige besturingssysteem lokatie\&. Hoe de karakter van de lokatie wordt \*(Aqachterhaald\*(Aq hangt af van het besturingssysteem waarop +\fBmkvmerge\fR(1) +is opgestart\&. +.PP +Tekst bestanden die starten met BOM (byte volgorde markering) zijn al gecodeerd in de vertegenwoordiging van UTF\&. +\fBmkvmerge\fR(1) +ondersteunt \('e\('en van de volgende vijf modes: UTF\-8, UTF\-16 Little en Big Endian, UTF\-32 Little en Big Endian\&. Tekst bestanden met een BOM (byte volgorde markering) worden automatisch geconverteerd naar UTF\-8\&. Elke van de parameters die gezet zouden zijn voor een dergelijk bestand (b\&.v\&. +\fB\-\-sub\-charset\fR) worden stilletjes genegeerd\&. +.PP +Op Unix\-achtige systemen gebruikt +\fBmkvmerge\fR(1) +de +\fBsetlocale\fR(3) +besturingssysteem oproep, welke beurtelings de omgevingsvariabelen gebruikt +\fILANG\fR, +\fILC_ALL\fR +en +\fILC_CYPE\fR\&. Het resulterende karakter set is vaak \('e\('en van de UTF\-8 of de ISO\-8859\-* familie en wordt gebruikt voor alle tekst bestand operaties en voor het coderen van reeksen op de commandoregel voor een uitvoer naar het apparaat/houder\&. +.PP +Met Windows zijn er eigenlijk twee karakter sets welke +\fBmkvmerge\fR(1) +gebruikt, door de manier waarop het Windows commandoregel programma +\fBcmd\&.exe\fR +is ge\(:implementeerd\&. De eerste karakter set wordt bepaald door een vraag met de +\fBGetCP()\fR +besturingssysteem oproep\&. Deze karakter set wordt standaard gebruikt voor tekst bestand conversie en voor alle elementen getoond met het +GUI +programma in het MKVToolNix pakket\&. +\fBcmd\&.exe\fR +gebruikt een andere karakter set welke kan worden bepaald door een vraag met de +\fBGetACP()\fR +besturingssysteem oproep\&. Dit is de standaard karakter set voor alle reeksen die gelezen worden vanaf de commandoregel en voor alle reeksen die naar het apparaat/houder worden uitgevoerd\&. +.PP +Als de volgende optie aanwezig is dan is het toegestaan de karakter set te specificeren: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB\-\-sub\-charset\fR +voor tekst ondertitels en tekst ondertitel sporen opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b\&.v\&. Ogg bestanden), +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB\-\-chapter\-charset\fR +voor tekst hoofdstuk bestanden en voor hoofdstukken en bestand titels opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b\&.v\&. Ogg bestanden voor hoofdstuk informatie, spoor en bestand titels etc\&.; MP4 bestanden voor hoofdstuk informatie), +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB\-\-command\-line\-charset\fR +voor alle ingave\*(Aqs op de commandoregel, +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB\-\-output\-charset\fR +voor alle reeksen geschreven naar het apparaat/houder of naar een bestand wanneer de uitvoer is omgeleid met de +\fB\-\-redirect\-output\fR +optie\&. +.RE +.SH "OVERSLAAN VAN SPECIALE KARAKTER(S) IN TEKST" +.PP +Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen\&. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash "\e" gevolgd door een ander karakter\&. +.PP +De regels zijn: \*(Aq \*(Aq wordt \*(Aq\es\*(Aq, \*(Aq"\*(Aq wordt \*(Aq\e2\*(Aq, \*(Aq:\*(Aq wordt \*(Aq\ec\*(Aq, \*(Aq#\*(Aq wordt \*(Aq\eh\*(Aq en \*(Aq\e\*(Aq zelf wordt \*(Aq\e\e\*(Aq\&. +.SH "ONDERTITELINGEN" +.PP +Er zijn verschillende tekst ondertitel formaten welke kunnen worden \*(Aqingebakken\*(Aq in +Matroska(TM)\&. Op het moment ondersteunt +\fBmkvmerge\fR(1) +all\('e\('en tekst, VobSub en Kate ondertitel formaten\&. Tekst ondertitels moet worden hergecodeerd naar UTF\-8 zodat deze juist kunnen worden getoond door een afspeler (zie de sectie over +tekst bestanden en karakter sets +voor een uitleg hoe +\fBmkvmerge\fR(1) +converteert tussen de verschillende karakter sets)\&. Kate ondertitels zijn reeds gecodeerd met UTF\-8 en hoeven niet ge\-hercodeerd te worden\&. +.PP +De volgende ondertitel formaten worden momenteel ondersteund: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ondertitel stripper (SRT) bestand(en) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +OggKate stromen +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +VobSub bitmap ondertitel bestanden +.RE +.SH "BESTAND LINKEN" +.PP + +Matroska(TM) +ondersteunt bestand linken welke eenvoudig zegt, dat een specifiek bestand de voorganger of de opvolger van het huidige bestand is\&. Om precies te zijn, het zijn niet echt de bestanden die gelinkt zijn maar de +Matroska(TM) +segmenten\&. En de meeste bestanden bevatten alleen \('e\('en +Matroska(TM) +segment de volgende uitleg gebruikt de term \*(Aqbestand linken\*(Aq hoewel \*(Aqsegment linken\*(Aq meer op zijn plaats zou zijn\&. +.PP +Elk segment word ge\(:indentificeerd door een uniek 128 bit lang segment UID\&. Dit UID wordt automatisch gegenereerd door +\fBmkvmerge\fR(1)\&. Het linken wordt primair gedaan via het zetten van het segment UID\*(Aqs (kort: +SID) van het volgende/vorige bestand naar het segment kop informatie\&. +\fBmkvinfo\fR(1) +print deze +SID\*(Aqs +als het hen vindt\&. +.PP +Als een bestand wordt gesplitst in meerdere kleinere bestanden en linken wordt gebruikt, dan zullen de tijd codes niet opnieuw starten op 0 maar doorgaan op daar waar het vorige bestand eindigde\&. Op deze manier zal absolute de tijd code behouden blijven, zelfs wanneer het vorige bestand niet aanwezig/beschikbaar is (b\&.v\&. bij \*(Aqstreaming\*(Aq\*(Aq)\&. Als er g\('e\('en linken is gebruikt, dan zouden de tijd codes moeten starten op 0 voor elk bestand\&. Standaard gebruikt +\fBmkvmerge\fR(1) +bestand linken niet\&. Als je wilt kan je dit aanzetten met de +\fB\-\-link\fR +optie\&. Deze optie is all\('e\('en nuttig wanneer ook het splitsen actief is\&. +.PP +Ongeacht of het splitsen actief is of niet, de gebruiker kan +\fBmkvmerge\fR(1) +vertellen het geproduceerde bestand te linken naar een specifieke +SID\*(Aqs\&. Dit wordt bereikt met de opties +\fB\-\-link\-to\-previous\fR +en +\fB\-\-link\-to\-next\fR\&. Deze opties accepteren een segment +SID +in het formaat dat +\fBmkvinfo\fR(1) +uitvoert: 16 hexadecimale nummers tussen +\fB0x00\fR +en +\fB0xff\fR +voorgevoegd met \*(Aq0x\*(Aq elk, b\&.v\&. \*(Aq0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93\*(Aq\&. Als alternatief kan een kortere vorm worden gebruikt: 16 hexadecimale nummers tussen +\fB0x00\fR +en +\fB0xff\fR +zonder het \*(Aq0x\*(Aq voorvoegsel en zonder spaties, b\&.v\&. \*(Aq41da7366d9cfb21eae78ebb45ecab393\*(Aq\&. +.PP +Als splitsen wordt gebruikt, dan is het eerste bestand gelinkt naar het +SID +gegeven met +\fB\-\-link\-to\-previous\fR +en het laatste bestand is gelinkt naar +SID +gegeven met +\fB\-\-link\-to\-next\fR\&. Als splitsen niet is gebruikt, dan zal \('e\('en uitvoer bestand worden gelinkt met twee van de beide +SIDs\&. +.SH "STANDAARD WAARDEN" +.PP +De +Matroska(TM) +de specificatie verklaart dat sommige elementen een standaard waarde hebben\&. Gewoonlijk wordt een element niet naar het bestand geschreven als het niet gelijk is aan de standaard waarde, dit om ruimte te besparen\&. De elementen die gebruiker zou kunnen missen in +\fBmkvinfo\fR(1)\*(Aqs uitvoer, zijn de +\fIlanuage (taal) \fR +en de +\fI defautt track flag (standaard spoor markering)\fR +elementen\&. De standaard waarde voor de +\fIlanguage (taal) \fRis English (is Engels) (\*(Aqeng\*(Aq), en de standaard waarde voor de +\fIstandard track flag (standaard spoor markering)\fR +is +\fItrue (waar)\fR\&. Als je daarom gebruikt de +\fB\-\-language 0:eng\fR +voor een spoor, dan zal deze niet verschijnen in de +\fBmkvinfo\fR(1)\*(Aqs uitvoer\&. +.SH "BIJLAGEN" +.PP +Misschien wilt u ook sommige foto\*(Aqs samen met uw +Matroska(TM) +bestand houden of je gebruikt +SSA +ondertitels en je wilt een speciaal +TrueType(TM) +lettertype(n) gebruiken welke zeldzaam zijn\&. In deze gevallen kan je deze bestanden vastmaken aan het +Matroska(TM) +bestand\&. Zij zullen niet enkel bijgevoegd worden aan het bestand maar er ingevoegd worden\&. Een afspeler kan deze bestanden tonen (de \*(Aqfoto\*(Aq gevallen) of hen gebruiken om de ondertitels te genereren (de \*(AqTrueType(TM) +lettertype\*(Aq gevallen)\&. +.PP +Hier is een voorbeeld hoe een foto en een +TrueType(TM) +lettertype aan het uitvoerbestand kan vast te maken: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o output\&.mkv \-A video\&.avi sound\&.ogg \-\-attachment\-description "Me and the band behind the stage in a small get\-together" \-\-attachment\-mime\-type image/jpeg \-\-attach\-file me_and_the_band\&.jpg \-\-attachment\-description "The real rare and unbelievably good looking font" \-\-attachment\-type application/octet\-stream \-\-attach\-file really_cool_font\&.ttf + +.fi +.if n \{\ +.RE +.\} +.PP +Als een +Matroska(TM) +bestandsbijlage bevat en is gebruikt als een invoer bestand dan zal +\fBmkvmerge\fR(1) +de bijlage kopieeren naar een nieuw bestand\&. De selectie, welke bijlage wordt gekopieerd en welke niet kan veranderd worden met de opties +\fB\-\-attachments\fR +en +\fB\-\-no\-attachments\fR\&. +.SH "HOOFDSTUKKEN" +.PP +Het +Matroska(TM) +hoofdstuk systeem is krachtiger dan het oude bekende systeem vanOGM +bestanden\&. De volledige specificatie kan gevonden worden op de +\m[blue]\fBMatroska(TM)\fR\m[]\&\s-2\u[1]\d\s+2 +website\&. +.PP + +\fBmkvmerge\fR(1) +ondersteunt twee soorten van hoofdstuk bestanden als invoer\&. Het eerste formaat, genoemd \*(Aqsimpel hoofdstuk format\*(Aq, is hetzelfde format dat het +OGM +hulpmiddel verwacht\&. Het tweede format is een +XML +gebasseerd hoofdstuk format welke alle +Matroska(TM)\*(Aqs hoofdstuk functionaliteiten ondersteunt\&. +.SS "Een eenvoudig hoofdstuk formaat" +.PP +Dit formaat bestaat uit twee paren van regels die respectievelijk starten met \*(AqCHAPTERxx=\*(Aq en \*(AqCHAPTERxxNAME=\*(Aq\&. De eerste bevat de start tijdcode en de tweede bevat de titel\&. Hier is een voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +CHAPTER01=00:00:00\&.000 +CHAPTER01NAME=Intro +CHAPTER02=00:02:30\&.000 +CHAPTER02NAME=Baby prepares to rock +CHAPTER03=00:02:42\&.300 +CHAPTER03NAME=Baby rocks the house + +.fi +.if n \{\ +.RE +.\} +.PP + +\fBmkvmerge\fR(1) +zal elk paar of regels transformeren naar \('e\('en +Matroska(TM) +ChapterAtom\&. Het plaatst geen +ChapterTrackNumber +Wat inhoudt, dat de hoofdstukken van toepassing zijn aan alle sporen in het bestand\&. +.PP +Aangezien dit een tekst bestand is kan karakter set conversie nog nodig zijn\&. Zie de sectie over +tekst bestanden en karakter sets +voor een uitleg hoe +\fBmkvmerge\fR(1) +converteert tussen karakter sets\&. +.SS "Het XML gebaseerde hoofdstuk formaat" +.PP +Het +XML +gebaseerde hoofdstuk formaat lijkt op dit voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf + + + + + + 00:00:30\&.000 + 00:01:20\&.000 + + A short chapter + eng + + + 00:00:46\&.000 + 00:01:10\&.000 + + A part of that short chapter + eng + + + + + + +.fi +.if n \{\ +.RE +.\} +.PP +Met dit format zijn drie dingen mogelijk die niet mogelijk zijn met het simpele hoofdstuk format: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +De tijdmarkering voor het hoofdstuk eind kan ingegeven worden, +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +Hoofdstukken mogen ingekapseld zijn +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +De taal en het land mag ingesteld worden +.RE +.PP +De mkvtoolnix distributie bevat meerdere voorbeeld bestanden in de +doc +sub map welke als basis gebruikt kan worden\&. +.SS "Algemene opmerkingen" +.PP +Bij het splitsen van bestanden dan zal +\fBmkvmerge\fR(1) +tevens de hoofdstukken juist bijstellen\&. Dit betekendt, dat elk bestand slechts de hoofdstukingangen omvat waarop het van toepassing is, en dat de tijd codes worden gecompenseerd om te voldoen aan de nieuwe tijd codes van elk uitvoer bestand\&. +.PP + +\fBmkvmerge\fR(1) +is in staat hoofdstukken te kopieeren van +Matroska(TM) +bronbestanden tenzij dit expliciet is uitgezet met de +\fB\-\-no\-chapters\fR +optie\&. De hoofdstukken van alle bronen (Matroska(TM) +bestanden, Ogg bestanden, +MP4 +bestanden, hoofdstuk tekst bestanden) worden gewoonlijk niet samengevoegd maar eindigen als een separate +ChapterEditions\&. Alleen wanneer de hoofdstukken worden gelezen van verschillende +Matroska(TM) +of +XML +bestanden die dezelfde editie UID\*(Aqs delen, zullen hoofdstukken samengevoegd worden tot \('e\('en +ChapterEdition\&. Als een dergelijke samenvoeging ook in andere situaties gewenst is, dan dient de gebruiker de hoofdstukken eerst te extraheren uit alle bronnen met +\fBmkvextract\fR(1), handmatig de +XML +bestanden aaneenkoppelen en nadien samenvoegen\&. +.SH "MARKERINGEN" +.SS "Introductie" +.PP + +Matroska(TM) +ondersteunt een uitgebreide set markeringen welke zijn verouderd, een nieuw simpeler systeem welke worden gebruikt in de meeste overige inhoudsformaten: +\fIKEY=VALUE\fR\&. Hoewel, in +Matroska(TM) +deze markeeringen ook kunnen worden ingekapseld, en beide de +\fIKEY\fR +en de +\fIVALUE\fR +zijn elementen van zichzelf\&. Het voorbeeld bestand +example\-tags\-2\&.xml +toont hoe dit nieuwe systeem te gebruiken\&. +.SS "Gebied van de markeringen" +.PP + +Matroska(TM) +markeringen worden niet automatisch toegekend aan het hele bestand\&. Dat kunnen zij, maar zij kunnen ook op verschillende delen van het bestand van toepassing zijn: aan \('e\('en of meerdere sporen, aan \('e\('en of meerdere hoofdstukken, of zelfs een combinatie van beide\&. +\m[blue]\fBDe Matroska(TM) specificaties\fR\m[]\&\s-2\u[3]\d\s+2 +geeft meer informatie over dit feit\&. +.PP +E\('en belangrijk feit is, dat markeringen gelinkt zijn naar sporen of hoofdstukken met de +Targets +Matroska(TM) +markeer element, en dat de gebruikte UID\*(Aqs voor dit linken +\fIniet\fR +zijn, de spoor ID\*(Aqs die overal door +\fBmkvmerge\fR(1) +gebruikt worden\&. In plaats daarvan, zijn de gebruikte UID\*(Aqs nummers welke +\fBmkvmerge\fR(1) +automatisch uitrekent (als het spoor genomen is anders dan van een +Matroska(TM) +bestandsformat) of welke zijn gekopieerd van een bronbestand, als de sporen bronbestand een +Matroska(TM) +bestand is\&. Daarom is het moeilijk te bepalen, welke UID\*(Aqs te gebruiken in het markeer bestand voordat het bestand wordt overgedragen naar +\fBmkvmerge\fR(1)\&. +.PP + +\fBmkvmerge\fR(1) +kent twee opties waarmee je markeringen kunt toevoegen aan +Matroska(TM) +bestanden: De +\fB\-\-global\-tags\fR +en de +\fB\-\-tags\fR +opties\&. Het verschil is dat de vroegere optie, +\fB\-\-global\-tags\fR, de markeringen zal maken die op het volledige bestand van toepassing zijn, door te verwijderen (welke dan ook) +Targets +elementen hierboven genoemd\&. De laatstgenoemde optie, +\fB\-\-tags\fR, voegt automatisch het UID die +\fBmkvmerge\fR(1) +genereert voor de markering gespecificeerd met het +\fITID\fR +deel van de\fB\-\-tags\fR +opties\&. +.SS "Voorbeeld" +.PP +Laten we aannemen, dat je een markering wiilt toevoegen aan een video spoor gelezen van een +AVI\&. +\fBmkvmerge \-\-identify file\&.avi\fR +vertelt je, dat het video spoor ID (verwar dit ID niet met het UID!) 0 is\&. Zodat het jouw markeer bestand kan cre\(:eren, laat weg alle +Targets +elementen en start +\fBmkvmerge\fR(1) +op: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o file\&.mkv \-\-tags 0:tags\&.xml file\&.avi + +.fi +.if n \{\ +.RE +.\} +.SS "Markeer bestandsformaat" +.PP + +\fBmkvmerge\fR(1) +ondersteunt een +XML +gebasseerde markeer bestand format\&. Het format is rijkelijk gedocumenteerd op de +\m[blue]\fBMatroska(TM)\fR\m[]\&\s-2\u[3]\d\s+2 +specificaties\&. Beide, zowel het binaire alsmede de bron distributies van MKVToolNix komen met een voorbeeld bestand genaamd +example\-tags\-2\&.xml +welke simpelweg alle bekende markeringen opsomt en welke kunnen worden gebrukt als basis voor \*(Aqechte leven\*(Aq markeer bestanden\&. +.PP +De basis is: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Het buitenste element moet zijn +\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +E\('en logische markering welke binnenin \('e\('en paar bevindt van + +XML +markeringen\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Spaties direct voor en na een markering worden genegeerd\&. +.RE +.SS "Data typen" +.PP +Het nieuwe +Matroska(TM) +markeer systeem kent all\('e\('en twee data typen, een UTF\-8 reeks en een binair type\&. De eerste wordt gebruikt voor markeer namen en het + +element terwijl het binaire type gebruikt word voor het + +element\&. +.PP +Aangezien binaire gegevens zelf niet zouden passen in een +XML +bestand, ondersteunt +\fBmkvmerge\fR(1) +twee andere methoden om binaire data op te slaan\&. Als de inhoud van een +XML +markering start met \*(Aq@\*(Aq dan wordt de volgende tekst behandeld als een bestandsnaam\&. De corresponderende bestandsinhoud wordt gekopieerd in een +Matroska(TM) +element\&. +.PP +Anders zou de gegeven data moeten zijn een gecodeerde +Base64\&. Dit is een codering die binaire data codeert naar een gelimiteerde set van +ASCII +karakters en wordt gebruikt in b\&.v\&. email programma\*(Aqs\&. +\fBmkvextract\fR(1) +zal uitvoeren +Base64 +gecodeerde data voor binaire elementen\&. +.PP +Het verouderde markeer systeem kent een paar meer data typen welke gevonden kunnen worden in de offici\(:ele +Matroska(TM) +markeer specificaties\&. Aangezien in +\fBmkvmerge\fR(1) +dit systeem niet meer wordt ondersteund, worden deze typen hier niet beschreven\&. +.SH "MATROSKA(TM) BESTAND LAYOUT" +.PP +Het +Matroska(TM) +layout bestand is redelijk flexibel\&. +\fBmkvmerge\fR(1) +zal een bestand genereren op een vooraf gedefinieerde manier\&. Het resultaat zal er zo uitzien: +.PP +[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} \&.\&.\&. {cluster n} {cues} {meta seek #2} {tags}] +.PP +De elementen in gekromde haakjes zijn optioneel en afhankelijk van de inhoud en de gebruikte opties\&. Een paar opmerkingen: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +meta zoek #1 bevat slechts een klein aantal aan niveau 1 elementen, en alleen als deze ook werkelijk bestaan: bijlagen, hoofdstukken, volg document(en) (cue), markeringen, meta zoek #2\&. Oudere versies van +\fBmkvmerge\fR(1) +zijn tevens gewend om clusters binnenin het meta zoek element te plaatsen\&. Daarom was het noodzakelijk ietwat onnauwkeurig te gokken om genoeg ruimte te reserveren\&. Het faalde vaak\&. Nu worden alleen clusters opgeslagen in het meta zoek #2, en meta zoek #1 verwijst naar het meta zoek element #2\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Bijlage, hoofdstuk en markeer elementen zijn all\('e\('en aanwezig indien zij waren toegevoegd\&. +.RE +.PP +Het kortst mogelijke Matroska bestand zou lijken op dit: +.PP +[EBML head] [segment [segment information] [track information] [cluster 1]] +.PP +Dit kan het geval zijn voor all\('e\('en\-audio bestanden\&. +.SH "EXTERNE TIJDCODE BESTANDEN" +.PP + +\fBmkvmerge\fR(1) +staat de gebruiker toe, de tijd codes voor een specifiek spoor zelf te kiezen\&. Dit kan worden gebruikt, om bestanden met de variabele video beeld verhouding te cre\(:eren of \*(Aqgaten\*(Aq in audio te laten bevatten\&. Een beeld in dit geval, is de unit welke +\fBmkvmerge\fR(1) +separaat cre\(:eert per +Matroska(TM) +blok\&. Voor video is dit exact \('e\('en beeld, voor audio is dit \('e\('en pakket van het specifieke audio type b\&.v\&. voor +AC3 +zou dit een pakket moeten zijn inhoudende +\fB1536\fR +voorbeelden\&. +.PP +Tijdcode bestanden die worden gebruikt wanneer de sporen aan elkaar worden toegevoegd, moeten alleen voor het eerste deel in een reeks van sporen worden gespecificeerd\&. Bijvoorbeeld, als je twee bestanden toevoegt, v1\&.avi en v2\&.avi, en je wilt tijd codes gebruiken dan moet je commandoregel lijken op dit: +.sp +.if n \{\ +.RS 4 +.\} +.nf +mkvmerge \&.\&.\&. \-\-timecodes 0:my_timecodes\&.txt v1\&.avi +v2\&.avi + +.fi +.if n \{\ +.RE +.\} +.PP +Er zijn vier formaten die worden herkend door +\fBmkvmerge\fR(1)\&. De eerste regel bevat altijd het versie nummer\&. Lege regels, regels alleen bevattende spaties en regels beginnend met \*(Aq#\*(Aq worden genegeerd\&. +.SS "Tijdcode bestandsformaat v1" +.PP +Dit format start met de versie regel\&. De tweede regel verklaart het aantal beelden per seconde\&. Alle volgende regels bevatten drie nummers gescheiden door een komma: het start beeld (\fB0\fR +is het eerste beeld), het eind beeld en het aantal beelden binnen dit bereik\&. Het +FPS +veranderbaar nummer met een punt \*(Aq\&.\*(Aq als het decimale punt\&. De bereiken kunnen \*(Aqgaten\*(Aq bevatten waarvoor standaard +FPS +is gebruikt\&. een voorbeeld: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# timecode format v1 +assume 27\&.930 +800,1000,25 +1500,1700,30 + +.fi +.if n \{\ +.RE +.\} +.SS "Tijdcode formaat v2" +.PP +In dit format, bevat elke regel een tijdcode voor het corresponderende beeld\&. Deze tijdcode moet opgeven worden in milli seconden\&. Het mag een veranderbaar nummer zijn, maar het hoeft niet\&. Jij +\fImoet\fR +minstens zo veel tijdcoderegels opgeven als er aan beelden in het spoor zijn\&. De tijd codes in dit bestand moeten gesorteerd zijn\&. Voorbeeld voor 25fps: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# timecode format v2 +0 +40 +80 + +.fi +.if n \{\ +.RE +.\} +.SS "Tijd code formaat v3" +.PP +In dit format bevat elke regel een duur in seconden gevolgd door een optioneel aantal beelden per seconde\&. Beide kunnen een veranderbaar nummer zijn\&. Als het aantal beelden per seconde niet is opgegeven dan wordt het standaard aantal gebruikt\&. Voor audio, zou jij de codec zelf de tijd codes moeten laten berekenen\&. Daarvoor zou je moeten gebruiken +\fB0\&.0\fR +als het aantal beelden per seconde\&. Je kunt ook \*(Aqgaten\*(Aq cre\(:eren in de stromen door te gebruiken de \*(Aqgap\*(Aq sleutelwoord gevolgd door de duur van het \*(Aqgat\*(Aq\&. Voorbeeld voor een audio bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# timecode format v3 +assume 0\&.0 +25\&.325 +7\&.530,38\&.236 +gap, 10\&.050 +2\&.000,38\&.236 + +.fi +.if n \{\ +.RE +.\} +.SS "Tijdcode formaat v4" +.PP +Dit format is identiek aan het v2 format\&. Het enige verschil is dat de tijd codes niet gesorteerd behoeven te zijn\&. Dit format zou bijna nooit gebruikt moeten worden\&. +.SH "VERLAAT CODES" +.PP + +\fBmkvinfo\fR(1) +verlaat met \('e\('en van de drie afsluit codes: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB0\fR +\-\- Deze verlaat code betekend dat het samenvoegen succesvol voltooid is\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB1\fR +\-\- In dit geval heeft +\fBmkvmerge\fR(1) +tenmiste \('e\('en waarschuwing uitgevaardigd, maar het samenvoegen ging door\&. Een waarschuwing gaat vooraf met de tekst \*(AqWarning:\*(Aq\&. Afhankelijk van de \*(Aqtegengekomen\*(Aq kwesties kan het resltaat goed of slecht zijn\&. De gebruiker wordt geadviseerd om zowel de waarschuwing als de resulterende bestanden te controleren\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB2\fR +\-\- Deze afsluit code wordt gebruikt nadat er een fout ontstond\&. +\fBmkvmerge\fR(1) +breekt direct af na het geven van dit waarschuw bericht\&. Fout! bereik in berichten, van een verkeerd commandoregel argument over lees/schrijf fouten naar een \*(Aqgebroken\*(Aq bestanden\&. +.RE +.SH "ZIE OOK" +.PP + +\fBmkvinfo\fR(1), +\fBmkvextract\fR(1), +\fBmkvpropedit\fR(1), +\fBmmg\fR(1) +.SH "WWW" +.PP +De laatste versie kan altijd gevonden worden op de +\m[blue]\fBMKVToolNix\fR\m[]\&\s-2\u[4]\d\s+2 +thuis basis\&. +.SH "AUTEUR" +.PP +\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> +.RS 4 +Ontwikkelaar +.RE +.SH "NOTEN" +.IP " 1." 4 +Matroska(TM) +.RS 4 +\%http://www.matroska.org/ +.RE +.IP " 2." 4 +IANA +.RS 4 +\%http://www.iana.org/assignments/media-types/ +.RE +.IP " 3." 4 +De Matroska(TM) +specificaties +.RS 4 +\%http://matroska.org/technical/specs/index.html +.RE +.IP " 4." 4 +MKVToolNix +.RS 4 +\%http://www.bunkus.org/videotools/mkvtoolnix/ +.RE diff -Nru mkvtoolnix-4.0.0/doc/man/nl/mkvpropedit.1 mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvpropedit.1 --- mkvtoolnix-4.0.0/doc/man/nl/mkvpropedit.1 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/nl/mkvpropedit.1 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,382 @@ +'\" t +.\" Title: mkvpropedit +.\" Author: Moritz Bunkus +.\" Generator: DocBook XSL Stylesheets v1.75.2 +.\" Date: 2011-01-31 +.\" Manual: Gebruiker commando\*(Aqs +.\" Source: MkvToolNix 4.5.0 +.\" Language: Dutch +.\" +.TH "MKVPROPEDIT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "Gebruiker commando\*(Aqs" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "REFERENTIENAAM" +mkvpropedit \- Modificeren van eigenschappen van een bestaande Matroska(TM) bestanden zonder een volledige samenvoeging +.SH "BEKNOPTE INHOUDSBESCHRIJVING" +.HP \w'\fBmkvpropedit\fR\ 'u +\fBmkvpropedit\fR [options] {source\-filename} {actions} +.SH "BESCHRIJVING" +.PP +Dit programma analyseert een bestaand +Matroska(TM) +bestand en kan sommige eigenschappen veranderen\&. Dan schrijft het deze veranderingen naar het bestaande bestand\&. Onder de eigenschappen die kunnen worden veranderd, zijn de segment informatie elementen (b\&.v\&. de titel) en de spoor koppen (b\&.v\&.de taal code, \*(Aqstandaard spoor\*(Aq markering of de naam)\&. +.PP +Opties: +.PP +\fB\-l\fR, \fB\-\-list\-property\-names\fR +.RS 4 +Lijst alle bekende bewerkbare eigenschap namen, hun type (string, integer, boolean etc) en een korte beschrijving\&. Nadien stopt het programma\&. Daarom hoeft de parameter +\fIsource\-filename\fR +niet te worden ingegeven\&. +.RE +.PP +\fB\-p\fR, \fB\-\-parse\-mode\fR \fImode\fR +.RS 4 +Stelt de ontleedt mode in\&. De parameter \*(Aq\fImode\fR\*(Aq kan zijn of \*(Aqfast\*(Aq (wat ook standaard is) of \*(Aqfull\*(Aq\&. De \*(Aqfast\*(Aq mode ontleedt niet het gehele bestand, maar gebruikt de meta zoek elementen voor lokaliseren van de benodigde elementen van een bron bestand\&. In 99% van alle gevallen is dat voldoende\&. Maar voor bestanden die geen meta zoek element bevatten of zij die beschadigd zijn, zou de gebruiker moeten opgeven de \*(Aqfull\*(Aq ontleedt mode\&. Een volledige scan kan enige minuten duren terwijl een snelle scan slechts enkele seconden duurt\&. +.RE +.PP +Akties: +.PP +\fB\-e\fR, \fB\-\-edit\fR \fIselector\fR +.RS 4 +Zet de +Matroska(TM) +bestand sectie (segment informatie of bepaalde sporen koppen) die alle volgen +voeg toe, +zet +en +verwijder +acties die er op werken\&. Deze optie kan meerdere keren worden gebruikt om wijzigingen aan meer dan \('e\('en element te maken\&. +.sp +Standaard bewerkt +\fBmkvpropedit\fR(1) +de segment informatie sectie +.sp +Zie de sectie over +bewerk selecteurs/kiezer +voor een volledige beschrijving van de ingave\*(Aqs\&. +.RE +.PP +\fB\-a\fR, \fB\-\-add\fR \fIname\fR=\fIvalue\fR +.RS 4 +Voegt eigenschap +\fIname\fR +toe met de waarde +\fIvalue\fR\&. De eigenschap wordt toegevoegd zelfs wanneer deze reeds bestaat\&. Opmerking: dat de meeste eigenschappen uniek zijn en niet nog een keer mogen voorkomen\&. +.RE +.PP +\fB\-s\fR, \fB\-\-set\fR \fIname\fR=\fIvalue\fR +.RS 4 +Zet alle voorgekomen van de eigenschap +\fIname\fR +naar de waarde +\fIvalue\fR\&. Als een dergelijke eigenschap niet bestaat dan wordt deze toegevoegd\&. +.RE +.PP +\fB\-d\fR, \fB\-\-delete\fR \fIname\fR +.RS 4 +Verwijdert alle voorgekomen eigenschappen +\fIname\fR\&. Opmerking: sommige eigenschappen zijn vereist en kunnen niet worden verwijderd\&. +.RE +.PP +Andere opties: +.PP +\fB\-\-command\-line\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-\-output\-charset\fR \fI(karakter\-set)\fR +.RS 4 +Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer\&. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)\&. +.RE +.PP +\fB\-r\fR, \fB\-\-redirect\-output\fR \fI(bestandsnaam)\fR +.RS 4 +Schrijft alle berichten naar een bestand +\fIfile\-name\fR +i\&.p\&.v naar het \*(Aqapparaat/houder\*(Aq\&. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e\&.e\&.a her\-interpreteert voordat het geschreven wordt naar het uitvoer bestand\&. De karakter set met +\fB\-\-output\-charset\fR +is toegewezen\&. +.RE +.PP +\fB\-\-ui\-language\fR \fIcode\fR +.RS 4 +Forceert de vertaling voor de te gebruiken taal +\fIcode\fR +(b\&.v\&. \*(Aqde_DE\*(Aq voor de Duitse taal)\&. Hoewel het de voorkeur heeft de \*(Aqomgevings variabelen\*(Aq te gebruiken +\fILANG\fR, +\fILC_MESSAGES\fR +en +\fILC_ALL\fR\&. Opvragen van een \*(Aqlist\*(Aq als een +\fIcode\fR +zal voor zorgen dat +\fBmkvextract\fR(1) +een lijst zal uitvoeren van alle beschikbaren vertalingen\&. +.RE +.PP +\fB\-v\fR, \fB\-\-verbose\fR +.RS 4 +Wees uitgebreid en toon alle belangrijke +Matroska(TM) +elementen zoals ze zijn gelezen\&. +.RE +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Toon gebruik informatie en sluit af\&. +.RE +.PP +\fB\-V\fR, \fB\-\-version\fR +.RS 4 +Toon versie informatie en sluit af\&. +.RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +Controleert online op nieuwere versie\*(Aqs via ophalen op adres +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Vier regels worden uitgevoerd in +key=value +stijl: het adres van waar de informatie wordt verkregen (key +version_check_url), de huidig uitgevoerde versie (key +running_version), laatst uitgebrachte versie (key +available_version +en het ophaal adres (key +download_url)\&. +.sp +Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b\&.v\&. als de opwaardeer info niet verkregen kon worden)\&. +.sp +Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl\&. +.RE +.PP +\fB@\fRoptie\*(Aqs\-bestand +.RS 4 +Leest extra commandoregel argumenten in van een bestand +\fIoptions\-file\fR\&. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) (\*(Aq#\*(Aq) worden behandeld als commentaar en genegeerd\&. Een spatie aan het begin en einde van een regel worden verwijderd\&. Elke regel mag excact \('e\('en waarde bevatten +.sp +Verschillende karakters kunnen worden overgeslagen, b\&.v\&. als het nodig is een niet commandoregel te starten met een \*(Aq#\*(Aq de regels worden beschreven in +de sectie over overslaan van tekst\&. +.sp +De commandoregel \*(Aq\fBmkvpropedit source\&.mkv \-\-edit track:a2 \-\-set name=Comments\fR\*(Aq kon niet worden geconverteerd naar het volgende optie bestand: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Modify source\&.mkv +source\&.mkv +# Edit the second audio track +\-\-edit +track:a2 +# and set the title to \*(AqComments\*(Aq +\-\-set +title=Comments + +.fi +.if n \{\ +.RE +.\} +.RE +.SH "BEWERK SELECTEURS/KIEZERS" +.PP +De optie +\fB\-\-edit\fR +zet het +Matroska(TM) +bestand sectie (segment informatie of de bepaalde sporen knoppen) die alle volgen +voeg toe, +zet +en +verwijder +acties die er op werken\&. Dit blijft geldig todat de volgende optie +\fB\-\-edit\fR +is gevonden\&. Het argument naar deze optie wordt genoemd de bewerk selecteur/kiezer\&. +.PP +Standaard bewerkt +\fBmkvpropedit\fR(1) +de segment informatie sectie +.SS "Segment informatie" +.PP +De segment informatie kan worden geselecteerd met \('e\('en van deze drie woorden: \*(Aqinfo\*(Aq, \*(Aqsegment_info\*(Aq of \*(Aqsegmentinfo\*(Aq\&. het bevat eigenschappen zoals, segment titel of het segment +UID\&. +.SS "Spoor koppen" +.PP +Spoor koppen kunnen worden geselecteerd met een ietwat complexere selectie\&. Alle variaties starten met \*(Aqtrack:\*(Aq\&. De spoor kop eigenschappen bevatten elementen zoals de taal code, \*(Aqdefault track\*(Aq markering of het spoor naam\&. +.PP +\fBtrack:\fR\fIn\fR +.RS 4 +Als de parameter +\fIn\fR +een nummer is dan zal het +\fIn\fR\*(Aqde spoor worden geselecteerd\&. De spoor volgorde is hezelfde als +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +optie uitvoert\&. +.RE +.PP +\fBtrack:\fR\fIt\fR\fIn\fR +.RS 4 +Als de parameter start met \('e\('en karakter +\fIt\fR +gevolgd door een +\fIn\fR +dan zal het de +\fIn\fR\*(Aqde spoor van een specifiek spoor type geselecteerd worden\&. Het spoor type parameter +\fIt\fR +moet \('e\('en van deze vier karakters zijn: \*(Aqa\*(Aq voor een audio spoor, \*(Aqb\*(Aq voor een knop spoor, \*(Aqs\*(Aq voor een ondertitel spoor en \*(Aqv\*(Aq voor een video spoor\&. De spoor volgorde is hetzelfde wanneer +\fBmkvmerge\fR(1)\*(Aqs +\fB\-\-identify\fR +de optie uitvoert\&. +.RE +.PP +\fBtrack:\fR=\fIuid\fR +.RS 4 +Als de parameter start met een \*(Aq=\*(Aq gevolgd door een nummer +\fIuid\fR +dan het spoor van wie het spoor +UID +element gelijk is met +\fIuid\fR\&. Spoor +UID\*(Aqs +kan verkregen worden met +\fBmkvinfo\fR(1)\&. +.RE +.PP +\fBtrack:\fR@\fInumber\fR +.RS 4 +Als de parameter start met een \*(Aq@\*(Aq gevolgd door een nummer +\fInumber\fR +dan het spoor het van wie het spoornummer element gelijk is met +\fInumber\fR\&. Spoornummer kan verkregen worden met +\fBmkvinfo\fR(1)\&. +.RE +.SS "Opmerkingen" +.PP +Door de aard van de spoor bewerk selecteur/kiezer, is het mogelijk dat verschillende selecteurs/kiezers eigenlijk overeenkomen met dezelfde spoor koppen\&. In zulke gevallen, zullen alle acties voor die bewerk selecteurs/kiezers in die volgorde worden gecombineerd en uitgevoerd worden in de volgorde waarin ze zijn opgegeven op de commandoregel\&. +.SH "VOORBEELDEN" +.PP +Het volgende voorbeeld bewerkt een bestand genaamd \*(Aqfilm\&.mkv\*(Aq\&. Het zet het segment titel en modificeert de taal code van een audio en ondertitel spoor\&. Opmerking: Ddat dit voorbeeld kan worden verkort door het weglaten van de eerste optie +\fB\-\-edit\fR +omdat bewerken van het segment informatie element in elk geval standaard is voor alle opties welke worden gevonden voor de eerste +\fB\-\-edit\fR +optie\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvpropedit film\&.mkv \-\-edit info \-\-set "title=De film" \-\-edit track:a1 \-\-set language=dut \-\-edit track:a2 \-\-set language=eng + +.fi +.if n \{\ +.RE +.\} +.PP +Het tweede voorbeeld, verwijdert de \*(Aqstandaard spoor markering\*(Aq van het eerste ondertitel spoor en plaatst het voor de tweede\&. Opmerking: Dat +\fBmkvpropedit\fR(1), integenstelling tot +\fBmkvmerge\fR(1), niet instelt de \*(Aqstandaard spoor markering\*(Aq van andere sporen naar \*(Aq0\*(Aq als het automatisch is ingesteld op \*(Aq1\*(Aq voor een verschillend spoor\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvpropedit film\&.mkv \-\-edit track:s1 \-\-set flag\-default=0 \-\-edit track:s2 \-\-set flag\-default=1 + +.fi +.if n \{\ +.RE +.\} +.SH "VERLAAT CODES" +.PP + +\fBmkvpropedit\fR(1) +verlaat met \('e\('en van drie verlaat codes: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB0\fR +\-\- Deze verlaat code betekend dat het modificeren succesvol voltooid is\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB1\fR +\-\- In dit geval heeft +\fBmkvpropedit\fR(1) +minstends \('e\('en waarschuwing uitgegeven, maar extractie is doorgegaan\&. Een waarschuwing wordt vooraf bepaald met de tekst \*(AqWarning:\*(Aq\&. Afhankelijk van de \*(Aqtegengekomen\*(Aq kwesties kan het resltaat goed of slecht zijn\&. De gebruiker wordt geadviseerd, om zowel de waarschuwing als de resulterende bestanden te controleren\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + +\fB2\fR +\-\- Deze afsluit code wordt gebruikt nadat er een fout ontstond\&. +\fBmkvpropedit\fR(1) +breekt direct af na het geven van dit waarschuw bericht\&. Fout berichten, bereik van een verkeerd commandoregel argument over lees/schrijf fouten naar een \*(Aqgebroken\*(Aq bestanden\&. +.RE +.SH "OVERSLAAN VAN SPECIALE KARAKTER(S) IN TEKST" +.PP +Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen\&. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash "\e" gevolgd door een ander karakter\&. +.PP +De regels zijn: \*(Aq \*(Aq wordt \*(Aq\es\*(Aq, \*(Aq"\*(Aq wordt \*(Aq\e2\*(Aq, \*(Aq:\*(Aq wordt \*(Aq\ec\*(Aq, \*(Aq#\*(Aq wordt \*(Aq\eh\*(Aq en \*(Aq\e\*(Aq zelf wordt \*(Aq\e\e\*(Aq\&. +.SH "ZIE OOK" +.PP + +\fBmkvmerge\fR(1), +\fBmkvinfo\fR(1), +\fBmkvextract\fR(1), +\fBmmg\fR(1) +.SH "WWW" +.PP +De laatste versie kan altijd gevonden worden op de +\m[blue]\fBMKVToolNix\fR\m[]\&\s-2\u[1]\d\s+2 +thuis basis\&. +.SH "AUTEUR" +.PP +\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> +.RS 4 +Ontwikkelaar +.RE +.SH "NOTEN" +.IP " 1." 4 +MKVToolNix +.RS 4 +\%http://www.bunkus.org/videotools/mkvtoolnix/ +.RE diff -Nru mkvtoolnix-4.0.0/doc/man/nl/mmg.1 mkvtoolnix-4.5.0+dfsg/doc/man/nl/mmg.1 --- mkvtoolnix-4.0.0/doc/man/nl/mmg.1 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/nl/mmg.1 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,95 @@ +'\" t +.\" Title: mmg +.\" Author: Moritz Bunkus +.\" Generator: DocBook XSL Stylesheets v1.75.2 +.\" Date: 2011-01-31 +.\" Manual: Gebruiker commando\*(Aqs +.\" Source: MkvToolNix 4.5.0 +.\" Language: Dutch +.\" +.TH "MMG" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "Gebruiker commando\*(Aqs" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "REFERENTIENAAM" +mmg \- een grafische schil voor \fBmkvmerge\fR(1) inclusief een hoofdstuk en kop bewerker +.SH "BEKNOPTE INHOUDSBESCHRIJVING" +.HP \w'\fBmmg\fR\ 'u +\fBmmg\fR [[{\-\-edit\-headers}\ {filename\&.mkv}] | [preferences\-file\&.mmg] | [source\-file\&.ext]] +.SH "BESCHRIJVING" +.PP + +\fBmmg\fR(1) +is een +wxWindows(TM) +gebasseerde +GUI +voor +\fBmkvmerge\fR(1)\&. Het biedt een makkelijke toegang van alle +\fBmkvmerge\fR(1)\*(Aqs opties\&. Alle instellingen (b\&.v\&. bronbestanden, spoor opties, etc\&.) kunnen bewaard en hersteld worden\&. Ingesloten is een hoofdstuk bewerker welke +OGM +stijl en +XML +stijl hoofdstuk bestanden kan lezen, schrijven +XML +stijl hoofdstuk bestanden en zelfs het lezen van hoofdstukken van een +Matroska(TM) +bestand en direct schrijven naar +Matroska(TM) +bestanden\&. Tevens is ingesloten een kopstuk bewerker welke gebruikt kan worden om snel hoofdstukken te veranderen van bestaande +Matroska(TM) +bestanden zonder een volledige samenvoeging\&. +.PP + +\fBmmg\fR(1) +kent een paar opties\&. De eerste, de mogelijkheid om op te starten met een enkele bestandnaam\&. Als die bestandsnaam de extensie \*(Aq\&.mmg\*(Aq bevat, dan zal het behandeld worden als instellingen bestand en zal +\fBmmg\fR(1) +de instellingen laden wanneer het wordt opgestart\&. Anders wordt de naam ge\(:intepreteerd als een invoer bestand welke zal worden toegvoegd\&. +.PP +De tweede werkingsmode wordt aangehaald met de optie +\fB\-\-edit\-headers\fR +en een bestandsnaam\&. Dit staat +\fBmmg\fR(1) +toe zijn kopbewerker te starten en het bestand te laden\&. +.PP +De volledige documentatie is beschikbaar in HTML format (doc/mkvmerge\-gui\&.html)\&. +.SH "ZIE OOK" +.PP + +\fBmkvmerge\fR(1), +\fBmkvextract\fR(1), +\fBmkvinfo\fR(1), +\fBmkvpropedit\fR(1) +.SH "WWW" +.PP +De laatste versie kan altijd gevonden worden op de +\m[blue]\fBMKVToolNix\fR\m[]\&\s-2\u[1]\d\s+2 +thuis basis\&. +.SH "AUTEUR" +.PP +\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> +.RS 4 +Ontwikkelaar +.RE +.SH "NOTEN" +.IP " 1." 4 +MKVToolNix +.RS 4 +\%http://www.bunkus.org/videotools/mkvtoolnix/ +.RE diff -Nru mkvtoolnix-4.0.0/doc/man/po4a/po/ja.po mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/ja.po --- mkvtoolnix-4.0.0/doc/man/po4a/po/ja.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/ja.po 2011-01-31 20:34:09.000000000 +0000 @@ -3,15 +3,16 @@ # This file is distributed under the same license as the mkvtoolnix package. # # Katsuhiko Nishimra 2009. -# Hiroki Taniura 2010. +# Hiroki Taniura 2010-2011. # msgid "" msgstr "" "Project-Id-Version: 2.9.9\n" -"POT-Creation-Date: 2010-05-28 17:17+0300\n" -"PO-Revision-Date: 2010-05-27 22:24+0900\n" +"POT-Creation-Date: 2011-01-21 14:26+0100\n" +"PO-Revision-Date: 2011-01-22 17:11+0100\n" "Last-Translator: Hiroki Taniura \n" "Language-Team: none\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,64 +26,44 @@ #. type: Content of the version entity #: doc/man/mkvextract.xml:6 doc/man/mkvinfo.xml:6 doc/man/mkvmerge.xml:6 #: doc/man/mkvpropedit.xml:6 doc/man/mmg.xml:6 -msgid "4.0.0" -msgstr "4.0.0" +msgid "4.5.0" +msgstr "4.5.0" #. type: Content of the date entity #: doc/man/mkvextract.xml:7 doc/man/mkvinfo.xml:7 doc/man/mkvmerge.xml:7 #: doc/man/mkvpropedit.xml:7 doc/man/mmg.xml:7 -msgid "2010-05-14" +msgid "2010-10-31" msgstr "" #. type: Content of the mkvmerge entity #: doc/man/mkvextract.xml:9 doc/man/mkvinfo.xml:9 doc/man/mkvmerge.xml:9 #: doc/man/mkvpropedit.xml:9 doc/man/mmg.xml:9 -msgid "" -"mkvmerge1" -msgstr "" -"mkvmerge1" +msgid "mkvmerge1" +msgstr "mkvmerge1" #. type: Content of the mkvinfo entity #: doc/man/mkvextract.xml:10 doc/man/mkvinfo.xml:10 doc/man/mkvmerge.xml:10 #: doc/man/mkvpropedit.xml:10 doc/man/mmg.xml:10 -msgid "" -"mkvinfo1" -msgstr "" -"mkvinfo1" +msgid "mkvinfo1" +msgstr "mkvinfo1" #. type: Content of the mkvextract entity #: doc/man/mkvextract.xml:11 doc/man/mkvinfo.xml:11 doc/man/mkvmerge.xml:11 #: doc/man/mkvpropedit.xml:11 doc/man/mmg.xml:11 -msgid "" -"mkvextract1" -msgstr "" -"mkvextract1" +msgid "mkvextract1" +msgstr "mkvextract1" #. type: Content of the mkvpropedit entity #: doc/man/mkvextract.xml:12 doc/man/mkvinfo.xml:12 doc/man/mkvmerge.xml:12 #: doc/man/mkvpropedit.xml:12 doc/man/mmg.xml:12 -msgid "" -"mkvpropedit1" -msgstr "" -"mkvpropedit1" +msgid "mkvpropedit1" +msgstr "mkvpropedit1" #. type: Content of the mmg entity #: doc/man/mkvextract.xml:13 doc/man/mkvinfo.xml:13 doc/man/mkvmerge.xml:13 #: doc/man/mkvpropedit.xml:13 doc/man/mmg.xml:13 -msgid "" -"mmg1" -msgstr "" -"mmg1" +msgid "mmg1" +msgstr "mmg1" #. type: Content of the matroska entity #: doc/man/mkvextract.xml:15 doc/man/mkvinfo.xml:15 doc/man/mkvmerge.xml:15 @@ -189,12 +170,8 @@ #. type: Content of: #: doc/man/mkvextract.xml:51 -msgid "" -"mkvextract mode source-filename options extraction-spec" -msgstr "" -"mkvextract mode source-filename options extraction-spec" +msgid "mkvextract mode source-filename options extraction-spec" +msgstr "mkvextract mode source-filename options extraction-spec" #. type: Content of: #: doc/man/mkvextract.xml:60 doc/man/mkvinfo.xml:58 doc/man/mkvmerge.xml:65 @@ -204,30 +181,8 @@ #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvextract.xml:62 -msgid "" -"This program extracts specific parts from a &matroska; file to other useful " -"formats. The first argument, <option>mode</option>, tells &mkvextract; what " -"to extract. Currently supported is the extraction of <link linkend=" -"\"mkvextract.description.tracks\">tracks</link>, <link linkend=\"mkvextract." -"description.tags\">tags</link>, <link linkend=\"mkvextract.description." -"attachments\">attachments</link>, <link linkend=\"mkvextract.description." -"chapters\">chapters</link>, <link linkend=\"mkvextract.description.cuesheets" -"\">CUE sheets</link> and <link linkend=\"mkvextract.description.timecodes_v2" -"\">timecodes</link>. The second argument is the name of the source file. It " -"must be a &matroska; file. All following arguments are options and " -"extraction specifications; both of which depend on the selected mode." -msgstr "" -"&matroska; ファイルの特定の部分を、他の有用なフォーマットで抽出します。最初の" -"<option>mode</option>引数は、&mkvextract; に何を抽出すべきかを指示します。現" -"在サポートされているのは、<link linkend=\"mkvextract.description.tracks\">ト" -"ラック</link>、<link linkend=\"mkvextract.description.tags\">タグ</link>、" -"<link linkend=\"mkvextract.description.attachments\">添付ファイル</link>、" -"<link linkend=\"mkvextract.description.chapters\">チャプタ</link>、<link " -"linkend=\"mkvextract.description.cuesheets\">CUEシート</link> 及び <link " -"linkend=\"mkvextract.description.timecodes_v2\">タイムコード</link>の抽出で" -"す。二個目の引数はソースファイルの名前です。これは&matroska;ファイルでなけれ" -"ばなりません。続く全ての引数は、オプションと抽出設定です。これらは指定された" -"modeに依存します。" +msgid "This program extracts specific parts from a &matroska; file to other useful formats. The first argument, <option>mode</option>, tells &mkvextract; what to extract. Currently supported is the extraction of <link linkend=\"mkvextract.description.tracks\">tracks</link>, <link linkend=\"mkvextract.description.tags\">tags</link>, <link linkend=\"mkvextract.description.attachments\">attachments</link>, <link linkend=\"mkvextract.description.chapters\">chapters</link>, <link linkend=\"mkvextract.description.cuesheets\">CUE sheets</link> and <link linkend=\"mkvextract.description.timecodes_v2\">timecodes</link>. The second argument is the name of the source file. It must be a &matroska; file. All following arguments are options and extraction specifications; both of which depend on the selected mode." +msgstr "&matroska; ファイルの特定の部分を、他の有用なフォーマットで抽出します。最初の<option>mode</option>引数は、&mkvextract; に何を抽出すべきかを指示します。現在サポートされているのは、<link linkend=\"mkvextract.description.tracks\">トラック</link>、<link linkend=\"mkvextract.description.tags\">タグ</link>、<link linkend=\"mkvextract.description.attachments\">添付ファイル</link>、<link linkend=\"mkvextract.description.chapters\">チャプタ</link>、<link linkend=\"mkvextract.description.cuesheets\">CUEシート</link> 及び <link linkend=\"mkvextract.description.timecodes_v2\">タイムコード</link>の抽出です。二個目の引数はソースファイルの名前です。これは&matroska;ファイルでなければなりません。続く全ての引数は、オプションと抽出設定です。これらは指定されたmodeに依存します。" #. type: Content of: <refentry><refsect1><refsect2><title> #: doc/man/mkvextract.xml:71 @@ -236,12 +191,8 @@ #. type: Content of: <refentry><refsect1><refsect2><para> #: doc/man/mkvextract.xml:74 -msgid "" -"The following options are available in all modes and only described once in " -"this section." -msgstr "" -"以下のオプションは、全てのmodeで使用できるので、このセクションで一括して説明" -"します。" +msgid "The following options are available in all modes and only described once in this section." +msgstr "以下のオプションは、全てのmodeで使用できるので、このセクションで一括して説明します。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> #: doc/man/mkvextract.xml:79 @@ -250,176 +201,138 @@ #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: doc/man/mkvextract.xml:82 -msgid "" -"Sets the parse mode to 'full'. The default mode does not parse the whole " -"file but uses the meta seek elements for locating the required elements of a " -"source file. In 99% of all cases this is enough. But for files that do not " -"contain meta seek elements or which are damaged the user might have to use " -"this mode. A full scan of a file can take a couple of minutes while a fast " -"scan only takes seconds." -msgstr "" -"解析モードを'full'に設定します。デフォルトのモードでは、ソースファイルの必要" -"な要素を見つけるのにファイル全体を解析せずにメタシーク要素を使用します。99%の" -"ケースではこれで十分ですが、メタシーク要素が含まれていなかったり壊れていたり" -"するファイルにはこのモードを使用しなければならないかもしれません。高速スキャ" -"ンが数秒しかかからないのに対して、ファイルをフルスキャンするのには数分かかる" -"ことがあります。" +msgid "Sets the parse mode to 'full'. The default mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to use this mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "解析モードを'full'に設定します。デフォルトのモードでは、ソースファイルの必要な要素を見つけるのにファイル全体を解析せずにメタシーク要素を使用します。99%のケースではこれで十分ですが、メタシーク要素が含まれていなかったり壊れていたりするファイルにはこのモードを使用しなければならないかもしれません。高速スキャンが数秒しかかからないのに対して、ファイルをフルスキャンするのには数分かかることがあります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:91 doc/man/mkvinfo.xml:120 doc/man/mkvmerge.xml:1185 -#: doc/man/mkvpropedit.xml:152 -msgid "" -"<option>--command-line-charset</option> <parameter>character-set</parameter>" -msgstr "" -"<option>--command-line-charset</option> <parameter>character-set</parameter>" +#: doc/man/mkvextract.xml:91 doc/man/mkvinfo.xml:129 doc/man/mkvmerge.xml:1234 +#: doc/man/mkvpropedit.xml:156 +msgid "<option>--command-line-charset</option> <parameter>character-set</parameter>" +msgstr "<option>--command-line-charset</option> <parameter>character-set</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:94 doc/man/mkvinfo.xml:123 -#: doc/man/mkvpropedit.xml:155 -msgid "" -"Sets the character set to convert strings given on the command line from. It " -"defaults to the character set given by system's current locale." -msgstr "" -"コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在の" -"ロケールの文字コードになります。" +#: doc/man/mkvextract.xml:94 doc/man/mkvinfo.xml:132 +#: doc/man/mkvpropedit.xml:159 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale." +msgstr "コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:101 doc/man/mkvinfo.xml:130 -#: doc/man/mkvmerge.xml:1198 doc/man/mkvpropedit.xml:162 +#: doc/man/mkvextract.xml:101 doc/man/mkvinfo.xml:139 +#: doc/man/mkvmerge.xml:1247 doc/man/mkvpropedit.xml:166 msgid "<option>--output-charset</option> <parameter>character-set</parameter>" msgstr "<option>--output-charset</option> <parameter>character-set</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:104 doc/man/mkvinfo.xml:133 -#: doc/man/mkvmerge.xml:1201 doc/man/mkvpropedit.xml:165 -msgid "" -"Sets the character set to which strings are converted that are to be " -"output. It defaults to the character set given by system's current locale." -msgstr "" -"出力する文字コードを指定します。デフォルトは、システムの現在のロケールの文字" -"コードになります。" +#: doc/man/mkvextract.xml:104 doc/man/mkvinfo.xml:142 +#: doc/man/mkvmerge.xml:1250 doc/man/mkvpropedit.xml:169 +msgid "Sets the character set to which strings are converted that are to be output. It defaults to the character set given by system's current locale." +msgstr "出力する文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:111 doc/man/mkvinfo.xml:140 -#: doc/man/mkvmerge.xml:1208 doc/man/mkvpropedit.xml:172 -msgid "" -"<option>-r</option>, <option>--redirect-output</option> <parameter>file-" -"name</parameter>" -msgstr "" -"<option>-r</option>, <option>--redirect-output</option> <parameter>file-" -"name</parameter>" +#: doc/man/mkvextract.xml:111 doc/man/mkvinfo.xml:149 +#: doc/man/mkvmerge.xml:1257 doc/man/mkvpropedit.xml:176 +msgid "<option>-r</option>, <option>--redirect-output</option> <parameter>file-name</parameter>" +msgstr "<option>-r</option>, <option>--redirect-output</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: doc/man/mkvextract.xml:114 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvextract.description.common.output_charset\"><option>--output-" -"charset</option></link> is honored." -msgstr "" -"全てのメッセージを、コンソールではなく<parameter>file-name</parameter>に書き" -"出します。出力をリダイレクトすることで同じことが容易に可能ですが、このオプ" -"ションが必要になることもあります。ターミナルが出力を、ファイルに書き出す前に" -"処理してしまう場合などです。<link linkend=\"mkvextract.description.common." -"output_charset\"><option>--output-charset</option></link>によって指定された文" -"字コードは尊重されます。" +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "全てのメッセージを、コンソールではなく<parameter>file-name</parameter>に書き出します。出力をリダイレクトすることで同じことが容易に可能ですが、このオプションが必要になることもあります。ターミナルが出力を、ファイルに書き出す前に処理してしまう場合などです。<link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link>によって指定された文字コードは尊重されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:123 doc/man/mkvinfo.xml:152 -#: doc/man/mkvmerge.xml:1219 doc/man/mkvpropedit.xml:184 +#: doc/man/mkvextract.xml:123 doc/man/mkvinfo.xml:161 +#: doc/man/mkvmerge.xml:1268 doc/man/mkvpropedit.xml:188 msgid "<option>--ui-language</option> <parameter>code</parameter>" msgstr "<option>--ui-language</option> <parameter>code</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:126 doc/man/mkvpropedit.xml:187 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvextract; to output a list of available translations." -msgstr "" -"指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語なら" -"ば'<literal>ja_JP</literal>')として使用します。しかし、環境変数" -"<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</" -"varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に" -"<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" +#: doc/man/mkvextract.xml:126 doc/man/mkvpropedit.xml:191 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvextract; to output a list of available translations." +msgstr "指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語ならば'<literal>ja_JP</literal>')として使用します。しかし、環境変数<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:135 doc/man/mkvinfo.xml:164 doc/man/mkvmerge.xml:77 -#: doc/man/mkvpropedit.xml:196 +#: doc/man/mkvextract.xml:135 doc/man/mkvinfo.xml:173 doc/man/mkvmerge.xml:84 +#: doc/man/mkvpropedit.xml:200 msgid "<option>-v</option>, <option>--verbose</option>" msgstr "<option>-v</option>, <option>--verbose</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:138 doc/man/mkvpropedit.xml:199 -msgid "" -"Be verbose and show all the important &matroska; elements as they're read." -msgstr "" -"出力が冗長になり、&matroska;のエレメントにとって重要なこと全てを、読み込まれ" -"るつどに表示していきます。" +#: doc/man/mkvextract.xml:138 doc/man/mkvpropedit.xml:203 +msgid "Be verbose and show all the important &matroska; elements as they're read." +msgstr "出力が冗長になり、&matroska;のエレメントにとって重要なこと全てを、読み込まれるつどに表示していきます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:144 doc/man/mkvinfo.xml:174 -#: doc/man/mkvmerge.xml:1291 doc/man/mkvpropedit.xml:205 +#: doc/man/mkvextract.xml:144 doc/man/mkvinfo.xml:183 +#: doc/man/mkvmerge.xml:1345 doc/man/mkvpropedit.xml:209 msgid "<option>-h</option>, <option>--help</option>" msgstr "<option>-h</option>, <option>--help</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:147 doc/man/mkvinfo.xml:177 -#: doc/man/mkvmerge.xml:1294 doc/man/mkvpropedit.xml:208 +#: doc/man/mkvextract.xml:147 doc/man/mkvinfo.xml:186 +#: doc/man/mkvmerge.xml:1348 doc/man/mkvpropedit.xml:212 msgid "Show usage information and exit." msgstr "コマンド書式情報を出力して終了します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:153 doc/man/mkvinfo.xml:183 -#: doc/man/mkvmerge.xml:1300 doc/man/mkvpropedit.xml:214 +#: doc/man/mkvextract.xml:153 doc/man/mkvinfo.xml:192 +#: doc/man/mkvmerge.xml:1354 doc/man/mkvpropedit.xml:218 msgid "<option>-V</option>, <option>--version</option>" msgstr "<option>-V</option>, <option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:156 doc/man/mkvinfo.xml:186 -#: doc/man/mkvmerge.xml:1303 doc/man/mkvpropedit.xml:217 +#: doc/man/mkvextract.xml:156 doc/man/mkvinfo.xml:195 +#: doc/man/mkvmerge.xml:1357 doc/man/mkvpropedit.xml:221 msgid "Show version information and exit." msgstr "バージョン情報を出力して終了します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:162 doc/man/mkvinfo.xml:192 -#: doc/man/mkvmerge.xml:1231 doc/man/mkvpropedit.xml:223 +#: doc/man/mkvextract.xml:162 doc/man/mkvinfo.xml:201 +#: doc/man/mkvmerge.xml:1363 doc/man/mkvpropedit.xml:227 +msgid "<option>--check-for-updates</option>" +msgstr "<option>--check-for-updates</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:165 doc/man/mkvinfo.xml:204 +#: doc/man/mkvmerge.xml:1366 doc/man/mkvpropedit.xml:230 +msgid "Checks online for new releases by downloading the URL <uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri>. Four lines will be output in <literal>key=value</literal> style: the URL from where the information was retrieved (key <literal>version_check_url</literal>), the currently running version (key <literal>running_version</literal>), the latest release's version (key <literal>available_version</literal>) and the download URL (key <literal>download_url</literal>)." +msgstr "<uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri>をダウンロードすることで、新しいリリースがないかオンラインでチェックします。<literal>key=value</literal>という書式で、4行が出力されます:どこから情報を取得したか (key <literal>version_check_url</literal>)、現在実行中のバージョン (key <literal>running_version</literal>)、最新のリリースのバージョン (key <literal>available_version</literal>) 及びそのダウンロードURL (key <literal>download_url</literal>)。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:172 doc/man/mkvinfo.xml:211 +#: doc/man/mkvmerge.xml:1373 doc/man/mkvpropedit.xml:237 +msgid "Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e.g. if the update information could not be retrieved)." +msgstr "その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:177 doc/man/mkvinfo.xml:216 +#: doc/man/mkvmerge.xml:1378 doc/man/mkvpropedit.xml:242 +msgid "This option is only available if the program was built with support for libcurl." +msgstr "このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:183 doc/man/mkvinfo.xml:222 +#: doc/man/mkvmerge.xml:1280 doc/man/mkvpropedit.xml:248 msgid "<option>@</option>options-file" msgstr "<option>@</option>options-file" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:165 doc/man/mkvinfo.xml:195 -#: doc/man/mkvmerge.xml:1234 doc/man/mkvpropedit.xml:226 -msgid "" -"Reads additional command line arguments from the file <parameter>options-" -"file</parameter>. Lines whose first non-whitespace character is a hash mark " -"('<literal>#</literal>') are treated as comments and ignored. White spaces " -"at the start and end of a line will be stripped. Each line must contain " -"exactly one option. There is no meta character escaping." -msgstr "" -"<parameter>options-file</parameter>で指定されたファイルから追加のコマンドライ" -"ンオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク" -"('<literal>#</literal>')である行はコメントとして扱われ、無視されます。行頭、" -"及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定でき" -"ません。メタキャラクタのエスケープは必要ありません。" +#: doc/man/mkvextract.xml:186 doc/man/mkvinfo.xml:225 +#: doc/man/mkvmerge.xml:1283 doc/man/mkvpropedit.xml:251 +msgid "Reads additional command line arguments from the file <parameter>options-file</parameter>. Lines whose first non-whitespace character is a hash mark ('<literal>#</literal>') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option." +msgstr "<parameter>options-file</parameter>で指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク('<literal>#</literal>')である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:171 -msgid "" -"The command line '<command>mkvextract tracks source.mkv --raw 1:destination." -"raw</command>' could be converted into the following option file:" -msgstr "" -"'<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>'とい" -"うコマンドラインと同じことは、次のようなオプションファイルによって指定できま" -"す。" +#: doc/man/mkvextract.xml:192 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvextract.escaping\">the section about escaping text</link>." +msgstr "エスケープすることができる文字もあります。例えば、コメントではない行を'#'で始める必要がある場合です。そのルールは、<link linkend=\"mkvextract.escaping\">エスケープ文字についてのセクション</link>で説明されています。" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:197 +msgid "The command line '<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>' could be converted into the following option file:" +msgstr "'<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>'というコマンドラインと同じことは、次のようなオプションファイルによって指定できます。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvextract.xml:176 +#: doc/man/mkvextract.xml:202 #, no-wrap msgid "" "# Extract a track from source.mkv\n" @@ -439,154 +352,87 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:189 +#: doc/man/mkvextract.xml:215 msgid "Track extraction mode" msgstr "トラック抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:192 -msgid "" -"Syntax: <command>mkvextract</command> <option>tracks</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>TID1:dest-filename1</parameter> " -"<optional><parameter>TID2:dest-filename2</parameter> ...</optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>tracks</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>TID1:dest-filename1</parameter> " -"<optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +#: doc/man/mkvextract.xml:218 +msgid "Syntax: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "書式: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:196 -msgid "" -"The following command line options are available for each track in the " -"'<literal>tracks</literal>' extraction mode. They have to appear in front " -"of the track specification (see below) they should be applied to." -msgstr "" -"以下のコマンドラインオプションは、トラック抽出モードでは各トラック毎に指定す" -"ることができます。これらのオプションは、作用するトラック指定子(下記参照)の前" -"に指定しなければなりません。" +#: doc/man/mkvextract.xml:222 +msgid "The following command line options are available for each track in the '<literal>tracks</literal>' extraction mode. They have to appear in front of the track specification (see below) they should be applied to." +msgstr "以下のコマンドラインオプションは、トラック抽出モードでは各トラック毎に指定することができます。これらのオプションは、作用するトラック指定子(下記参照)の前に指定しなければなりません。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:202 +#: doc/man/mkvextract.xml:228 msgid "<option>-c</option> <parameter>character-set</parameter>" msgstr "<option>-c</option> <parameter>character-set</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:205 -msgid "" -"Sets the character set to convert the next text subtitle track to. Only " -"valid if the next track ID targets a text subtitle track. It defaults to UTF-" -"8." -msgstr "" -"直後の字幕トラックの出力文字コードを指定します。直後のトラックIDが指すのが、" -"字幕トラックのときのみ有効です。デフォルトはUTF-8になります。" +#: doc/man/mkvextract.xml:231 +msgid "Sets the character set to convert the next text subtitle track to. Only valid if the next track ID targets a text subtitle track. It defaults to UTF-8." +msgstr "直後の字幕トラックの出力文字コードを指定します。直後のトラックIDが指すのが、字幕トラックのときのみ有効です。デフォルトはUTF-8になります。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:212 +#: doc/man/mkvextract.xml:238 msgid "<option>--blockadd</option> <parameter>level</parameter>" msgstr "<option>--blockadd</option> <parameter>level</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:215 -msgid "" -"Keep only the BlockAdditions up to this level. The default is to keep all " -"levels. This option only affects certain kinds of codecs like WAVPACK4." -msgstr "" -"このレベルまでのBlockAdditionを保持します。デフォルトでは全て保持します。この" -"オプションは、WAVPACK4などの特定のコーデックにのみ有効です。" +#: doc/man/mkvextract.xml:241 +msgid "Keep only the BlockAdditions up to this level. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "このレベルまでのBlockAdditionを保持します。デフォルトでは全て保持します。このオプションは、WAVPACK4などの特定のコーデックにのみ有効です。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:222 +#: doc/man/mkvextract.xml:248 msgid "<option>--cuesheet</option>" msgstr "<option>--cuesheet</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:225 -msgid "" -"Causes &mkvextract; to extract a <abbrev>CUE</abbrev> sheet from the chapter " -"information and tag data for the following track into a file whose name is " -"the track's output name with '<literal>.cue</literal>' appended to it." -msgstr "" -"&mkvextract;に、直後のトラックのチャプタ情報とタグデータから<abbrev>CUE</" -"abbrev>シートを生成します。出力ファイルの名前はトラックの出力名に'<literal>." -"cue</literal>'をつけたものになります。" +#: doc/man/mkvextract.xml:251 +msgid "Causes &mkvextract; to extract a <abbrev>CUE</abbrev> sheet from the chapter information and tag data for the following track into a file whose name is the track's output name with '<literal>.cue</literal>' appended to it." +msgstr "&mkvextract;に、直後のトラックのチャプタ情報とタグデータから<abbrev>CUE</abbrev>シートを生成します。出力ファイルの名前はトラックの出力名に'<literal>.cue</literal>'をつけたものになります。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:232 +#: doc/man/mkvextract.xml:258 msgid "<option>--raw</option>" msgstr "<option>--raw</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:235 -msgid "" -"Extracts the raw data into a file without any container data around it. " -"Unlike the <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--" -"fullraw</option></link> flag this flag does not cause the contents of the " -"<classname>CodecPrivate</classname> element to be written to the file. This " -"mode works with all <classname>CodecIDs</classname>, even the ones that " -"&mkvextract; doesn't support otherwise, but the resulting files might not be " -"usable." -msgstr "" -"コンテナ情報を含まない、rawデータをファイルに抽出します。<link linkend=" -"\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link>フ" -"ラグとは違い、このフラグは<classname>CodecPrivate</classname>要素の内容はファ" -"イルに書き出しません。このモードは、&mkvextract;がサポートしないものも含めて" -"全ての<classname>CodecID</classname>で使用できますが、出力されたファイルは使" -"用できないかもしれません。" +#: doc/man/mkvextract.xml:261 +msgid "Extracts the raw data into a file without any container data around it. Unlike the <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> flag this flag does not cause the contents of the <classname>CodecPrivate</classname> element to be written to the file. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "コンテナ情報を含まない、rawデータをファイルに抽出します。<link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link>フラグとは違い、このフラグは<classname>CodecPrivate</classname>要素の内容はファイルに書き出しません。このモードは、&mkvextract;がサポートしないものも含めて全ての<classname>CodecID</classname>で使用できますが、出力されたファイルは使用できないかもしれません。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:244 +#: doc/man/mkvextract.xml:270 msgid "<option>--fullraw</option>" msgstr "<option>--fullraw</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:247 -msgid "" -"Extracts the raw data into a file without any container data around it. The " -"contents of the <classname>CodecPrivate</classname> element will be written " -"to the file first if the track contains such a header element. This mode " -"works with all <classname>CodecIDs</classname>, even the ones that " -"&mkvextract; doesn't support otherwise, but the resulting files might not be " -"usable." -msgstr "" -"コンテナ情報を含まない、rawデータをファイルに抽出します。トラックが" -"<classname>CodecPrivate</classname>要素のヘッダ情報を含む場合、その内容はファ" -"イルの先頭に書き出されます。このモードは、&mkvextract;がサポートしない" -"<classname>CodecID</classname>にも使用できますが、出力されたファイルは使用で" -"きないかもしれません。" +#: doc/man/mkvextract.xml:273 +msgid "Extracts the raw data into a file without any container data around it. The contents of the <classname>CodecPrivate</classname> element will be written to the file first if the track contains such a header element. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "コンテナ情報を含まない、rawデータをファイルに抽出します。トラックが<classname>CodecPrivate</classname>要素のヘッダ情報を含む場合、その内容はファイルの先頭に書き出されます。このモードは、&mkvextract;がサポートしない<classname>CodecID</classname>にも使用できますが、出力されたファイルは使用できないかもしれません。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:256 +#: doc/man/mkvextract.xml:282 doc/man/mkvextract.xml:392 msgid "<parameter>TID:outname</parameter>" msgstr "<parameter>TID:outname</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:259 -msgid "" -"Causes extraction of the track with the ID <parameter>TID</parameter> into " -"the file <parameter>outname</parameter> if such a track exists in the source " -"file. This option can be given multiple times. The track IDs are the same as " -"the ones output by &mkvmerge;'s <option>--identify</option> option." -msgstr "" -"IDが<parameter>TID</parameter>であるトラックがソースファイルに存在すれば、" -"<parameter>outname</parameter>に抽出します。このオプションは複数回指定できま" -"す。トラックIDは、&mkvmerge;に<option>--identify</option>を指定して実行した際" -"の出力に表示されるものと同じです。" +#: doc/man/mkvextract.xml:285 +msgid "Causes extraction of the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "IDが<parameter>TID</parameter>であるトラックがソースファイルに存在すれば、<parameter>outname</parameter>に抽出します。このオプションは複数回指定できます。トラックIDは、&mkvmerge;に<option>--identify</option>を指定して実行した際の出力に表示されるものと同じです。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:266 -msgid "" -"Each output name should be used only once. The exception are RealAudio and " -"RealVideo tracks. If you use the same name for different tracks then those " -"tracks will be saved in the same file. Example:" -msgstr "" -"各出力ファイル名は一回しか使用されません。RealAudio及びRealVideoトラックは例" -"外です。もし、異なるトラックに同じファイル名が指定された場合、それらは同一の" -"ファイルに保存されます。例:" +#: doc/man/mkvextract.xml:292 +msgid "Each output name should be used only once. The exception are RealAudio and RealVideo tracks. If you use the same name for different tracks then those tracks will be saved in the same file. Example:" +msgstr "各出力ファイル名は一回しか使用されません。RealAudio及びRealVideoトラックは例外です。もし、異なるトラックに同じファイル名が指定された場合、それらは同一のファイルに保存されます。例:" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> -#: doc/man/mkvextract.xml:271 +#: doc/man/mkvextract.xml:297 #, no-wrap msgid "" "$ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm\n" @@ -596,196 +442,132 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:279 +#: doc/man/mkvextract.xml:305 msgid "Tags extraction mode" msgstr "タグ抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:282 -msgid "" -"Syntax: <command>mkvextract</command> <option>tags</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>tags</option> <parameter>source-" -"filename</parameter> <optional><parameter>options</parameter></optional>" +#: doc/man/mkvextract.xml:308 +msgid "Syntax: <command>mkvextract</command> <option>tags</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "書式: <command>mkvextract</command> <option>tags</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:286 -msgid "" -"The extracted tags are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"抽出されたタグは、出力がリダイレクトされていなればコンソールに出力されます。" -"(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダイレ" -"クト</link>についてのセクションを参照ください。)" +#: doc/man/mkvextract.xml:312 +msgid "The extracted tags are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "抽出されたタグは、出力がリダイレクトされていなればコンソールに出力されます。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダイレクト</link>についてのセクションを参照ください。)" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:292 +#: doc/man/mkvextract.xml:318 msgid "Attachments extraction mode" msgstr "添付ファイル抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:295 -msgid "" -"Syntax: <command>mkvextract</command> <option>attachments</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>AID1:outname1</parameter> " -"<optional><parameter>AID2:outname2</parameter> ...</optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>attachments</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>AID1:outname1</parameter> " -"<optional><parameter>AID2:outname2</parameter> ...</optional>" +#: doc/man/mkvextract.xml:321 +msgid "Syntax: <command>mkvextract</command> <option>attachments</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>AID1:outname1</parameter> <optional><parameter>AID2:outname2</parameter> ...</optional>" +msgstr "書式: <command>mkvextract</command> <option>attachments</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>AID1:outname1</parameter> <optional><parameter>AID2:outname2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:300 +#: doc/man/mkvextract.xml:326 msgid "AID:outname" msgstr "AID:outname" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:303 -msgid "" -"Causes extraction of the attachment with the ID <parameter>AID</parameter> " -"into the file <parameter>outname</parameter> if such an attachment exists in " -"the source file. If the <parameter>outname</parameter> is left empty then " -"the name of the attachment inside the source &matroska; file is used " -"instead. This option can be given multiple times. The attachment IDs are " -"the same as the ones output by &mkvmerge;'s <option>--identify</option> " -"option." -msgstr "" -"IDが<parameter>AID</parameter>である添付ファイルがもしソースファイルに存在す" -"れば抽出します。<parameter>outname</parameter>が指定されない場合、&matroska;" -"に格納された添付ファイルの名前が使用されます。このオプションは複数回指定でき" -"ます。添付ファイルIDは、&mkvmerge;に<option>--identify</option>オプションを指" -"定したときに出力されるものと同じです。" +#: doc/man/mkvextract.xml:329 +msgid "Causes extraction of the attachment with the ID <parameter>AID</parameter> into the file <parameter>outname</parameter> if such an attachment exists in the source file. If the <parameter>outname</parameter> is left empty then the name of the attachment inside the source &matroska; file is used instead. This option can be given multiple times. The attachment IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "IDが<parameter>AID</parameter>である添付ファイルがもしソースファイルに存在すれば抽出します。<parameter>outname</parameter>が指定されない場合、&matroska;に格納された添付ファイルの名前が使用されます。このオプションは複数回指定できます。添付ファイルIDは、&mkvmerge;に<option>--identify</option>オプションを指定したときに出力されるものと同じです。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:314 +#: doc/man/mkvextract.xml:340 msgid "Chapters extraction mode" msgstr "チャプタ抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:317 -msgid "" -"Syntax: <command>mkvextract</command> <option>chapters</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>chapters</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" +#: doc/man/mkvextract.xml:343 +msgid "Syntax: <command>mkvextract</command> <option>chapters</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "書式: <command>mkvextract</command> <option>chapters</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:322 +#: doc/man/mkvextract.xml:348 msgid "<option>-s</option>, <option>--simple</option>" msgstr "<option>-s</option>, <option>--simple</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:325 -msgid "" -"Exports the chapter information in the simple format used in the " -"<abbrev>OGM</abbrev> tools (CHAPTER01=..., CHAPTER01NAME=...). In this mode " -"some information has to be discarded. Default is to output the chapters in " -"&xml; format." -msgstr "" -"チャプタ情報を<abbrev>OGM</abbrev> toolsで使用される、シンプルフォーマット" -"(CHAPTER01=..., CHAPTER01NAME=...)で出力します。このモードでは、一部の情報は" -"破棄されます。デフォルトでは、チャプタは&xml;フォーマットで出力されます。" +#: doc/man/mkvextract.xml:351 +msgid "Exports the chapter information in the simple format used in the <abbrev>OGM</abbrev> tools (CHAPTER01=..., CHAPTER01NAME=...). In this mode some information has to be discarded. Default is to output the chapters in &xml; format." +msgstr "チャプタ情報を<abbrev>OGM</abbrev> toolsで使用される、シンプルフォーマット(CHAPTER01=..., CHAPTER01NAME=...)で出力します。このモードでは、一部の情報は破棄されます。デフォルトでは、チャプタは&xml;フォーマットで出力されます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:334 -msgid "" -"The extracted chapters are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"抽出されたチャプタは、出力がリダイレクトされていなればコンソールに出力されま" -"す。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダ" -"イレクト</link>についてのセクションを参照ください。)" +#: doc/man/mkvextract.xml:360 +msgid "The extracted chapters are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "抽出されたチャプタは、出力がリダイレクトされていなればコンソールに出力されます。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダイレクト</link>についてのセクションを参照ください。)" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:340 +#: doc/man/mkvextract.xml:366 msgid "Cue sheet extraction mode" msgstr "CUEシート抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:343 -msgid "" -"Syntax: <command>mkvextract</command> <option>cuesheet</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>cuesheet</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" +#: doc/man/mkvextract.xml:369 +msgid "Syntax: <command>mkvextract</command> <option>cuesheet</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "書式: <command>mkvextract</command> <option>cuesheet</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:347 -msgid "" -"The extracted cue sheet is written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"抽出されたCUEシートは、出力がリダイレクトされていなればコンソールに出力されま" -"す。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダ" -"イレクト</link>についてのセクションを参照ください。)" +#: doc/man/mkvextract.xml:373 +msgid "The extracted cue sheet is written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "抽出されたCUEシートは、出力がリダイレクトされていなればコンソールに出力されます。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダイレクト</link>についてのセクションを参照ください。)" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:353 +#: doc/man/mkvextract.xml:379 msgid "Timecode extraction mode" msgstr "タイムコード抽出モード" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:356 -msgid "" -"Syntax: <command>mkvextract</command> <option>timecodes_v2</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"書式: <command>mkvextract</command> <option>timecodes_v2</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" +#: doc/man/mkvextract.xml:382 +msgid "Syntax: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "書式: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:360 +#: doc/man/mkvextract.xml:386 +msgid "The extracted timecodes are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "抽出されたタイムコードは、出力がリダイレクトされていなればコンソールに出力されます。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力リダイレクト</link>についてのセクションを参照ください。)" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:395 +msgid "Causes extraction of the timecodes for the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "IDが<parameter>TID</parameter>であるトラックがソースファイルに存在すれば、タイムコードを<parameter>outname</parameter>に抽出します。このオプションは複数回指定できます。トラックIDは、&mkvmerge;に<option>--identify</option>を指定して実行した際の出力に表示されるものと同じです。" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:401 +msgid "Example:" +msgstr "例:" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvextract.xml:405 +#, no-wrap msgid "" -"The extracted timecodes are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " msgstr "" -"抽出されたタイムコードは、出力がリダイレクトされていなればコンソールに出力さ" -"れます。(詳細については、<link linkend=\"mkvextract.output_redirection\">出力" -"リダイレクト</link>についてのセクションを参照ください。)" +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:367 +#: doc/man/mkvextract.xml:414 msgid "Output redirection" msgstr "出力リダイレクト" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:370 -msgid "" -"Several extraction modes cause &mkvextract; to write the extracted data to " -"the console. There are generally two ways of writing this data into a file: " -"one provided by the shell and one provided by &mkvextract; itself." -msgstr "" -"いくつかのモードでは、&mkvextract;は抽出されたデータをコンソールに出力しま" -"す。一般的に、このデータをファイルに書き出すには二つの方法があります。一つは" -"シェルによって提供され、もう一つは&mkvextract;自体によって提供されます。" +#: doc/man/mkvextract.xml:417 +msgid "Several extraction modes cause &mkvextract; to write the extracted data to the console. There are generally two ways of writing this data into a file: one provided by the shell and one provided by &mkvextract; itself." +msgstr "いくつかのモードでは、&mkvextract;は抽出されたデータをコンソールに出力します。一般的に、このデータをファイルに書き出すには二つの方法があります。一つはシェルによって提供され、もう一つは&mkvextract;自体によって提供されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:375 -msgid "" -"The shell's builtin redirection mechanism is used by appending " -"'<literal>> output-filename.ext</literal>' to the command line. Example:" -msgstr "" -"シェルビルトインのリダイレクト機構は、コマンドラインに'<literal>> output-" -"filename.ext</literal>'を追加することで使用できます。例:" +#: doc/man/mkvextract.xml:422 +msgid "The shell's builtin redirection mechanism is used by appending '<literal>> output-filename.ext</literal>' to the command line. Example:" +msgstr "シェルビルトインのリダイレクト機構は、コマンドラインに'<literal>> output-filename.ext</literal>'を追加することで使用できます。例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvextract.xml:380 +#: doc/man/mkvextract.xml:427 #, no-wrap msgid "" "$ mkvextract tags source.mkv > tags.xml\n" @@ -795,18 +577,12 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:384 -msgid "" -"&mkvextract;'s own redirection is invoked with the <link linkend=" -"\"mkvextract.description.common.redirect_output\"><option>--redirect-output</" -"option></link> option. Example:" -msgstr "" -"&mkvextract;自体のリダイレクトは、<link linkend=\"mkvextract.description." -"common.redirect_output\"><option>--redirect-output</option></link>オプション" -"を指定することで使用できます。例:" +#: doc/man/mkvextract.xml:431 +msgid "&mkvextract;'s own redirection is invoked with the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option. Example:" +msgstr "&mkvextract;自体のリダイレクトは、<link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link>オプションを指定することで使用できます。例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvextract.xml:389 +#: doc/man/mkvextract.xml:436 #, no-wrap msgid "" "$ mkvextract tags source.mkv --redirect-output tags.xml\n" @@ -816,336 +592,246 @@ " " #. type: Content of: <refentry><refsect1><note><para> -#: doc/man/mkvextract.xml:394 -msgid "" -"On Windows you should probably use the <link linkend=\"mkvextract." -"description.common.redirect_output\"><option>--redirect-output</option></" -"link> option because <command>cmd.exe</command> sometimes interpretes " -"special characters before they're written into the output file resulting in " -"broken output." -msgstr "" -"Windowsでは、<link linkend=\"mkvextract.description.common.redirect_output" -"\"><option>--redirect-output</option></link>オプションを使用するべきでしょ" -"う。<command>cmd.exe</command>は、特殊文字を出力ファイルに書き出す前に処理し" -"てしまい、出力が壊れる虞があります。" +#: doc/man/mkvextract.xml:441 +msgid "On Windows you should probably use the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option because <command>cmd.exe</command> sometimes interpretes special characters before they're written into the output file resulting in broken output." +msgstr "Windowsでは、<link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link>オプションを使用するべきでしょう。<command>cmd.exe</command>は、特殊文字を出力ファイルに書き出す前に処理してしまい、出力が壊れる虞があります。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:403 +#: doc/man/mkvextract.xml:450 msgid "Output file formats" msgstr "出力ファイルフォーマット" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:406 -msgid "" -"The decision about the output format is based on the track type, not on the " -"extension used for the output file name. The following track types are " -"supported at the moment:" -msgstr "" -"出力ファイルのフォーマットの決定は、トラックの種類によって決まり、出力ファイ" -"ル名の拡張子は使用されません。現在、以下の種類のトラックがサポートされていま" -"す。" +#: doc/man/mkvextract.xml:453 +msgid "The decision about the output format is based on the track type, not on the extension used for the output file name. The following track types are supported at the moment:" +msgstr "出力ファイルのフォーマットの決定は、トラックの種類によって決まり、出力ファイル名の拡張子は使用されません。現在、以下の種類のトラックがサポートされています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:412 +#: doc/man/mkvextract.xml:459 msgid "V_MPEG4/ISO/AVC" msgstr "V_MPEG4/ISO/AVC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:415 -msgid "" -"<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video tracks are written to " -"<abbrev>H.264</abbrev> elementary streams which can be processed further " -"with e.g. <productname>MP4Box</productname> from the <productname>GPAC</" -"productname> package." -msgstr "" -"<abbrev>H.264</abbrev>/<abbrev>AVC</abbrev>ビデオトラックは、<abbrev>H.264</" -"abbrev>エレメンタリ・ストリームに書き出されます。これは例えば" -"<productname>GPAC</productname>パッケージに含まれる、<productname>MP4Box</" -"productname>などにより処理できます。" +#: doc/man/mkvextract.xml:462 +msgid "<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video tracks are written to <abbrev>H.264</abbrev> elementary streams which can be processed further with e.g. <productname>MP4Box</productname> from the <productname>GPAC</productname> package." +msgstr "<abbrev>H.264</abbrev>/<abbrev>AVC</abbrev>ビデオトラックは、<abbrev>H.264</abbrev>エレメンタリ・ストリームに書き出されます。これは例えば<productname>GPAC</productname>パッケージに含まれる、<productname>MP4Box</productname>などにより処理できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:422 +#: doc/man/mkvextract.xml:469 msgid "V_MS/VFW/FOURCC" msgstr "V_MS/VFW/FOURCC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:425 -msgid "" -"Fixed <abbrev>FPS</abbrev> video tracks with this <classname>CodecID</" -"classname> are written to <abbrev>AVI</abbrev> files." -msgstr "" -"この<classname>CodecID</classname>をもつ、固定<abbrev>FPS</abbrev>ビデオト" -"ラックは<abbrev>AVI</abbrev>ファイルに書き出されます。" +#: doc/man/mkvextract.xml:472 +msgid "Fixed <abbrev>FPS</abbrev> video tracks with this <classname>CodecID</classname> are written to <abbrev>AVI</abbrev> files." +msgstr "この<classname>CodecID</classname>をもつ、固定<abbrev>FPS</abbrev>ビデオトラックは<abbrev>AVI</abbrev>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:431 +#: doc/man/mkvextract.xml:478 msgid "V_REAL/*" msgstr "V_REAL/*" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:434 -msgid "" -"<productname>RealVideo</productname> tracks are written to " -"<productname>RealMedia</productname> files." -msgstr "" -"<productname>RealVideo</productname>トラックは、<productname>RealMedia</" -"productname>ファイルに書き出されます。" +#: doc/man/mkvextract.xml:481 +msgid "<productname>RealVideo</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealVideo</productname>トラックは、<productname>RealMedia</productname>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:440 +#: doc/man/mkvextract.xml:487 msgid "A_MPEG/L3, A_AC3" msgstr "A_MPEG/L3, A_AC3" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:443 -msgid "" -"These will be extracted to raw <abbrev>MP3</abbrev> and <abbrev>AC3</abbrev> " -"files." -msgstr "" -"これらは、生の<abbrev>MP3</abbrev>ファイル及び<abbrev>AC3</abbrev>ファイルに" -"抽出されます。" +#: doc/man/mkvextract.xml:490 +msgid "These will be extracted to raw <abbrev>MP3</abbrev> and <abbrev>AC3</abbrev> files." +msgstr "これらは、生の<abbrev>MP3</abbrev>ファイル及び<abbrev>AC3</abbrev>ファイルに抽出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:449 +#: doc/man/mkvextract.xml:496 msgid "A_PCM/INT/LIT" msgstr "A_PCM/INT/LIT" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:452 -msgid "" -"Raw <abbrev>PCM</abbrev> data will be written to a <abbrev>WAV</abbrev> file." -msgstr "" -"<abbrev>PCM</abbrev>Rawデータは、<abbrev>WAV</abbrev>ファイルに書き出されま" -"す。" +#: doc/man/mkvextract.xml:499 +msgid "Raw <abbrev>PCM</abbrev> data will be written to a <abbrev>WAV</abbrev> file." +msgstr "<abbrev>PCM</abbrev>Rawデータは、<abbrev>WAV</abbrev>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:458 +#: doc/man/mkvextract.xml:505 msgid "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" msgstr "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:461 -msgid "" -"All <abbrev>AAC</abbrev> files will be written into an <abbrev>AAC</abbrev> " -"file with <abbrev>ADTS</abbrev> headers before each packet. The " -"<abbrev>ADTS</abbrev> headers will not contain the deprecated emphasis field." -msgstr "" -"全ての<abbrev>AAC</abbrev>ファイルは、<abbrev>ADTS</abbrev>ヘッダを各パケット" -"の前に追加されたうえで<abbrev>AAC</abbrev>ファイルに書き出されます。" -"<abbrev>ADTS</abbrev>ヘッダは、廃止予定であるエンファシスフィールドを含みませ" -"ん。" +#: doc/man/mkvextract.xml:508 +msgid "All <abbrev>AAC</abbrev> files will be written into an <abbrev>AAC</abbrev> file with <abbrev>ADTS</abbrev> headers before each packet. The <abbrev>ADTS</abbrev> headers will not contain the deprecated emphasis field." +msgstr "全ての<abbrev>AAC</abbrev>ファイルは、<abbrev>ADTS</abbrev>ヘッダを各パケットの前に追加されたうえで<abbrev>AAC</abbrev>ファイルに書き出されます。<abbrev>ADTS</abbrev>ヘッダは、廃止予定であるエンファシスフィールドを含みません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:468 +#: doc/man/mkvextract.xml:515 msgid "A_VORBIS" msgstr "A_VORBIS" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:471 +#: doc/man/mkvextract.xml:518 msgid "Vorbis audio will be written into an &oggvorbis; file." msgstr "Vorbis audioは&oggvorbis;ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:477 +#: doc/man/mkvextract.xml:524 msgid "A_REAL/*" msgstr "A_REAL/*" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:480 -msgid "" -"<productname>RealAudio</productname> tracks are written to " -"<productname>RealMedia</productname> files." -msgstr "" -"<productname>RealAudio</productname>トラックは<productname>RealMedia</" -"productname>ファイルに書き出されます。" +#: doc/man/mkvextract.xml:527 +msgid "<productname>RealAudio</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealAudio</productname>トラックは<productname>RealMedia</productname>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:486 +#: doc/man/mkvextract.xml:533 msgid "A_TTA1" msgstr "A_TTA1" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:489 -msgid "" -"<productname>TrueAudio</productname> tracks are written to <abbrev>TTA</" -"abbrev> files. Please note that due to &matroska;'s limited timecode " -"precision the extracted file's header will be different regarding two " -"fields: <varname>data_length</varname> (the total number of samples in the " -"file) and the <abbrev>CRC</abbrev>." -msgstr "" -"<productname>TrueAudio</productname>トラックは<abbrev>TTA</abbrev>ファイルに" -"書き出されます。&matroska;のタイムコード精度の上限のため、抽出されたファイル" -"のヘッダは、<varname>data_length</varname>フィールド(ファイルに含まれる総サン" -"プル数)と<abbrev>CRC</abbrev>については不正確になります。" +#: doc/man/mkvextract.xml:536 +msgid "<productname>TrueAudio</productname> tracks are written to <abbrev>TTA</abbrev> files. Please note that due to &matroska;'s limited timecode precision the extracted file's header will be different regarding two fields: <varname>data_length</varname> (the total number of samples in the file) and the <abbrev>CRC</abbrev>." +msgstr "<productname>TrueAudio</productname>トラックは<abbrev>TTA</abbrev>ファイルに書き出されます。&matroska;のタイムコード精度の上限のため、抽出されたファイルのヘッダは、<varname>data_length</varname>フィールド(ファイルに含まれる総サンプル数)と<abbrev>CRC</abbrev>については不正確になります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:497 +#: doc/man/mkvextract.xml:544 msgid "S_TEXT/UTF8" msgstr "S_TEXT/UTF8" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:500 +#: doc/man/mkvextract.xml:547 msgid "Simple text subtitles will be written as <abbrev>SRT</abbrev> files." msgstr "シンプル・テキスト字幕は<abbrev>SRT</abbrev>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:506 +#: doc/man/mkvextract.xml:553 msgid "S_TEXT/SSA, S_TEXT/ASS" msgstr "S_TEXT/SSA, S_TEXT/ASS" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:509 -msgid "" -"<abbrev>SSA</abbrev> and <abbrev>ASS</abbrev> text subtitles will be written " -"as <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> files respectively." -msgstr "" -"<abbrev>SSA</abbrev>及び<abbrev>ASS</abbrev>テキスト字幕は、それぞれ" -"<abbrev>SSA</abbrev>、<abbrev>ASS</abbrev>ファイルに書き出されます。" +#: doc/man/mkvextract.xml:556 +msgid "<abbrev>SSA</abbrev> and <abbrev>ASS</abbrev> text subtitles will be written as <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> files respectively." +msgstr "<abbrev>SSA</abbrev>及び<abbrev>ASS</abbrev>テキスト字幕は、それぞれ<abbrev>SSA</abbrev>、<abbrev>ASS</abbrev>ファイルに書き出されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:516 +#: doc/man/mkvextract.xml:563 msgid "S_KATE" msgstr "S_KATE" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:519 -msgid "" -"<productname>Kate</productname> streams will be written within an " -"<productname>Ogg</productname> container." -msgstr "" -"<productname>Kate</productname>ストリームは<productname>Ogg</productname>コン" -"テナに格納されます。" +#: doc/man/mkvextract.xml:566 +msgid "<productname>Kate</productname> streams will be written within an <productname>Ogg</productname> container." +msgstr "<productname>Kate</productname>ストリームは<productname>Ogg</productname>コンテナに格納されます。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:525 doc/man/mkvmerge.xml:1826 +#: doc/man/mkvextract.xml:572 doc/man/mkvmerge.xml:1986 msgid "Tags" msgstr "タグ" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:528 -msgid "" -"Tags are converted to a &xml; format. This format is the same that " -"&mkvmerge; supports for reading tags." -msgstr "" -"タグは、&xml;フォーマットに変換されます。このフォーマットは&mkvmerge;でタグを" -"読み込む際のフォーマットと同じです。" +#: doc/man/mkvextract.xml:575 +msgid "Tags are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading tags." +msgstr "タグは、&xml;フォーマットに変換されます。このフォーマットは&mkvmerge;でタグを読み込む際のフォーマットと同じです。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:534 doc/man/mkvmerge.xml:1694 +#: doc/man/mkvextract.xml:581 doc/man/mkvmerge.xml:1854 msgid "Attachments" msgstr "添付ファイル" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:537 -msgid "" -"Attachments are written to they output file as they are. No conversion " -"whatsoever is done." -msgstr "" -"添付ファイルはそのままの形式で出力ファイルに書き出されます。変換等の処理は全" -"く行われません。" +#: doc/man/mkvextract.xml:584 +msgid "Attachments are written to they output file as they are. No conversion whatsoever is done." +msgstr "添付ファイルはそのままの形式で出力ファイルに書き出されます。変換等の処理は全く行われません。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:543 doc/man/mkvmerge.xml:1719 +#: doc/man/mkvextract.xml:590 doc/man/mkvmerge.xml:1879 msgid "Chapters" msgstr "チャプタ" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:546 -msgid "" -"Chapters are converted to a &xml; format. This format is the same that " -"&mkvmerge; supports for reading chapters. Alternatively a stripped-down " -"version can be output in the simple <abbrev>OGM</abbrev> style format." -msgstr "" -"チャプタは&xml;フォーマットに変換されます。このフォーマットは&mkvmerge;がチャ" -"プタを読み込む際のフォーマットと同じです。他にも、簡略化された<abbrev>OGM</" -"abbrev>スタイルのフォーマットで出力することもできます。" +#: doc/man/mkvextract.xml:593 +msgid "Chapters are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading chapters. Alternatively a stripped-down version can be output in the simple <abbrev>OGM</abbrev> style format." +msgstr "チャプタは&xml;フォーマットに変換されます。このフォーマットは&mkvmerge;がチャプタを読み込む際のフォーマットと同じです。他にも、簡略化された<abbrev>OGM</abbrev>スタイルのフォーマットで出力することもできます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:553 +#: doc/man/mkvextract.xml:600 msgid "Timecodes" msgstr "タイムコード" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:556 -msgid "" -"Timecodes are first sorted and then output as a timecode v2 format compliant " -"file ready to be fed to &mkvmerge;. The extraction to other formats (v1, v3 " -"and v4) is not supported." -msgstr "" -"タイムコードはまず整列された後に、&mkvmerge;で読み込むことのできる timecode " -"v2 形式に準拠するファイルに書き出されます。他の形式(v1, v3, v4)への抽出はサ" -"ポートされていません。" +#: doc/man/mkvextract.xml:603 +msgid "Timecodes are first sorted and then output as a timecode v2 format compliant file ready to be fed to &mkvmerge;. The extraction to other formats (v1, v3 and v4) is not supported." +msgstr "タイムコードはまず整列された後に、&mkvmerge;で読み込むことのできる timecode v2 形式に準拠するファイルに書き出されます。他の形式(v1, v3, v4)への抽出はサポートされていません。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:565 doc/man/mkvinfo.xml:252 -#: doc/man/mkvmerge.xml:2058 doc/man/mkvpropedit.xml:356 +#: doc/man/mkvextract.xml:612 doc/man/mkvinfo.xml:287 +#: doc/man/mkvmerge.xml:2218 doc/man/mkvpropedit.xml:390 msgid "Exit codes" msgstr "返り値" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:568 +#: doc/man/mkvextract.xml:615 msgid "&mkvextract; exits with one of three exit codes:" msgstr "&mkvextract;は下の3つの返り値を返します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:574 -msgid "" -"<constant>0</constant> -- This exit codes means that extraction has " -"completed successfully." +#: doc/man/mkvextract.xml:621 +msgid "<constant>0</constant> -- This exit codes means that extraction has completed successfully." msgstr "<constant>0</constant> -- この返り値は抽出が成功したことを意味します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:580 -msgid "" -"<constant>1</constant> -- In this case &mkvextract; has output at least one " -"warning, but extraction did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting files might be ok or not. The user is urged to check both the " -"warning and the resulting files." -msgstr "" -"<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽" -"出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字" -"列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合により" -"ます。出力ファイルを確認することを強く推奨します。" +#: doc/man/mkvextract.xml:627 +msgid "<constant>1</constant> -- In this case &mkvextract; has output at least one warning, but extraction did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合によります。出力ファイルを確認することを強く推奨します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:588 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvextract; aborts right after outputting the error message. Error " -"messages range from wrong command line arguments over read/write errors to " -"broken files." -msgstr "" -"<constant>2</constant> -- この返り値は、エラーが発生し、エラーメッセージを出" -"力した後に&mkvextract;が処理を中断したことを示します。エラーメッセージは不正" -"なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" +#: doc/man/mkvextract.xml:635 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvextract; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- この返り値は、エラーが発生し、エラーメッセージを出力した後に&mkvextract;が処理を中断したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:596 doc/man/mkvinfo.xml:282 -#: doc/man/mkvmerge.xml:2089 doc/man/mkvpropedit.xml:387 doc/man/mmg.xml:90 +#: doc/man/mkvextract.xml:643 doc/man/mkvinfo.xml:317 +#: doc/man/mkvmerge.xml:1752 doc/man/mkvpropedit.xml:421 +msgid "Escaping special chars in text" +msgstr "テキスト中の特殊文字をエスケープする" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:645 doc/man/mkvinfo.xml:319 +#: doc/man/mkvmerge.xml:1754 doc/man/mkvpropedit.xml:423 +msgid "There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character." +msgstr "特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(日本語フォントでは\\記号)の後ろに違う文字が1つついたものと入れ替えます。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:650 doc/man/mkvinfo.xml:324 +#: doc/man/mkvmerge.xml:1759 doc/man/mkvpropedit.xml:428 +msgid "The rules are: ' ' becomes '\\s', '"' becomes '\\2', ':' becomes '\\c', '#' becomes '\\h' and '\\' itself becomes '\\\\'." +msgstr "ルール:' 'は'\\s'に、'"'は'\\2'に、':'は'\\c'に、'#'は'\\h'に、そして'\\'それ自体は'\\\\'になります。" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:655 doc/man/mkvinfo.xml:329 +#: doc/man/mkvmerge.xml:2249 doc/man/mkvpropedit.xml:433 doc/man/mmg.xml:90 msgid "See also" msgstr "関連項目" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:598 +#: doc/man/mkvextract.xml:657 msgid "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" msgstr "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:603 doc/man/mkvinfo.xml:289 -#: doc/man/mkvmerge.xml:2096 doc/man/mkvpropedit.xml:394 doc/man/mmg.xml:97 +#: doc/man/mkvextract.xml:662 doc/man/mkvinfo.xml:336 +#: doc/man/mkvmerge.xml:2256 doc/man/mkvpropedit.xml:440 doc/man/mmg.xml:97 msgid "WWW" msgstr "ウェブ" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:605 doc/man/mkvinfo.xml:291 -#: doc/man/mkvmerge.xml:2098 doc/man/mkvpropedit.xml:396 doc/man/mmg.xml:99 -msgid "" -"The latest version can always be found at <ulink url=\"http://www.bunkus.org/" -"videotools/mkvtoolnix/\">the MKVToolNix homepage</ulink>." -msgstr "" -"最新のバージョンは、常時<ulink url=\"http://www.bunkus.org/videotools/" -"mkvtoolnix/\">MKVToolNixのホームページ</ulink>から取得できます。" +#: doc/man/mkvextract.xml:664 doc/man/mkvinfo.xml:338 +#: doc/man/mkvmerge.xml:2258 doc/man/mkvpropedit.xml:442 doc/man/mmg.xml:99 +msgid "The latest version can always be found at <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">the MKVToolNix homepage</ulink>." +msgstr "最新のバージョンは、常時<ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">MKVToolNixのホームページ</ulink>から取得できます。" #. type: Content of the product entity #: doc/man/mkvinfo.xml:5 @@ -1159,23 +845,13 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvinfo.xml:51 -msgid "" -"<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg>" -msgstr "" -"<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg>" +msgid "<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" +msgstr "<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvinfo.xml:60 -msgid "" -"This program lists all elements contained in a &matroska;. The output can be " -"limited to a list of tracks in the file including information about the " -"codecs used." -msgstr "" -"このプログラムは、&matroska; ファイルに格納されている全ての要素の一覧を表示し" -"ます。出力は、使用されているコーデックを含む、トラックのリストのみに制限する" -"こともできます。" +msgid "This program lists all elements contained in a &matroska;. The output can be limited to a list of tracks in the file including information about the codecs used." +msgstr "このプログラムは、&matroska; ファイルに格納されている全ての要素の一覧を表示します。出力は、使用されているコーデックを含む、トラックのリストのみに制限することもできます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:66 @@ -1184,12 +860,8 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvinfo.xml:69 -msgid "" -"Start the <abbrev>GUI</abbrev>. This option is only available if mkvinfo was " -"compiled with <abbrev>GUI</abbrev> support." -msgstr "" -"<abbrev>GUI</abbrev>を起動します。このオプションは、mkvinfoが<abbrev>GUI</" -"abbrev>をサポートするようにコンパイルされていなければ無効です。" +msgid "Start the <abbrev>GUI</abbrev>. This option is only available if mkvinfo was compiled with <abbrev>GUI</abbrev> support." +msgstr "<abbrev>GUI</abbrev>を起動します。このオプションは、mkvinfoが<abbrev>GUI</abbrev>をサポートするようにコンパイルされていなければ無効です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:75 @@ -1198,12 +870,8 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvinfo.xml:78 -msgid "" -"Calculates and display the <function>Adler32</function> checksum for each " -"frame. Useful for debugging only." -msgstr "" -"フレームごとに<function>Adler32</function>チェックサムを計算し、表示します。" -"デバッグのためにのみ有用です。" +msgid "Calculates and display the <function>Adler32</function> checksum for each frame. Useful for debugging only." +msgstr "フレームごとに<function>Adler32</function>チェックサムを計算し、表示します。デバッグのためにのみ有用です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:84 @@ -1213,94 +881,75 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvinfo.xml:87 msgid "Only show a terse summary of what &mkvinfo; finds and not each element." -msgstr "" -"全てのエレメントについて表示するのではなく、&mkvinfo;の見つけたものの簡潔なサ" -"マリを表示します。" +msgstr "全てのエレメントについて表示するのではなく、&mkvinfo;の見つけたものの簡潔なサマリを表示します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:93 +msgid "<option>-t</option>, <option>--track-info</option>" +msgstr "<option>-t</option>, <option>--track-info</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:96 +msgid "Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before." +msgstr "各トラックの統計情報を冗長モードで表示します。また、冗長レベルが0だった場合は1に設定します。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:102 msgid "<option>-x</option>, <option>--hexdump</option>" msgstr "<option>-x</option>, <option>--hexdump</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:96 +#: doc/man/mkvinfo.xml:105 msgid "Show the first 16 bytes of each frame as a hex dump." msgstr "各フレームの最初の16バイトを16進数のダンプとして表示します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvinfo.xml:102 +#: doc/man/mkvinfo.xml:111 msgid "<option>-X</option>, <option>--full-hexdump</option>" msgstr "<option>-X</option>, <option>--full-hexdump</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:105 +#: doc/man/mkvinfo.xml:114 msgid "Show all bytes of each frame as a hex dump." msgstr "各フレームの全てのバイトを16進数のダンプとして表示します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvinfo.xml:111 +#: doc/man/mkvinfo.xml:120 msgid "<option>-z</option>, <option>--size</option>" msgstr "<option>-z</option>, <option>--size</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:114 +#: doc/man/mkvinfo.xml:123 msgid "Show the size of each element including its header." msgstr "ヘッダも含めた各要素のサイズを表示します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:143 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定し" -"たファイルに書き出します。出力リダイレクトによっても同じことが簡単にできます" -"が、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に" -"出力を処理してしまう場合などです。<link linkend=\"mkvinfo.description." -"output_charset\"><option>--output-charset</option></link>によって指定された文" -"字コードは尊重されます。" +#: doc/man/mkvinfo.xml:152 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定したファイルに書き出します。出力リダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に出力を処理してしまう場合などです。<link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link>によって指定された文字コードは尊重されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:155 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvinfo; to output a list of available translations." -msgstr "" -"指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語なら" -"ば'<literal>ja_JP</literal>')として使用します。しかし、環境変数" -"<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</" -"varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に" -"<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" +#: doc/man/mkvinfo.xml:164 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvinfo; to output a list of available translations." +msgstr "指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語ならば'<literal>ja_JP</literal>')として使用します。しかし、環境変数<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:167 -msgid "" -"Be more verbose. See the section about <link linkend=\"mkvinfo." -"verbosity_levels\">verbosity levels</link> for a description which " -"information will be output at which level." -msgstr "" -"冗長モードになります。<link linkend=\"mkvinfo.verbosity_levels\">冗長レベル</" -"link>セクションに、どの冗長レベルでどの情報が出力されるかの説明があります。" +#: doc/man/mkvinfo.xml:176 +msgid "Be more verbose. See the section about <link linkend=\"mkvinfo.verbosity_levels\">verbosity levels</link> for a description which information will be output at which level." +msgstr "冗長モードになります。<link linkend=\"mkvinfo.verbosity_levels\">冗長レベル</link>セクションに、どの冗長レベルでどの情報が出力されるかの説明があります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:201 -msgid "" -"The command line '<command>mkvinfo -v -v input.mkv --redirect-output info." -"txt</command>' could be converted into the following option file:" -msgstr "" -"'<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>という" -"コマンドラインと同じことは、次のようなオプションファイルで指定できます。" +#: doc/man/mkvinfo.xml:231 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvinfo.escaping\">the section about escaping text</link>." +msgstr "エスケープすることのできる文字もあります。例えば、コメントではない行を'#'で始める必要のある場合です。そのルールは、<link linkend=\"mkvinfo.escaping\">エスケープ文字についてのセクション</link>で説明されています。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:236 +msgid "The command line '<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>' could be converted into the following option file:" +msgstr "'<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>というコマンドラインと同じことは、次のようなオプションファイルで指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvinfo.xml:206 +#: doc/man/mkvinfo.xml:241 #, no-wrap msgid "" "# Be more verbose\n" @@ -1324,108 +973,57 @@ " " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvinfo.xml:221 +#: doc/man/mkvinfo.xml:256 msgid "Verbosity levels" msgstr "冗長レベル" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:224 -msgid "" -"The <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> " -"option can be used to increase &mkvinfo;'s verbosity level and print more " -"information about the current file." -msgstr "" -"<link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link>オプ" -"ションにより、&mkvinfo;の冗長レベルを上げ、入力ファイルについてのより詳しい情" -"報を出力させることができます。" +#: doc/man/mkvinfo.xml:259 +msgid "The <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> option can be used to increase &mkvinfo;'s verbosity level and print more information about the current file." +msgstr "<link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link>オプションにより、&mkvinfo;の冗長レベルを上げ、入力ファイルについてのより詳しい情報を出力させることができます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:229 -msgid "" -"At level 0 &mkvinfo; will print only the track headers it finds and their " -"types. &mkvinfo; will exit as soon as the headers are parsed completely " -"(more technical: as soon as the first cluster is encountered). In this level " -"the seek head entries and the cues will not be displayed -- even if they're " -"located in front of the track information." -msgstr "" -"レベル0では、トラックヘッダとトラックの種類のみを出力します。&mkvinfo;は、" -"ヘッダを完全に解析し終るとすぐに(より技術的には、最初のクラスタを検出した直後" -"に)終了します。このレベルでは、シークヘッドエントリ及びCUEがトラック情報の前" -"に格納されていたとしても表示されません。" +#: doc/man/mkvinfo.xml:264 +msgid "At level 0 &mkvinfo; will print only the track headers it finds and their types. &mkvinfo; will exit as soon as the headers are parsed completely (more technical: as soon as the first cluster is encountered). In this level the seek head entries and the cues will not be displayed -- even if they're located in front of the track information." +msgstr "レベル0では、トラックヘッダとトラックの種類のみを出力します。&mkvinfo;は、ヘッダを完全に解析し終るとすぐに(より技術的には、最初のクラスタを検出した直後に)終了します。このレベルでは、シークヘッドエントリ及びCUEがトラック情報の前に格納されていたとしても表示されません。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:235 -msgid "" -"At level 1 &mkvinfo; will also print all &matroska; elements encountered for " -"the complete file but the seek head entries and the cue entries. If the " -"summary mode is enabled then &mkvinfo; will output the frame position as " -"well." -msgstr "" -"レベル1では、ファイル全体にあるシークヘッドエントリとCUE以外の&matroska;エレ" -"メントを表示します。もし、サマリモードが有効の場合、フレーム位置も出力しま" -"す。" +#: doc/man/mkvinfo.xml:270 +msgid "At level 1 &mkvinfo; will also print all &matroska; elements encountered for the complete file but the seek head entries and the cue entries. If the summary mode is enabled then &mkvinfo; will output the frame position as well." +msgstr "レベル1では、ファイル全体にあるシークヘッドエントリとCUE以外の&matroska;エレメントを表示します。もし、サマリモードが有効の場合、フレーム位置も出力します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:240 -msgid "" -"At level 2 &mkvinfo; will also print the seek head entries, the cue entries " -"and the file position at which each &matroska; element can be found at." -msgstr "" -"レベル2では、シークヘッドエントリ、CUE、及び各&matroska;エレメントのファイル" -"内位置も表示します。" +#: doc/man/mkvinfo.xml:275 +msgid "At level 2 &mkvinfo; will also print the seek head entries, the cue entries and the file position at which each &matroska; element can be found at." +msgstr "レベル2では、シークヘッドエントリ、CUE、及び各&matroska;エレメントのファイル内位置も表示します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:245 -msgid "" -"At level 3 and above &mkvinfo; will print some information that is not " -"directly connected to a &matroska; element. All other elements only print " -"stuff about the elements that were just found. Level 3 adds meta information " -"to ease debugging (read: it's intended for developers only). All lines " -"written by level 3 are enclosed in square brackets to make filtering them " -"out easy." -msgstr "" -"レベル3以上では、&matroska;エレメントに直接関係ない情報も表示します。他のエレ" -"メントについては、見付かったものだけを表示します。レベル3はデバッグ用にメタ情" -"報を追加します(開発者向け)。レベル3で追加された行は、全て角括弧で囲われていま" -"す。" +#: doc/man/mkvinfo.xml:280 +msgid "At level 3 and above &mkvinfo; will print some information that is not directly connected to a &matroska; element. All other elements only print stuff about the elements that were just found. Level 3 adds meta information to ease debugging (read: it's intended for developers only). All lines written by level 3 are enclosed in square brackets to make filtering them out easy." +msgstr "レベル3以上では、&matroska;エレメントに直接関係ない情報も表示します。他のエレメントについては、見付かったものだけを表示します。レベル3はデバッグ用にメタ情報を追加します(開発者向け)。レベル3で追加された行は、全て角括弧で囲われています。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:255 +#: doc/man/mkvinfo.xml:290 msgid "&mkvinfo; exits with one of three exit codes:" msgstr "&mkvinfo;は下の3つの返り値を返します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:261 -msgid "" -"<constant>0</constant> -- This exit codes means that the run has completed " -"successfully." +#: doc/man/mkvinfo.xml:296 +msgid "<constant>0</constant> -- This exit codes means that the run has completed successfully." msgstr "<constant>0</constant> -- この返り値は正常に終了したことを示します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:267 -msgid "" -"<constant>1</constant> -- In this case &mkvinfo; has output at least one " -"warning, but the run did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'." -msgstr "" -"<constant>1</constant> -- この返り値は、少なくとも一つの警告が表示されました" -"が、処理が続行されたことを意味します。警告は '<literal>警告:</literal>' とい" -"う文字列を先頭につけて出力されます。" +#: doc/man/mkvinfo.xml:302 +msgid "<constant>1</constant> -- In this case &mkvinfo; has output at least one warning, but the run did continue. A warning is prefixed with the text '<literal>Warning:</literal>'." +msgstr "<constant>1</constant> -- この返り値は、少なくとも一つの警告が表示されましたが、処理が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字列を先頭につけて出力されます。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:274 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvinfo; aborts right after outputting the error message. Error messages " -"range from wrong command line arguments over read/write errors to broken " -"files." -msgstr "" -"この返り値は、エラーが発生し、エラーメッセージを表示した直後に&mkvinfo;が終了" -"したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエ" -"ラー、壊れたファイルなど様々です。" +#: doc/man/mkvinfo.xml:309 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvinfo; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "この返り値は、エラーが発生し、エラーメッセージを表示した直後に&mkvinfo;が終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:284 +#: doc/man/mkvinfo.xml:331 msgid "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" msgstr "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" @@ -1446,922 +1044,501 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvmerge.xml:51 -msgid "" -"<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o " -"out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> " -"<arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> " -"<arg>@optionsfile</arg>" -msgstr "" -"<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o " -"out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> " -"<arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> " -"<arg>@optionsfile</arg>" +msgid "<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> <arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> <arg>@optionsfile</arg>" +msgstr "<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> <arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> <arg>@optionsfile</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvmerge.xml:67 -msgid "" -"This program takes the input from several media files and joins their " -"streams (all of them or just a selection) into a &matroska; file; see <ulink " -"url=\"http://www.matroska.org/\">the &matroska; website</ulink>." -msgstr "" -"このプログラムはいくつかのメディアファイルを入力とし、それらに格納されたスト" -"リームのうち全て、もしくは選択されたものを&matroska;ファイルに書き込みます。" -"<ulink url=\"http://www.matroska.org/\">&matroska;</ulink>のウェブサイトも参" -"照してください。" +msgid "This program takes the input from several media files and joins their streams (all of them or just a selection) into a &matroska; file; see <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "このプログラムはいくつかのメディアファイルを入力とし、それらに格納されたストリームのうち全て、もしくは選択されたものを&matroska;ファイルに書き込みます。<ulink url=\"http://www.matroska.org/\">&matroska;</ulink>のウェブサイトも参照してください。" + +#. type: Content of: <refentry><refsect1><important><para> +#: doc/man/mkvmerge.xml:73 doc/man/mkvmerge.xml:1394 +msgid "The order of command line options is important. Please read the section <link linkend=\"mkvmerge.option_order\">"Option order"</link> it if you're new to the program." +msgstr "コマンドラインオプションの順番は重要です。もしあなたが初心者なら、<link linkend=\"mkvmerge.option_order\">"オプションの順番"</link>セクションを読んで下さい。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:72 +#: doc/man/mkvmerge.xml:79 msgid "Global options:" msgstr "グローバルオプション:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:79 +#: doc/man/mkvmerge.xml:86 msgid "Increase verbosity." msgstr "より詳細な情報を表示します" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:84 +#: doc/man/mkvmerge.xml:91 msgid "<option>-q</option>, <option>--quiet</option>" msgstr "<option>-q</option>, <option>--quiet</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:86 +#: doc/man/mkvmerge.xml:93 msgid "Suppress status output." msgstr "ステータス情報の出力を抑制します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:91 -msgid "" -"<option>-o</option>, <option>--output</option> <parameter>file-name</" -"parameter>" -msgstr "" -"<option>-o</option>, <option>--output</option> <parameter>file-name</" -"parameter>" +#: doc/man/mkvmerge.xml:98 +msgid "<option>-o</option>, <option>--output</option> <parameter>file-name</parameter>" +msgstr "<option>-o</option>, <option>--output</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:93 -msgid "" -"Write to the file <parameter>file-name</parameter>. If splitting is used " -"then this parameter is treated a bit differently. See the explanation for " -"the <link linkend=\"mkvmerge.description.split\"><option>--split</option></" -"link> option for details." -msgstr "" -"<parameter>file-name</parameter>で指定したファイルに書き込みます。もし、ファ" -"イル分割が有効な場合このオプションは若干解釈が違います。詳細は<link linkend=" -"\"mkvmerge.description.split\"><option>--split</option></link>オプションの説" -"明を参照してください。" +#: doc/man/mkvmerge.xml:100 +msgid "Write to the file <parameter>file-name</parameter>. If splitting is used then this parameter is treated a bit differently. See the explanation for the <link linkend=\"mkvmerge.description.split\"><option>--split</option></link> option for details." +msgstr "<parameter>file-name</parameter>で指定したファイルに書き込みます。もし、ファイル分割が有効な場合このオプションは若干解釈が違います。詳細は<link linkend=\"mkvmerge.description.split\"><option>--split</option></link>オプションの説明を参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:99 +#: doc/man/mkvmerge.xml:106 msgid "<option>-w</option>, <option>--webm</option>" msgstr "<option>-w</option>, <option>--webm</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:101 -msgid "" -"Create a WebM compliant file. This is also turned on if the output file " -"name's extension is "webm". This mode enforces several " -"restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. " -"Neither chapters nor tags are allowed. The DocType header item is changed to " -""webm"." -msgstr "" -"WebMの規格に準拠したファイルを作成します。mkvmergeは出力ファイル名の拡張子が" -""webm"であった場合にもこれをオンにします。このモードではいくつかの" -"制限が実施されます。使用できるコーデックはVP8ビデオとVorbisオーディオのトラッ" -"クのみです。チャプタとタグは使用することができません。DocTypeヘッダアイテムは" -""webm"へと変更されます。" +#: doc/man/mkvmerge.xml:108 +msgid "Create a WebM compliant file. This is also turned on if the output file name's extension is "webm". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to "webm"." +msgstr "WebMの規格に準拠したファイルを作成します。mkvmergeは出力ファイル名の拡張子が"webm"であった場合にもこれをオンにします。このモードではいくつかの制限が実施されます。使用できるコーデックはVP8ビデオとVorbisオーディオのトラックのみです。チャプタとタグは使用することができません。DocTypeヘッダアイテムは"webm"へと変更されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:109 +#: doc/man/mkvmerge.xml:116 msgid "<option>--title</option> <parameter>title</parameter>" msgstr "<option>--title</option> <parameter>title</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:111 +#: doc/man/mkvmerge.xml:118 msgid "Sets the general title for the output file, e.g. the movie name." msgstr "出力ファイル全体のタイトルを指定します(例:映画のタイトルなど)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:116 +#: doc/man/mkvmerge.xml:123 msgid "<option>--tags</option> <parameter>file-name</parameter>" msgstr "<option>--tags</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:118 -msgid "" -"Read global tags from the &xml; file <parameter>file-name</parameter>. See " -"the section about tags below for details." -msgstr "" -"<parameter>file-name</parameter>で指定した&xml;ファイルからグローバルタグを読" -"み込みます。詳細はタグについてのセクションを参照してください。" +#: doc/man/mkvmerge.xml:125 +msgid "Read global tags from the &xml; file <parameter>file-name</parameter>. See the section about tags below for details." +msgstr "<parameter>file-name</parameter>で指定した&xml;ファイルからグローバルタグを読み込みます。詳細はタグについてのセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:124 -msgid "" -"<option>--default-language</option> <parameter>language-code</parameter>" -msgstr "" -"<option>--default-language</option> <parameter>language-code</parameter>" +#: doc/man/mkvmerge.xml:131 +msgid "<option>--default-language</option> <parameter>language-code</parameter>" +msgstr "<option>--default-language</option> <parameter>language-code</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:126 -msgid "" -"Sets the default language code that will be used for all tracks unless " -"overwritten with the <link linkend=\"mkvmerge.description.language" -"\"><option>--language</option></link> option. The default language code is " -"'<literal>und</literal>' for 'undefined'." -msgstr "" -"デフォルトの言語コードを指定します。<link linkend=\"mkvmerge.description." -"language\"><option>--language</option></link>オプションで指定しなかったトラッ" -"クはすべてここで指定した言語コードになります。デフォルトは'<literal>und</" -"literal>'、つまり'未定義'です。" +#: doc/man/mkvmerge.xml:133 +msgid "Sets the default language code that will be used for all tracks unless overwritten with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option. The default language code is '<literal>und</literal>' for 'undefined'." +msgstr "デフォルトの言語コードを指定します。<link linkend=\"mkvmerge.description.language\"><option>--language</option></link>オプションで指定しなかったトラックはすべてここで指定した言語コードになります。デフォルトは'<literal>und</literal>'、つまり'未定義'です。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:134 +#: doc/man/mkvmerge.xml:141 msgid "Segment info handling: (global options)" msgstr "セグメント情報の扱い: (グローバルオプション)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:139 +#: doc/man/mkvmerge.xml:146 msgid "<option>--segmentinfo</option> <parameter>filename.xml</parameter>" msgstr "<option>--segmentinfo</option> <parameter>filename.xml</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:142 -msgid "" -"Read segment information from a <abbrev>XML</abbrev> file. This file can " -"contain the segment family <abbrev>UID</abbrev>, segment <abbrev>UID</" -"abbrev>, previous and next segment <abbrev>UID</abbrev> elements. An example " -"file and a <abbrev>DTD</abbrev> are included in the MKVToolNix distribution." -msgstr "" -"<abbrev>XML</abbrev>ファイルからセグメント情報を読み取ります。このファイル" -"は、セグメントファミリ<abbrev>UID</abbrev>、セグメント<abbrev>UID</abbrev>、" -"前、及び、後セグメント<abbrev>UID</abbrev>エレメントを含むことができます。" -"MKVToolNixは、サンプルファイルと<abbrev>DTD</abbrev>を含んで配布されていま" -"す。" +#: doc/man/mkvmerge.xml:149 +msgid "Read segment information from a <abbrev>XML</abbrev> file. This file can contain the segment family <abbrev>UID</abbrev>, segment <abbrev>UID</abbrev>, previous and next segment <abbrev>UID</abbrev> elements. An example file and a <abbrev>DTD</abbrev> are included in the MKVToolNix distribution." +msgstr "<abbrev>XML</abbrev>ファイルからセグメント情報を読み取ります。このファイルは、セグメントファミリ<abbrev>UID</abbrev>、セグメント<abbrev>UID</abbrev>、前、及び、後セグメント<abbrev>UID</abbrev>エレメントを含むことができます。MKVToolNixは、サンプルファイルと<abbrev>DTD</abbrev>を含んで配布されています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:150 +#: doc/man/mkvmerge.xml:157 msgid "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" msgstr "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:153 -msgid "" -"Sets the segment UIDs to use. This is a comma-separated list of 128bit " -"segment UIDs in the usual UID form: hex numbers with or without the " -""0x" prefix, with or without spaces, exactly 32 digits." -msgstr "" -"使用するセグメントUIDを設定します。これはコンマで区切られた、通常のUID形式" -"("0x"を前置する、またはしない、空白を含む、または含まない、ちょうど" -"32桁の16進数)128ビットセグメントUIDのリストです。" +#: doc/man/mkvmerge.xml:160 +msgid "Sets the segment UIDs to use. This is a comma-separated list of 128bit segment UIDs in the usual UID form: hex numbers with or without the "0x" prefix, with or without spaces, exactly 32 digits." +msgstr "使用するセグメントUIDを設定します。これはコンマで区切られた、通常のUID形式("0x"を前置する、またはしない、空白を含む、または含まない、ちょうど32桁の16進数)128ビットセグメントUIDのリストです。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:158 -msgid "" -"Each file created contains one segment, and each segment has one segment " -"UID. If more segment UIDs are specified than segments are created then the " -"surplus UIDs are ignored. If fewer UIDs are specified than segments are " -"created then random UIDs will be created for them." -msgstr "" -"作成される各ファイルは一つのセグメントを含み、そして各セグメントは一つのセグ" -"メントUIDを持ちます。もし、作成されたセグメントよりも多数のセグメントUIDが指" -"定された場合、余ったセグメントUIDは無視されます。また、もし指定されたセグメン" -"トUIDよりも多数のセグメントが作成された場合は、ランダムなUIDが作成されて使用" -"されます。" +#: doc/man/mkvmerge.xml:165 +msgid "Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." +msgstr "作成される各ファイルは一つのセグメントを含み、そして各セグメントは一つのセグメントUIDを持ちます。もし、作成されたセグメントよりも多数のセグメントUIDが指定された場合、余ったセグメントUIDは無視されます。また、もし指定されたセグメントUIDよりも多数のセグメントが作成された場合は、ランダムなUIDが作成されて使用されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:167 +#: doc/man/mkvmerge.xml:174 msgid "Chapter and tag handling: (global options)" msgstr "チャプタ及びタグの扱い: (グローバルオプション)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:172 doc/man/mkvmerge.xml:791 -msgid "" -"<option>--chapter-language</option> <parameter>language-code</parameter>" -msgstr "" -"<option>--chapter-language</option> <parameter>language-code</parameter>" +#: doc/man/mkvmerge.xml:179 doc/man/mkvmerge.xml:818 +msgid "<option>--chapter-language</option> <parameter>language-code</parameter>" +msgstr "<option>--chapter-language</option> <parameter>language-code</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:175 -msgid "" -"Sets the ISO639-2 language code that is written for each chapter entry. " -"Defaults to '<literal>eng</literal>'. See the section about <link linkend=" -"\"mkvmerge.chapters\">chapters</link> below for details." -msgstr "" -"各チャプタのエントリに書き込むISO639-2言語コードを指定します。デフォルト" -"は'<literal>eng</literal>'です。詳細は<link linkend=\"mkvmerge.chapters\">" -"チャプタ</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:182 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. Defaults to '<literal>eng</literal>'. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "各チャプタのエントリに書き込むISO639-2言語コードを指定します。デフォルトは'<literal>eng</literal>'です。詳細は<link linkend=\"mkvmerge.chapters\">チャプタ</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:180 -msgid "" -"This option can be used both for simple chapter files and for source files " -"that contain chapters but no information about the chapters' language, e.g. " -"MP4 and OGM files." -msgstr "" -"このオプションはシンプルチャプタファイルを読み込んだ場合、そしてソースファイ" -"ルがチャプタを含むがチャプタの言語情報を含まなかった場合(例:MP4,OGMファイル)" -"に適用されます。" +#: doc/man/mkvmerge.xml:187 +msgid "This option can be used both for simple chapter files and for source files that contain chapters but no information about the chapters' language, e.g. MP4 and OGM files." +msgstr "このオプションはシンプルチャプタファイルを読み込んだ場合、そしてソースファイルがチャプタを含むがチャプタの言語情報を含まなかった場合(例:MP4,OGMファイル)に適用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:187 doc/man/mkvmerge.xml:780 +#: doc/man/mkvmerge.xml:194 doc/man/mkvmerge.xml:807 msgid "<option>--chapter-charset</option> <parameter>character-set</parameter>" -msgstr "" -"<option>--chapter-charset</option> <parameter>character-set</parameter>" +msgstr "<option>--chapter-charset</option> <parameter>character-set</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:190 -msgid "" -"Sets the character set that is used for the conversion to UTF-8 for simple " -"chapter files. See the section about <link linkend=\"mkvmerge." -"text_files_and_charsets\"> text files and character sets</link> for an " -"explanation how &mkvmerge; converts between character sets." -msgstr "" -"シンプルチャプタファイルをUTF-8に変換する際の文字コードを指定します。" -"&mkvmerge;の文字コード変換については、<link linkend=\"mkvmerge." -"text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参" -"照してください。" +#: doc/man/mkvmerge.xml:197 +msgid "Sets the character set that is used for the conversion to UTF-8 for simple chapter files. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "シンプルチャプタファイルをUTF-8に変換する際の文字コードを指定します。&mkvmerge;の文字コード変換については、<link linkend=\"mkvmerge.text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:196 -msgid "" -"This switch does also apply to chapters that are copied from certain " -"container types, e.g. Ogg/OGM and MP4 files. See the section about chapters " -"below for details." -msgstr "" -"このスイッチはチャプタがOgg,OGMファイルなどのコンテナからコピーされる際にも適" -"用されます。詳細については後述のチャプタについてのセクションを参照してくださ" -"い。" +#: doc/man/mkvmerge.xml:203 +msgid "This switch does also apply to chapters that are copied from certain container types, e.g. Ogg/OGM and MP4 files. See the section about chapters below for details." +msgstr "このスイッチはチャプタがOgg,OGMファイルなどのコンテナからコピーされる際にも適用されます。詳細については後述のチャプタについてのセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:203 -msgid "" -"<option>--cue-chapter-name-format</option> <parameter>format</parameter>" -msgstr "" -"<option>--cue-chapter-name-format</option> <parameter>format</parameter>" +#: doc/man/mkvmerge.xml:210 +msgid "<option>--cue-chapter-name-format</option> <parameter>format</parameter>" +msgstr "<option>--cue-chapter-name-format</option> <parameter>format</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:206 -msgid "" -"&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as " -"the input for chapters. <abbrev>CUE</abbrev> sheets usually contain the " -"entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each " -"index entry. &mkvmerge; uses these two strings in order to construct the " -"chapter name. With this option the format used for this name can be set." -msgstr "" -"&mkvmerge;は音声ファイル向けの<abbrev>CUE</abbrev>シートからチャプタ情報を読" -"み込むことができます。<abbrev>CUE</abbrev>シートには通常<varname>PERFORMER</" -"varname>エントリ及び<varname>TITLE</varname>エントリが各インデックスエントリ" -"に存在します。&mkvmerge;はこれら二つの文字列をチャプタの名前を生成するのに使" -"用します。このフォーマットをこのオプションで指定することができます。" +#: doc/man/mkvmerge.xml:213 +msgid "&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as the input for chapters. <abbrev>CUE</abbrev> sheets usually contain the entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each index entry. &mkvmerge; uses these two strings in order to construct the chapter name. With this option the format used for this name can be set." +msgstr "&mkvmerge;は音声ファイル向けの<abbrev>CUE</abbrev>シートからチャプタ情報を読み込むことができます。<abbrev>CUE</abbrev>シートには通常<varname>PERFORMER</varname>エントリ及び<varname>TITLE</varname>エントリが各インデックスエントリに存在します。&mkvmerge;はこれら二つの文字列をチャプタの名前を生成するのに使用します。このフォーマットをこのオプションで指定することができます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:212 -msgid "" -"If this option is not given then &mkvmerge; defaults to the format '<code>%p " -"- %t</code>' (the performer, followed by a space, a dash, another space and " -"the title)." -msgstr "" -"このオプションが指定されていない場合、デフォルトで'<code>%p - %t</code>'とい" -"うフォーマットが使用されます。" +#: doc/man/mkvmerge.xml:219 +msgid "If this option is not given then &mkvmerge; defaults to the format '<code>%p - %t</code>' (the performer, followed by a space, a dash, another space and the title)." +msgstr "このオプションが指定されていない場合、デフォルトで'<code>%p - %t</code>'というフォーマットが使用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:217 -msgid "" -"If the format is given then everything except the following meta characters " -"is copied as-is, and the meta characters are replaced like this:" -msgstr "" -"フォーマットが指定された場合、下のメタ文字以外はそのままコピーされ、メタ文字" -"は以下のように置換されます。" +#: doc/man/mkvmerge.xml:224 +msgid "If the format is given then everything except the following meta characters is copied as-is, and the meta characters are replaced like this:" +msgstr "フォーマットが指定された場合、下のメタ文字以外はそのままコピーされ、メタ文字は以下のように置換されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:223 -msgid "" -"<parameter>%p</parameter> is replaced by the current entry's " -"<varname>PERFORMER</varname> string," -msgstr "" -"<parameter>%p</parameter>はそのエントリの<varname>PERFORMER</varname>文字列で" -"置換されます。" +#: doc/man/mkvmerge.xml:230 +msgid "<parameter>%p</parameter> is replaced by the current entry's <varname>PERFORMER</varname> string," +msgstr "<parameter>%p</parameter>はそのエントリの<varname>PERFORMER</varname>文字列で置換されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:226 -msgid "" -"<parameter>%t</parameter> is replaced by the current entry's <varname>TITLE</" -"varname> string," -msgstr "" -"<parameter>%t</parameter>はそのエントリの<varname>TITLE</varname>文字列で置換" -"されます。" +#: doc/man/mkvmerge.xml:233 +msgid "<parameter>%t</parameter> is replaced by the current entry's <varname>TITLE</varname> string," +msgstr "<parameter>%t</parameter>はそのエントリの<varname>TITLE</varname>文字列で置換されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:229 +#: doc/man/mkvmerge.xml:236 msgid "<parameter>%n</parameter> is replaced by the current track number and" msgstr "<parameter>%n</parameter>はそのエントリのトラック番号で置換されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:232 -msgid "" -"<parameter>%N</parameter> is replaced by the current track number padded " -"with a leading zero if it is < 10." -msgstr "" -"<parameter>%N</parameter>は、そのエントリのトラック番号が10未満の場合0を前置" -"して二桁にした数字で置換されます。" +#: doc/man/mkvmerge.xml:239 +msgid "<parameter>%N</parameter> is replaced by the current track number padded with a leading zero if it is < 10." +msgstr "<parameter>%N</parameter>は、そのエントリのトラック番号が10未満の場合0を前置して二桁にした数字で置換されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:240 +#: doc/man/mkvmerge.xml:247 msgid "<option>--chapters</option> <parameter>file-name</parameter>" msgstr "<option>--chapters</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:243 -msgid "" -"Read chapter information from the file <parameter>file-name</parameter>. See " -"the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below " -"for details." -msgstr "" -"チャプタ情報を<parameter>file-name</parameter>で指定したファイルから読み込み" -"ます。詳細は<link linkend=\"mkvmerge.chapters\">チャプタ</link>のセクションを" -"参照してください。" +#: doc/man/mkvmerge.xml:250 +msgid "Read chapter information from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "チャプタ情報を<parameter>file-name</parameter>で指定したファイルから読み込みます。詳細は<link linkend=\"mkvmerge.chapters\">チャプタ</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:250 +#: doc/man/mkvmerge.xml:257 msgid "<option>--global-tags</option> <parameter>file-name</parameter>" msgstr "<option>--global-tags</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:253 -msgid "" -"Read global tags from the file <parameter>file-name</parameter>. See the " -"section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." -msgstr "" -"<parameter>file-name</parameter>で指定したファイルからグローバルタグを読み込" -"みます。詳細は<link linkend=\"mkvmerge.tags\">タグ</link>のセクションを参照し" -"てください。" +#: doc/man/mkvmerge.xml:260 +msgid "Read global tags from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "<parameter>file-name</parameter>で指定したファイルからグローバルタグを読み込みます。詳細は<link linkend=\"mkvmerge.tags\">タグ</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:261 +#: doc/man/mkvmerge.xml:268 msgid "General output control (advanced global options):" msgstr "出力一般のコントロール(グローバルオプションの続き):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:266 -msgid "" -"<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" -msgstr "" -"<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" +#: doc/man/mkvmerge.xml:273 +msgid "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" +msgstr "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:269 -msgid "" -"This option changes the order in which the tracks for an input file are " -"created. The argument is a comma separated list of pairs IDs. Each pair " -"contains first the file ID (<parameter>FID1</parameter>) which is simply the " -"number of the file on the command line starting at 0. The second is a track " -"ID (<parameter>TID1</parameter>) from that file. If some track IDs are " -"omitted then those tracks are created after the ones given with this option " -"have been created." -msgstr "" -"このオプションは入力されたトラックが配置される順序を変更します。オプション引" -"数はコンマで区切られるIDペアのリストです。各ペアは最初を0としてコマンドライン" -"の何番目に指定したファイルであるかを示すファイルID(<parameter>FID1</" -"parameter>)と、そのファイルの中の何番目のトラックかを示すトラックID" -"(<parameter>TID1</parameter>)からなります。ここで指定されなかったトラックは、" -"指定されたトラックの後に配置されます。" +#: doc/man/mkvmerge.xml:276 +msgid "This option changes the order in which the tracks for an input file are created. The argument is a comma separated list of pairs IDs. Each pair contains first the file ID (<parameter>FID1</parameter>) which is simply the number of the file on the command line starting at 0. The second is a track ID (<parameter>TID1</parameter>) from that file. If some track IDs are omitted then those tracks are created after the ones given with this option have been created." +msgstr "このオプションは入力されたトラックが配置される順序を変更します。オプション引数はコンマで区切られるIDペアのリストです。各ペアは最初を0としてコマンドラインの何番目に指定したファイルであるかを示すファイルID(<parameter>FID1</parameter>)と、そのファイルの中の何番目のトラックかを示すトラックID(<parameter>TID1</parameter>)からなります。ここで指定されなかったトラックは、指定されたトラックの後に配置されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:278 +#: doc/man/mkvmerge.xml:285 msgid "<option>--cluster-length</option> <parameter>spec</parameter>" msgstr "<option>--cluster-length</option> <parameter>spec</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:281 -msgid "" -"Limit the number of data blocks or the duration of data in each cluster. The " -"<parameter>spec</parameter> parameter can either be a number <parameter>n</" -"parameter> without a unit or a number <parameter>d</parameter> postfixed " -"with '<literal>ms</literal>'." -msgstr "" -"クラスタごとの、データブロック個数の上限または持続時間を指定します。" -"<parameter>spec</parameter>パラメータには単位なしの数字<parameter>n</" -"parameter>もしくは、'<literal>ms</literal>'を後ろに付けた数字<parameter>d</" -"parameter>を指定することができます。" +#: doc/man/mkvmerge.xml:288 +msgid "Limit the number of data blocks or the duration of data in each cluster. The <parameter>spec</parameter> parameter can either be a number <parameter>n</parameter> without a unit or a number <parameter>d</parameter> postfixed with '<literal>ms</literal>'." +msgstr "クラスタごとの、データブロック個数の上限または持続時間を指定します。<parameter>spec</parameter>パラメータには単位なしの数字<parameter>n</parameter>もしくは、'<literal>ms</literal>'を後ろに付けた数字<parameter>d</parameter>を指定することができます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:286 -msgid "" -"If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> " -"data blocks into each cluster. The maximum number of blocks is 65535." -msgstr "" -"単位が指定されなかった場合、クラスタごとのデータブロックの最大個数は" -"<parameter>n</parameter>に設定されます。上限は65535です。" +#: doc/man/mkvmerge.xml:293 +msgid "If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> data blocks into each cluster. The maximum number of blocks is 65535." +msgstr "単位が指定されなかった場合、クラスタごとのデータブロックの最大個数は<parameter>n</parameter>に設定されます。上限は65535です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:291 -msgid "" -"If the number <parameter>d</parameter> is postfixed with '<literal>ms</" -"literal>' then &mkvmerge; puts at most <parameter>d</parameter> milliseconds " -"of data into each cluster. The minimum for <parameter>d</parameter> is " -"'<literal>100ms</literal>', and the maximum is '<literal>32000ms</literal>'." -msgstr "" -"数字<parameter>d</parameter>に'<literal>ms</literal>'が後置されていた場合、" -"&mkvmerge;は各データクラスタ毎に最大でも<parameter>d</parameter>ミリ秒分の" -"データしか格納しません。<parameter>d</parameter>の最小値は'<literal>100ms</" -"literal>'、最大値は'<literal>32000ms</literal>'です。" +#: doc/man/mkvmerge.xml:298 +msgid "If the number <parameter>d</parameter> is postfixed with '<literal>ms</literal>' then &mkvmerge; puts at most <parameter>d</parameter> milliseconds of data into each cluster. The minimum for <parameter>d</parameter> is '<literal>100ms</literal>', and the maximum is '<literal>32000ms</literal>'." +msgstr "数字<parameter>d</parameter>に'<literal>ms</literal>'が後置されていた場合、&mkvmerge;は各データクラスタ毎に最大でも<parameter>d</parameter>ミリ秒分のデータしか格納しません。<parameter>d</parameter>の最小値は'<literal>100ms</literal>'、最大値は'<literal>32000ms</literal>'です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:297 -msgid "" -"&mkvmerge; defaults to putting at most 65535 data blocks and 2000ms of data " -"into a cluster." -msgstr "" -"デフォルトは、データクラスタ毎に65535データブロック以下、2000ms以下のデータを" -"書き込みます。" +#: doc/man/mkvmerge.xml:304 +msgid "&mkvmerge; defaults to putting at most 65535 data blocks and 5000ms of data into a cluster." +msgstr "デフォルトは、データクラスタ毎に65535データブロック以下、5000ms以下のデータを書き込みます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:301 -msgid "" -"Programs trying to find a certain frame can only seek directly to a cluster " -"and have to read the whole cluster afterwards. Therefore creating larger " -"clusters may lead to imprecise or slow seeking." -msgstr "" -"プログラムがあるフレームを見つけようとするときは、クラスタに直接シークして、" -"その後クラスタ全体を読み込みます。よって、より大きなクラスタを作ると、シーク" -"が不正確かつ遅くなるかもしれません。" +#: doc/man/mkvmerge.xml:308 +msgid "Programs trying to find a certain frame can only seek directly to a cluster and have to read the whole cluster afterwards. Therefore creating larger clusters may lead to imprecise or slow seeking." +msgstr "プログラムがあるフレームを見つけようとするときは、クラスタに直接シークして、その後クラスタ全体を読み込みます。よって、より大きなクラスタを作ると、シークが不正確かつ遅くなるかもしれません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:308 +#: doc/man/mkvmerge.xml:315 msgid "<option>--no-cues</option>" msgstr "<option>--no-cues</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:311 -msgid "" -"Tells &mkvmerge; not to create and write the cue data which can be compared " -"to an index in an AVI. &matroska; files can be played back without the cue " -"data, but seeking will probably be imprecise and slower. Use this only if " -"you're really desperate for space or for testing purposes. See also option " -"<link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> " -"which can be specified for each input file." -msgstr "" -"キューデータ(AVIファイルにおけるインデックスのようなもの)を作成しません。" -"キューデータなしでもファイルは再生できますが、シークは不正確かつ遅くなるで" -"しょう。このオプションは、少しでもファイルサイズを小さくしようと必死なとき、" -"またはテスト目的以外には使用しないでください。<link linkend=\"mkvmerge." -"description.cues\"><option>--cues</option></link>オプションは各入力ファイルご" -"とに指定できます。" +#: doc/man/mkvmerge.xml:318 +msgid "Tells &mkvmerge; not to create and write the cue data which can be compared to an index in an AVI. &matroska; files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only if you're really desperate for space or for testing purposes. See also option <link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> which can be specified for each input file." +msgstr "キューデータ(AVIファイルにおけるインデックスのようなもの)を作成しません。キューデータなしでもファイルは再生できますが、シークは不正確かつ遅くなるでしょう。このオプションは、少しでもファイルサイズを小さくしようと必死なとき、またはテスト目的以外には使用しないでください。<link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link>オプションは各入力ファイルごとに指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:320 +#: doc/man/mkvmerge.xml:327 msgid "<option>--clusters-in-meta-seek</option>" msgstr "<option>--clusters-in-meta-seek</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:323 -msgid "" -"Tells &mkvmerge; to create a meta seek element at the end of the file " -"containing all clusters. See also the section about the <link linkend=" -"\"mkvmerge.file_layout\">&matroska; file layout</link>." -msgstr "" -"ファイルの終端に全てのクラスタを含むメタシーク要素を作成します。<link " -"linkend=\"mkvmerge.file_layout\">&matroska;ファイルレイアウト</link>のセク" -"ションも参照してください。" +#: doc/man/mkvmerge.xml:330 +msgid "Tells &mkvmerge; to create a meta seek element at the end of the file containing all clusters. See also the section about the <link linkend=\"mkvmerge.file_layout\">&matroska; file layout</link>." +msgstr "ファイルの終端に全てのクラスタを含むメタシーク要素を作成します。<link linkend=\"mkvmerge.file_layout\">&matroska;ファイルレイアウト</link>のセクションも参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:330 +#: doc/man/mkvmerge.xml:337 msgid "<option>--disable-lacing</option>" msgstr "<option>--disable-lacing</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:333 -msgid "" -"Disables lacing for all tracks. This will increase the file's size, " -"especially if there are many audio tracks. This option is not intended for " -"everyday use." -msgstr "" -"全てのトラックで複数のフレームを1つのブロックにまとめません。これは特に多数の" -"オーディオトラックがある場合に、ファイルサイズを増大させます。テスト目的での" -"み使用してください。" +#: doc/man/mkvmerge.xml:340 +msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. This option is not intended for everyday use." +msgstr "全てのトラックで複数のフレームを1つのブロックにまとめません。これは特に多数のオーディオトラックがある場合に、ファイルサイズを増大させます。テスト目的でのみ使用してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:340 +#: doc/man/mkvmerge.xml:347 msgid "<option>--enable-durations</option>" msgstr "<option>--enable-durations</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:343 -msgid "" -"Write durations for all blocks. This will increase file size and does not " -"offer any additional value for players at the moment." -msgstr "" -"全てのブロックの長さを記録します。これはファイルサイズを増大させますが、現在" -"のところプレーヤには何のメリットももたらしません。" +#: doc/man/mkvmerge.xml:350 +msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." +msgstr "全てのブロックの長さを記録します。これはファイルサイズを増大させますが、現在のところプレーヤには何のメリットももたらしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:349 +#: doc/man/mkvmerge.xml:356 msgid "<option>--timecode-scale</option> <parameter>factor</parameter>" msgstr "<option>--timecode-scale</option> <parameter>factor</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:352 -msgid "" -"Forces the timecode scale factor to <parameter>factor</parameter>. Valid " -"values are in the range <constant>1000</constant>..<constant>10000000</" -"constant> or the special value <constant>-1</constant>." -msgstr "" -"タイムコードスケールの係数を<parameter>factor</parameter>に強制設定します。こ" -"の値は1000~10000000、もしくは-1に設定しなければなりません。" +#: doc/man/mkvmerge.xml:359 +msgid "Forces the timecode scale factor to <parameter>factor</parameter>. Valid values are in the range <constant>1000</constant>..<constant>10000000</constant> or the special value <constant>-1</constant>." +msgstr "タイムコードスケールの係数を<parameter>factor</parameter>に強制設定します。この値は1000~10000000、もしくは-1に設定しなければなりません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:357 -msgid "" -"Normally &mkvmerge; will use a value of <constant>1000000</constant> which " -"means that timecodes and durations will have a precision of 1ms. For files " -"that will not contain a video track but at least one audio track &mkvmerge; " -"will automatically chose a timecode scale factor so that all timecodes and " -"durations have a precision of one audio sample. This causes bigger overhead " -"but allows precise seeking and extraction." -msgstr "" -"通常&mkvmerge;は<constant>1000000</constant>を使用します。これはタイムコード" -"とフレーム持続期間が1ミリ秒単位の精度を持つことを意味します。ビデオトラックを" -"含まず、1つ以上のオーディオトラックを含むファイルでは、&mkvmerge;は全てのタイ" -"ムコードとフレーム持続時間がサンプリング音1つ分の精度を持つようタイムコードス" -"ケールの係数を自動的に選択します。これによってオーバーヘッドは大きくなります" -"が、正確なシークと展開が可能になります。" +#: doc/man/mkvmerge.xml:364 +msgid "Normally &mkvmerge; will use a value of <constant>1000000</constant> which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track &mkvmerge; will automatically chose a timecode scale factor so that all timecodes and durations have a precision of one audio sample. This causes bigger overhead but allows precise seeking and extraction." +msgstr "通常&mkvmerge;は<constant>1000000</constant>を使用します。これはタイムコードとフレーム持続期間が1ミリ秒単位の精度を持つことを意味します。ビデオトラックを含まず、1つ以上のオーディオトラックを含むファイルでは、&mkvmerge;は全てのタイムコードとフレーム持続時間がサンプリング音1つ分の精度を持つようタイムコードスケールの係数を自動的に選択します。これによってオーバーヘッドは大きくなりますが、正確なシークと展開が可能になります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:364 -msgid "" -"If the special value <constant>-1</constant> is used then &mkvmerge; will " -"use sample precision even if a video track is present." -msgstr "" -"特殊な値<constant>-1</constant>が指定された場合、たとえビデオトラックが存在し" -"ていてもサンプリング音の精度を使用します。" +#: doc/man/mkvmerge.xml:371 +msgid "If the special value <constant>-1</constant> is used then &mkvmerge; will use sample precision even if a video track is present." +msgstr "特殊な値<constant>-1</constant>が指定された場合、たとえビデオトラックが存在していてもサンプリング音の精度を使用します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:371 +#: doc/man/mkvmerge.xml:378 msgid "File splitting, linking and appending (more global options):" msgstr "ファイルの分割と紐付け(グローバルオプションの続き):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:376 +#: doc/man/mkvmerge.xml:383 msgid "<option>--split</option> <parameter>specification</parameter>" msgstr "<option>--split</option> <parameter>specification</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:380 -msgid "" -"Splits the output file after a given size or a given time. Please note that " -"tracks can only be split right before a key frame. Due to buffering " -"&mkvmerge; will split right before the next key frame after the split point " -"has been reached. Therefore the split point may be a bit off from what the " -"user has specified." -msgstr "" -"出力ファイルを指定したサイズ、又は時間で分割します。トラックはキーフレームの" -"直後でしか分割できないことに注意してください。&mkvmerge;はバッファリングを行" -"うため、ファイルは分割すべき点の次にくるキーフレームの直前で分割されます。" -"よって、分割点はユーザが指定した点よりも若干後ろになります。" +#: doc/man/mkvmerge.xml:387 +msgid "Splits the output file after a given size or a given time. Please note that tracks can only be split right before a key frame. Due to buffering &mkvmerge; will split right before the next key frame after the split point has been reached. Therefore the split point may be a bit off from what the user has specified." +msgstr "出力ファイルを指定したサイズ、又は時間で分割します。トラックはキーフレームの直後でしか分割できないことに注意してください。&mkvmerge;はバッファリングを行うため、ファイルは分割すべき点の次にくるキーフレームの直前で分割されます。よって、分割点はユーザが指定した点よりも若干後ろになります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:386 +#: doc/man/mkvmerge.xml:393 msgid "At the moment &mkvmerge; supports three different modes." msgstr "現時点では、&mkvmerge;は三つのモードをサポートしています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:392 +#: doc/man/mkvmerge.xml:399 msgid "Splitting by size." msgstr "指定サイズで分割します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:396 -msgid "" -"Syntax: <option>--split</option> <optional>size:</optional><parameter>d</" -"parameter><optional>k|m|g</optional>" -msgstr "" -"書式: <option>--split</option> <optional>size:</optional><parameter>d</" -"parameter><optional>k|m|g</optional>" +#: doc/man/mkvmerge.xml:403 +msgid "Syntax: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" +msgstr "書式: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:400 -msgid "" -"Examples: <code>--split size:700m</code> or <code>--split 150000000</code>" +#: doc/man/mkvmerge.xml:407 +msgid "Examples: <code>--split size:700m</code> or <code>--split 150000000</code>" msgstr "例: <code>--split size:700m</code> or <code>--split 150000000</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:404 -msgid "" -"The parameter <parameter>d</parameter> may end with '<literal>k</literal>', " -"'<literal>m</literal>' or '<literal>g</literal>' to indicate that the size " -"is in KB, MB or GB respectively. Otherwise a size in Bytes is assumed. " -"After the current output file has reached this size limit a new one will be " -"started." -msgstr "" -"パラメータ<parameter>d</parameter>の後ろには'<literal>k</" -"literal>'・'<literal>m</literal>'・'<literal>g</literal>'を付けて、単位がそれ" -"ぞれKB・MB・GBであることを示すことができます。付けない場合はバイト単位になり" -"ます。出力中のファイルがこの上限に達したら、次の新しいファイルへの出力が開始" -"されます。" +#: doc/man/mkvmerge.xml:411 +msgid "The parameter <parameter>d</parameter> may end with '<literal>k</literal>', '<literal>m</literal>' or '<literal>g</literal>' to indicate that the size is in KB, MB or GB respectively. Otherwise a size in Bytes is assumed. After the current output file has reached this size limit a new one will be started." +msgstr "パラメータ<parameter>d</parameter>の後ろには'<literal>k</literal>'・'<literal>m</literal>'・'<literal>g</literal>'を付けて、単位がそれぞれKB・MB・GBであることを示すことができます。付けない場合はバイト単位になります。出力中のファイルがこの上限に達したら、次の新しいファイルへの出力が開始されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:410 -msgid "" -"The '<literal>size:</literal>' prefix may be omitted for compatibility " -"reasons." -msgstr "" -"'<literal>size:</literal>'という接頭辞は、互換性のために省略できるようになっ" -"ています。" +#: doc/man/mkvmerge.xml:417 +msgid "The '<literal>size:</literal>' prefix may be omitted for compatibility reasons." +msgstr "'<literal>size:</literal>'という接頭辞は、互換性のために省略できるようになっています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:416 +#: doc/man/mkvmerge.xml:423 msgid "Splitting after a duration." msgstr "指定時間で分割します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:420 -msgid "" -"Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:" -"MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" -msgstr "" -"書式: <option>--split</option> <optional>duration:</optional><parameter>HH:" -"MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" +#: doc/man/mkvmerge.xml:427 +msgid "Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" +msgstr "書式: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:424 -msgid "" -"Examples: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</" -"code>" -msgstr "" -"例: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</code>" +#: doc/man/mkvmerge.xml:431 +msgid "Examples: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</code>" +msgstr "例: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:428 -msgid "" -"The parameter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</" -"parameter> for specifying the duration in up to nano-second precision or be " -"a number <parameter>d</parameter> followed by the letter '<literal>s</" -"literal>' for the duration in seconds. <parameter>HH</parameter> is the " -"number of hours, <parameter>MM</parameter> the number of minutes, " -"<parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</" -"parameter> the number of nanoseconds. Both the number of hours and the " -"number of nanoseconds can be omitted. There can be up to nine digits after " -"the decimal point. After the duration of the contents in the current output " -"has reached this limit a new output file will be started." -msgstr "" -"パラメータは<parameter>HH:MM:SS.nnnnnnnnn</parameter>という形式でナノ秒精度で" -"長さを指定するか、数字<parameter>d</parameter>のあとに'<literal>s</" -"literal>'と書いて秒数で長さを指定しなければなりません。<parameter>HH</" -"parameter>は時間、<parameter>MM</parameter>は分、<parameter>SS</parameter>は" -"秒数で<parameter>nnnnnnnnn</parameter>ナノ秒を示します。時間及びナノ秒は省略" -"できます。小数点の後ろには9桁までの数字を指定できます。指定した長さだけ出力さ" -"れたら、次のファイルへの出力が開始されます。" +#: doc/man/mkvmerge.xml:435 +msgid "The parameter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</parameter> for specifying the duration in up to nano-second precision or be a number <parameter>d</parameter> followed by the letter '<literal>s</literal>' for the duration in seconds. <parameter>HH</parameter> is the number of hours, <parameter>MM</parameter> the number of minutes, <parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</parameter> the number of nanoseconds. Both the number of hours and the number of nanoseconds can be omitted. There can be up to nine digits after the decimal point. After the duration of the contents in the current output has reached this limit a new output file will be started." +msgstr "パラメータは<parameter>HH:MM:SS.nnnnnnnnn</parameter>という形式でナノ秒精度で長さを指定するか、数字<parameter>d</parameter>のあとに'<literal>s</literal>'と書いて秒数で長さを指定しなければなりません。<parameter>HH</parameter>は時間、<parameter>MM</parameter>は分、<parameter>SS</parameter>は秒数で<parameter>nnnnnnnnn</parameter>ナノ秒を示します。時間及びナノ秒は省略できます。小数点の後ろには9桁までの数字を指定できます。指定した長さだけ出力されたら、次のファイルへの出力が開始されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:437 -msgid "" -"The '<literal>duration:</literal>' prefix may be omitted for compatibility " -"reasons." -msgstr "" -"'<literal>duration:</literal>'という接頭辞は、互換性のために省略できるように" -"なっています。" +#: doc/man/mkvmerge.xml:444 +msgid "The '<literal>duration:</literal>' prefix may be omitted for compatibility reasons." +msgstr "'<literal>duration:</literal>'という接頭辞は、互換性のために省略できるようになっています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:443 +#: doc/man/mkvmerge.xml:450 msgid "Splitting after specific timecodes." msgstr "指定した各タイムコードで分割します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:447 -msgid "" -"Syntax: <option>--split</option> timecodes:<parameter>A</" -"parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</" -"parameter>...</optional></optional>" -msgstr "" -"書式: <option>--split</option> timecodes:<parameter>A</parameter><optional>," -"<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></" -"optional>" +#: doc/man/mkvmerge.xml:454 +msgid "Syntax: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" +msgstr "書式: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:451 +#: doc/man/mkvmerge.xml:458 msgid "Example: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" msgstr "例: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:455 -msgid "" -"The parameters <parameter>A</parameter>, <parameter>B</parameter>, " -"<parameter>C</parameter> etc must all have the same format as the ones used " -"for the duration (see above). The list of timecodes is separated by commas. " -"After the input stream has reached the current split point's timecode a new " -"file is created. Then the next split point given in this list is used." -msgstr "" -"パラメータ<parameter>A</parameter>、<parameter>B</parameter>、<parameter>C</" -"parameter>…は、durationで使用されるものと同じフォーマットで指定しなければなり" -"ません(上記参照)。タイムコードのリストはコンマで区切られます。入力ストリーム" -"が現在の分割点に達すると次のファイルが作成され、このリストから次の分割点が使" -"用されます。" +#: doc/man/mkvmerge.xml:462 +msgid "The parameters <parameter>A</parameter>, <parameter>B</parameter>, <parameter>C</parameter> etc must all have the same format as the ones used for the duration (see above). The list of timecodes is separated by commas. After the input stream has reached the current split point's timecode a new file is created. Then the next split point given in this list is used." +msgstr "パラメータ<parameter>A</parameter>、<parameter>B</parameter>、<parameter>C</parameter>…は、durationで使用されるものと同じフォーマットで指定しなければなりません(上記参照)。タイムコードのリストはコンマで区切られます。入力ストリームが現在の分割点に達すると次のファイルが作成され、このリストから次の分割点が使用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:461 +#: doc/man/mkvmerge.xml:468 msgid "The '<literal>timecodes:</literal>' prefix must not be omitted." -msgstr "" -"'<literal>timecodes:</literal>'という接頭辞は、互換性のために省略できるように" -"なっています。" +msgstr "'<literal>timecodes:</literal>'という接頭辞は、互換性のために省略できるようになっています。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:466 -msgid "" -"For this splitting mode the output filename is treated differently than for " -"the normal operation. It may contain a <function>printf</function> like " -"expression '<literal>%d</literal>' including an optional field width, e.g. " -"'<literal>%02d</literal>'. If it does then the current file number will be " -"formatted appropriately and inserted at that point in the filename. If " -"there is no such pattern then a pattern of '<literal>-%03d</literal>' is " -"assumed right before the file's extension: '<literal>-o output.mkv</" -"literal>' would result in '<literal>output-001.mkv</literal>' and so on. If " -"there's no extension then '<literal>-%03d</literal>' will be appended to the " -"name." -msgstr "" -"この分割モードでは、出力ファイル名は通常の操作とは異る扱いを受けます。この" -"モードでは出力ファイル名は<function>printf</function>のように'<literal>%d</" -"literal>'というパターンを含むことができます。'<literal>%02d</literal>'のよう" -"に幅指定を追加することもできます。出力ファイル名がこのパターンを含む場合、" -"ファイル番号が適切なフォーマットで指定された位置に挿入されます。含まない場" -"合、'<literal>-%03d</literal>'というパターンがファイルの拡張子の直前に指定さ" -"れたものとみなされ、例えば'<literal>-o output.mkv</literal>'を指定した場" -"合、'<literal>output-001.mkv</literal>'等のファイル名に出力されます。拡張子が" -"存在しない場合、'<literal>-%03d</literal>'はファイル名の末尾に追加されます。" +#: doc/man/mkvmerge.xml:473 +msgid "For this splitting mode the output filename is treated differently than for the normal operation. It may contain a <function>printf</function> like expression '<literal>%d</literal>' including an optional field width, e.g. '<literal>%02d</literal>'. If it does then the current file number will be formatted appropriately and inserted at that point in the filename. If there is no such pattern then a pattern of '<literal>-%03d</literal>' is assumed right before the file's extension: '<literal>-o output.mkv</literal>' would result in '<literal>output-001.mkv</literal>' and so on. If there's no extension then '<literal>-%03d</literal>' will be appended to the name." +msgstr "この分割モードでは、出力ファイル名は通常の操作とは異る扱いを受けます。このモードでは出力ファイル名は<function>printf</function>のように'<literal>%d</literal>'というパターンを含むことができます。'<literal>%02d</literal>'のように幅指定を追加することもできます。出力ファイル名がこのパターンを含む場合、ファイル番号が適切なフォーマットで指定された位置に挿入されます。含まない場合、'<literal>-%03d</literal>'というパターンがファイルの拡張子の直前に指定されたものとみなされ、例えば'<literal>-o output.mkv</literal>'を指定した場合、'<literal>output-001.mkv</literal>'等のファイル名に出力されます。拡張子が存在しない場合、'<literal>-%03d</literal>'はファイル名の末尾に追加されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:477 +#: doc/man/mkvmerge.xml:484 msgid "<option>--link</option>" msgstr "<option>--link</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:480 -msgid "" -"Link files to one another when splitting the output file. See the section on " -"<link linkend=\"mkvmerge.file_linking\">file linking</link> below for " -"details." -msgstr "" -"分割された出力ファイルを相互に紐付けします。詳細は<link linkend=\"mkvmerge." -"file_linking\">ファイル紐付け</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:487 +msgid "Link files to one another when splitting the output file. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "分割された出力ファイルを相互に紐付けします。詳細は<link linkend=\"mkvmerge.file_linking\">ファイル紐付け</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:487 +#: doc/man/mkvmerge.xml:494 msgid "<option>--link-to-previous</option> <parameter>segment-UID</parameter>" msgstr "<option>--link-to-previous</option> <parameter>segment-UID</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:490 -msgid "" -"Links the first output file to the segment with the segment UID given by the " -"<parameter>segment-UID</parameter> parameter. See the section on <link " -"linkend=\"mkvmerge.file_linking\">file linking</link> below for details." -msgstr "" -"最初の出力ファイルを<parameter>segment-UID</parameter>で指定したセグメントUID" -"に紐付けします。詳細は<link linkend=\"mkvmerge.file_linking\">ファイル紐付け" -"</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:497 +msgid "Links the first output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "最初の出力ファイルを<parameter>segment-UID</parameter>で指定したセグメントUIDに紐付けします。詳細は<link linkend=\"mkvmerge.file_linking\">ファイル紐付け</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:497 +#: doc/man/mkvmerge.xml:504 msgid "<option>--link-to-next</option> <parameter>segment-UID</parameter>" msgstr "<option>--link-to-next</option> <parameter>segment-UID</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:500 -msgid "" -"Links the last output file to the segment with the segment UID given by the " -"<parameter>segment-UID</parameter> parameter. See the section on <link " -"linkend=\"mkvmerge.file_linking\">file linking</link> below for details." -msgstr "" -"最後の出力ファイルを<parameter>segment-UID</parameter>で指定したセグメントUID" -"に紐付けします。詳細は<link linkend=\"mkvmerge.file_linking\">ファイル紐付け" -"</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:507 +msgid "Links the last output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "最後の出力ファイルを<parameter>segment-UID</parameter>で指定したセグメントUIDに紐付けします。詳細は<link linkend=\"mkvmerge.file_linking\">ファイル紐付け</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:507 +#: doc/man/mkvmerge.xml:514 msgid "<option>--append-mode</option> <parameter>mode</parameter>" msgstr "<option>--append-mode</option> <parameter>mode</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:510 -msgid "" -"Determines how timecodes are calculated when appending files. The parameter " -"<parameter>mode</parameter> can have two values: '<literal>file</literal>' " -"which is also the default and '<literal>track</literal>'." -msgstr "" -"ファイルを結合する際に、タイムコードがどのように計算されるかを決定します。パ" -"ラメータ<parameter>mode</parameter>は'<literal>file</literal>'(デフォル" -"ト)、'<literal>track</literal>の二つの値を取り得ます。" +#: doc/man/mkvmerge.xml:517 +msgid "Determines how timecodes are calculated when appending files. The parameter <parameter>mode</parameter> can have two values: '<literal>file</literal>' which is also the default and '<literal>track</literal>'." +msgstr "ファイルを結合する際に、タイムコードがどのように計算されるかを決定します。パラメータ<parameter>mode</parameter>は'<literal>file</literal>'(デフォルト)、'<literal>track</literal>の二つの値を取り得ます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:515 -msgid "" -"When mkvmerge appends a track (called '<literal>track2_1</literal>' from now " -"on) from a second file (called '<literal>file2</literal>') to a track " -"(called '<literal>track1_1</literal>') from the first file (called " -"'<literal>file1</literal>') then it has to offset all timecodes for " -"'<literal>track2_1</literal>' by an amount. For '<literal>file</literal>' " -"mode this amount is the highest timecode encountered in '<literal>file1</" -"literal>' even if that timecode was from a different track than " -"'<literal>track1_1</literal>'. In track mode the offset is the highest " -"timecode of '<literal>track1_1</literal>'." -msgstr "" -"mkvmergeが二つめのファイル(以後'<literal>file2</literal>'と呼ぶ)のトラック(以" -"後'<literal>track2_1</literal>'と呼ぶ)を、一つめのファイル(以" -"後'<literal>file1</literal>'と呼ぶ)のトラック(以後'<literal>track1_1</" -"literal>'と呼ぶ)と結合する際、'<literal>track2_1</literal>'のタイムコードは一" -"定量だけずらす必要があります。'<literal>file</literal>'モードでは、ずらす量" -"は'<literal>file1</literal>'の中の'<literal>track1_1</literal>'以外のトラック" -"を含む全てのトラックの中で一番大きいタイムコードの値になりま" -"す。'<literal>track</literal>'モードでは、'<literal>track1_1</literal>'の中で" -"一番大きいタイムコードの値になります。" +#: doc/man/mkvmerge.xml:522 +msgid "When mkvmerge appends a track (called '<literal>track2_1</literal>' from now on) from a second file (called '<literal>file2</literal>') to a track (called '<literal>track1_1</literal>') from the first file (called '<literal>file1</literal>') then it has to offset all timecodes for '<literal>track2_1</literal>' by an amount. For '<literal>file</literal>' mode this amount is the highest timecode encountered in '<literal>file1</literal>' even if that timecode was from a different track than '<literal>track1_1</literal>'. In track mode the offset is the highest timecode of '<literal>track1_1</literal>'." +msgstr "mkvmergeが二つめのファイル(以後'<literal>file2</literal>'と呼ぶ)のトラック(以後'<literal>track2_1</literal>'と呼ぶ)を、一つめのファイル(以後'<literal>file1</literal>'と呼ぶ)のトラック(以後'<literal>track1_1</literal>'と呼ぶ)と結合する際、'<literal>track2_1</literal>'のタイムコードは一定量だけずらす必要があります。'<literal>file</literal>'モードでは、ずらす量は'<literal>file1</literal>'の中の'<literal>track1_1</literal>'以外のトラックを含む全てのトラックの中で一番大きいタイムコードの値になります。'<literal>track</literal>'モードでは、'<literal>track1_1</literal>'の中で一番大きいタイムコードの値になります。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:523 -msgid "" -"Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore " -"it defaults to '<literal>file</literal>' mode. '<literal>file</literal>' " -"mode usually works better for files that have been created independently of " -"each other; e.g. when appending <abbrev>AVI</abbrev> or <abbrev>MP4</abbrev> " -"files. '<literal>track</literal>' mode may work better for sources that are " -"essentially just parts of one big file, e.g. for <abbrev>VOB</abbrev> and " -"<abbrev>EVO</abbrev> files." -msgstr "" -"残念ながら、mkvmergeはどちらのモードが適切であるか判断はできません。デフォル" -"トは'<literal>file</literal>'モードになっています。'<literal>file</" -"literal>'モードは独立に作られたファイル同士を結合する際、例えば<abbrev>AVI</" -"abbrev>又は<abbrev>MP4</abbrev>ファイルを結合する際に、通常はより上手く働きま" -"す。'<literal>tracks</literal>'モードは、例えば<abbrev>VOB</abbrev>や" -"<abbrev>EVO</abbrev>ファイルなどの大きなファイルの一部がソースの場合より上手" -"く働くかもしれません。" +#: doc/man/mkvmerge.xml:530 +msgid "Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore it defaults to '<literal>file</literal>' mode. '<literal>file</literal>' mode usually works better for files that have been created independently of each other; e.g. when appending <abbrev>AVI</abbrev> or <abbrev>MP4</abbrev> files. '<literal>track</literal>' mode may work better for sources that are essentially just parts of one big file, e.g. for <abbrev>VOB</abbrev> and <abbrev>EVO</abbrev> files." +msgstr "残念ながら、mkvmergeはどちらのモードが適切であるか判断はできません。デフォルトは'<literal>file</literal>'モードになっています。'<literal>file</literal>'モードは独立に作られたファイル同士を結合する際、例えば<abbrev>AVI</abbrev>又は<abbrev>MP4</abbrev>ファイルを結合する際に、通常はより上手く働きます。'<literal>tracks</literal>'モードは、例えば<abbrev>VOB</abbrev>や<abbrev>EVO</abbrev>ファイルなどの大きなファイルの一部がソースの場合より上手く働くかもしれません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:530 -msgid "" -"Subtitle tracks are always treated as if '<literal>file</literal>' mode were " -"active even if '<literal>track</literal>' mode actually is." -msgstr "" -"字幕トラックは'<literal>track</literal>'モードが指定された場合でも、常" -"に'<literal>file</literal>'が指定されたかのように処理されます。" +#: doc/man/mkvmerge.xml:537 +msgid "Subtitle tracks are always treated as if '<literal>file</literal>' mode were active even if '<literal>track</literal>' mode actually is." +msgstr "字幕トラックは'<literal>track</literal>'モードが指定された場合でも、常に'<literal>file</literal>'が指定されたかのように処理されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:537 -msgid "" -"<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,..." -"</optional></parameter>" -msgstr "" -"<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,..." -"</optional></parameter>" +#: doc/man/mkvmerge.xml:544 +msgid "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" +msgstr "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:540 -msgid "" -"This option controls to which track another track is appended. Each spec " -"contains four IDs: a file ID, a track ID, a second file ID and a second " -"track ID. The first pair, \"source file ID\" and \"source track ID\", " -"identifies the track that is to be appended. The second pair, \"destination " -"file ID\" and \"destination track ID\", identifies the track the first one " -"is appended to." -msgstr "" -"このオプションは、どのトラックがどのトラックに追加されるのかを制御します。" -"ファイルID、トラックID、追加するファイルID、追加するトラックIDの4つのIDで一組" -"の指定を構成します。最初のファイルIDとトラックIDの組み合わせは、追加される対" -"象のトラックを指定します。次のファイルIDとトラックIDは、そのトラックに追加さ" -"れるトラックを指定します。" +#: doc/man/mkvmerge.xml:547 +msgid "This option controls to which track another track is appended. Each spec contains four IDs: a file ID, a track ID, a second file ID and a second track ID. The first pair, \"source file ID\" and \"source track ID\", identifies the track that is to be appended. The second pair, \"destination file ID\" and \"destination track ID\", identifies the track the first one is appended to." +msgstr "このオプションは、どのトラックがどのトラックに追加されるのかを制御します。ファイルID、トラックID、追加するファイルID、追加するトラックIDの4つのIDで一組の指定を構成します。最初のファイルIDとトラックIDの組み合わせは、追加される対象のトラックを指定します。次のファイルIDとトラックIDは、そのトラックに追加されるトラックを指定します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:546 -msgid "" -"If this option has been omitted then a standard mapping is used. This " -"standard mapping appends each track from the current file to a track from " -"the previous file with the same track ID. This allows for easy appending if " -"a movie has been split into two parts and both file have the same number of " -"tracks and track IDs with the command <command>mkvmerge -o output.mkv part1." -"mkv +part2.mkv</command>." -msgstr "" -"このオプションが指定されない場合、標準のマッピングが使用されます。この場合、" -"前のファイルのトラックに、現在のファイルのトラックIDが同じであるトラックが追" -"加されます。これにより、動画が二つのファイルに分割されており、かつ同じトラッ" -"ク数とトラックIDを持つ場合、<command>mkvmerge -o output.mkv part1.mkv +part2." -"mkv</command>のようにして簡単に結合することができます。" +#: doc/man/mkvmerge.xml:553 +msgid "If this option has been omitted then a standard mapping is used. This standard mapping appends each track from the current file to a track from the previous file with the same track ID. This allows for easy appending if a movie has been split into two parts and both file have the same number of tracks and track IDs with the command <command>mkvmerge -o output.mkv part1.mkv +part2.mkv</command>." +msgstr "このオプションが指定されない場合、標準のマッピングが使用されます。この場合、前のファイルのトラックに、現在のファイルのトラックIDが同じであるトラックが追加されます。これにより、動画が二つのファイルに分割されており、かつ同じトラック数とトラックIDを持つ場合、<command>mkvmerge -o output.mkv part1.mkv +part2.mkv</command>のようにして簡単に結合することができます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:554 +#: doc/man/mkvmerge.xml:561 msgid "<option>+</option>" msgstr "<option>+</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:557 -msgid "" -"A single '+' causes the next file to be appended instead of added. The '+' " -"can also be put in front of the next file name. Therefore the following two " -"commands are equivalent:" -msgstr "" -"'+'一文字を指定すると、次に指定されたファイルは追加ではなく結合されま" -"す。'+'は次のファイル名の直前に置くこともできます。よって、次の二つのコマンド" -"は等価です。" +#: doc/man/mkvmerge.xml:564 +msgid "A single '+' causes the next file to be appended instead of added. The '+' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "'+'一文字を指定すると、次に指定されたファイルは追加ではなく結合されます。'+'は次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> -#: doc/man/mkvmerge.xml:562 +#: doc/man/mkvmerge.xml:569 #, no-wrap msgid "" "$ mkvmerge -o full.mkv file1.mkv + file2.mkv\n" @@ -2372,1148 +1549,611 @@ "$ mkvmerge -o full.mkv file1.mkv +file2.mkv\n" " " +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:576 +msgid "<option>=</option>" +msgstr "<option>=</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:579 +msgid "Normally mkvmerge looks for files in the same directory as an input file that have the same base name and only differ in their running number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc). This option, a single '=', causes mkvmerge not to look for those additional files." +msgstr "通常mkvmergeは、入力ファイルと同じディレクトリにあり、同じ基底名を持ち、通し番号だけが異なるファイル(例:'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc)を検索します。この'='一文字のオプションを使うと、mkvmergeはそういった追加ファイルを検索しません。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:585 +msgid "The '=' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "'='は次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvmerge.xml:589 +#, no-wrap +msgid "" +"$ mkvmerge -o full.mkv = file1.mkv\n" +"$ mkvmerge -o full.mkv =file1.mkv\n" +" " +msgstr "" +"$ mkvmerge -o full.mkv file1.mkv = file2.mkv\n" +"$ mkvmerge -o full.mkv file1.mkv =file2.mkv\n" +" " + #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:570 +#: doc/man/mkvmerge.xml:597 msgid "Attachment support (more global options):" msgstr "添付ファイルのサポート(グローバルオプションの続き):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:575 -msgid "" -"<option>--attachment-description</option> <parameter>description</parameter>" -msgstr "" -"<option>--attachment-description</option> <parameter>description</parameter>" +#: doc/man/mkvmerge.xml:602 +msgid "<option>--attachment-description</option> <parameter>description</parameter>" +msgstr "<option>--attachment-description</option> <parameter>description</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:578 -msgid "" -"Plain text description of the following attachment. Applies to the next " -"<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</" -"option></link> or <option>--attach-file-once</option> option." -msgstr "" -"次の添付ファイルを説明するプレーンテキストを指定します。次の<link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file</option></link>オ" -"プション又は<option>--attach-file-once</option>オプションで指定した添付ファイ" -"ルに適用されます。" +#: doc/man/mkvmerge.xml:605 +msgid "Plain text description of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <option>--attach-file-once</option> option." +msgstr "次の添付ファイルを説明するプレーンテキストを指定します。次の<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link>オプション又は<option>--attach-file-once</option>オプションで指定した添付ファイルに適用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:586 -msgid "" -"<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" -msgstr "" -"<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" +#: doc/man/mkvmerge.xml:613 +msgid "<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" +msgstr "<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:589 -msgid "" -"<abbrev >MIME</abbrev> type of the following attachment. Applies to the next " -"<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</" -"option></link> or <link linkend=\"mkvmerge.description.attach_file" -"\"><option>--attach-file-once</option></link> option. A list of officially " -"recognized <abbrev>MIME</abbrev> types can be found e.g. at <ulink url=" -"\"http://www.iana.org/assignments/media-types/\">the IANA homepage</ulink>. " -"The <abbrev>MIME</abbrev> type is mandatory for an attachment." -msgstr "" -"次の添付ファイルの<abbrev >MIME</abbrev>タイプを指定します。<link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file</option></link>及" -"び<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-" -"once</option></link>オプションに適用されます。公式に認知されている" -"<abbrev>MIME</abbrev>タイプは例えば<ulink url=\"http://www.iana.org/" -"assignments/media-types/\">IANAのホームページ</ulink>に掲載されています。" -"<abbrev>MIME</abbrev>タイプは添付ファイルに必須です。" +#: doc/man/mkvmerge.xml:616 +msgid "<abbrev >MIME</abbrev> type of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option. A list of officially recognized <abbrev>MIME</abbrev> types can be found e.g. at <ulink url=\"http://www.iana.org/assignments/media-types/\">the IANA homepage</ulink>. The <abbrev>MIME</abbrev> type is mandatory for an attachment." +msgstr "次の添付ファイルの<abbrev >MIME</abbrev>タイプを指定します。<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link>及び<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link>オプションに適用されます。公式に認知されている<abbrev>MIME</abbrev>タイプは例えば<ulink url=\"http://www.iana.org/assignments/media-types/\">IANAのホームページ</ulink>に掲載されています。<abbrev>MIME</abbrev>タイプは添付ファイルに必須です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:599 +#: doc/man/mkvmerge.xml:626 msgid "<option>--attachment-name</option> <parameter>name</parameter>" msgstr "<option>--attachment-name</option> <parameter>name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:602 -msgid "" -"Sets the name that will be stored in the output file for this attachment. " -"If this option is not given then the name will be derived from the file name " -"of the attachment as given with the <link linkend=\"mkvmerge.description." -"attach_file\"><option>--attach-file</option></link> or the <link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></" -"link> option." -msgstr "" -"この添付ファイルの、出力ファイル内での名前を指定します。このオプションが指定" -"されなかった場合、<link linkend=\"mkvmerge.description.attach_file" -"\"><option>--attach-file</option></link>または<link linkend=\"mkvmerge." -"description.attach_file\"><option>--attach-file-once</option></link>で指定さ" -"れたファイル名がそのまま使用されます。" +#: doc/man/mkvmerge.xml:629 +msgid "Sets the name that will be stored in the output file for this attachment. If this option is not given then the name will be derived from the file name of the attachment as given with the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option." +msgstr "この添付ファイルの、出力ファイル内での名前を指定します。このオプションが指定されなかった場合、<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link>または<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link>で指定されたファイル名がそのまま使用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:612 -msgid "" -"<option>--attach-file</option> <parameter>file-name</parameter>, <option>--" -"attach-file-once</option> <parameter>file-name</parameter>" -msgstr "" -"<option>--attach-file</option> <parameter>file-name</parameter>, <option>--" -"attach-file-once</option> <parameter>file-name</parameter>" +#: doc/man/mkvmerge.xml:639 +msgid "<option>--attach-file</option> <parameter>file-name</parameter>, <option>--attach-file-once</option> <parameter>file-name</parameter>" +msgstr "<option>--attach-file</option> <parameter>file-name</parameter>, <option>--attach-file-once</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:617 -msgid "" -"Creates a file attachment inside the &matroska; file. The <abbrev>MIME</" -"abbrev> type must have been set before this option can used. The difference " -"between the two forms is that during splitting the files attached with " -"<option>--attach-file</option> are attached to all output files while the " -"ones attached with <option>--attach-file-once</option> are only attached to " -"the first file created. If splitting is not used then both do the same." -msgstr "" -"&matroska;ファイルの内部に添付ファイルを作成します。これらのオプションを使用" -"するには、<abbrev>MIME</abbrev>タイプをこれらのオプションより前に指定しなけれ" -"ばなりません。二つのオプションの違いは、出力ファイルを分割する際に、" -"<option>--attach-file</option>では全ての出力ファイルに添付されますが、" -"<option>--attach-file-once</option>では最初に作成されたファイルにしか添付され" -"ない点です。分割が使用されない場合、二つは等価です。" +#: doc/man/mkvmerge.xml:644 +msgid "Creates a file attachment inside the &matroska; file. The <abbrev>MIME</abbrev> type must have been set before this option can used. The difference between the two forms is that during splitting the files attached with <option>--attach-file</option> are attached to all output files while the ones attached with <option>--attach-file-once</option> are only attached to the first file created. If splitting is not used then both do the same." +msgstr "&matroska;ファイルの内部に添付ファイルを作成します。これらのオプションを使用するには、<abbrev>MIME</abbrev>タイプをこれらのオプションより前に指定しなければなりません。二つのオプションの違いは、出力ファイルを分割する際に、<option>--attach-file</option>では全ての出力ファイルに添付されますが、<option>--attach-file-once</option>では最初に作成されたファイルにしか添付されない点です。分割が使用されない場合、2つは等価です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:624 -msgid "" -"&mkvextract; can be used to extract attached files from a &matroska; file." -msgstr "" -"&mkvextract;で&matroska;ファイルから添付ファイルを抽出することができます。" +#: doc/man/mkvmerge.xml:651 +msgid "&mkvextract; can be used to extract attached files from a &matroska; file." +msgstr "&mkvextract;で&matroska;ファイルから添付ファイルを抽出することができます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:631 +#: doc/man/mkvmerge.xml:658 msgid "Options that can be used for each input file:" msgstr "各入力ファイルに指定できるオプション:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:636 -msgid "" -"<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:663 +msgid "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:639 -msgid "" -"Copy the audio tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all audio tracks." -msgstr "" -"オーディオトラック<parameter>n</parameter>、<parameter>m</parameter>…をコピー" -"します。番号は<link linkend=\"mkvmerge.description.identify\"><option>--" -"identify</option></link>オプションで得られるトラックIDです。これは単純にト" -"ラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションを参照してください)。デフォルト: 全てのオーディオ" -"トラックをコピーします。" +#: doc/man/mkvmerge.xml:666 +msgid "Copy the audio tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all audio tracks." +msgstr "オーディオトラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーします。番号は<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。デフォルト: 全てのオーディオトラックをコピーします。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:647 -msgid "" -"<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:674 +msgid "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:650 -msgid "" -"Copy the video tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all video tracks." -msgstr "" -"ビデオトラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーしま" -"す。数字は<link linkend=\"mkvmerge.description.identify\"><option>--" -"identify</option></link>オプションで得られるトラックIDです。これは単純にト" -"ラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションを参照してください)。 デフォルト: 全てのビデオト" -"ラックをコピーします。" +#: doc/man/mkvmerge.xml:677 +msgid "Copy the video tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all video tracks." +msgstr "ビデオトラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーします。数字は<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。 デフォルト: 全てのビデオトラックをコピーします。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:658 -msgid "" -"<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:685 +msgid "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:661 -msgid "" -"Copy the subtitle tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all subtitle tracks." -msgstr "" -"字幕トラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーしま" -"す。番号は<link linkend=\"mkvmerge.description.identify\"><option>--" -"identify</option></link>オプションで得られるトラックIDです。これは単純にト" -"ラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションを参照してください)。デフォルト: 全ての字幕トラッ" -"クをコピーします。" +#: doc/man/mkvmerge.xml:688 +msgid "Copy the subtitle tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all subtitle tracks." +msgstr "字幕トラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーします。番号は<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。デフォルト: 全ての字幕トラックをコピーします。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:669 -msgid "" -"<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:696 +msgid "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:672 -msgid "" -"Copy the button tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all button tracks." -msgstr "" -"ボタントラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーしま" -"す。番号は<link linkend=\"mkvmerge.description.identify\"><option>--" -"identify</option></link>オプションで得られるトラックIDです。これは単純にト" -"ラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションを参照してください)。デフォルト: 全てのボタント" -"ラックをコピーします。" +#: doc/man/mkvmerge.xml:699 +msgid "Copy the button tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all button tracks." +msgstr "ボタントラック<parameter>n</parameter>、<parameter>m</parameter>…をコピーします。番号は<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。デフォルト: 全てのボタントラックをコピーします。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:680 +#: doc/man/mkvmerge.xml:707 msgid "<option>--track-tags</option> <parameter>n,m,...</parameter>" msgstr "<option>--track-tags</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:683 -msgid "" -"Copy the tags for tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch " -"(see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). " -"They're not simply the track numbers. Default: copy tags for all tracks." -msgstr "" -"トラック<parameter>n</parameter>、<parameter>m</parameter>…のタグをコピーしま" -"す。番号は<link linkend=\"mkvmerge.description.identify\"><option>--" -"identify</option></link>オプションで得られるトラックIDです。これは単純にト" -"ラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションを参照してください)。デフォルト: 全てのトラックの" -"タグをコピーします。" +#: doc/man/mkvmerge.xml:710 +msgid "Copy the tags for tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). They're not simply the track numbers. Default: copy tags for all tracks." +msgstr "トラック<parameter>n</parameter>、<parameter>m</parameter>…のタグをコピーします。番号は<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。デフォルト: 全てのトラックのタグをコピーします。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:691 -msgid "" -"<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:" -"all|first</optional>,m<optional>:all|first</optional>,...</parameter>" -msgstr "" -"<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:" -"all|first</optional>,m<optional>:all|first</optional>,...</parameter>" +#: doc/man/mkvmerge.xml:718 +msgid "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" +msgstr "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:694 -msgid "" -"Copy the attachments with the IDs <parameter>n</parameter>, <parameter>m</" -"parameter> etc to all or only the first output file. Each ID can be followed " -"by either '<literal>:all</literal>' (which is the default if neither is " -"entered) or '<literal>:first</literal>'. If splitting is active then those " -"attachments whose IDs are specified with '<literal>:all</literal>' are " -"copied to all of the resulting output files while the others are only copied " -"into the first output file. If splitting is not active then both variants " -"have the same effect." -msgstr "" -"IDが<parameter>n</parameter>、<parameter>m</parameter>…の添付ファイルを全て" -"の、または最初の出力ファイルにコピーします。各IDの後ろには、'<literal>:all</" -"literal>'(デフォルト)又は'<literal>:first</literal>'を指定することができま" -"す。出力ファイル分割が有効の場合、'<literal>:all</literal>'をつけたIDの添付" -"ファイルは全ての出力ファイルにコピーされ、'<literal>:first</literal>'をつけた" -"場合は最初の出力ファイルにのみコピーされます。分割が有効でない場合は二つは同" -"等です。" +#: doc/man/mkvmerge.xml:721 +msgid "Copy the attachments with the IDs <parameter>n</parameter>, <parameter>m</parameter> etc to all or only the first output file. Each ID can be followed by either '<literal>:all</literal>' (which is the default if neither is entered) or '<literal>:first</literal>'. If splitting is active then those attachments whose IDs are specified with '<literal>:all</literal>' are copied to all of the resulting output files while the others are only copied into the first output file. If splitting is not active then both variants have the same effect." +msgstr "IDが<parameter>n</parameter>、<parameter>m</parameter>…の添付ファイルを全ての、または最初の出力ファイルにコピーします。各IDの後ろには、'<literal>:all</literal>'(デフォルト)又は'<literal>:first</literal>'を指定することができます。出力ファイル分割が有効の場合、'<literal>:all</literal>'をつけたIDの添付ファイルは全ての出力ファイルにコピーされ、'<literal>:first</literal>'をつけた場合は最初の出力ファイルにのみコピーされます。分割が有効でない場合は二つは同等です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:702 +#: doc/man/mkvmerge.xml:729 msgid "The default is to copy all attachments to all output files." -msgstr "" -"デフォルトでは、全ての添付ファイルが全ての出力ファイルにコピーされます。" +msgstr "デフォルトでは、全ての添付ファイルが全ての出力ファイルにコピーされます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:708 +#: doc/man/mkvmerge.xml:735 msgid "<option>-A</option>, <option>--no-audio</option>" msgstr "<option>-A</option>, <option>--no-audio</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:711 +#: doc/man/mkvmerge.xml:738 msgid "Don't copy any audio track from this file." msgstr "このファイルからオーディオトラックをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:717 +#: doc/man/mkvmerge.xml:744 msgid "<option>-D</option>, <option>--no-video</option>" msgstr "<option>-D</option>, <option>--no-video</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:720 +#: doc/man/mkvmerge.xml:747 msgid "Don't copy any video track from this file." msgstr "このファイルからビデオトラックをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:726 +#: doc/man/mkvmerge.xml:753 msgid "<option>-S</option>, <option>--no-subtitles</option>" msgstr "<option>-S</option>, <option>--no-subtitles</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:729 +#: doc/man/mkvmerge.xml:756 msgid "Don't copy any subtitle track from this file." msgstr "このファイルから字幕トラックをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:735 +#: doc/man/mkvmerge.xml:762 msgid "<option>-B</option>, <option>--no-buttons</option>" msgstr "<option>-B</option>, <option>--no-buttons</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:738 +#: doc/man/mkvmerge.xml:765 msgid "Don't copy any button track from this file." msgstr "このファイルからボタントラックをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:744 +#: doc/man/mkvmerge.xml:771 msgid "<option>-T</option>, <option>--no-track-tags</option>" msgstr "<option>-T</option>, <option>--no-track-tags</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:747 +#: doc/man/mkvmerge.xml:774 msgid "Don't copy any track specific tags from this file." msgstr "このファイルからオーディオトラックをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:753 +#: doc/man/mkvmerge.xml:780 msgid "<option>--no-chapters</option>" msgstr "<option>--no-chapters</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:756 +#: doc/man/mkvmerge.xml:783 msgid "Don't copy chapters from this file." msgstr "このファイルからチャプタをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:762 +#: doc/man/mkvmerge.xml:789 msgid "<option>-M</option>, <option>--no-attachments</option>" msgstr "<option>-M</option>, <option>--no-attachments</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:765 +#: doc/man/mkvmerge.xml:792 msgid "Don't copy attachments from this file." msgstr "このファイルから添付ファイルをコピーしません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:771 +#: doc/man/mkvmerge.xml:798 msgid "<option>--no-global-tags</option>" msgstr "<option>--no-global-tags</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:774 +#: doc/man/mkvmerge.xml:801 msgid "Don't copy global tags from this file." msgstr "このファイルからグローバルタグを引き継ぎません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:783 -msgid "" -"Sets the charset that is used for the conversion to UTF-8 for chapter " -"information contained in the source file. See the section about <link " -"linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</" -"link> for an explanation how &mkvmerge; converts between character sets." -msgstr "" -"ソースファイルに含まれるチャプタ情報ををUTF-8に変換する際の文字コードを指定し" -"ます。&mkvmerge;の文字コード変換については、<link linkend=\"mkvmerge." -"text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参" -"照してください。" +#: doc/man/mkvmerge.xml:810 +msgid "Sets the charset that is used for the conversion to UTF-8 for chapter information contained in the source file. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "ソースファイルに含まれるチャプタ情報ををUTF-8に変換する際の文字コードを指定します。&mkvmerge;の文字コード変換については、<link linkend=\"mkvmerge.text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:794 -msgid "" -"Sets the ISO639-2 language code that is written for each chapter entry. " -"This option can be used for source files that contain chapters but no " -"information about the chapters' languages, e.g. for MP4 and OGM files." -msgstr "" -"各チャプタエントリのISO639-2言語コードを指定します。このオプションはソース" -"ファイルがチャプタは含みますが、チャプタの言語情報を含まない場合(例:MP4、OGM" -"ファイル)に使用されます。" +#: doc/man/mkvmerge.xml:821 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. This option can be used for source files that contain chapters but no information about the chapters' languages, e.g. for MP4 and OGM files." +msgstr "各チャプタエントリのISO639-2言語コードを指定します。このオプションはソースファイルがチャプタは含みますが、チャプタの言語情報を含まない場合(例:MP4、OGMファイル)に使用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:801 -msgid "" -"<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>," -"o<optional>/p</optional></optional></parameter>" -msgstr "" -"<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>," -"o<optional>/p</optional></optional></parameter>" +#: doc/man/mkvmerge.xml:828 +msgid "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" +msgstr "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:804 -msgid "" -"Adjust the timecodes of the track with the id <parameter>TID</parameter> by " -"<parameter>d</parameter> ms. The track IDs are the same as the ones given " -"with <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> (see section <link linkend=\"mkvmerge.track_ids\">track IDs</" -"link>)." -msgstr "" -"トラックIDが<parameter>TID</parameter>のトラックのタイムコードを" -"<parameter>d</parameter>ミリ秒だけ調整します。トラックIDは<link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link>オプショ" -"ンで得られるものと同じです(<link linkend=\"mkvmerge.track_ids\">トラックID</" -"link>のセクションを参照してください)。" +#: doc/man/mkvmerge.xml:831 +msgid "Adjust the timecodes of the track with the id <parameter>TID</parameter> by <parameter>d</parameter> ms. The track IDs are the same as the ones given with <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>)." +msgstr "トラックIDが<parameter>TID</parameter>のトラックのタイムコードを<parameter>d</parameter>ミリ秒だけ調整します。トラックIDは<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションで得られるものと同じです(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照してください)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:810 -msgid "" -"<parameter>o</parameter>/<parameter>p</parameter>: adjust the timestamps by " -"<parameter>o</parameter>/<parameter>p</parameter> to fix linear drifts. " -"<parameter>p</parameter> defaults to 1 if omitted. Both <parameter>o</" -"parameter> and <parameter>p</parameter> can be floating point numbers." -msgstr "" -"<parameter>o</parameter>/<parameter>p</parameter>: タイムスタンプを" -"<parameter>o</parameter>/<parameter>p</parameter>の割合で調整し、リニアドリフ" -"トを修正します。<parameter>p</parameter>が省略された場合、デフォルトで1が使用" -"されます。<parameter>o</parameter>及び<parameter>p</parameter>には小数を指定" -"できます。" +#: doc/man/mkvmerge.xml:837 +msgid "<parameter>o</parameter>/<parameter>p</parameter>: adjust the timestamps by <parameter>o</parameter>/<parameter>p</parameter> to fix linear drifts. <parameter>p</parameter> defaults to 1 if omitted. Both <parameter>o</parameter> and <parameter>p</parameter> can be floating point numbers." +msgstr "<parameter>o</parameter>/<parameter>p</parameter>: タイムスタンプを<parameter>o</parameter>/<parameter>p</parameter>の割合で調整し、リニアドリフトを修正します。<parameter>p</parameter>が省略された場合、デフォルトで1が使用されます。<parameter>o</parameter>及び<parameter>p</parameter>には小数を指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:816 -msgid "" -"Defaults: no manual sync correction (which is the same as <parameter>d</" -"parameter> = <constant>0</constant> and <parameter>o</parameter>/" -"<parameter>p</parameter> = <constant>1.0</constant>)." -msgstr "" -"デフォルト: マニュアル同期修正は行われません(<parameter>d</parameter> = " -"<constant>0</constant> かつ<parameter>o</parameter> = <constant>1.0</" -"constant>の場合と同じです)。" +#: doc/man/mkvmerge.xml:843 +msgid "Defaults: no manual sync correction (which is the same as <parameter>d</parameter> = <constant>0</constant> and <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</constant>)." +msgstr "デフォルト: マニュアル同期修正は行われません(<parameter>d</parameter> = <constant>0</constant> かつ<parameter>o</parameter> = <constant>1.0</constant>の場合と同じです)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:821 doc/man/mkvmerge.xml:843 doc/man/mkvmerge.xml:860 -#: doc/man/mkvmerge.xml:874 doc/man/mkvmerge.xml:910 doc/man/mkvmerge.xml:1131 -msgid "" -"This option can be used multiple times for an input file applying to several " -"tracks by selecting different track IDs each time." -msgstr "" -"このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用" -"することができます。" +#: doc/man/mkvmerge.xml:848 doc/man/mkvmerge.xml:870 doc/man/mkvmerge.xml:887 +#: doc/man/mkvmerge.xml:901 doc/man/mkvmerge.xml:937 doc/man/mkvmerge.xml:1160 +msgid "This option can be used multiple times for an input file applying to several tracks by selecting different track IDs each time." +msgstr "このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:827 +#: doc/man/mkvmerge.xml:854 msgid "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" msgstr "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:830 -msgid "" -"Controls for which tracks cue (index) entries are created for the given " -"track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). " -"'<literal>none</literal>' inhibits the creation of cue entries. For " -"'<literal>iframes</literal>' only blocks with no backward or forward " -"references ( = I frames in video tracks) are put into the cue sheet. " -"'<literal>all</literal>' causes &mkvmerge; to create cue entries for all " -"blocks which will make the file very big." -msgstr "" -"指定されたトラックについて、どのトラックCUE(インデックス)エントリが作成される" -"のかを指定します(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセク" -"ションを参照)。'<literal>none</literal>'はCUEエントリを作成しませ" -"ん。'<literal>iframes</literal>は前方参照及び後方参照を含まないブロック(ビデ" -"オトラックでは I frame)のみがCUEシートに挿入されます。'<literal>all</" -"literal>'では&mkvmerge;は全てのブロックに対してCUEエントリを作成し、非常に大" -"きなファイルを出力するでしょう。" +#: doc/man/mkvmerge.xml:857 +msgid "Controls for which tracks cue (index) entries are created for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). '<literal>none</literal>' inhibits the creation of cue entries. For '<literal>iframes</literal>' only blocks with no backward or forward references ( = I frames in video tracks) are put into the cue sheet. '<literal>all</literal>' causes &mkvmerge; to create cue entries for all blocks which will make the file very big." +msgstr "指定されたトラックについて、どのトラックCUE(インデックス)エントリが作成されるのかを指定します(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションを参照)。'<literal>none</literal>'はCUEエントリを作成しません。'<literal>iframes</literal>は前方参照及び後方参照を含まないブロック(ビデオトラックでは I frame)のみがCUEシートに挿入されます。'<literal>all</literal>'では&mkvmerge;は全てのブロックに対してCUEエントリを作成し、非常に大きなファイルを出力するでしょう。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:837 -msgid "" -"The default is '<literal>iframes</literal>' for video tracks and " -"'<literal>none</literal>' for all others. See also option <link linkend=" -"\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> which " -"inhibits the creation of cue entries regardless of the <option>--cues</" -"option> options used." -msgstr "" -"デフォルトはビデオトラックは'<literal>iframes</literal>で、その他のトラック" -"は'<literal>none</literal>'です。<option>--cues</option>が使用されているかど" -"うかに関わらずCUEエントリの作成を抑制する、<link linkend=\"mkvmerge." -"description.no_cues\"><option>--no-cues</option></link>オプションも参照してく" -"ださい。" +#: doc/man/mkvmerge.xml:864 +msgid "The default is '<literal>iframes</literal>' for video tracks and '<literal>none</literal>' for all others. See also option <link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> which inhibits the creation of cue entries regardless of the <option>--cues</option> options used." +msgstr "デフォルトはビデオトラックは'<literal>iframes</literal>で、その他のトラックは'<literal>none</literal>'です。<option>--cues</option>が使用されているかどうかに関わらずCUEエントリの作成を抑制する、<link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link>オプションも参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:849 -msgid "" -"<option>--default-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" -msgstr "" -"<option>--default-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:876 +msgid "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:852 -msgid "" -"Sets the 'default' flag for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) if the optional argument " -"<parameter>bool</parameter> is not present. If the user does not explicitly " -"select a track himself then the player should prefer the track that has his " -"'default' flag set. Only one track of each kind (audio, video, subtitles, " -"buttons) can have his 'default' flag set. If the user wants no track to " -"have the default track flag set then he has to set <parameter>bool</" -"parameter> to <constant>0</constant> for all tracks." -msgstr "" -"省略可能な引数<parameter>bool</parameter>が指定されなかった場合、指定されたト" -"ラックに'デフォルト'フラグを付与します(<link linkend=\"mkvmerge.track_ids\">" -"トラックID</link>のセクションも参照)。ユーザが明示的にトラックを選択しなかっ" -"た場合、プレイヤーは'デフォルト'フラグの付いたトラックを優先的に再生します。" -"各トラックの種類(オーディオ、ビデオ、字幕、ボタン)ごとに、一つだけのトラック" -"にだけ'デフォルト'フラグは付与できます。もし、デフォルトフラグをどのトラック" -"にも付けたくない場合は、全てのトラックで<parameter>bool</parameter>を" -"<constant>0</constant>にすれば可能です。" +#: doc/man/mkvmerge.xml:879 +msgid "Sets the 'default' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. If the user does not explicitly select a track himself then the player should prefer the track that has his 'default' flag set. Only one track of each kind (audio, video, subtitles, buttons) can have his 'default' flag set. If the user wants no track to have the default track flag set then he has to set <parameter>bool</parameter> to <constant>0</constant> for all tracks." +msgstr "省略可能な引数<parameter>bool</parameter>が指定されなかった場合、指定されたトラックに'デフォルト'フラグを付与します(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションも参照)。ユーザが明示的にトラックを選択しなかった場合、プレイヤーは'デフォルト'フラグの付いたトラックを優先的に再生します。各トラックの種類(オーディオ、ビデオ、字幕、ボタン)ごとに、一つだけのトラックにだけ'デフォルト'フラグは付与できます。もし、デフォルトフラグをどのトラックにも付けたくない場合は、全てのトラックで<parameter>bool</parameter>を<constant>0</constant>にすれば可能です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:866 -msgid "" -"<option>--forced-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" -msgstr "" -"<option>--forced-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:893 +msgid "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:869 -msgid "" -"Sets the 'forced' flag for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) if the optional argument " -"<parameter>bool</parameter> is not present. A player must play all tracks " -"for which this flag is set to <constant>1</constant>." -msgstr "" -"省略可能な引数<parameter>bool</parameter>が指定されなかった場合、指定されたト" -"ラックに'強制表示'フラグを付与します(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションも参照。)プレーヤはこのフラグが<constant>1</" -"constant>に設定されている全てのトラックを再生しなければなりません。" +#: doc/man/mkvmerge.xml:896 +msgid "Sets the 'forced' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. A player must play all tracks for which this flag is set to <constant>1</constant>." +msgstr "省略可能な引数<parameter>bool</parameter>が指定されなかった場合、指定されたトラックに'強制表示'フラグを付与します(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションも参照。)プレーヤはこのフラグが<constant>1</constant>に設定されている全てのトラックを再生しなければなりません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:880 +#: doc/man/mkvmerge.xml:907 msgid "<option>--blockadd</option> <parameter>TID:level</parameter>" msgstr "<option>--blockadd</option> <parameter>TID:level</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:883 -msgid "" -"Keep only the <classname>BlockAdditions</classname> up to the level " -"<parameter>level</parameter> for the given track. The default is to keep " -"all levels. This option only affects certain kinds of codecs like WAVPACK4." -msgstr "" -"指定したトラックで、レベル<parameter>level</parameter>までの" -"<classname>BlockAddition</classname>を保持します。デフォルトでは全て保持しま" -"す。このオプションはWAVPACK4などの特定のコーデックにのみ有効です。" +#: doc/man/mkvmerge.xml:910 +msgid "Keep only the <classname>BlockAdditions</classname> up to the level <parameter>level</parameter> for the given track. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "指定したトラックで、レベル<parameter>level</parameter>までの<classname>BlockAddition</classname>を保持します。デフォルトでは全て保持します。このオプションはWAVPACK4などの特定のコーデックにのみ有効です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:890 +#: doc/man/mkvmerge.xml:917 msgid "<option>--track-name</option> <parameter>TID:name</parameter>" msgstr "<option>--track-name</option> <parameter>TID:name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:893 -msgid "" -"Sets the track name for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) to <parameter>name</parameter>." -msgstr "" -"指定したトラックのトラック名を<parameter>name</parameter>にします(<link " -"linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションも参照)。" +#: doc/man/mkvmerge.xml:920 +msgid "Sets the track name for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) to <parameter>name</parameter>." +msgstr "指定したトラックのトラック名を<parameter>name</parameter>にします(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションも参照)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:900 +#: doc/man/mkvmerge.xml:927 msgid "<option>--language</option> <parameter>TID:language</parameter>" msgstr "<option>--language</option> <parameter>TID:language</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:903 -msgid "" -"Sets the language for the given track (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Both ISO639-2 language codes and ISO639-1 " -"country codes are allowed. The country codes will be converted to language " -"codes automatically. All languages including their ISO639-2 codes can be " -"listed with the <link linkend=\"mkvmerge.description.list_languages" -"\"><option>--list-languages</option></link> option." -msgstr "" -"指定したトラックの言語を設定します(<link linkend=\"mkvmerge.track_ids\">ト" -"ラックID</link>のセクションも参照)。ISO639-2 言語コード及び ISO639-1 国別コー" -"ドが使用できます。国別コードは言語コードへ自動的に変換されます。ISO639-2 に含" -"まれる全てのコードは<link linkend=\"mkvmerge.description.list_languages" -"\"><option>--list-languages</option></link>オプションで一覧できます。" +#: doc/man/mkvmerge.xml:930 +msgid "Sets the language for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Both ISO639-2 language codes and ISO639-1 country codes are allowed. The country codes will be converted to language codes automatically. All languages including their ISO639-2 codes can be listed with the <link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link> option." +msgstr "指定したトラックの言語を設定します(<link linkend=\"mkvmerge.track_ids\">トラックID</link>のセクションも参照)。ISO639-2 言語コード及び ISO639-1 国別コードが使用できます。国別コードは言語コードへ自動的に変換されます。ISO639-2 に含まれる全てのコードは<link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link>オプションで一覧できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:916 -msgid "" -"<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</" -"parameter>" -msgstr "" -"<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</" -"parameter>" +#: doc/man/mkvmerge.xml:943 +msgid "<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</parameter>" +msgstr "<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:919 -msgid "" -"Read tags for the track with the number <parameter>TID</parameter> from the " -"file <parameter>file-name</parameter>. See the section about <link linkend=" -"\"mkvmerge.tags\">tags</link> below for details." -msgstr "" -"<parameter>file-name</parameter>で指定したファイルからグローバルタグを読み込" -"みます。詳細は<link linkend=\"mkvmerge.tags\">タグ</link>のセクションを参照し" -"てください。" +#: doc/man/mkvmerge.xml:946 +msgid "Read tags for the track with the number <parameter>TID</parameter> from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "<parameter>file-name</parameter>で指定したファイルからグローバルタグを読み込みます。詳細は<link linkend=\"mkvmerge.tags\">タグ</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:926 -msgid "" -"<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></" -"parameter>" -msgstr "" -"<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:953 +msgid "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" +msgstr "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:929 -msgid "" -"Tells &mkvmerge; that the track with the ID <parameter>TID</parameter> is " -"<abbrev>SBR AAC</abbrev> (also known as <abbrev>HE-AAC</abbrev> or " -"<abbrev>AAC+</abbrev>). This options is needed if a) the source file is an " -"<abbrev>AAC</abbrev> file (<emphasis>not</emphasis> for a &matroska; file) " -"and b) the <abbrev>AAC</abbrev> file contains <abbrev>SBR AAC</abbrev> " -"data. The reason for this switch is that it is technically impossible to " -"automatically tell normal <abbrev>AAC</abbrev> data from <abbrev>SBR AAC</" -"abbrev> data without decoding a complete <abbrev>AAC</abbrev> frame. As " -"there are several patent issues with <abbrev>AAC</abbrev> decoders " -"&mkvmerge; will never contain this decoding stage. So for <abbrev>SBR AAC</" -"abbrev> files this switch is mandatory. The resulting file might not play " -"back correctly or even not at all if the switch was omitted." -msgstr "" -"&mkvmerge;にIDが<parameter>TID</parameter>のトラックが<abbrev>SBR AAC</" -"abbrev> (別名<abbrev>HE-AAC</abbrev>又は<abbrev>AAC+</abbrev>)であることを教" -"えます。このオプションは、 a) ソースファイルが(&matroska;ファイルでは" -"<emphasis>なく</emphasis>)<abbrev>AAC</abbrev>ファイルでありかつ b) " -"<abbrev>AAC</abbrev>ファイルが<abbrev>SBR AAC</abbrev>データを含む場合に必要" -"です。このスイッチが存在する理由は、通常の<abbrev>AAC</abbrev>ファイルと" -"<abbrev>SBR AAC</abbrev>ファイルを自動的に区別することは、<abbrev>AAC</" -"abbrev>フレームを完全にデコードしなければ技術的に不可能であるためです。" -"<abbrev>AAC</abbrev>はいくつかの特許問題を抱えているため、&mkvmerge;は将来的" -"にもこのデコードステージを含むことはありません。よって、<abbrev>SBR AAC</" -"abbrev>にはこのスイッチが必須となります。このスイッチが指定されなかった場合、" -"出力ファイルは正常に再生ができなくなるか、完全に再生不能になるでしょう。" +#: doc/man/mkvmerge.xml:956 +msgid "Tells &mkvmerge; that the track with the ID <parameter>TID</parameter> is <abbrev>SBR AAC</abbrev> (also known as <abbrev>HE-AAC</abbrev> or <abbrev>AAC+</abbrev>). This options is needed if a) the source file is an <abbrev>AAC</abbrev> file (<emphasis>not</emphasis> for a &matroska; file) and b) the <abbrev>AAC</abbrev> file contains <abbrev>SBR AAC</abbrev> data. The reason for this switch is that it is technically impossible to automatically tell normal <abbrev>AAC</abbrev> data from <abbrev>SBR AAC</abbrev> data without decoding a complete <abbrev>AAC</abbrev> frame. As there are several patent issues with <abbrev>AAC</abbrev> decoders &mkvmerge; will never contain this decoding stage. So for <abbrev>SBR AAC</abbrev> files this switch is mandatory. The resulting file might not play back correctly or even not at all if the switch was omitted." +msgstr "&mkvmerge;にIDが<parameter>TID</parameter>のトラックが<abbrev>SBR AAC</abbrev> (別名<abbrev>HE-AAC</abbrev>又は<abbrev>AAC+</abbrev>)であることを教えます。このオプションは、 a) ソースファイルが(&matroska;ファイルでは<emphasis>なく</emphasis>)<abbrev>AAC</abbrev>ファイルでありかつ b) <abbrev>AAC</abbrev>ファイルが<abbrev>SBR AAC</abbrev>データを含む場合に必要です。このスイッチが存在する理由は、通常の<abbrev>AAC</abbrev>ファイルと<abbrev>SBR AAC</abbrev>ファイルを自動的に区別することは、<abbrev>AAC</abbrev>フレームを完全にデコードしなければ技術的に不可能であるためです。<abbrev>AAC</abbrev>はいくつかの特許問題を抱えているため、&mkvmerge;は将来的にもこのデコードステージを含むことはありません。よって、<abbrev>SBR AAC</abbrev>にはこのスイッチが必須となります。このスイッチが指定されなかった場合、出力ファイルは正常に再生ができなくなるか、完全に再生不能になるでしょう。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:939 -msgid "" -"If the source file is a &matroska; file then the <classname>CodecID</" -"classname> should be enough to detect <abbrev>SBR AAC</abbrev>. However, if " -"the <classname>CodecID</classname> is wrong then this switch can be used to " -"correct that." -msgstr "" -"ソースファイルが&matroska;ファイルの場合、<classname>CodecID</classname>によ" -"り<abbrev>SBR AAC</abbrev>を検知できます。しかし、<classname>CodecID</" -"classname>が不正な場合、このスイッチで修正することができます。" +#: doc/man/mkvmerge.xml:966 +msgid "If the source file is a &matroska; file then the <classname>CodecID</classname> should be enough to detect <abbrev>SBR AAC</abbrev>. However, if the <classname>CodecID</classname> is wrong then this switch can be used to correct that." +msgstr "ソースファイルが&matroska;ファイルの場合、<classname>CodecID</classname>により<abbrev>SBR AAC</abbrev>を検知できます。しかし、<classname>CodecID</classname>が不正な場合、このスイッチで修正することができます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:944 -msgid "" -"If mkvmerge wrongfully detects that an <abbrev>AAC</abbrev> file is " -"<abbrev>SBR</abbrev> then you can add '<literal>:0</literal>' to the track " -"ID." -msgstr "" -"もし、mkvmergeが<abbrev>AAC</abbrev>ファイルを間違って<abbrev>SBR</abbrev>と" -"認識してしまった場合、トラックIDに'<literal>:0</literal>'を指定できます。" +#: doc/man/mkvmerge.xml:971 +msgid "If mkvmerge wrongfully detects that an <abbrev>AAC</abbrev> file is <abbrev>SBR</abbrev> then you can add '<literal>:0</literal>' to the track ID." +msgstr "もし、mkvmergeが<abbrev>AAC</abbrev>ファイルを間違って<abbrev>SBR</abbrev>と認識してしまった場合、トラックIDに'<literal>:0</literal>'を指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:951 +#: doc/man/mkvmerge.xml:978 msgid "<option>--timecodes</option> <parameter>TID:file-name</parameter>" msgstr "<option>--timecodes</option> <parameter>TID:file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:954 -msgid "" -"Read the timecodes to be used for the specific track ID from <parameter>file-" -"name</parameter>. These timecodes forcefully override the timecodes that " -"&mkvmerge; normally calculates. Read the section about <link linkend=" -"\"mkvmerge.external_timecode_files\">external timecode files</link>." -msgstr "" -"指定したトラックIDのタイムコードを、<parameter>file-name</parameter>から読み" -"込みます。これらのタイムコードは&mkvmerge;が通常計算するタイムコードを強制的" -"に上書きします。<link linkend=\"mkvmerge.external_timecode_files\">外部タイム" -"コードファイル</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:981 +msgid "Read the timecodes to be used for the specific track ID from <parameter>file-name</parameter>. These timecodes forcefully override the timecodes that &mkvmerge; normally calculates. Read the section about <link linkend=\"mkvmerge.external_timecode_files\">external timecode files</link>." +msgstr "指定したトラックIDのタイムコードを、<parameter>file-name</parameter>から読み込みます。これらのタイムコードは&mkvmerge;が通常計算するタイムコードを強制的に上書きします。<link linkend=\"mkvmerge.external_timecode_files\">外部タイムコードファイル</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:962 +#: doc/man/mkvmerge.xml:989 msgid "<option>--default-duration</option> <parameter>TID:x</parameter>" msgstr "<option>--default-duration</option> <parameter>TID:x</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:965 -msgid "" -"Forces the default duration of a given track to the specified value. Also " -"modifies the track's timecodes to match the default duration. The argument " -"<parameter>x</parameter> must be postfixed with '<literal>s</literal>', " -"'<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' or " -"'<literal>fps</literal>' to specify the default duration in seconds, " -"milliseconds, microseconds, nanoseconds or 'frames per second' " -"respectively. The number <parameter>x</parameter> itself can be a floating " -"point number or a fraction." -msgstr "" -"指定したトラックの default duration を強制的に設定します。トラックのタイム" -"コードも、 default duration に合うように変更されます。引数<parameter>x</" -"parameter>は'<literal>s</literal>'、'<literal>ms</literal>'、'<literal>us</" -"literal>'、'<literal>ns</literal>'、'<literal>fps</literal>'のうちどれか一つ" -"を後置されていなければなりません。それぞれ、 default duration は秒、ミリ秒、" -"マイクロ秒、ナノ秒、'fps'単位で指定されます。<parameter>x</parameter>は小数ま" -"たは分数で指定できます。" +#: doc/man/mkvmerge.xml:992 +msgid "Forces the default duration of a given track to the specified value. Also modifies the track's timecodes to match the default duration. The argument <parameter>x</parameter> must be postfixed with '<literal>s</literal>', '<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' or '<literal>fps</literal>' to specify the default duration in seconds, milliseconds, microseconds, nanoseconds or 'frames per second' respectively. The number <parameter>x</parameter> itself can be a floating point number or a fraction." +msgstr "指定したトラックの default duration を強制的に設定します。トラックのタイムコードも、 default duration に合うように変更されます。引数<parameter>x</parameter>は'<literal>s</literal>'、'<literal>ms</literal>'、'<literal>us</literal>'、'<literal>ns</literal>'、'<literal>fps</literal>'のうちどれか一つを後置されていなければなりません。それぞれ、 default duration は秒、ミリ秒、マイクロ秒、ナノ秒、'fps'単位で指定されます。<parameter>x</parameter>は小数または分数で指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:973 -msgid "" -"If the default duration is not forced then mkvmerge will try to derive the " -"track's default duration from the container and/or codec used. One case in " -"which this option is of use is when adding <foreignphrase>AVC/h.264</" -"foreignphrase> elementary streams because these do not contain information " -"about their number of frames or a default duration for each frame. For such " -"files &mkvmerge; will assume a default duration of '<literal>25fps</" -"literal>' unless overridden." -msgstr "" -"default duration が強制的に指定されない場合、mkvmergeはトラックの default " -"duration をコンテナ又は使用されているコーデックから取得して使用します。このオ" -"プションの使用例の一つとして、<foreignphrase>AVC/h.264</foreignphrase>エレメ" -"ンタリストリームを追加する場合があげられます。なぜなら、これは、フレーム数や" -"フレーム毎の default duration の情報を格納していないためです。このようなファ" -"イルに対しては、指定されないかぎり&mkvmerge;は default duration " -"を'<literal>25fps</literal>'と仮定します。" +#: doc/man/mkvmerge.xml:1000 +msgid "If the default duration is not forced then mkvmerge will try to derive the track's default duration from the container and/or codec used. One case in which this option is of use is when adding <foreignphrase>AVC/h.264</foreignphrase> elementary streams because these do not contain information about their number of frames or a default duration for each frame. For such files &mkvmerge; will assume a default duration of '<literal>25fps</literal>' unless overridden." +msgstr "default duration が強制的に指定されない場合、mkvmergeはトラックの default duration をコンテナ又は使用されているコーデックから取得して使用します。このオプションの使用例の一つとして、<foreignphrase>AVC/h.264</foreignphrase>エレメンタリストリームを追加する場合があげられます。なぜなら、これは、フレーム数やフレーム毎の default duration の情報を格納していないためです。このようなファイルに対しては、指定されないかぎり&mkvmerge;は default duration を'<literal>25fps</literal>'と仮定します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:980 -msgid "" -"This option can also be used to change the <abbrev>FPS</abbrev> of video " -"tracks without having to use an external timecode file." -msgstr "" -"このオプションは、外部タイムコードファイルを使用せずにビデオトラックの" -"<abbrev>FPS</abbrev>を変更するのにも使えます。" +#: doc/man/mkvmerge.xml:1007 +msgid "This option can also be used to change the <abbrev>FPS</abbrev> of video tracks without having to use an external timecode file." +msgstr "このオプションは、外部タイムコードファイルを使用せずにビデオトラックの<abbrev>FPS</abbrev>を変更するのにも使えます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:986 +#: doc/man/mkvmerge.xml:1013 msgid "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" msgstr "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:989 -msgid "" -"Forces the <abbrev>NALU</abbrev> size length to <parameter>n</parameter> " -"bytes. This parameter is only used if the <foreignphrase>AVC/h.264</" -"foreignphrase> elementary stream packetizer is used. If left out it " -"defaults to 4 bytes, but there are files that contain frames or slices that " -"are all smaller than 65536 bytes. For such files you can use this parameter " -"and decrease the size to 2." -msgstr "" -"<abbrev>NALU</abbrev>サイズ長を<parameter>n</parameter>バイトに強制設定しま" -"す。このパラメータは<foreignphrase>AVC/h.264</foreignphrase>エレメンタリスト" -"リームパケタイザが使用される場合にのみ使用されます。何も指定しなかった時のデ" -"フォルト値は4バイトですが、65535バイト以上のフレームやスライスが含まれていな" -"いファイルも存在します。そのようなファイルでは、このパラメータを使用してNALU" -"サイズ長を2に減らすことができます。" +#: doc/man/mkvmerge.xml:1016 +msgid "Forces the <abbrev>NALU</abbrev> size length to <parameter>n</parameter> bytes. This parameter is only used if the <foreignphrase>AVC/h.264</foreignphrase> elementary stream packetizer is used. If left out it defaults to 4 bytes, but there are files that contain frames or slices that are all smaller than 65536 bytes. For such files you can use this parameter and decrease the size to 2." +msgstr "<abbrev>NALU</abbrev>サイズ長を<parameter>n</parameter>バイトに強制設定します。このパラメータは<foreignphrase>AVC/h.264</foreignphrase>エレメンタリストリームパケタイザが使用される場合にのみ使用されます。何も指定しなかった時のデフォルト値は4バイトですが、65535バイト以上のフレームやスライスが含まれていないファイルも存在します。そのようなファイルでは、このパラメータを使用してNALUサイズ長を2に減らすことができます。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1025 +msgid "<option>--compression</option> <parameter>TID:n</parameter>" +msgstr "<option>--compression</option> <parameter>TID:n</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1028 +msgid "Selects the compression method to be used for the track. Note that the player also has to support this method. Valid values are '<literal>none</literal>', '<literal>zlib</literal>', '<literal>lzo</literal>'/'<literal>lxo1x</literal>', '<literal>bz2</literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has been compiled with support for the <productname>liblzo</productname> and <productname>bzlib</productname> compression libraries, respectively." +msgstr "トラックの圧縮法を選択します。プレイヤーが選択した圧縮法をサポートしている必要があることに注意してください。指定できる圧縮法は、'<literal>none</literal>'、'<literal>zlib</literal>'、'<literal>lzo</literal>'/'<literal>lxo1x</literal>'、'<literal>bz2</literal>'/'<literal>bzlib</literal>'及び'<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'です。'<literal>lzo</literal>'/'<literal>lxo1x</literal>'と'<literal>bz2</literal>'/'<literal>bzlib</literal>'は&mkvmerge;がそれぞれ、<productname>liblzo</productname>及び<productname>bzlib</productname>圧縮ライブラリのサポート付きでコンパイルされたときのみ使用できます。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1036 +msgid "The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' is a special compression method called '<foreignphrase>header removal</foreignphrase>' that is only available for <abbrev>MPEG4</abbrev> part 2 video tracks." +msgstr "'<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'圧縮法は、 <abbrev>MPEG4</abbrev> part2 ビデオトラックにのみ適用できる、'<foreignphrase>header removal</foreignphrase>'と呼ばれる特殊な圧縮法です。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1040 +msgid "The default for some subtitle tracks is '<literal>zlib</literal>' compression. This compression method is also the one that most if not all playback applications support. Support for other compression methods other than '<literal>none</literal>' is not assured." +msgstr "いくつかの字幕トラックにおけるデフォルトは'<literal>zlib</literal>'圧縮法です。この圧縮法はほとんど全ての再生アプリケーションでサポートされています。'<literal>none</literal>'以外の他の圧縮法については、サポートされているとは限りません。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:999 +#: doc/man/mkvmerge.xml:1048 msgid "Options that only apply to video tracks:" msgstr "ビデオトラックにのみ適用されるオプション:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1004 -msgid "" -"<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</" -"parameter>" -msgstr "" -"<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</" -"parameter>" +#: doc/man/mkvmerge.xml:1053 +msgid "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" +msgstr "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1007 -msgid "" -"Forces the <classname>FourCC</classname> to the specified value. Works only " -"for video tracks in the '<foreignphrase>MS compatibility mode</" -"foreignphrase>'." -msgstr "" -"<classname>FourCC</classname>を指定した値に強制設定します。ビデオトラック" -"が'<foreignphrase>MS互換モード</foreignphrase>'である場合にのみ有効です。" +#: doc/man/mkvmerge.xml:1056 +msgid "Forces the <classname>FourCC</classname> to the specified value. Works only for video tracks in the '<foreignphrase>MS compatibility mode</foreignphrase>'." +msgstr "<classname>FourCC</classname>を指定した値に強制設定します。ビデオトラックが'<foreignphrase>MS互換モード</foreignphrase>'である場合にのみ有効です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1014 -msgid "" -"<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" -msgstr "" -"<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" +#: doc/man/mkvmerge.xml:1063 +msgid "<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" +msgstr "<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1017 -msgid "" -"&matroska; files contain two values that set the display properties that a " -"player should scale the image on playback to: display width and display " -"height. These values can be set with this option, e.g. '<literal>1:640x480</" -"literal>'." -msgstr "" -"&matroska;ファイルは再生時の画像スケールを決定するための二つの値を持ちます。" -"表示幅と表示高さです。これらの値をこのオプションで、例え" -"ば'<literal>1:640x480</literal>'のように指定できます。" +#: doc/man/mkvmerge.xml:1066 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. These values can be set with this option, e.g. '<literal>1:640x480</literal>'." +msgstr "&matroska;ファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示高さです。これらの値をこのオプションで、例えば'<literal>1:640x480</literal>'のように指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1022 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio\"><option>--aspect-ratio</option></link> or the " -"<link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-" -"ratio-factor</option></link> option (see below). These options are mutually " -"exclusive." -msgstr "" -"これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description." -"aspect_ratio\"><option>--aspect-ratio</option></link>又は<link linkend=" -"\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</" -"option></link>オプションが使用できます(下記参照)。これらのオプションは互いに" -"排他的です。" +#: doc/man/mkvmerge.xml:1071 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> option (see below). These options are mutually exclusive." +msgstr "これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link>又は<link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link>オプションが使用できます(下記参照)。これらのオプションは互いに排他的です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1031 -msgid "" -"<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" -msgstr "" -"<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" +#: doc/man/mkvmerge.xml:1080 +msgid "<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" +msgstr "<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1034 -msgid "" -"&matroska; files contain two values that set the display properties that a " -"player should scale the image on playback to: display width and display " -"height. With this option &mkvmerge; will automatically calculate the " -"display width and display height based on the image's original width and " -"height and the aspect ratio given with this option. The ratio can be given " -"either as a floating point number <parameter>ratio</parameter> or as a " -"fraction '<parameter>width</parameter>/<parameter>height</parameter>', e.g. " -"'<literal>16/9</literal>'." -msgstr "" -"&matroska;ファイルは再生時の画像スケールを決定するための二つの値を持ちます。" -"表示幅と表示高さです。これらの値をこのオプションで、例え" -"ば'<literal>1:640x480</literal>'のように指定できます。このオプションを指定す" -"ると、&mkvmerge;は自動的に表示幅及び表示高さを、画像の元の幅と高さ、そして指" -"定されたアスペクト比から自動的に計算します。アスペクト比は、小数" -"<parameter>ratio</parameter>または分数'<parameter>width</parameter>/" -"<parameter>height</parameter>'(例: '<literal>16/9</literal>')の形式で指定でき" -"ます。" +#: doc/man/mkvmerge.xml:1083 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. With this option &mkvmerge; will automatically calculate the display width and display height based on the image's original width and height and the aspect ratio given with this option. The ratio can be given either as a floating point number <parameter>ratio</parameter> or as a fraction '<parameter>width</parameter>/<parameter>height</parameter>', e.g. '<literal>16/9</literal>'." +msgstr "&matroska;ファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示高さです。これらの値をこのオプションで、例えば'<literal>1:640x480</literal>'のように指定できます。このオプションを指定すると、&mkvmerge;は自動的に表示幅及び表示高さを、画像の元の幅と高さ、そして指定されたアスペクト比から自動的に計算します。アスペクト比は、小数<parameter>ratio</parameter>または分数'<parameter>width</parameter>/<parameter>height</parameter>'(例: '<literal>16/9</literal>')の形式で指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1042 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></" -"link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--" -"display-dimensions</option></link> options (see above and below). These " -"options are mutually exclusive." -msgstr "" -"これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description." -"aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link>又は<link " -"linkend=\"mkvmerge.description.display_dimensions\"><option>--display-" -"dimensions</option></link>オプションが使用できます(上記及び下記参照)。これら" -"のオプションは互いに排他的です。" +#: doc/man/mkvmerge.xml:1091 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above and below). These options are mutually exclusive." +msgstr "これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link>又は<link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link>オプションが使用できます(上記及び下記参照)。これらのオプションは互いに排他的です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1051 -msgid "" -"<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" -msgstr "" -"<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" +#: doc/man/mkvmerge.xml:1100 +msgid "<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" +msgstr "<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1054 -msgid "" -"Another way to set the aspect ratio is to specify a <parameter>factor</" -"parameter>. The original aspect ratio is first multiplied with this " -"<parameter>factor</parameter> and used as the target aspect ratio afterwards." -msgstr "" -"アスペクト比を設定するもうひとつの方法は、元のアスペクト比からの係数を指定す" -"る方法です。元のアスペクト比に、<parameter>factor</parameter>を乗じたものが新" -"しいアスペクト比として使用されます。" +#: doc/man/mkvmerge.xml:1103 +msgid "Another way to set the aspect ratio is to specify a <parameter>factor</parameter>. The original aspect ratio is first multiplied with this <parameter>factor</parameter> and used as the target aspect ratio afterwards." +msgstr "アスペクト比を設定するもうひとつの方法は、元のアスペクト比からの係数を指定する方法です。元のアスペクト比に、<parameter>factor</parameter>を乗じたものが新しいアスペクト比として使用されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1059 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio\"><option>--aspect-ratio</option></link> or <link " -"linkend=\"mkvmerge.description.display_dimensions\"><option>--display-" -"dimensions</option></link> options (see above). These options are mutually " -"exclusive." -msgstr "" -"これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description." -"aspect_ratio\"><option>--aspect-ratio</option></link>又は<link linkend=" -"\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</" -"option></link>オプションが使用できます(上記参照)。これらのオプションは互いに" -"排他的です。" +#: doc/man/mkvmerge.xml:1108 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above). These options are mutually exclusive." +msgstr "これらの値を設定する別の方法として、<link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link>又は<link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link>オプションが使用できます(上記参照)。これらのオプションは互いに排他的です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1068 -msgid "" -"<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" -msgstr "" -"<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" +#: doc/man/mkvmerge.xml:1117 +msgid "<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" +msgstr "<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1071 -msgid "" -"Sets the pixel cropping parameters of a video track to the given values." -msgstr "" -"ビデオトラックのピクセルクロッピングのパラメータを指定した値に設定します。" +#: doc/man/mkvmerge.xml:1120 +msgid "Sets the pixel cropping parameters of a video track to the given values." +msgstr "ビデオトラックのピクセルクロッピングのパラメータを指定した値に設定します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1077 +#: doc/man/mkvmerge.xml:1126 msgid "<option>--stereo-mode</option> <parameter>TID:n|keyword</parameter>" msgstr "<option>--stereo-mode</option> <parameter>TID:n|keyword</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1080 -msgid "" -"Sets the stereo mode for the video track with the track ID <parameter>TID</" -"parameter>. The mode can either be a number <parameter>n</parameter> " -"between <constant>0</constant> and <constant>3</constant> or one of the " -"keywords '<literal>none</literal>' (same as <parameter>n</" -"parameter>=<constant>0</constant>), '<literal>right</literal>' (same as " -"<parameter>n</parameter>=<constant>1</constant>), '<literal>left</" -"literal>' (same as <parameter>n</parameter>=<constant>2</constant>) or " -"'<literal>both</literal>' (same as <parameter>n</parameter>=<constant>3</" -"constant>)." -msgstr "" -"トラックIDが<parameter>TID</parameter>のビデオトラックのステレオモードを設定" -"します。モードは<constant>0</constant>から<constant>3</constant>までの数字" -"<parameter>n</parameter>、又は'<literal>none</literal>'(<parameter>n</" -"parameter>=<constant>0</constant>と同等)、'<literal>right</" -"literal>'(<parameter>n</parameter>=<constant>1</constant>と同" -"等)、'<literal>left</literal>'(<parameter>n</parameter>=<constant>2</" -"constant>と同等)、及び'<literal>both</literal>'(<parameter>n</" -"parameter>=<constant>3</constant>と同等)のうちのどれかを<parameter>keyword</" -"parameter>として指定しなければなりません。" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1090 -msgid "<option>--compression</option> <parameter>TID:method</parameter>" -msgstr "<option>--compression</option> <parameter>TID:method</parameter>" +#: doc/man/mkvmerge.xml:1129 +msgid "Sets the stereo mode for the video track with the track ID <parameter>TID</parameter>. The mode can either be a number <parameter>n</parameter> between <constant>0</constant> and <constant>11</constant> or one of these keywords:" +msgstr "トラックIDが<parameter>TID</parameter>のビデオトラックのステレオモードを設定します。ステレオモードは、<constant>0</constant>~<constant>11</constant>の数字<parameter>n</parameter>、または以下のキーワードのうちの1つを指定することができます:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1093 -msgid "" -"Selects the compression method to be used for the VobSub track. Note that " -"the player also has to support this method. Valid values are '<literal>none</" -"literal>', '<literal>zlib</literal>', '<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>', '<literal>bz2</" -"literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</" -"literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</" -"literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has " -"been compiled with support for the <productname>liblzo</productname> " -"respectively <productname>bzlib</productname> compression libraries." -msgstr "" -"VobSubトラックの圧縮法を選択します。プレイヤーが選択した圧縮法をサポートして" -"いる必要があることに注意してください。指定できる圧縮法は、'<literal>none</" -"literal>'、'<literal>zlib</literal>'、'<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>'、'<literal>bz2</" -"literal>'/'<literal>bzlib</literal>'及び'<literal>mpeg4_p2</" -"literal>'/'<literal>mpeg4p2</literal>'です。'<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>'と'<literal>bz2</" -"literal>'/'<literal>bzlib</literal>'は&mkvmerge;がそれぞれ、" -"<productname>liblzo</productname>及び<productname>bzlib</productname>圧縮ライ" -"ブラリのサポート付きでコンパイルされたときのみ使用できます。" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1102 -msgid "" -"The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</" -"literal>' is a special compression method called '<foreignphrase>header " -"removal</foreignphrase>' that is only available for MPEG4 part 2 video " -"tracks. The other methods are general compression methods that can be used " -"with any type of track." -msgstr "" -"'<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'圧縮法" -"は、'<foreignphrase>header removal</foreignphrase>'と呼ばれる特殊な圧縮法で、" -"MPEG4 part2 ビデオトラックにのみ適用できます。それ以外の圧縮法は一般的な圧縮" -"法で、どんな種類のトラックに適用できます。" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1108 -msgid "" -"The default is '<literal>zlib</literal>' compression. This compression " -"method is also the one that most if not all playback applications support. " -"Support for other compression methods other than '<literal>none</literal>' " -"is not assured." -msgstr "" -"デフォルトは'<literal>zlib</literal>'圧縮法です。この圧縮法はほとんど全ての再" -"生アプリケーションでサポートされています。'<literal>none</literal>'以外の他の" -"圧縮法については、サポートされているとは限りません。" +#: doc/man/mkvmerge.xml:1134 +msgid "'<literal>mono</literal>', '<literal>side_by_side_left_first</literal>', '<literal>top_bottom_right_first</literal>', '<literal>top_bottom_left_first</literal>', '<literal>checkboard_right_first</literal>', '<literal>checkboard_left_first</literal>', '<literal>row_interleaved_right_first</literal>', '<literal>row_interleaved_left_first</literal>', '<literal>column_interleaved_right_first</literal>', '<literal>column_interleaved_left_first</literal>', '<literal>anaglyph</literal>', '<literal>side_by_side_right_first</literal>'." +msgstr "'<literal>mono</literal>', '<literal>side_by_side_left_first</literal>', '<literal>top_bottom_right_first</literal>', '<literal>top_bottom_left_first</literal>', '<literal>checkboard_right_first</literal>', '<literal>checkboard_left_first</literal>', '<literal>row_interleaved_right_first</literal>', '<literal>row_interleaved_left_first</literal>', '<literal>column_interleaved_right_first</literal>', '<literal>column_interleaved_left_first</literal>', '<literal>anaglyph</literal>', '<literal>side_by_side_right_first</literal>'." #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1116 +#: doc/man/mkvmerge.xml:1145 msgid "Options that only apply to text subtitle tracks:" msgstr "テキスト字幕トラックにのみ適用されるオプション:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1121 +#: doc/man/mkvmerge.xml:1150 msgid "<option>--sub-charset</option> <parameter>TID:character-set</parameter>" -msgstr "" -"<option>--sub-charset</option> <parameter>TID:character-set</parameter>" +msgstr "<option>--sub-charset</option> <parameter>TID:character-set</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1124 -msgid "" -"Sets the character set for the conversion to UTF-8 for UTF-8 subtitles for " -"the given track ID. If not specified the charset will be derived from the " -"current locale settings. Note that a charset is not needed for subtitles " -"read from &matroska; files or from Kate streams, as these are always stored " -"in UTF-8. See the section about <link linkend=\"mkvmerge." -"text_files_and_charsets\"> text files and character sets</link> for an " -"explanation how &mkvmerge; converts between character sets." -msgstr "" -"指定したIDの示すトラックのUTF-8字幕をUTF-8へ変換する際の文字コードを指定しま" -"す。デフォルトでは、現在のロケールの設定が使用されます。&mkvmerge;の文字コー" -"ド変換については、<link linkend=\"mkvmerge.text_files_and_charsets\">テキスト" -"ファイルと文字コード</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:1153 +msgid "Sets the character set for the conversion to UTF-8 for UTF-8 subtitles for the given track ID. If not specified the charset will be derived from the current locale settings. Note that a charset is not needed for subtitles read from &matroska; files or from Kate streams, as these are always stored in UTF-8. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "指定したIDの示すトラックのUTF-8字幕をUTF-8へ変換する際の文字コードを指定します。デフォルトでは、現在のロケールの設定が使用されます。&mkvmerge;の文字コード変換については、<link linkend=\"mkvmerge.text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1138 doc/man/mkvpropedit.xml:147 +#: doc/man/mkvmerge.xml:1167 doc/man/mkvpropedit.xml:151 msgid "Other options:" msgstr "その他のオプション:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1143 -msgid "" -"<option>-i</option>, <option>--identify</option> <parameter>file-name</" -"parameter>" -msgstr "" -"<option>-i</option>, <option>--identify</option> <parameter>file-name</" -"parameter>" +#: doc/man/mkvmerge.xml:1172 +msgid "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" +msgstr "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1146 -msgid "" -"Will let &mkvmerge; probe the single file and report its type, the tracks " -"contained in the file and their track IDs. If this option is used then the " -"only other option allowed is the filename." -msgstr "" -"&mkvmerge;に、単一のファイルを探査してその種類と、ファイルに含まれるトラック" -"及びそのトラックIDを表示させます。このオプションを指定した場合、他に指定でき" -"るのはファイル名のみです。" +#: doc/man/mkvmerge.xml:1175 doc/man/mkvmerge.xml:1185 +msgid "Will let &mkvmerge; probe the single file and report its type, the tracks contained in the file and their track IDs. If this option is used then the only other option allowed is the filename." +msgstr "&mkvmerge;に、単一のファイルを探査してその種類と、ファイルに含まれるトラック及びそのトラックIDを表示させます。このオプションを指定した場合、他に指定できるのはファイル名のみです。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1153 +#: doc/man/mkvmerge.xml:1182 +msgid "<option>-I</option>, <option>--identify-verbose</option> <parameter>file-name</parameter>" +msgstr "<option>-I</option>, <option>--identify-verbose</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1190 +msgid "This option causes &mkvmerge; to output additional information about the container and each track within. The extra information is surronded by square brackets. It consists of space-saparated key/value pairs where keys and values are separated by a colon." +msgstr "このオプションを指定すると、&mkvmerge;はコンテナと中身の各トラックについての追加の情報を出力します。追加情報は、四角の括弧で囲まれます。それはスペースで区切られたキーと値のペアで構成され、キーと値はコロンで区切られます。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1195 +msgid "Each value is escaped according to the rules described in <link linkend=\"mkvmerge.escaping\">the section about escaping special characters in text</link>." +msgstr "各値は、<link linkend=\"mkvmerge.escaping\">テキスト中の特殊文字のエスケープについてのセクション</link>で説明されているルールに従ってエスケープされます。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1202 msgid "<option>-l</option>, <option>--list-types</option>" msgstr "<option>-l</option>, <option>--list-types</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1156 +#: doc/man/mkvmerge.xml:1205 msgid "Lists supported input file types." msgstr "サポートされている入力ファイルの種類を列挙します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1162 +#: doc/man/mkvmerge.xml:1211 msgid "<option>--list-languages</option>" msgstr "<option>--list-languages</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1165 -msgid "" -"Lists all languages and their ISO639-2 code which can be used with the <link " -"linkend=\"mkvmerge.description.language\"><option>--language</option></link> " -"option." -msgstr "" -"<link linkend=\"mkvmerge.description.language\"><option>--language</option></" -"link>オプションに指定できる、ISO639-2言語コードの一覧を出力します。" +#: doc/man/mkvmerge.xml:1214 +msgid "Lists all languages and their ISO639-2 code which can be used with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option." +msgstr "<link linkend=\"mkvmerge.description.language\"><option>--language</option></link>オプションに指定できる、ISO639-2言語コードの一覧を出力します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1172 +#: doc/man/mkvmerge.xml:1221 msgid "<option>--priority</option> <parameter>priority</parameter>" msgstr "<option>--priority</option> <parameter>priority</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1175 -msgid "" -"Sets the process priority that &mkvmerge; runs with. Valid values are " -"'<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</" -"literal>', '<literal>higher</literal>' and '<literal>highest</literal>'. If " -"nothing is given then '<literal>normal</literal>' is used. On Unix like " -"systems &mkvmerge; will use the <citerefentry><refentrytitle>nice</" -"refentrytitle><manvolnum>2</manvolnum></citerefentry> function. Therefore " -"only the super user can use '<literal>higher</literal>' and " -"'<literal>highest</literal>'. On Windows all values are useable for every " -"user." -msgstr "" -"&mkvmerge;を実行する際のプロセス優先度を指定します。指定できるの" -"は'<literal>lowest</literal>'、'<literal>lower</literal>'、'<literal>normal</" -"literal>'、'<literal>higher</literal>'、及び'<literal>highest</literal>'で" -"す。指定されない場合、'<literal>normal</literal>'が使用されます。UNIX系のシス" -"テムでは、&mkvmerge;は<citerefentry><refentrytitle>nice</" -"refentrytitle><manvolnum>2</manvolnum></citerefentry>関数を使用するの" -"で、'<literal>higher</literal>'及び'<literal>highest</literal>'はスーパーユー" -"ザのみが使用可能です。Windowsでは全てのユーザが全優先度を使用可能です。" +#: doc/man/mkvmerge.xml:1224 +msgid "Sets the process priority that &mkvmerge; runs with. Valid values are '<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</literal>', '<literal>higher</literal>' and '<literal>highest</literal>'. If nothing is given then '<literal>normal</literal>' is used. On Unix like systems &mkvmerge; will use the <citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry> function. Therefore only the super user can use '<literal>higher</literal>' and '<literal>highest</literal>'. On Windows all values are useable for every user." +msgstr "&mkvmerge;を実行する際のプロセス優先度を指定します。指定できるのは'<literal>lowest</literal>'、'<literal>lower</literal>'、'<literal>normal</literal>'、'<literal>higher</literal>'、及び'<literal>highest</literal>'です。指定されない場合、'<literal>normal</literal>'が使用されます。UNIX系のシステムでは、&mkvmerge;は<citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry>関数を使用するので、'<literal>higher</literal>'及び'<literal>highest</literal>'はスーパーユーザのみが使用可能です。Windowsでは全てのユーザが全優先度を使用可能です。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1188 -msgid "" -"Sets the character set to convert strings given on the command line from. It " -"defaults to the character set given by system's current locale. This " -"settings applies to arguments of the following options: <link linkend=" -"\"mkvmerge.description.title\"><option>--title</option></link>, <link " -"linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></" -"link> and <link linkend=\"mkvmerge.description.attachment_description" -"\"><option>--attachment-description</option></link>." -msgstr "" -"コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在の" -"ロケールの文字コードになります。この設定は<link linkend=\"mkvmerge." -"description.title\"><option>--title</option></link>、<link linkend=" -"\"mkvmerge.description.track_name\"><option>--track-name</option></link>、及" -"び<link linkend=\"mkvmerge.description.attachment_description\"><option>--" -"attachment-description</option></link>の三つのオプションの引数に影響します。" +#: doc/man/mkvmerge.xml:1237 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale. This settings applies to arguments of the following options: <link linkend=\"mkvmerge.description.title\"><option>--title</option></link>, <link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link> and <link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>." +msgstr "コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。この設定は<link linkend=\"mkvmerge.description.title\"><option>--title</option></link>、<link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link>、及び<link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>の三つのオプションの引数に影響します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1211 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定し" -"たファイルに書き出します。出力リダイレクトによっても同じことが簡単にできます" -"が、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に" -"出力を処理してしまう場合などです。<link linkend=\"mkvmerge.description." -"output_charset\"><option>--output-charset</option></link>によって指定された文" -"字コードは尊重されます。" +#: doc/man/mkvmerge.xml:1260 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定したファイルに書き出します。出力リダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に出力を処理してしまう場合などです。<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link>によって指定された文字コードは尊重されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1222 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvmerge; to output a list of available translations." -msgstr "" -"指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語なら" -"ば'<literal>ja_JP</literal>')として使用します。しかし、環境変数" -"<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</" -"varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に" -"<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" +#: doc/man/mkvmerge.xml:1271 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvmerge; to output a list of available translations." +msgstr "指定した<parameter>code</parameter>を強制的に言語コード(例: 日本語ならば'<literal>ja_JP</literal>')として使用します。しかし、環境変数<varname>LANG</varname>や<varname>LC_MESSAGES</varname>、<varname>LC_ALL</varname>を使用したほうが好ましいでしょう。<parameter>code</parameter>に<literal>list</literal>と指定すると、指定できる言語コードの一覧を出力します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1240 -msgid "" -"The command line '<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" " -"sound.ogg</command>' could be converted into the following option file:" -msgstr "" -"'<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" sound.ogg</" -"command>'というコマンドラインと同じことは、次のようなオプションファイルによっ" -"て指定できます。" +#: doc/man/mkvmerge.xml:1289 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvmerge.escaping\">the section about escaping text</link>." +msgstr "エスケープすることのできる文字もあります。例えば、コメントではない行を'#'で始める必要のある場合です。そのルールは、<link linkend=\"mkvmerge.escaping\">エスケープ文字についてのセクション</link>で説明されています。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1294 +msgid "The command line '<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" sound.ogg</command>' could be converted into the following option file:" +msgstr "'<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" sound.ogg</command>'というコマンドラインと同じことは、次のようなオプションファイルによって指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvmerge.xml:1245 +#: doc/man/mkvmerge.xml:1299 #, no-wrap msgid "" "# Write to the file \"my file.mkv\".\n" @@ -3535,138 +2175,127 @@ " " #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1257 +#: doc/man/mkvmerge.xml:1311 msgid "<option>--capabilities</option>" msgstr "<option>--capabilities</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1260 -msgid "" -"Lists information about optional features that have been compiled in and " -"exit. The first line output will be the version information. All following " -"lines contain exactly one word whose presence indicates that the feature has " -"been compiled in. These features are:" -msgstr "" -"コンパイル時に組込まれたオプション機能を一覧表示して終了します。出力の一行目" -"はバージョン情報になります。以降の全ての行は、その機能がコンパイルされている" -"ことを示す一単語のみを含みます。オプション機能の一覧を下に示します。" +#: doc/man/mkvmerge.xml:1314 +msgid "Lists information about optional features that have been compiled in and exit. The first line output will be the version information. All following lines contain exactly one word whose presence indicates that the feature has been compiled in. These features are:" +msgstr "コンパイル時に組込まれたオプション機能を一覧表示して終了します。出力の一行目はバージョン情報になります。以降の全ての行は、その機能がコンパイルされていることを示す一単語のみを含みます。オプション機能の一覧を下に示します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1268 -msgid "" -"'<literal>BZ2</literal>' -- the <productname>bzlib</productname> compression " -"library. Affects the available compression methods for the <link linkend=" -"\"mkvmerge.description.compression\"><option>--compression</option></link> " -"option." -msgstr "" -"\"'<literal>BZ2</literal>' -- <productname>bzlib</productname>圧縮ライブラ" -"リ。<link linkend=\"mkvmerge.description.compression\"><option>--" -"compression</option></link>オプションに指定できる圧縮メソッドに影響します。" +#: doc/man/mkvmerge.xml:1322 +msgid "'<literal>BZ2</literal>' -- the <productname>bzlib</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "\"'<literal>BZ2</literal>' -- <productname>bzlib</productname>圧縮ライブラリ。<link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link>オプションに指定できる圧縮メソッドに影響します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1275 -msgid "" -"'<literal>LZO</literal>' -- the <productname>lzo</productname> compression " -"library. Affects the available compression methods for the <link linkend=" -"\"mkvmerge.description.compression\"><option>--compression</option></link> " -"option." -msgstr "" -"'<literal>LZO</literal>' -- <productname>lzo</productname>圧縮ライブラリ。" -"<link linkend=\"mkvmerge.description.compression\"><option>--compression</" -"option></link>オプションに指定できる圧縮メソッドに影響します。" +#: doc/man/mkvmerge.xml:1329 +msgid "'<literal>LZO</literal>' -- the <productname>lzo</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "'<literal>LZO</literal>' -- <productname>lzo</productname>圧縮ライブラリ。<link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link>オプションに指定できる圧縮メソッドに影響します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1282 -msgid "" -"'<literal>FLAC</literal>' -- reading raw <abbrev>FLAC</abbrev> files and " -"handling <abbrev>FLAC</abbrev> tracks in other containers, e.g. " -"<productname>Ogg</productname> or &matroska;." -msgstr "" -"'<literal>FLAC</literal>' -- 生<abbrev>FLAC</abbrev>ファイルの読み込み及び、" -"他のコンテナ(例: <productname>Ogg</productname>、&matroska;など)に格納された" -"<abbrev>FLAC</abbrev>トラックの処理。" +#: doc/man/mkvmerge.xml:1336 +msgid "'<literal>FLAC</literal>' -- reading raw <abbrev>FLAC</abbrev> files and handling <abbrev>FLAC</abbrev> tracks in other containers, e.g. <productname>Ogg</productname> or &matroska;." +msgstr "'<literal>FLAC</literal>' -- 生<abbrev>FLAC</abbrev>ファイルの読み込み及び、他のコンテナ(例: <productname>Ogg</productname>、&matroska;など)に格納された<abbrev>FLAC</abbrev>トラックの処理。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1311 +#: doc/man/mkvmerge.xml:1386 msgid "Usage" msgstr "使用法" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1313 -msgid "" -"For each file the user can select which tracks &mkvmerge; should take. They " -"are all put into the file specified with <option>-o</option>. A list of " -"known (and supported) source formats can be obtained with the <option>-l</" -"option> option." -msgstr "" -"各ファイルについて、ユーザは&mkvmerge;が取り出すべきトラックを選択できます。" -"取り出されたトラックは、すべて<option>-o</option>で指定されたファイルに書き出" -"されます。既知の(サポート済の)入力ファイルフォーマットは<option>-l</option>オ" -"プションで取得できます。" +#: doc/man/mkvmerge.xml:1388 +msgid "For each file the user can select which tracks &mkvmerge; should take. They are all put into the file specified with <option>-o</option>. A list of known (and supported) source formats can be obtained with the <option>-l</option> option." +msgstr "各ファイルについて、ユーザは&mkvmerge;が取り出すべきトラックを選択できます。取り出されたトラックは、すべて<option>-o</option>で指定されたファイルに書き出されます。既知の(サポート済の)入力ファイルフォーマットは<option>-l</option>オプションで取得できます。" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1401 +msgid "Option order" +msgstr "オプションの順番" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1404 +msgid "The order in which options are entered is important for some options. Options fall into two categories:" +msgstr "いくつかのオプションでは、入力する順番が重要になります。オプションは2つに分類されます:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1410 +msgid "Options that affect the whole program and are not tied to any input file. These include but are not limited to <option>--command-line-charset</option>, <option>--output</option> or <option>--title</option>. These can appear anywhere on the command line." +msgstr "プログラム全体に影響し、どの入力ファイルにも関連付けられていないオプション。例えば、<option>--command-line-charset</option>、<option>--output</option>、<option>--title</option>などです。これらのオプションは、コマンドラインのどこに書いても構いません。" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1418 +msgid "Options that affect a single input file or a single track in an input file. These options all apply to the following input file on the command line. All options applying to the same input (or to tracks from the same input file) file can be written in any order as long as they all appear before that input file's name. Examples for options applying to an input file are <option>--no-chapters</option> or <option>--chapter-charset</option>. Examples for options applying to a single track are <option>--default-duration</option> or <option>--language</option>." +msgstr "1つの入力ファイルのみ、もしくは入力ファイル中の1つのトラックのみに影響するオプション。これらのオプションは全て、コマンドラインでその後ろに続く入力ファイルに適用されます。同じ入力ファイル(または同じ入力ファイル中のトラック)に適用される全てのオプションは、その入力ファイルのファイル名の前に書きさえすれば、どんな順番でも構いません。1つの入力ファイルに適用されるオプションの例を挙げると、<option>--no-chapters</option>や<option>--chapter-charset</option>などがあります。1つのトラックのみに適用されるオプションには、例えば<option>--default-duration</option>や<option>--language</option>があります。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1428 +msgid "The options are processed from left to right. If an option appears multiple times within the same scope then the last occurence will be used. Therefore the title will be set to "Something else" in the following example:" +msgstr "オプションは左から右へと処理されます。もし同じスコープ内に1つのオプションが2回以上出てきた場合には、最後のものが使われます。よって、次の例ではタイトルは"Something else"に設定されます。" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1432 +#, no-wrap +msgid "$ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else'" +msgstr "$ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else'" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1435 +msgid "The following example shows that using the <option>--language</option> option twice is OK because they're used in different scopes. Even though they apply to the same track ID they apply to different input files and therefore have different scopes:" +msgstr "次の例は、違うスコープ内で使われているので<option>--language</option>オプションを2回使ってもよいということを示しています。それらは同じトラックIDに適用されますが、違う入力ファイルに適用されるので違うスコープを持っているのです。" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1439 +#, no-wrap +msgid "$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg" +msgstr "$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1319 doc/man/mkvpropedit.xml:332 +#: doc/man/mkvmerge.xml:1443 doc/man/mkvpropedit.xml:366 msgid "Examples" msgstr "例" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1321 -msgid "" -"Let's assume you have a file called MyMovie.avi and the audio track in a " -"separate file, e.g. '<literal>MyMovie.wav</literal>'. First you want to " -"encode the audio to &oggvorbis;:" -msgstr "" -"あなたは、 MyMovie.avi というファイルを持っていて、またオーディオトラックが別" -"の、例えば '<literal>MyMovie.wav</literal>'というファイルに入っているとしま" -"す。あなたは、まず音声を&oggvorbis;でエンコードしたいと思います。" +#: doc/man/mkvmerge.xml:1445 +msgid "Let's assume you have a file called MyMovie.avi and the audio track in a separate file, e.g. '<literal>MyMovie.wav</literal>'. First you want to encode the audio to &oggvorbis;:" +msgstr "あなたは、 MyMovie.avi というファイルを持っていて、またオーディオトラックが別の、例えば '<literal>MyMovie.wav</literal>'というファイルに入っているとします。あなたは、まず音声を&oggvorbis;でエンコードしたいと思います。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1325 +#: doc/man/mkvmerge.xml:1449 #, no-wrap msgid "$ oggenc -q4 -oMyMovie.ogg MyMovie.wav" msgstr "$ oggenc -q4 -oMyMovie.ogg MyMovie.wav" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1328 +#: doc/man/mkvmerge.xml:1452 msgid "After a couple of minutes you can join video and audio:" msgstr "数分後、ビデオとオーディオを結合できます。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1331 +#: doc/man/mkvmerge.xml:1455 #, no-wrap msgid "$ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg" msgstr "$ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1334 -msgid "" -"If your <abbrev>AVI</abbrev> already contains an audio track then it will be " -"copied as well (if &mkvmerge; supports the audio format). To avoid that " -"simply do" -msgstr "" -"<abbrev>AVI</abbrev>ファイルが既にオーディオトラックを持っていた場合(そしてそ" -"のフォーマットを&mkvmerge;がサポートしていた場合)、そのトラックもコピーされま" -"す。これを避けるには、下のようにしてください。" +#: doc/man/mkvmerge.xml:1458 +msgid "If your <abbrev>AVI</abbrev> already contains an audio track then it will be copied as well (if &mkvmerge; supports the audio format). To avoid that simply do" +msgstr "<abbrev>AVI</abbrev>ファイルが既にオーディオトラックを持っていた場合(そしてそのフォーマットを&mkvmerge;がサポートしていた場合)、そのトラックもコピーされます。これを避けるには、下のようにしてください。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1338 +#: doc/man/mkvmerge.xml:1462 #, no-wrap msgid "$ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg" msgstr "$ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1341 -msgid "" -"After some minutes of consideration you rip another audio track, e.g. the " -"director's comments or another language to '<literal>MyMovie-add-audio.wav</" -"literal>'. Encode it again and join it up with the other file:" -msgstr "" -"ちょっと考えて、あなたはもうひとつのオーディオトラック(例えばオーディオコメン" -"タリや吹替えなど)を'<literal>MyMovie-add-audio.wav</literal>にリッピングしま" -"した。再びエンコードして、新しいファイルにまとめます。" +#: doc/man/mkvmerge.xml:1465 +msgid "After some minutes of consideration you rip another audio track, e.g. the director's comments or another language to '<literal>MyMovie-add-audio.wav</literal>'. Encode it again and join it up with the other file:" +msgstr "ちょっと考えて、あなたはもうひとつのオーディオトラック(例えばオーディオコメンタリや吹替えなど)を'<literal>MyMovie-add-audio.wav</literal>にリッピングしました。再びエンコードして、新しいファイルにまとめます。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1346 +#: doc/man/mkvmerge.xml:1470 #, no-wrap msgid "" "$ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav\n" @@ -3678,268 +2307,195 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1351 +#: doc/man/mkvmerge.xml:1475 msgid "The same result can be achieved with" msgstr "同じことは、次のようにしても可能です。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1354 +#: doc/man/mkvmerge.xml:1478 #, no-wrap msgid "$ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg" msgstr "$ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1357 -msgid "" -"Now fire up <productname>mplayer</productname> and enjoy. If you have " -"multiple audio tracks (or even video tracks) then you can tell " -"<productname>mplayer</productname> which track to play with the '<option>-" -"vid</option>' and '<option>-aid</option>' options. These are 0-based and do " -"not distinguish between video and audio." -msgstr "" -"あとは<productname>mplayer</productname>を立ち上げて動画を楽しむだけです。も" -"し、複数のオーディオトラック(もしかするとビデオトラックも)がある場合は、再生" -"するトラックを'<option>-vid</option>'と'<option>-aid</option>'オプションで" -"<productname>mplayer</productname>に指定できます。ゼロベースで、ビデオとオー" -"ディオの区別をしないIDを指定します。" +#: doc/man/mkvmerge.xml:1481 +msgid "Now fire up <productname>mplayer</productname> and enjoy. If you have multiple audio tracks (or even video tracks) then you can tell <productname>mplayer</productname> which track to play with the '<option>-vid</option>' and '<option>-aid</option>' options. These are 0-based and do not distinguish between video and audio." +msgstr "あとは<productname>mplayer</productname>を立ち上げて動画を楽しむだけです。もし、複数のオーディオトラック(もしかするとビデオトラックも)がある場合は、再生するトラックを'<option>-vid</option>'と'<option>-aid</option>'オプションで<productname>mplayer</productname>に指定できます。ゼロベースで、ビデオとオーディオの区別をしないIDを指定します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1363 -msgid "" -"If you need an audio track synchronized you can do that easily. First find " -"out which track ID the Vorbis track has with" -msgstr "" -"もし、オーディオトラックの同期をとる必要がある場合も、簡単にとることができま" -"す。まず、次のようにしてVorbisトラックのトラックIDを取得します。" +#: doc/man/mkvmerge.xml:1487 +msgid "If you need an audio track synchronized you can do that easily. First find out which track ID the Vorbis track has with" +msgstr "もし、オーディオトラックの同期をとる必要がある場合も、簡単にとることができます。まず、次のようにしてVorbisトラックのトラックIDを取得します。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1366 +#: doc/man/mkvmerge.xml:1490 #, no-wrap msgid "$ mkvmerge --identify outofsync.ogg" msgstr "$ mkvmerge --identify outofsync.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1369 +#: doc/man/mkvmerge.xml:1493 msgid "Now you can use that ID in the following command line:" msgstr "次に、このIDを使って、次のようなコマンドラインを実行します。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1372 +#: doc/man/mkvmerge.xml:1496 #, no-wrap msgid "$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg" msgstr "$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1375 -msgid "" -"This would add 200ms of silence at the beginning of the audio track with the " -"ID <constant>12345</constant> taken from '<literal>outofsync.ogg</literal>'." -msgstr "" -"上のようにすると、'<literal>outofsync.ogg</literal>'に入っている、IDが " -"<constant>12345</constant> のオーディオトラックの最初に200msの無音を挿入しま" -"す。" +#: doc/man/mkvmerge.xml:1499 +msgid "This would add 200ms of silence at the beginning of the audio track with the ID <constant>12345</constant> taken from '<literal>outofsync.ogg</literal>'." +msgstr "上のようにすると、'<literal>outofsync.ogg</literal>'に入っている、IDが <constant>12345</constant> のオーディオトラックの最初に200msの無音を挿入します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1380 -msgid "" -"Some movies start synced correctly but slowly drift out of sync. For these " -"kind of movies you can specify a delay factor that is applied to all " -"timestamps -- no data is added or removed. So if you make that factor too " -"big or too small you'll get bad results. An example is that an episode I " -"transcoded was <constant>0.2</constant> seconds out of sync at the end of " -"the movie which was <constant>77340</constant> frames long. At " -"<constant>29.97fps</constant> <constant>0.2</constant> seconds correspond to " -"approx. <constant>6</constant> frames. So I did" -msgstr "" -"最初は同期がとれているのにだんだんとずれていく動画もあります。このような動画" -"には、全てのタイムコードに適用される遅れ係数を指定することができます。データ" -"は追加も削除もされないので、あまり大きな、またはあまりに小さな係数を指定する" -"とまずい結果になるでしょう。例として、私が変換したある動画は、全長が" -"<constant>77340</constant>フレームで、最終的に<constant>0.2</constant>秒ずれ" -"ていました。<constant>29.97fps</constant>では、<constant>0.2</constant>は約" -"<constant>6</constant>フレームに相当します。よって、私は次のようなコマンドを" -"実行しました。" +#: doc/man/mkvmerge.xml:1504 +msgid "Some movies start synced correctly but slowly drift out of sync. For these kind of movies you can specify a delay factor that is applied to all timestamps -- no data is added or removed. So if you make that factor too big or too small you'll get bad results. An example is that an episode I transcoded was <constant>0.2</constant> seconds out of sync at the end of the movie which was <constant>77340</constant> frames long. At <constant>29.97fps</constant> <constant>0.2</constant> seconds correspond to approx. <constant>6</constant> frames. So I did" +msgstr "最初は同期がとれているのにだんだんとずれていく動画もあります。このような動画には、全てのタイムコードに適用される遅れ係数を指定することができます。データは追加も削除もされないので、あまり大きな、またはあまりに小さな係数を指定するとまずい結果になるでしょう。例として、私が変換したある動画は、全長が<constant>77340</constant>フレームで、最終的に<constant>0.2</constant>秒ずれていました。<constant>29.97fps</constant>では、<constant>0.2</constant>は約<constant>6</constant>フレームに相当します。よって、私は次のようなコマンドを実行しました。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1387 +#: doc/man/mkvmerge.xml:1511 #, no-wrap msgid "$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv" msgstr "$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1390 +#: doc/man/mkvmerge.xml:1514 msgid "The result was fine." msgstr "結果は良好でした。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1394 +#: doc/man/mkvmerge.xml:1518 msgid "The sync options can also be used for subtitles in the same manner." msgstr "同期オプションは字幕にも同様に使用できます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1398 -msgid "" -"For text subtitles you can either use some Windows software (like " -"<productname>SubRipper</productname>) or the <productname>subrip</" -"productname> package found in <citerefentry><refentrytitle>transcode</" -"refentrytitle><manvolnum>1</manvolnum></citerefentry>'s sources in the " -"'<literal>contrib/subrip</literal>' directory. The general process is:" -msgstr "" -"テキスト字幕を生成するには、<productname>SubRipper</productname>のような" -"Windowsソフトウェアを使用するか、<citerefentry><refentrytitle>transcode</" -"refentrytitle><manvolnum>1</manvolnum></citerefentry>のソースコードの、" -"<literal>contrib/subrip</literal>'ディレクトリの中にある<productname>subrip</" -"productname>パッケージが使用できます。一般的なプロセスは以下の通りです。" +#: doc/man/mkvmerge.xml:1522 +msgid "For text subtitles you can either use some Windows software (like <productname>SubRipper</productname>) or the <productname>subrip</productname> package found in <citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s sources in the '<literal>contrib/subrip</literal>' directory. The general process is:" +msgstr "テキスト字幕を生成するには、<productname>SubRipper</productname>のようなWindowsソフトウェアを使用するか、<citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry>のソースコードの、<literal>contrib/subrip</literal>'ディレクトリの中にある<productname>subrip</productname>パッケージが使用できます。一般的なプロセスは以下の通りです。" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1406 +#: doc/man/mkvmerge.xml:1530 msgid "extract a raw subtitle stream from the source:" msgstr "ソースから生字幕を抽出:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1407 +#: doc/man/mkvmerge.xml:1531 #, no-wrap msgid "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" msgstr "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1411 +#: doc/man/mkvmerge.xml:1535 msgid "convert the resulting PGM images to text with gocr:" msgstr "出力されたPGMイメージをgocrでテキスト化:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1412 +#: doc/man/mkvmerge.xml:1536 #, no-wrap msgid "$ pgm2txt mymovie" msgstr "$ pgm2txt mymovie" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1416 +#: doc/man/mkvmerge.xml:1540 msgid "spell-check the resulting text files:" msgstr "出力されたテキストファイルを校正:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1417 +#: doc/man/mkvmerge.xml:1541 #, no-wrap msgid "$ ispell -d american *txt" msgstr "$ ispell -d american *txt" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1421 +#: doc/man/mkvmerge.xml:1545 msgid "convert the text files to a SRT file:" msgstr "テキストファイルをSRTファイルに変換:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1422 +#: doc/man/mkvmerge.xml:1546 #, no-wrap msgid "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" msgstr "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1427 +#: doc/man/mkvmerge.xml:1551 msgid "The resulting file can be used as another input file for &mkvmerge;:" msgstr "出力されたファイルを&mkvmerge;の入力ファイルとして使用する:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1430 +#: doc/man/mkvmerge.xml:1554 #, no-wrap msgid "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" msgstr "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" -#. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1433 -msgid "" -"If you want to specify the language for a given track then this is easily " -"done. First find out the ISO639-2 code for your language. &mkvmerge; can " -"list all of those codes for you:" -msgstr "" -"もし、あるトラックに言語コードを指定したいならば、簡単に指定できます。まず、" -"指定する言語のISO639-2コードを調べます。次のようにすれば&mkvmerge;に全ての言" -"語コードを一覧表示させることができます。" +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1557 +msgid "If you want to specify the language for a given track then this is easily done. First find out the ISO639-2 code for your language. &mkvmerge; can list all of those codes for you:" +msgstr "もし、あるトラックに言語コードを指定したいならば、簡単に指定できます。まず、指定する言語のISO639-2コードを調べます。次のようにすれば&mkvmerge;に全ての言語コードを一覧表示させることができます。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1437 +#: doc/man/mkvmerge.xml:1561 #, no-wrap msgid "$ mkvmerge --list-languages" msgstr "$ mkvmerge --list-languages" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1440 -msgid "" -"Search the list for the languages you need. Let's assume you have put two " -"audio tracks into a &matroska; file and want to set their language codes and " -"that their track IDs are 2 and 3. This can be done with" -msgstr "" -"必要な言語をリストの中から探してください。&matroska;ファイルの中に、二つの" -"オーディオトラックがあり、トラックIDは2と3だとします。この二つに言語コードを" -"指定するには、次のようにします。" +#: doc/man/mkvmerge.xml:1564 +msgid "Search the list for the languages you need. Let's assume you have put two audio tracks into a &matroska; file and want to set their language codes and that their track IDs are 2 and 3. This can be done with" +msgstr "必要な言語をリストの中から探してください。&matroska;ファイルの中に、二つのオーディオトラックがあり、トラックIDは2と3だとします。この二つに言語コードを指定するには、次のようにします。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1444 +#: doc/man/mkvmerge.xml:1568 #, no-wrap msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" msgstr "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1447 -msgid "" -"As you can see you can use the <link linkend=\"mkvmerge.description.language" -"\"><option>--language</option></link> switch multiple times." -msgstr "" -"このように、<link linkend=\"mkvmerge.description.language\"><option>--" -"language</option></link>スイッチを複数回使うことができます。" +#: doc/man/mkvmerge.xml:1571 +msgid "As you can see you can use the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> switch multiple times." +msgstr "このように、<link linkend=\"mkvmerge.description.language\"><option>--language</option></link>スイッチを複数回使うことができます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1451 -msgid "" -"Maybe you'd also like to have the player use the Dutch language as the " -"default language. You also have extra subtitles, e.g. in English and French, " -"and want to have the player display the French ones by default. This can be " -"done with" -msgstr "" -"プレイヤーにデフォルトでオランダ語を再生させたいときもあるでしょう。さらに、" -"例えば英語とフランス語の字幕があって、フランス語をデフォルトで再生させたいと" -"仮定します。これは、次のようにすれば可能です。" +#: doc/man/mkvmerge.xml:1575 +msgid "Maybe you'd also like to have the player use the Dutch language as the default language. You also have extra subtitles, e.g. in English and French, and want to have the player display the French ones by default. This can be done with" +msgstr "プレイヤーにデフォルトでオランダ語を再生させたいときもあるでしょう。さらに、例えば英語とフランス語の字幕があって、フランス語をデフォルトで再生させたいと仮定します。これは、次のようにすれば可能です。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1455 +#: doc/man/mkvmerge.xml:1579 #, no-wrap msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt" msgstr "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1458 -msgid "" -"If you do not see the language or default track flags that you've specified " -"in &mkvinfo;'s output then please read the section about <link linkend=" -"\"mkvmerge.default_values\">default values</link>." -msgstr "" -"もし、指定したはずの言語やデフォルトフラグが&mkvinfo;の出力に見当たらない場合" -"は、<link linkend=\"mkvmerge.default_values\">デフォルト値</link>のセクション" -"を参照してください。" +#: doc/man/mkvmerge.xml:1582 +msgid "If you do not see the language or default track flags that you've specified in &mkvinfo;'s output then please read the section about <link linkend=\"mkvmerge.default_values\">default values</link>." +msgstr "もし、指定したはずの言語やデフォルトフラグが&mkvinfo;の出力に見当たらない場合は、<link linkend=\"mkvmerge.default_values\">デフォルト値</link>のセクションを参照してください。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1587 +msgid "Turn off the compression for an input file." +msgstr "入力ファイルの圧縮をオフにします。" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1590 +#, no-wrap +msgid "$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt" +msgstr "$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1464 +#: doc/man/mkvmerge.xml:1595 msgid "Track IDs" msgstr "トラックID" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1467 -msgid "" -"Some of the options for &mkvmerge; need a track ID to specify which track " -"they should be applied to. Those track IDs are printed by the readers when " -"demuxing the current input file, or if &mkvmerge; is called with the <link " -"linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> " -"option. An example for such output:" -msgstr "" -"&mkvmerge;のオプションの中には、どのトラックに適用するかを特定するために、ト" -"ラックIDを指定する必要なものがあります。このトラックIDは、入力ファイルがdemux" -"される際に表示されるほか、&mkvmerge;に<link linkend=\"mkvmerge.description." -"identify\"><option>--identify</option></link>オプションを指定して表示させるこ" -"ともできます。この場合の出力は次のようになります。" +#: doc/man/mkvmerge.xml:1598 +msgid "Some of the options for &mkvmerge; need a track ID to specify which track they should be applied to. Those track IDs are printed by the readers when demuxing the current input file, or if &mkvmerge; is called with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> option. An example for such output:" +msgstr "&mkvmerge;のオプションの中には、どのトラックに適用するかを特定するために、トラックIDを指定する必要なものがあります。このトラックIDは、入力ファイルがdemuxされる際に表示されるほか、&mkvmerge;に<link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link>オプションを指定して表示させることもできます。この場合の出力は次のようになります。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1473 +#: doc/man/mkvmerge.xml:1604 #, no-wrap msgid "" "$ mkvmerge -i v.mkv\n" @@ -3955,437 +2511,202 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1480 +#: doc/man/mkvmerge.xml:1611 +msgid "Do not confuse the track IDs that are assigned to the tracks that are placed in the output MKV file with the track IDs of the input files. Only the input file track IDs are used for options needing these values." +msgstr "出力されるMKVファイルの中に配置されるトラックに割り当てられるトラックIDと、入力ファイルのトラックIDを混同しないでください。これらの値が必要なオプションに使われるのは、入力ファイルのトラックIDだけです。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1616 +msgid "Also note that each input file has its own set of track IDs. Therefore the track IDs for file '<filename>file1.ext</filename>' as reported by '<literal>mkvmerge --identify</literal>' do not change no matter how many other input files are there or in which position '<filename>file1.ext</filename>' is used." +msgstr "また、各入力ファイルは、それ固有のトラックIDの組を持っていることにも注意してください。従って、'<literal>mkvmerge --identify</literal>'で報告される'<filename>file1.ext</filename>'のトラックIDは、他にいくつ入力ファイルがあっても、また、'<filename>file1.ext</filename>'がどの位置で使われようとも、変わることはありません。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1622 msgid "Track IDs are assigned like this:" msgstr "トラックIDは次のように割り当てられます:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1486 -msgid "" -"<abbrev>AVI</abbrev> files: The video track has the ID 0. The audio tracks " -"get IDs in ascending order starting at 1." -msgstr "" -"<abbrev>AVI</abbrev> ファイル: ビデオトラックのIDは0になります。オーディオト" -"ラックのIDは1から昇順に割り当てられます。" +#: doc/man/mkvmerge.xml:1628 +msgid "<abbrev>AVI</abbrev> files: The video track has the ID 0. The audio tracks get IDs in ascending order starting at 1." +msgstr "<abbrev>AVI</abbrev>ファイル: ビデオトラックのIDは0になります。オーディオトラックのIDは1から昇順に割り当てられます。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1492 -msgid "" -"<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, " -"<abbrev>SRT</abbrev> and <abbrev>WAV</abbrev> files: The one 'track' in that " -"file gets the ID 0." -msgstr "" -"<abbrev>AAC</abbrev>、<abbrev>AC3</abbrev>、<abbrev>MP3</abbrev>、" -"<abbrev>SRT</abbrev>、及び<abbrev>WAV</abbrev>ファイル: ファイル中の唯一のト" -"ラックがID 0 を割り当てられます。" +#: doc/man/mkvmerge.xml:1634 +msgid "<abbrev>MP4</abbrev> files: As output from x264, the video track has the ID 1." +msgstr "<abbrev>MP4</abbrev>ファイル: x264からの出力なので、ビデオトラックのIDは1です。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1499 -msgid "" -"Ogg/<abbrev>OGM</abbrev> files: The track IDs are assigned in order the " -"tracks are found in the file starting at 0." -msgstr "" -"Ogg/<abbrev>OGM</abbrev> ファイル: 最初のトラックを0として、見付かった順に割" -"り当てられます。" +#: doc/man/mkvmerge.xml:1640 +msgid "<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, <abbrev>SRT</abbrev> and <abbrev>WAV</abbrev> files: The one 'track' in that file gets the ID 0." +msgstr "<abbrev>AAC</abbrev>、<abbrev>AC3</abbrev>、<abbrev>MP3</abbrev>、<abbrev>SRT</abbrev>、及び<abbrev>WAV</abbrev>ファイル: ファイル中の唯一のトラックがID 0 を割り当てられます。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1505 -msgid "" -"&matroska; files: The track's ID is the track number as reported by " -"&mkvinfo;. It is <emphasis>not</emphasis> the track UID." -msgstr "" -"&matroska; ファイル: &mkvinfo;が表示するトラック番号がトラックIDとして使用さ" -"れます。これはトラックUIDでは<emphasis>ありません</emphasis>。" +#: doc/man/mkvmerge.xml:1647 +msgid "Ogg/<abbrev>OGM</abbrev> files: The track IDs are assigned in order the tracks are found in the file starting at 0." +msgstr "Ogg/<abbrev>OGM</abbrev> ファイル: 最初のトラックを0として、見付かった順に割り当てられます。" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1653 +msgid "&matroska; files: The track's ID is the track number as reported by &mkvinfo;. It is <emphasis>not</emphasis> the track UID." +msgstr "&matroska; ファイル: &mkvinfo;が表示するトラック番号がトラックIDとして使用されます。これはトラックUIDでは<emphasis>ありません</emphasis>。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1511 -msgid "" -"The special track ID '<constant>-1</constant>' is a wild card and applies " -"the given switch to all tracks that are read from an input file." -msgstr "" -"'<constant>-1</constant>'は特殊で、そのスイッチが入力ファイルから読み込まれる" -"全てのトラックに適用されることを示します。" +#: doc/man/mkvmerge.xml:1659 +msgid "The special track ID '<constant>-1</constant>' is a wild card and applies the given switch to all tracks that are read from an input file." +msgstr "'<constant>-1</constant>'は特殊で、そのスイッチが入力ファイルから読み込まれる全てのトラックに適用されることを示します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1516 -msgid "" -"The options that use the track IDs are the ones whose description contains " -"'<literal>TID</literal>'. The following options use track IDs as well: " -"<option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</" -"option> and <option>--btracks</option>." -msgstr "" -"トラックIDを使用するオプションの説明には、'<literal>TID</literal>'が含まれて" -"います。また、<option>--atracks</option>、<option>--vtracks</option>、" -"<option>--stracks</option>及び<option>--btracks</option>オプションもトラック" -"IDを使用します。" +#: doc/man/mkvmerge.xml:1664 +msgid "The options that use the track IDs are the ones whose description contains '<literal>TID</literal>'. The following options use track IDs as well: <option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</option> and <option>--btracks</option>." +msgstr "トラックIDを使用するオプションの説明には、'<literal>TID</literal>'が含まれています。また、<option>--atracks</option>、<option>--vtracks</option>、<option>--stracks</option>及び<option>--btracks</option>オプションもトラックIDを使用します。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1523 +#: doc/man/mkvmerge.xml:1671 msgid "Text files and character set conversions" msgstr "テキストファイルと文字コード変換" #. type: Content of: <refentry><refsect1><note><para> -#: doc/man/mkvmerge.xml:1526 -msgid "" -"This section applies to all programs in MKVToolNix even if it only mentions " -"&mkvmerge;." -msgstr "" -"このセクションは、暗黙のうちに&mkvmerge;だけでなくMKVToolNixの全てのプログラ" -"ムにあてはまります。" +#: doc/man/mkvmerge.xml:1674 +msgid "This section applies to all programs in MKVToolNix even if it only mentions &mkvmerge;." +msgstr "このセクションは、暗黙のうちに&mkvmerge;だけでなくMKVToolNixの全てのプログラムにあてはまります。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1531 -msgid "" -"All text in a &matroska; file is encoded in UTF-8. This means that " -"&mkvmerge; has to convert every text file it reads as well as every text " -"given on the command line from one character set into UTF-8. In return this " -"also means that &mkvmerge;'s output has to be converted back to that " -"character set from UTF-8, e.g. if a non-English translation is used with " -"<link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</" -"option></link> or for text originating from a &matroska; file." -msgstr "" -"&matroska;ファイルに格納されているテキストの文字コードは全てUTF-8です。よっ" -"て、&mkvmerge;がテキストファイルを読み込む際には全てをUTF-8に文字コード変換す" -"る必要があります。代わりに、&mkvmerge;が例えば<link linkend=\"mkvmerge." -"description.ui_language\"><option>--ui-language</option></link>によって非英語" -"翻訳が使用される際や、&matroska;ファイルに格納されていたテキストを出力する際" -"には、UTF-8から指定された文字コードに変換すればよいということになります。" +#: doc/man/mkvmerge.xml:1679 +msgid "All text in a &matroska; file is encoded in UTF-8. This means that &mkvmerge; has to convert every text file it reads as well as every text given on the command line from one character set into UTF-8. In return this also means that &mkvmerge;'s output has to be converted back to that character set from UTF-8, e.g. if a non-English translation is used with <link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></link> or for text originating from a &matroska; file." +msgstr "&matroska;ファイルに格納されているテキストの文字コードは全てUTF-8です。よって、&mkvmerge;がテキストファイルを読み込む際には全てをUTF-8に文字コード変換する必要があります。代わりに、&mkvmerge;が例えば<link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></link>によって非英語翻訳が使用される際や、&matroska;ファイルに格納されていたテキストを出力する際には、UTF-8から指定された文字コードに変換すればよいということになります。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1538 -msgid "" -"&mkvmerge; does this conversion automatically based on the presence of a " -"<foreignphrase>byte order marker</foreignphrase> (short: <abbrev>BOM</" -"abbrev>) or the system's current locale. How the character set is inferred " -"from the locale depends on the operating system that &mkvmerge; is run on." -msgstr "" -"&mkvmerge;はこの変換を<foreignphrase>バイト・オーダー・マーク</foreignphrase>" -"(<abbrev>BOM</abbrev>)の有無、又はシステムのロケールに基づいて自動的に行ない" -"ます。ロケールからどのように文字コードが推測されるかは、&mkvmerge;を実行する" -"システムに依存します。" +#: doc/man/mkvmerge.xml:1686 +msgid "&mkvmerge; does this conversion automatically based on the presence of a <foreignphrase>byte order marker</foreignphrase> (short: <abbrev>BOM</abbrev>) or the system's current locale. How the character set is inferred from the locale depends on the operating system that &mkvmerge; is run on." +msgstr "&mkvmerge;はこの変換を<foreignphrase>バイト・オーダー・マーク</foreignphrase>(<abbrev>BOM</abbrev>)の有無、又はシステムのロケールに基づいて自動的に行ないます。ロケールからどのように文字コードが推測されるかは、&mkvmerge;を実行するシステムに依存します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1544 -msgid "" -"Text files that start with a BOM are already encoded in one representation " -"of UTF. &mkvmerge; supports the following five modes: UTF-8, UTF-16 Little " -"and Big Endian, UTF-32 Little and Big Endian. Text files with a BOM are " -"automatically converted to UTF-8. Any of the parameters that would otherwise " -"set the character set for such a file (e.g. <link linkend=\"mkvmerge." -"description.sub_charset\"><option>--sub-charset</option></link>) is silently " -"ignored." -msgstr "" -"BOMで始まるテキストファイルは、既にUTFエンコーディングの一種でエンコードされ" -"ています。&mkvmerge;はUTF-8、UTF-16リトルエンディアン及びビッグエンディアン、" -"UTF-32リトルエンディアン及びビッグエンディアンの五つのモードをサポートしま" -"す。BOMで始まるテキストファイルは自動的にUTF-8に変換されます。この場合、テキ" -"ストファイルの文字コードを指定するパラメータ(例: <link linkend=\"mkvmerge." -"description.sub_charset\"><option>--sub-charset</option></link>)は全て黙殺さ" -"れます。" +#: doc/man/mkvmerge.xml:1692 +msgid "Text files that start with a BOM are already encoded in one representation of UTF. &mkvmerge; supports the following five modes: UTF-8, UTF-16 Little and Big Endian, UTF-32 Little and Big Endian. Text files with a BOM are automatically converted to UTF-8. Any of the parameters that would otherwise set the character set for such a file (e.g. <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>) is silently ignored." +msgstr "BOMで始まるテキストファイルは、既にUTFエンコーディングの一種でエンコードされています。&mkvmerge;はUTF-8、UTF-16リトルエンディアン及びビッグエンディアン、UTF-32リトルエンディアン及びビッグエンディアンの五つのモードをサポートします。BOMで始まるテキストファイルは自動的にUTF-8に変換されます。この場合、テキストファイルの文字コードを指定するパラメータ(例: <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>)は全て黙殺されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1551 -msgid "" -"On Unix-like systems &mkvmerge; uses the " -"<citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</" -"manvolnum></citerefentry> system call which in turn uses the environment " -"variables <varname>LANG</varname>, <varname>LC_ALL</varname> and " -"<varname>LC_CYPE</varname>. The resulting character set is often one of UTF-" -"8 or the ISO-8859-* family and is used for all text file operations and for " -"encoding strings on the command line and for output to the console." -msgstr "" -"UNIX系システム上では、&mkvmerge;は<citerefentry><refentrytitle>setlocale</" -"refentrytitle><manvolnum>3</manvolnum></citerefentry>システムコールを使うの" -"で、<varname>LANG</varname>、<varname>LC_ALL</varname>及び<varname>LC_CYPE</" -"varname>環境変数を使用する。大抵は、UTF-8かISO-8859-*ファミリのどれかが全ての" -"テキストファイルとコマンドライン文字列の処理、及びコンソールへの出力の文字" -"コードとして使用される。" +#: doc/man/mkvmerge.xml:1699 +msgid "On Unix-like systems &mkvmerge; uses the <citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry> system call which in turn uses the environment variables <varname>LANG</varname>, <varname>LC_ALL</varname> and <varname>LC_CYPE</varname>. The resulting character set is often one of UTF-8 or the ISO-8859-* family and is used for all text file operations and for encoding strings on the command line and for output to the console." +msgstr "UNIX系システム上では、&mkvmerge;は<citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry>システムコールを使うので、<varname>LANG</varname>、<varname>LC_ALL</varname>及び<varname>LC_CYPE</varname>環境変数を使用します。大抵は、UTF-8かISO-8859-*ファミリのどれかが全てのテキストファイルとコマンドライン文字列の処理、及びコンソールへの出力の文字コードとして使用されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1558 -msgid "" -"On Windows there are actually two different character sets that &mkvmerge; " -"uses due to the way the Windows shell program <command>cmd.exe</command> is " -"implemented. The first character set is determined by a call to the " -"<function>GetCP()</function> system call. This character set is used as the " -"default for text file conversions and for all elements displayed by the " -"<abbrev>GUI</abbrev> programs in the MKVToolNix package. <command>cmd.exe</" -"command> uses another character set which is determined by a call to the " -"<function>GetACP()</function> system call. This is the default character set " -"for all strings read from the command line and for all strings output to the " -"console." -msgstr "" -"Windowsでは、<command>cmd.exe</command>Windowsシェルプログラムの実装方式のた" -"めに、&mkvmerge;は二つの異なる文字コードを使用します。一つ目は<function>GetCP" -"()</function>システムコールによって決定される文字コードです。この文字コードは" -"テキストファイル変換にデフォルトで使用され、MKVToolNixパッケージに含まれる" -"<abbrev>GUI</abbrev>プログラムで表示される全ての文字列に適用されます。" -"<command>cmd.exe</command>はもう一つの、<function>GetACP()</function>システム" -"コールにより決定される文字コードを使用します。これはコマンドライン文字列及び" -"コンソールへの出力のデフォルト文字コードです。" +#: doc/man/mkvmerge.xml:1706 +msgid "On Windows there are actually two different character sets that &mkvmerge; uses due to the way the Windows shell program <command>cmd.exe</command> is implemented. The first character set is determined by a call to the <function>GetCP()</function> system call. This character set is used as the default for text file conversions and for all elements displayed by the <abbrev>GUI</abbrev> programs in the MKVToolNix package. <command>cmd.exe</command> uses another character set which is determined by a call to the <function>GetACP()</function> system call. This is the default character set for all strings read from the command line and for all strings output to the console." +msgstr "Windowsでは、<command>cmd.exe</command>Windowsシェルプログラムの実装方式のために、&mkvmerge;は二つの異なる文字コードを使用します。一つ目は<function>GetCP()</function>システムコールによって決定される文字コードです。この文字コードはテキストファイル変換にデフォルトで使用され、MKVToolNixパッケージに含まれる<abbrev>GUI</abbrev>プログラムで表示される全ての文字列に適用されます。<command>cmd.exe</command>はもう一つの、<function>GetACP()</function>システムコールにより決定される文字コードを使用します。これはコマンドライン文字列及びコンソールへの出力のデフォルト文字コードです。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1567 +#: doc/man/mkvmerge.xml:1715 msgid "The following options exist that allow specifying the character sets:" msgstr "次のような文字コードを指定するオプションがあります。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1573 -msgid "" -"<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</" -"option></link> for text subtitle files and for text subtitle tracks stored " -"in container formats for which the character set cannot be determined " -"unambiguously (e.g. Ogg files)," -msgstr "" -"<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</" -"option></link>は、テキスト字幕ファイルの文字コードと、他のコンテナに格納され" -"たテキスト字幕トラックの文字コードが曖昧さなく決定できない場合(例: Oggファイ" -"ル)の文字コードを指定します。" +#: doc/man/mkvmerge.xml:1721 +msgid "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link> for text subtitle files and for text subtitle tracks stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files)," +msgstr "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>は、テキスト字幕ファイルの文字コードと、他のコンテナに格納されたテキスト字幕トラックの文字コードが曖昧さなく決定できない場合(例: Oggファイル)の文字コードを指定します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1580 -msgid "" -"<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-" -"charset</option></link> for chapter text files and for chapters and file " -"titles stored in container formats for which the character set cannot be " -"determined unambiguously (e.g. Ogg files for chapter information, track and " -"file titles etc; MP4 files for chapter information)," -msgstr "" -"<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-" -"charset</option></link>は、チャプタテキストファイルの文字コードと、他のコンテ" -"ナフォーマットに格納されているチャプタ及びタイトルの文字コードを曖昧さなく決" -"定できない場合(例: Oggファイルのチャプタ情報、トラックとファイルのタイトル" -"等、及びMP4ファイルのチャプタ情報)の文字コードを指定します。" +#: doc/man/mkvmerge.xml:1728 +msgid "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link> for chapter text files and for chapters and file titles stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files for chapter information, track and file titles etc; MP4 files for chapter information)," +msgstr "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link>は、チャプタテキストファイルの文字コードと、他のコンテナフォーマットに格納されているチャプタ及びタイトルの文字コードを曖昧さなく決定できない場合(例: Oggファイルのチャプタ情報、トラックとファイルのタイトル等、及びMP4ファイルのチャプタ情報)の文字コードを指定します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1588 -msgid "" -"<link linkend=\"mkvmerge.description.command_line_charset\"><option>--" -"command-line-charset</option></link> for all strings on the command line," -msgstr "" -"<link linkend=\"mkvmerge.description.command_line_charset\"><option>--" -"command-line-charset</option></link>は全てのコマンドライン文字列の文字コード" -"を指定します。" +#: doc/man/mkvmerge.xml:1736 +msgid "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link> for all strings on the command line," +msgstr "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link>は全てのコマンドライン文字列の文字コードを指定します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1595 -msgid "" -"<link linkend=\"mkvmerge.description.output_charset\"><option>--output-" -"charset</option></link> for all strings written to the console or to a file " -"if the output has been redirected with the <link linkend=\"mkvmerge." -"description.redirect_output\"><option>--redirect-output</option></link> " -"option." -msgstr "" -"<link linkend=\"mkvmerge.description.output_charset\"><option>--output-" -"charset</option></link>はコンソールに出力される文字列の文字コード及び、<link " -"linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</" -"option></link>オプションによりファイルに出力がリダイレクトされている場合、そ" -"のファイルの文字列の文字コードを指定します。" +#: doc/man/mkvmerge.xml:1743 +msgid "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> for all strings written to the console or to a file if the output has been redirected with the <link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link> option." +msgstr "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link>はコンソールに出力される文字列の文字コード及び、<link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link>オプションによりファイルに出力がリダイレクトされている場合、そのファイルの文字列の文字コードを指定します。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1604 +#: doc/man/mkvmerge.xml:1764 msgid "Subtitles" msgstr "字幕" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1606 -msgid "" -"There are several text subtitle formats that can be embedded into " -"&matroska;. At the moment &mkvmerge; supports only text, VobSub and Kate " -"subtitle formats. Text subtitles must be recoded to UTF-8 so that they can " -"be displayed correctly by a player (see the section about <link linkend=" -"\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> " -"for an explanation how &mkvmerge; converts between character sets). Kate " -"subtitles are already encoded in UTF-8 and do not have to be re-encoded." -msgstr "" -"&matroska;には、いくつか字幕の埋め込み方法があります。現時点では、&mkvmerge;" -"はテキスト、VobSub、及びKate字幕フォーマットのみをサポートしています。テキス" -"ト字幕は、プレイヤーで正しく表示されるためにUTF-8で保存されなればなりません" -"(&mkvmerge;の文字コード変換については<link linkend=\"mkvmerge." -"text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参" -"照してください)。Kate字幕は既にUTF-8でエンコードされているので、再変換する必" -"要はありません。" +#: doc/man/mkvmerge.xml:1766 +msgid "There are several text subtitle formats that can be embedded into &matroska;. At the moment &mkvmerge; supports only text, VobSub and Kate subtitle formats. Text subtitles must be recoded to UTF-8 so that they can be displayed correctly by a player (see the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets). Kate subtitles are already encoded in UTF-8 and do not have to be re-encoded." +msgstr "&matroska;には、いくつか字幕の埋め込み方法があります。現時点では、&mkvmerge;はテキスト、VobSub、及びKate字幕フォーマットのみをサポートしています。テキスト字幕は、プレイヤーで正しく表示されるためにUTF-8で保存されなればなりません(&mkvmerge;の文字コード変換については<link linkend=\"mkvmerge.text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参照してください)。Kate字幕は既にUTF-8でエンコードされているので、再変換する必要はありません。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1613 +#: doc/man/mkvmerge.xml:1773 msgid "The following subtitle formats are supported at the moment:" msgstr "現在、次の字幕フォーマットがサポートされています。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1619 +#: doc/man/mkvmerge.xml:1779 msgid "Subtitle Ripper (SRT) files" msgstr "SubRipテキスト字幕形式(SRT)ファイル" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1625 +#: doc/man/mkvmerge.xml:1785 msgid "Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)" msgstr "Substation Alpha (SSA) / Advanced Substation (ASS) 字幕" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1631 +#: doc/man/mkvmerge.xml:1791 msgid "OggKate streams" msgstr "OggKateストリーム" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1637 +#: doc/man/mkvmerge.xml:1797 msgid "VobSub bitmap subtitle files" msgstr "VobSubビットマップ字幕" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1644 +#: doc/man/mkvmerge.xml:1804 msgid "File linking" msgstr "ファイル紐付け" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1646 -msgid "" -"&matroska; supports file linking which simply says that a specific file is " -"the predecessor or successor of the current file. To be precise, it's not " -"really the files that are linked but the &matroska; segments. As most files " -"will probably only contain one &matroska; segment the following explanations " -"use the term 'file linking' although 'segment linking' would be more " -"appropriate." -msgstr "" -"&matroska;はファイル紐付けをサポートします。ファイル紐付けとは、単純に現在の" -"ファイルの前の、又は次のファイルを指定する機能です。正確に言うと、本当に紐付" -"けされるのはファイルではなく&matroska;セグメントです。ほとんどのファイルは" -"&matroska;セグメントを一つしか持たないので、以降の説明ではより正確な'セグメン" -"ト紐付け'という用語ではなく、'ファイル紐付け'という用語を使用します。" +#: doc/man/mkvmerge.xml:1806 +msgid "&matroska; supports file linking which simply says that a specific file is the predecessor or successor of the current file. To be precise, it's not really the files that are linked but the &matroska; segments. As most files will probably only contain one &matroska; segment the following explanations use the term 'file linking' although 'segment linking' would be more appropriate." +msgstr "&matroska;はファイル紐付けをサポートします。ファイル紐付けとは、単純に現在のファイルの前の、又は次のファイルを指定する機能です。正確に言うと、本当に紐付けされるのはファイルではなく&matroska;セグメントです。ほとんどのファイルは&matroska;セグメントを一つしか持たないので、以降の説明ではより正確な'セグメント紐付け'という用語ではなく、'ファイル紐付け'という用語を使用します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1652 -msgid "" -"Each segment is identified by a unique 128 bit wide segment UID. This UID is " -"automatically generated by &mkvmerge;. The linking is done primarily via " -"putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next " -"file into the segment header information. &mkvinfo; prints these " -"<abbrev>SIDs</abbrev> if it finds them." -msgstr "" -"各セグメントはユニークな128bit幅のセグメントUIDを持ちます。このUIDは" -"&mkvmerge;が自動的に生成します。紐付けは基本的にセグメントUID(略して" -"<abbrev>SID</abbrev>)をヘッダ情報の中に挿入することで行われます。&mkvinfo;は" -"この<abbrev>SID</abbrev>を、存在する場合は表示します。" +#: doc/man/mkvmerge.xml:1812 +msgid "Each segment is identified by a unique 128 bit wide segment UID. This UID is automatically generated by &mkvmerge;. The linking is done primarily via putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next file into the segment header information. &mkvinfo; prints these <abbrev>SIDs</abbrev> if it finds them." +msgstr "各セグメントはユニークな128bit幅のセグメントUIDを持ちます。このUIDは&mkvmerge;が自動的に生成します。紐付けは基本的にセグメントUID(略して<abbrev>SID</abbrev>)をヘッダ情報の中に挿入することで行われます。&mkvinfo;はこの<abbrev>SID</abbrev>を、存在する場合は表示します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1658 -msgid "" -"If a file is split into several smaller ones and linking is used then the " -"timecodes will not start at 0 again but will continue where the last file " -"has left off. This way the absolute time is kept even if the previous files " -"are not available (e.g. when streaming). If no linking is used then the " -"timecodes should start at 0 for each file. By default &mkvmerge; does not " -"use file linking. If you want that you can turn it on with the <option>--" -"link</option> option. This option is only useful if splitting is activated " -"as well." -msgstr "" -"もしひとつのファイルがいくつかの小さなファイルに分割されて紐付けされる場合、" -"タイムコードは0から始まらず、前のファイルの続きから始まります。この方式では、" -"前のファイルが無い場合も絶対時間が保たれます(例: ストリーミングを使用している" -"際)。もし、紐付けが使用されない場合、タイムコードは各ファイルで0から始まりま" -"す。デフォルトでは&mkvmerge;はファイル紐付けを使用しません。ファイル紐付けを" -"使用したい場合は、<option>--link</option>オプションを使用する必要があります。" -"このオプションはファイル分割が有効な場合以外には無効です。" +#: doc/man/mkvmerge.xml:1818 +msgid "If a file is split into several smaller ones and linking is used then the timecodes will not start at 0 again but will continue where the last file has left off. This way the absolute time is kept even if the previous files are not available (e.g. when streaming). If no linking is used then the timecodes should start at 0 for each file. By default &mkvmerge; does not use file linking. If you want that you can turn it on with the <option>--link</option> option. This option is only useful if splitting is activated as well." +msgstr "もしひとつのファイルがいくつかの小さなファイルに分割されて紐付けされる場合、タイムコードは0から始まらず、前のファイルの続きから始まります。この方式では、前のファイルが無い場合も絶対時間が保たれます(例: ストリーミングを使用している際)。もし、紐付けが使用されない場合、タイムコードは各ファイルで0から始まります。デフォルトでは&mkvmerge;はファイル紐付けを使用しません。ファイル紐付けを使用したい場合は、<option>--link</option>オプションを使用する必要があります。このオプションはファイル分割が有効な場合以外には無効です。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1665 -msgid "" -"Regardless of whether splitting is active or not the user can tell " -"&mkvmerge; to link the produced files to specific <abbrev>SIDs</abbrev>. " -"This is achieved with the options <option>--link-to-previous</option> and " -"<option>--link-to-next</option>. These options accept a segment " -"<abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal " -"numbers between <constant>0x00</constant> and <constant>0xff</constant> " -"prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 " -"0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. " -"Alternatively a shorter form can be used: 16 hexadecimal numbers between " -"<constant>0x00</constant> and <constant>0xff</constant> without the " -"'<literal>0x</literal>' prefixes and without the spaces, e.g. " -"'<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." -msgstr "" -"ファイル分割が有効か無効かに関わらず、ユーザは&mkvmerge;に、生成したファイル" -"を特定の<abbrev>SID</abbrev>に紐付けすることができます。これは<option>--link-" -"to-previous</option>オプションと<option>--link-to-next</option>オプションによ" -"り可能です。これらのオプションは&mkvinfo;が出力するフォーマット(16個の" -"<constant>0x00</constant>から<constant>0xff</constant>までの、'<literal>0x</" -"literal>'を頭につけた16進数)の<abbrev>SID</abbrev>を受け付けます(例: " -"'<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e " -"0xca 0xb3 0x93</literal>')。もしくは、'<literal>0x</literal>'及び数字の間のス" -"ペースを省いた短形式(例: '<literal>41da7366d9cfb21eae78ebb45ecab393</" -"literal>')を指定することもできます。" +#: doc/man/mkvmerge.xml:1825 +msgid "Regardless of whether splitting is active or not the user can tell &mkvmerge; to link the produced files to specific <abbrev>SIDs</abbrev>. This is achieved with the options <option>--link-to-previous</option> and <option>--link-to-next</option>. These options accept a segment <abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Alternatively a shorter form can be used: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> without the '<literal>0x</literal>' prefixes and without the spaces, e.g. '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." +msgstr "ファイル分割が有効か無効かに関わらず、ユーザは&mkvmerge;に、生成したファイルを特定の<abbrev>SID</abbrev>に紐付けすることができます。これは<option>--link-to-previous</option>オプションと<option>--link-to-next</option>オプションにより可能です。これらのオプションは&mkvinfo;が出力するフォーマット(16個の<constant>0x00</constant>から<constant>0xff</constant>までの、'<literal>0x</literal>'を頭につけた16進数)の<abbrev>SID</abbrev>を受け付けます(例: '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>')。もしくは、'<literal>0x</literal>'及び数字の間のスペースを省いた短形式(例: '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>')を指定することもできます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1675 -msgid "" -"If splitting is used then the first file is linked to the <abbrev>SID</" -"abbrev> given with <option>--link-to-previous</option> and the last file is " -"linked to the <abbrev>SID</abbrev> given with <option>--link-to-next</" -"option>. If splitting is not used then the one output file will be linked to " -"both of the two <abbrev>SIDs</abbrev>." -msgstr "" -"もしファイル分割が有効の場合、最初のファイルが<option>--link-to-previous</" -"option>オプションで指定した<abbrev>SID</abbrev>に紐付けされ、最後のファイルが" -"<option>--link-to-next</option>オプションで指定した<abbrev>SID</abbrev>に紐付" -"けされます。ファイル分割が無効の場合、一つの出力ファイルが両方の<abbrev>SID</" -"abbrev>に紐付けされます。" +#: doc/man/mkvmerge.xml:1835 +msgid "If splitting is used then the first file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-previous</option> and the last file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-next</option>. If splitting is not used then the one output file will be linked to both of the two <abbrev>SIDs</abbrev>." +msgstr "もしファイル分割が有効の場合、最初のファイルが<option>--link-to-previous</option>オプションで指定した<abbrev>SID</abbrev>に紐付けされ、最後のファイルが<option>--link-to-next</option>オプションで指定した<abbrev>SID</abbrev>に紐付けされます。ファイル分割が無効の場合、一つの出力ファイルが両方の<abbrev>SID</abbrev>に紐付けされます。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1682 +#: doc/man/mkvmerge.xml:1842 msgid "Default values" msgstr "デフォルト値" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1684 -msgid "" -"The &matroska; specification states that some elements have a default value. " -"Usually an element is not written to the file if its value is equal to its " -"default value in order to save space. The elements that the user might miss " -"in &mkvinfo;'s output are the <parameter>language</parameter> and the " -"<parameter>default track flag</parameter> elements. The default value for " -"the <parameter>language</parameter> is English ('<literal>eng</literal>'), " -"and the default value for the <parameter>default track flag</parameter> is " -"<parameter>true</parameter>. Therefore if you used <option>--language 0:eng</" -"option> for a track then it will not show up in &mkvinfo;'s output." -msgstr "" -"&matroska;ファイルの仕様には、デフォルト値を持つエレメントの存在が明記されて" -"います。通常、デフォルト値と等しい値をもつエレメントはファイルサイズを抑える" -"ためファイルに書き込まれません。&mkvinfo;では表示されないかもしれないエレメン" -"トは、<parameter>言語</parameter>と<parameter>デフォルトトラックフラグ</" -"parameter>エレメントです。<parameter>言語</parameter>エレメントのデフォルト値" -"は英語('<literal>eng</literal>')で、<parameter>デフォルトトラックフラグ</" -"parameter>エレメントのデフォルト値は<parameter>true</parameter>です。よって、" -"あるトラックに<option>--language: 0:eng</option>を指定した場合には、&mkvinfo;" -"の出力には現れません。" +#: doc/man/mkvmerge.xml:1844 +msgid "The &matroska; specification states that some elements have a default value. Usually an element is not written to the file if its value is equal to its default value in order to save space. The elements that the user might miss in &mkvinfo;'s output are the <parameter>language</parameter> and the <parameter>default track flag</parameter> elements. The default value for the <parameter>language</parameter> is English ('<literal>eng</literal>'), and the default value for the <parameter>default track flag</parameter> is <parameter>true</parameter>. Therefore if you used <option>--language 0:eng</option> for a track then it will not show up in &mkvinfo;'s output." +msgstr "&matroska;ファイルの仕様には、デフォルト値を持つエレメントの存在が明記されています。通常、デフォルト値と等しい値をもつエレメントはファイルサイズを抑えるためファイルに書き込まれません。&mkvinfo;では表示されないかもしれないエレメントは、<parameter>言語</parameter>と<parameter>デフォルトトラックフラグ</parameter>エレメントです。<parameter>言語</parameter>エレメントのデフォルト値は英語('<literal>eng</literal>')で、<parameter>デフォルトトラックフラグ</parameter>エレメントのデフォルト値は<parameter>true</parameter>です。よって、あるトラックに<option>--language: 0:eng</option>を指定した場合には、&mkvinfo;の出力には現れません。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1696 -msgid "" -"Maybe you also want to keep some photos along with your &matroska; file, or " -"you're using <abbrev>SSA</abbrev> subtitles and need a special " -"<productname>TrueType</productname> font that's really rare. In these cases " -"you can attach those files to the &matroska; file. They will not be just " -"appended to the file but embedded in it. A player can then show those files " -"(the 'photos' case) or use them to render the subtitles (the " -"'<productname>TrueType</productname> fonts' case)." -msgstr "" -"&matroska;ファイルに写真を入れておきたいということや、非常に稀でしょうが" -"<abbrev>SSA</abbrev>字幕を使っていて<productname>TrueType</productname>フォン" -"トを使用したいということがあるかもしれません。このような場合には、&matroska;" -"ファイルにファイルを添付することができます。添付されるファイルは&matroska;" -"ファイルに埋め込まれるのではなく、ただ単純に追加されます。よって、プレイヤー" -"はこれらのファイルを表示したり(写真の場合)、字幕を描画するのに使用したり(フォ" -"ントの場合)できます。" +#: doc/man/mkvmerge.xml:1856 +msgid "Maybe you also want to keep some photos along with your &matroska; file, or you're using <abbrev>SSA</abbrev> subtitles and need a special <productname>TrueType</productname> font that's really rare. In these cases you can attach those files to the &matroska; file. They will not be just appended to the file but embedded in it. A player can then show those files (the 'photos' case) or use them to render the subtitles (the '<productname>TrueType</productname> fonts' case)." +msgstr "&matroska;ファイルに写真を入れておきたいということや、非常に稀でしょうが<abbrev>SSA</abbrev>字幕を使っていて<productname>TrueType</productname>フォントを使用したいということがあるかもしれません。このような場合には、&matroska;ファイルにファイルを添付することができます。添付されるファイルは&matroska;ファイルに埋め込まれるのではなく、ただ単純に追加されます。よって、プレイヤーはこれらのファイルを表示したり(写真の場合)、字幕を描画するのに使用したり(フォントの場合)できます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1703 -msgid "" -"Here's an example how to attach a photo and a <productname>TrueType</" -"productname> font to the output file:" -msgstr "" -"下に、出力ファイルに写真と<productname>TrueType</productname>フォントを添付す" -"る方法の例を示します。" +#: doc/man/mkvmerge.xml:1863 +msgid "Here's an example how to attach a photo and a <productname>TrueType</productname> font to the output file:" +msgstr "下に、出力ファイルに写真と<productname>TrueType</productname>フォントを添付する方法の例を示します。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1707 +#: doc/man/mkvmerge.xml:1867 #, no-wrap msgid "" "$ mkvmerge -o output.mkv -A video.avi sound.ogg --attachment-description \"Me and the band behind the stage in a small get-together\" --attachment-mime-type image/jpeg --attach-file me_and_the_band.jpg --attachment-description \"The real rare and unbelievably good looking font\" --attachment-type application/octet-stream --attach-file really_cool_font.ttf\n" @@ -4395,67 +2716,32 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1711 -msgid "" -"If a &matroska; containing attachments file is used as an input file then " -"&mkvmerge; will copy the attachments into the new file. The selection which " -"attachments are copied and which are not can be changed with the options " -"<link linkend=\"mkvmerge.description.attachments\"><option>--attachments</" -"option></link> and <link linkend=\"mkvmerge.description.no_attachments" -"\"><option>--no-attachments</option></link>." -msgstr "" -"コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在の" -"ロケールの文字コードになります。この設定は<link linkend=\"mkvmerge." -"description.title\"><option>--title</option></link>、<link linkend=" -"\"mkvmerge.description.track_name\"><option>--track-name</option></link>、及" -"び<link linkend=\"mkvmerge.description.attachment_description\"><option>--" -"attachment-description</option></link>の三つのオプションの引数に影響します。" +#: doc/man/mkvmerge.xml:1871 +msgid "If a &matroska; containing attachments file is used as an input file then &mkvmerge; will copy the attachments into the new file. The selection which attachments are copied and which are not can be changed with the options <link linkend=\"mkvmerge.description.attachments\"><option>--attachments</option></link> and <link linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</option></link>." +msgstr "コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。この設定は<link linkend=\"mkvmerge.description.title\"><option>--title</option></link>、<link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link>、及び<link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>の三つのオプションの引数に影響します。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1721 -msgid "" -"The &matroska; chapter system is more powerful than the old known system " -"used by <abbrev>OGM</abbrev> files. The full specifications can be found at " -"<ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." -msgstr "" -"&matroska;チャプタシステムは、<abbrev>OGM</abbrev>ファイルで使用されていた従" -"来のシステムより強力です。その仕様の全ては、<ulink url=\"http://www.matroska." -"org\">&matroska;のウェブサイト</ulink>に記されています。" +#: doc/man/mkvmerge.xml:1881 +msgid "The &matroska; chapter system is more powerful than the old known system used by <abbrev>OGM</abbrev> files. The full specifications can be found at <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "&matroska;チャプタシステムは、<abbrev>OGM</abbrev>ファイルで使用されていた従来のシステムより強力です。その仕様の全ては、<ulink url=\"http://www.matroska.org\">&matroska;のウェブサイト</ulink>に記されています。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1726 -msgid "" -"&mkvmerge; supports two kinds of chapter files as its input. The first " -"format, called '<foreignphrase>simple chapter format</foreignphrase>', is " -"the same format that the <abbrev>OGM</abbrev> tools expect. The second " -"format is a &xml; based chapter format which supports all of &matroska;'s " -"chapter functionality." -msgstr "" -"&mkvmerge;は2種類のチャプタファイルを入力としてサポートしています。一つ目" -"は'<foreignphrase>シンプルチャプタファイル</foreignphrase>'と呼ばれるもので、" -"<abbrev>OGM</abbrev> toolsが想定しているものと同じフォーマットです。二つ目は" -"&xml;ベースのチャプタフォーマットで、&matroska;のチャプタ機能の全てをサポート" -"しています。" +#: doc/man/mkvmerge.xml:1886 +msgid "&mkvmerge; supports two kinds of chapter files as its input. The first format, called '<foreignphrase>simple chapter format</foreignphrase>', is the same format that the <abbrev>OGM</abbrev> tools expect. The second format is a &xml; based chapter format which supports all of &matroska;'s chapter functionality." +msgstr "&mkvmerge;は2種類のチャプタファイルを入力としてサポートしています。一つ目は'<foreignphrase>シンプルチャプタファイル</foreignphrase>'と呼ばれるもので、<abbrev>OGM</abbrev> toolsが想定しているものと同じフォーマットです。二つ目は&xml;ベースのチャプタフォーマットで、&matroska;のチャプタ機能の全てをサポートしています。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1732 +#: doc/man/mkvmerge.xml:1892 msgid "The simple chapter format" msgstr "シンプルチャプタフォーマット" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1735 -msgid "" -"This formmat consists of pairs of lines that start with " -"'<literal>CHAPTERxx=</literal>' and '<literal>CHAPTERxxNAME=</literal>' " -"respectively. The first one contains the start timecode while the second one " -"contains the title. Here's an example:" -msgstr "" -"このフォーマットは、'<literal>CHAPTERxx=</literal>'で始まる行" -"と'<literal>ChapterxxNAME=</literal>'で始まる行のペアから成ります。前者の行は" -"開始タイムコードを含み、後者はタイトルを含みます。下に例を示します。" +#: doc/man/mkvmerge.xml:1895 +msgid "This formmat consists of pairs of lines that start with '<literal>CHAPTERxx=</literal>' and '<literal>CHAPTERxxNAME=</literal>' respectively. The first one contains the start timecode while the second one contains the title. Here's an example:" +msgstr "このフォーマットは、'<literal>CHAPTERxx=</literal>'で始まる行と'<literal>ChapterxxNAME=</literal>'で始まる行のペアから成ります。前者の行は開始タイムコードを含み、後者はタイトルを含みます。下に例を示します。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1740 +#: doc/man/mkvmerge.xml:1900 #, no-wrap msgid "" "CHAPTER01=00:00:00.000\n" @@ -4475,41 +2761,27 @@ " " #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1749 -msgid "" -"&mkvmerge; will transform every pair or lines into one &matroska; " -"<classname>ChapterAtom</classname>. It does not set any " -"<classname>ChapterTrackNumber</classname> which means that the chapters all " -"apply to all tracks in the file." -msgstr "" -"&mkvmerge;は各ペア、もしくは行を、一個の&matroska;<classname>ChapterAtom</" -"classname>に変換します。<classname>ChapterTrackNumber</classname>は設定しない" -"ので、全てのトラックにチャプタは適用されます。" +#: doc/man/mkvmerge.xml:1909 +msgid "&mkvmerge; will transform every pair or lines into one &matroska; <classname>ChapterAtom</classname>. It does not set any <classname>ChapterTrackNumber</classname> which means that the chapters all apply to all tracks in the file." +msgstr "&mkvmerge;は各ペア、もしくは行を、一個の&matroska;<classname>ChapterAtom</classname>に変換します。<classname>ChapterTrackNumber</classname>は設定しないので、全てのトラックにチャプタは適用されます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1754 -msgid "" -"As this is a text file character set conversion may need to be done. See the " -"section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files " -"and character sets</link> for an explanation how &mkvmerge; converts between " -"character sets." -msgstr "" -"このときにテキストファイルの文字コードが必要になります。&mkvmerge;の文字コー" -"ド変換については<link linkend=\"mkvmerge.text_files_and_charsets\">テキスト" -"ファイルと文字コード</link>のセクションを参照してください。" +#: doc/man/mkvmerge.xml:1914 +msgid "As this is a text file character set conversion may need to be done. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "このときにテキストファイルの文字コードが必要になります。&mkvmerge;の文字コード変換については<link linkend=\"mkvmerge.text_files_and_charsets\">テキストファイルと文字コード</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1761 +#: doc/man/mkvmerge.xml:1921 msgid "The &xml; based chapter format" msgstr "&xml;チャプタフォーマット" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1763 +#: doc/man/mkvmerge.xml:1923 msgid "The &xml; based chapter format looks like this example:" msgstr "&xml;チャプタフォーマットの例を以下に示します。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1767 +#: doc/man/mkvmerge.xml:1927 #, no-wrap msgid "" "<?xml version="1.0" encoding="ISO-8859-1"?>\n" @@ -4561,194 +2833,87 @@ " " #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1792 -msgid "" -"With this format three things are possible that are not possible with the " -"simple chapter format:" -msgstr "" -"このフォーマットでは、シンプルチャプタフォーマットでは不可能な、3つのことが可" -"能です。" +#: doc/man/mkvmerge.xml:1952 +msgid "With this format three things are possible that are not possible with the simple chapter format:" +msgstr "このフォーマットでは、シンプルチャプタフォーマットでは不可能な、3つのことが可能です。" #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1796 +#: doc/man/mkvmerge.xml:1956 msgid "The timestamp for the end of the chapter can be set," msgstr "チャプタの終了タイムコードを指定できます。" #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1797 +#: doc/man/mkvmerge.xml:1957 msgid "chapters can be nested," msgstr "ネストしたチャプタを作成できます。" #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1798 +#: doc/man/mkvmerge.xml:1958 msgid "the language and country can be set." msgstr "言語及び国を設定できます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1802 -msgid "" -"The mkvtoolnix distribution contains some sample files in the <filename>doc</" -"filename> subdirectory which can be used as a basis." -msgstr "" -"mkvtoolnixは、テンプレートとなるサンプルファイルと一緒に配布されています。サ" -"ンプルファイルは<filename>doc</filename>サブディレクトリの中にあります。" +#: doc/man/mkvmerge.xml:1962 +msgid "The mkvtoolnix distribution contains some sample files in the <filename>doc</filename> subdirectory which can be used as a basis." +msgstr "mkvtoolnixは、テンプレートとなるサンプルファイルと一緒に配布されています。サンプルファイルは<filename>doc</filename>サブディレクトリの中にあります。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1807 +#: doc/man/mkvmerge.xml:1967 msgid "General notes" msgstr "注意" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1809 -msgid "" -"When splitting files &mkvmerge; will correctly adjust the chapters as well. " -"This means that each file only includes the chapter entries that apply to " -"it, and that the timecodes will be offset to match the new timecodes of each " -"output file." -msgstr "" -"&mkvmerge;は出力ファイルを分割する際、チャプタも適切に処理します。つまり、分" -"割された各ファイルはそのファイルに関係するチャプタのみを含み、タイムコードに" -"は適切なオフセットがかかります。" +#: doc/man/mkvmerge.xml:1969 +msgid "When splitting files &mkvmerge; will correctly adjust the chapters as well. This means that each file only includes the chapter entries that apply to it, and that the timecodes will be offset to match the new timecodes of each output file." +msgstr "&mkvmerge;は出力ファイルを分割する際、チャプタも適切に処理します。つまり、分割された各ファイルはそのファイルに関係するチャプタのみを含み、タイムコードには適切なオフセットがかかります。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1814 -msgid "" -"&mkvmerge; is able to copy chapters from &matroska; source files unless this " -"is explicitly disabled with the <link linkend=\"mkvmerge.description." -"no_chapters\"><option>--no-chapters</option></link> option. The chapters " -"from all sources (&matroska; files, Ogg files, <abbrev>MP4</abbrev> files, " -"chapter text files) are usually not merged but end up in separate " -"<classname>ChapterEditions</classname>. Only if chapters are read from " -"several &matroska; or &xml; files that share the same edition UIDs will " -"chapters be merged into a single <classname>ChapterEdition</classname>. If " -"such a merge is desired in other situations as well then the user has to " -"extract the chapters from all sources with &mkvextract; first, merge the " -"&xml; files manually and mux them afterwards." -msgstr "" -"&mkvmerge;は、<link linkend=\"mkvmerge.description.no_chapters\"><option>--" -"no-chapters</option></link>オプションで明示的に無効化されていなければ、" -"&matroska;ソースファイルからチャプタをコピーできます。全てのソース(&matroska;" -"ファイル、Oggファイル、<abbrev>MP4</abbrev>ファイル、チャプタテキストファイ" -"ル)に由来するチャプタは通常はマージされず、別々の<classname>ChapterEditions</" -"classname>が作成されます。いくつかの&matroska;もしくは&xml;ファイルで、エディ" -"ションUIDが共有される場合にのみ、チャプタは一つの<classname>ChapterEdition</" -"classname>にマージされます。そのような場合以外でマージを行いたい場合は、ユー" -"ザはまず全てのソースから&mkvextract;でチャプタを抽出し、手動で&xml;ファイルを" -"マージした後にMUXを行なわなければなりません。" +#: doc/man/mkvmerge.xml:1974 +msgid "&mkvmerge; is able to copy chapters from &matroska; source files unless this is explicitly disabled with the <link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> option. The chapters from all sources (&matroska; files, Ogg files, <abbrev>MP4</abbrev> files, chapter text files) are usually not merged but end up in separate <classname>ChapterEditions</classname>. Only if chapters are read from several &matroska; or &xml; files that share the same edition UIDs will chapters be merged into a single <classname>ChapterEdition</classname>. If such a merge is desired in other situations as well then the user has to extract the chapters from all sources with &mkvextract; first, merge the &xml; files manually and mux them afterwards." +msgstr "&mkvmerge;は、<link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link>オプションで明示的に無効化されていなければ、&matroska;ソースファイルからチャプタをコピーできます。全てのソース(&matroska;ファイル、Oggファイル、<abbrev>MP4</abbrev>ファイル、チャプタテキストファイル)に由来するチャプタは通常はマージされず、別々の<classname>ChapterEditions</classname>が作成されます。いくつかの&matroska;もしくは&xml;ファイルで、エディションUIDが共有される場合にのみ、チャプタは一つの<classname>ChapterEdition</classname>にマージされます。そのような場合以外でマージを行いたい場合は、ユーザはまず全てのソースから&mkvextract;でチャプタを抽出し、手動で&xml;ファイルをマージした後にMUXを行なわなければなりません。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1829 +#: doc/man/mkvmerge.xml:1989 msgid "Introduction" msgstr "はじめに" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1832 -msgid "" -"&matroska; supports an extensive set of tags that is deprecated and a new, " -"simpler system like it is is used in most other containers: " -"<parameter>KEY=VALUE</parameter>. However, in &matroska; these tags can also " -"be nested, and both the <parameter>KEY</parameter> and the <parameter>VALUE</" -"parameter> are elements of their own. The example file <filename>example-" -"tags-2.xml</filename> shows how to use this new system." -msgstr "" -"&matroska;は廃止予定の拡張可能なタグのセットと、新しい、他のよくあるコンテナ" -"で採用されているようなより単純な、<parameter>KEY=VALUE</parameter>というシス" -"テムをサポートします。しかし、&matroska;では、これらのタグはネストすることも" -"可能で、さらに<parameter>KEY</parameter>と<parameter>VALUE</parameter>は両方" -"がそれ自信のエレメントです。サンプルファイル<filename>example-tags-2.xml</" -"filename>がこの新しいシステムの使い方の例を示しています。" +#: doc/man/mkvmerge.xml:1992 +msgid "&matroska; supports an extensive set of tags that is deprecated and a new, simpler system like it is is used in most other containers: <parameter>KEY=VALUE</parameter>. However, in &matroska; these tags can also be nested, and both the <parameter>KEY</parameter> and the <parameter>VALUE</parameter> are elements of their own. The example file <filename>example-tags-2.xml</filename> shows how to use this new system." +msgstr "&matroska;は廃止予定の拡張可能なタグのセットと、新しい、他のよくあるコンテナで採用されているようなより単純な、<parameter>KEY=VALUE</parameter>というシステムをサポートします。しかし、&matroska;では、これらのタグはネストすることも可能で、さらに<parameter>KEY</parameter>と<parameter>VALUE</parameter>は両方がそれ自信のエレメントです。サンプルファイル<filename>example-tags-2.xml</filename>がこの新しいシステムの使い方の例を示しています。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1840 +#: doc/man/mkvmerge.xml:2000 msgid "Scope of the tags" msgstr "タグのスコープ" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1843 -msgid "" -"&matroska; tags do not automatically apply to the complete file. They can, " -"but they also may apply to different parts of the file: to one or more " -"tracks, to one or more chapters, or even to a combination of both. The " -"<ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; " -"specification</ulink> gives more details about this fact." -msgstr "" -"&matroska;タグは自動的にはファイル全体に適用はされません。適用することもでき" -"ますが、ファイルの異る部分々々に適用することもできます。一つ、もしくは複数の" -"トラック、一つ、もしくは複数のチャプタ、さらにはその組み合わせにも適用するこ" -"とが可能です。<ulink url=\"http://matroska.org/technical/specs/index.html" -"\">&matroska;の仕様</ulink>に、このことの詳細が記述されています。" +#: doc/man/mkvmerge.xml:2003 +msgid "&matroska; tags do not automatically apply to the complete file. They can, but they also may apply to different parts of the file: to one or more tracks, to one or more chapters, or even to a combination of both. The <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink> gives more details about this fact." +msgstr "&matroska;タグは自動的にはファイル全体に適用はされません。適用することもできますが、ファイルの異る部分々々に適用することもできます。一つ、もしくは複数のトラック、一つ、もしくは複数のチャプタ、さらにはその組み合わせにも適用することが可能です。<ulink url=\"http://matroska.org/technical/specs/index.html\">&matroska;の仕様</ulink>に、このことの詳細が記述されています。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1849 -msgid "" -"One important fact is that tags are linked to tracks or chapters with the " -"<classname>Targets</classname> &matroska; tag element, and that the UIDs " -"used for this linking are <emphasis>not</emphasis> the track IDs &mkvmerge; " -"uses everywhere. Instead the numbers used are the UIDs which &mkvmerge; " -"calculates automatically (if the track is taken from a file format other " -"than &matroska;) or which are copied from the source file if the track's " -"source file is a &matroska; file. Therefore it is difficult to know which " -"UIDs to use in the tag file before the file is handed over to &mkvmerge;." -msgstr "" -"重要なことは、タグは<classname>Targets</classname>&matroska;タグエレメントに" -"よってトラック及びチャプタにリンクされますが、このリンクの際に使用されるUIDは" -"&mkvmerge;が色々な所で使用するトラックID<emphasis>ではない</emphasis>ことで" -"す。その代わりに、&mkvmerge;は自動的に計算したUID(トラックが&matroska;以外の" -"ファイルフォーマットから取り出される場合)か、トラックのソースファイルが" -"&matroska;ファイルの場合ソースファイルからコピーされた数字が使用されます。" -"よって、タグファイルが&mkvmerge;に渡される前に、使用されるUIDを知ることは困難" -"です。" +#: doc/man/mkvmerge.xml:2009 +msgid "One important fact is that tags are linked to tracks or chapters with the <classname>Targets</classname> &matroska; tag element, and that the UIDs used for this linking are <emphasis>not</emphasis> the track IDs &mkvmerge; uses everywhere. Instead the numbers used are the UIDs which &mkvmerge; calculates automatically (if the track is taken from a file format other than &matroska;) or which are copied from the source file if the track's source file is a &matroska; file. Therefore it is difficult to know which UIDs to use in the tag file before the file is handed over to &mkvmerge;." +msgstr "重要なことは、タグは<classname>Targets</classname>&matroska;タグエレメントによってトラック及びチャプタにリンクされますが、このリンクの際に使用されるUIDは&mkvmerge;が色々な所で使用するトラックID<emphasis>ではない</emphasis>ことです。その代わりに、&mkvmerge;は自動的に計算したUID(トラックが&matroska;以外のファイルフォーマットから取り出される場合)か、トラックのソースファイルが&matroska;ファイルの場合ソースファイルからコピーされた数字が使用されます。よって、タグファイルが&mkvmerge;に渡される前に、使用されるUIDを知ることは困難です。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1857 -msgid "" -"&mkvmerge; knows two options with which you can add tags to &matroska; " -"files: The <link linkend=\"mkvmerge.description.global_tags\"><option>--" -"global-tags</option></link> and the <link linkend=\"mkvmerge.description.tags" -"\"><option>--tags</option></link> options. The difference is that the former " -"option, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-" -"tags</option></link>, will make the tags apply to the complete file by " -"removing any of those <classname>Targets</classname> elements mentioned " -"above. The latter option, <link linkend=\"mkvmerge.description.tags" -"\"><option>--tags</option></link>, automatically inserts the UID that " -"&mkvmerge; generates for the tag specified with the <parameter>TID</" -"parameter> part of the <link linkend=\"mkvmerge.description.tags\"><option>--" -"tags</option></link> option." -msgstr "" -"&mkvmerge;は&matroska;ファイルにタグを追加する二つのオプションを認識します。" -"<link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</" -"option></link>と<link linkend=\"mkvmerge.description.tags\"><option>--tags</" -"option></link>オプションです。この二つの違いは、前者の<link linkend=" -"\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>" -"は、上述の<classname>Targets</classname>エレメントを全て取り除くことで、タグ" -"がファイル全体に適用されるようにします。後者の<link linkend=\"mkvmerge." -"description.tags\"><option>--tags</option></link>オプションは、&mkvmerge;が " -"of the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></" -"link>に指定した<parameter>TID</parameter>の示すトラックに対して自動的に計算し" -"たUIDを挿入します。" +#: doc/man/mkvmerge.xml:2017 +msgid "&mkvmerge; knows two options with which you can add tags to &matroska; files: The <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> and the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> options. The difference is that the former option, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>, will make the tags apply to the complete file by removing any of those <classname>Targets</classname> elements mentioned above. The latter option, <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>, automatically inserts the UID that &mkvmerge; generates for the tag specified with the <parameter>TID</parameter> part of the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> option." +msgstr "&mkvmerge;は&matroska;ファイルにタグを追加する二つのオプションを認識します。<link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>と<link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>オプションです。この二つの違いは、前者の<link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>は、上述の<classname>Targets</classname>エレメントを全て取り除くことで、タグがファイル全体に適用されるようにします。後者の<link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>オプションは、&mkvmerge;が of the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>に指定した<parameter>TID</parameter>の示すトラックに対して自動的に計算したUIDを挿入します。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1869 +#: doc/man/mkvmerge.xml:2029 msgid "Example" msgstr "例" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1871 -msgid "" -"Let's say that you want to add tags to a video track read from an " -"<abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> tells " -"you that the video track's ID (do not mix this ID with the UID!) is 0. So " -"you create your tag file, leave out all <classname>Targets</classname> " -"elements and call &mkvmerge;:" -msgstr "" -"あなたは、<abbrev>AVI</abbrev>から読み込まれるビデオトラックにタグをつけたい" -"と仮定しましょう。<command>mkvmerge --identify file.avi</command>を実行する" -"と、ビデオトラックのトラックID(このIDをUIDと混同しないでください!)は0であると" -"教えてくれます。よって、あなたは全ての<classname>Targets</classname>エレメン" -"トを記入しないタグファイルを作成し、&mkvmerge;を以下のように実行します。" +#: doc/man/mkvmerge.xml:2031 +msgid "Let's say that you want to add tags to a video track read from an <abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> tells you that the video track's ID (do not mix this ID with the UID!) is 0. So you create your tag file, leave out all <classname>Targets</classname> elements and call &mkvmerge;:" +msgstr "あなたは、<abbrev>AVI</abbrev>から読み込まれるビデオトラックにタグをつけたいと仮定しましょう。<command>mkvmerge --identify file.avi</command>を実行すると、ビデオトラックのトラックID(このIDをUIDと混同しないでください!)は0であると教えてくれます。よって、あなたは全ての<classname>Targets</classname>エレメントを記入しないタグファイルを作成し、&mkvmerge;を以下のように実行します。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1877 +#: doc/man/mkvmerge.xml:2037 #, no-wrap msgid "" "$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi\n" @@ -4758,226 +2923,122 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1882 +#: doc/man/mkvmerge.xml:2042 msgid "Tag file format" msgstr "タグファイルフォーマット" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1884 -msgid "" -"&mkvmerge; supports a &xml; based tag file format. The format is very " -"closely modeled after <ulink url=\"http://matroska.org/technical/specs/index." -"html\">the &matroska; specification</ulink>. Both the binary and the source " -"distributions of MKVToolNix come with a sample file called <filename>example-" -"tags-2.xml</filename> which simply lists all known tags and which can be " -"used as a basis for real life tag files." -msgstr "" -"&mkvmerge;は&xml;ベースのタグファイルフォーマットをサポートします。このフォー" -"マットは<ulink url=\"http://matroska.org/technical/specs/index.html" -"\">&matroska;の仕様</ulink>に非常に近いデザインになっています。MKVToolNixのバ" -"イナリ、及びソースディストリビューションはどちらも、既知のタグをただリストし" -"ただけの、実際のタグファイルのテンプレートとして使用できる<filename>example-" -"tags-2.xml</filename>というサンプルファイルを含んでいます。" +#: doc/man/mkvmerge.xml:2044 +msgid "&mkvmerge; supports a &xml; based tag file format. The format is very closely modeled after <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink>. Both the binary and the source distributions of MKVToolNix come with a sample file called <filename>example-tags-2.xml</filename> which simply lists all known tags and which can be used as a basis for real life tag files." +msgstr "&mkvmerge;は&xml;ベースのタグファイルフォーマットをサポートします。このフォーマットは<ulink url=\"http://matroska.org/technical/specs/index.html\">&matroska;の仕様</ulink>に非常に近いデザインになっています。MKVToolNixのバイナリ、及びソースディストリビューションはどちらも、既知のタグをただリストしただけの、実際のタグファイルのテンプレートとして使用できる<filename>example-tags-2.xml</filename>というサンプルファイルを含んでいます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1891 +#: doc/man/mkvmerge.xml:2051 msgid "The basics are:" msgstr "基本的には、以下の様な構成です。" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1895 +#: doc/man/mkvmerge.xml:2055 msgid "The outermost element must be <classname><Tags></classname>." -msgstr "" -"最も外側のエレメントは<classname><Tags></classname>でなければなりませ" -"ん。" +msgstr "最も外側のエレメントは<classname><Tags></classname>でなければなりません。" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1897 -msgid "" -"One logical tag is contained inside one pair of <classname><Tag></" -"classname> &xml; tags." -msgstr "" -"一個の論理タグは<classname><Tag></classname>&xml;タグの内部に包含されま" -"す。" +#: doc/man/mkvmerge.xml:2057 +msgid "One logical tag is contained inside one pair of <classname><Tag></classname> &xml; tags." +msgstr "一個の論理タグは<classname><Tag></classname>&xml;タグの内部に包含されます。" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1899 +#: doc/man/mkvmerge.xml:2059 msgid "White spaces directly before and after tag contents are ignored." msgstr "タグの中身の直前・直後のスペースは無視されます。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1904 +#: doc/man/mkvmerge.xml:2064 msgid "Data types" msgstr "データタイプ" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1906 -msgid "" -"The new &matroska; tagging system only knows two data types, a UTF-8 string " -"and a binary type. The first is used for the tag's name and the " -"<classname><String></classname> element while the binary type is used " -"for the <classname><Binary></classname> element." -msgstr "" -"新しい&matroska;タグシステムは、UTF-8文字列とバイナリの二つのデータタイプしか" -"認識しません。前者はタグの名前と<classname><Strings></classname>エレメ" -"ントに使用され、後者は<classname><Binary></classname>エレメントに使用さ" -"れます。" +#: doc/man/mkvmerge.xml:2066 +msgid "The new &matroska; tagging system only knows two data types, a UTF-8 string and a binary type. The first is used for the tag's name and the <classname><String></classname> element while the binary type is used for the <classname><Binary></classname> element." +msgstr "新しい&matroska;タグシステムは、UTF-8文字列とバイナリの二つのデータタイプしか認識しません。前者はタグの名前と<classname><Strings></classname>エレメントに使用され、後者は<classname><Binary></classname>エレメントに使用されます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1911 -msgid "" -"As binary data itself would not fit into a &xml; file &mkvmerge; supports " -"two other methods of storing binary data. If the contents of a &xml; tag " -"starts with '<literal>@</literal>' then the following text is treated as a " -"file name. The corresponding file's content is copied into the &matroska; " -"element." -msgstr "" -"バイナリデーは、そのままでは&xml;ファイルに格納できないので、&mkvmerge;は二つ" -"のバイナリデータを格納する方法をサポートします。&xml;タグの中身" -"が'<literal>@</literal>'で始まる場合、そのあとのテキストはファイル名として扱" -"われ、対応するファイルの中身が&matroska;エレメントにコピーされます。" +#: doc/man/mkvmerge.xml:2071 +msgid "As binary data itself would not fit into a &xml; file &mkvmerge; supports two other methods of storing binary data. If the contents of a &xml; tag starts with '<literal>@</literal>' then the following text is treated as a file name. The corresponding file's content is copied into the &matroska; element." +msgstr "バイナリデーは、そのままでは&xml;ファイルに格納できないので、&mkvmerge;は二つのバイナリデータを格納する方法をサポートします。&xml;タグの中身が'<literal>@</literal>'で始まる場合、そのあとのテキストはファイル名として扱われ、対応するファイルの中身が&matroska;エレメントにコピーされます。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1917 -msgid "" -"Otherwise the data is expected to be <foreignphrase>Base64</foreignphrase> " -"encoded. This is an encoding that transforms binary data into a limited set " -"of <abbrev>ASCII</abbrev> characters and is used e.g. in email programs. " -"&mkvextract; will output <foreignphrase>Base64</foreignphrase> encoded data " -"for binary elements." -msgstr "" -"もう一つの方法では、データは<foreignphrase>Base64</foreignphrase>エンコードさ" -"れる必要があります。これは、バイナリデータを<abbrev>ASCII</abbrev>キャラクタ" -"の一部だけで表現するためのエンコードで、例えばEメールなどに使用されています。" -"&mkvextract;は、バイナリエレメントを<foreignphrase>Base64</foreignphrase>エン" -"コードされたデータとして出力します。" +#: doc/man/mkvmerge.xml:2077 +msgid "Otherwise the data is expected to be <foreignphrase>Base64</foreignphrase> encoded. This is an encoding that transforms binary data into a limited set of <abbrev>ASCII</abbrev> characters and is used e.g. in email programs. &mkvextract; will output <foreignphrase>Base64</foreignphrase> encoded data for binary elements." +msgstr "もう一つの方法では、データは<foreignphrase>Base64</foreignphrase>エンコードされる必要があります。これは、バイナリデータを<abbrev>ASCII</abbrev>キャラクタの一部だけで表現するためのエンコードで、例えばEメールなどに使用されています。&mkvextract;は、バイナリエレメントを<foreignphrase>Base64</foreignphrase>エンコードされたデータとして出力します。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1923 -msgid "" -"The deprecated tagging system knows some more data types which can be found " -"in the official &matroska; tag specs. As &mkvmerge; does not support this " -"system anymore these types aren't described here." -msgstr "" -"古いタグシステムは、公式の&matroska;の仕様に示されているように、もっと多くの" -"データタイプを認識していました。&mkvmerge;はもはやこのシステムをサポートしな" -"いので、それらのタイプについてはここでは説明しません。" +#: doc/man/mkvmerge.xml:2083 +msgid "The deprecated tagging system knows some more data types which can be found in the official &matroska; tag specs. As &mkvmerge; does not support this system anymore these types aren't described here." +msgstr "古いタグシステムは、公式の&matroska;の仕様に示されているように、もっと多くのデータタイプを認識していました。&mkvmerge;はもはやこのシステムをサポートしないので、それらのタイプについてはここでは説明しません。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1930 +#: doc/man/mkvmerge.xml:2090 msgid "&matroska; file layout" msgstr "&matroska;ファイルのレイアウト" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1932 -msgid "" -"The &matroska; file layout is quite flexible. &mkvmerge; will render a file " -"in a predefined way. The resulting file looks like this:" -msgstr "" -"&matroska;ファイルのレイアウトは非常に柔軟性に富んでいます。&mkvmerge;はあら" -"かじめ定義された方法でファイルを書き出します。出力されたファイルはこのように" -"なります。" +#: doc/man/mkvmerge.xml:2092 +msgid "The &matroska; file layout is quite flexible. &mkvmerge; will render a file in a predefined way. The resulting file looks like this:" +msgstr "&matroska;ファイルのレイアウトは非常に柔軟性に富んでいます。&mkvmerge;はあらかじめ定義された方法でファイルを書き出します。出力されたファイルはこのようになります。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1936 -msgid "" -"[EBML head] [segment {meta seek #1} [segment information] [track " -"information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster " -"n} {cues} {meta seek #2} {tags}]" -msgstr "" -"[EBMLヘッダ] [セグメント {メタシーク #1} [セグメント情報] [トラック情報] {添" -"付ファイル} {チャプタ} [クラスタ 1] {クラスタ 2} ... {クラスタ n} {CUE} {メ" -"タシーク #2} {タグ}]" +#: doc/man/mkvmerge.xml:2096 +msgid "[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]" +msgstr "[EBMLヘッダ] [セグメント {メタシーク #1} [セグメント情報] [トラック情報] {添付ファイル} {チャプタ} [クラスタ 1] {クラスタ 2} ... {クラスタ n} {CUE} {メタシーク #2} {タグ}]" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1941 -msgid "" -"The elements in curly braces are optional and depend on the contents and " -"options used. A couple of notes:" -msgstr "" -"波括弧でくくられたエレメントは省略可能で、コンテンツと指定されたオプションに" -"依存します。いくつか注釈があります。" +#: doc/man/mkvmerge.xml:2101 +msgid "The elements in curly braces are optional and depend on the contents and options used. A couple of notes:" +msgstr "波括弧でくくられたエレメントは省略可能で、コンテンツと指定されたオプションに依存します。いくつか注釈があります。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1947 -msgid "" -"meta seek #1 includes only a small number of level 1 elements, and only if " -"they actually exist: attachments, chapters, cues, tags, meta seek #2. Older " -"versions of &mkvmerge; used to put the clusters into this meta seek element " -"as well. Therefore some imprecise guessing was necessary to reserve enough " -"space. It often failed. Now only the clusters are stored in meta seek #2, " -"and meta seek #1 refers to the meta seek element #2." -msgstr "" -"メタシーク #1は、少数のレベル1エレメント(添付ファイル、チャプタ、CUE、タグ、" -"メタシーク #2)のみを、それらが存在するときにのみ含みます。以前のバージョンの" -"&mkvmerge;は、このメタシークエレメントにクラスタも挿入していました。このた" -"め、十分なスペースを確保しておくために不正確な推測が必要で、この推測は多くの" -"場合失敗していました。現在では、クラスタのみはメタシーク #2に格納され、メタ" -"シーク #1がメタシークエレメント #2を参照しています。" +#: doc/man/mkvmerge.xml:2107 +msgid "meta seek #1 includes only a small number of level 1 elements, and only if they actually exist: attachments, chapters, cues, tags, meta seek #2. Older versions of &mkvmerge; used to put the clusters into this meta seek element as well. Therefore some imprecise guessing was necessary to reserve enough space. It often failed. Now only the clusters are stored in meta seek #2, and meta seek #1 refers to the meta seek element #2." +msgstr "メタシーク #1は、少数のレベル1エレメント(添付ファイル、チャプタ、CUE、タグ、メタシーク #2)のみを、それらが存在するときにのみ含みます。以前のバージョンの&mkvmerge;は、このメタシークエレメントにクラスタも挿入していました。このため、十分なスペースを確保しておくために不正確な推測が必要で、この推測は多くの場合失敗していました。現在では、クラスタのみはメタシーク #2に格納され、メタシーク #1がメタシークエレメント #2を参照しています。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1955 -msgid "" -"Attachment, chapter and tag elements are only present if they were added." -msgstr "" -"添付ファイル、チャプタ、及びタグエレメントはそれらが存在するときにのみ追加さ" -"れます。" +#: doc/man/mkvmerge.xml:2115 +msgid "Attachment, chapter and tag elements are only present if they were added." +msgstr "添付ファイル、チャプタ、及びタグエレメントはそれらが存在するときにのみ追加されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1960 +#: doc/man/mkvmerge.xml:2120 msgid "The shortest possible Matroska file would look like this:" msgstr "最小構成のMatroskaファイルはこのような構成になります。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1964 -msgid "" -"[EBML head] [segment [segment information] [track information] [cluster 1]]" +#: doc/man/mkvmerge.xml:2124 +msgid "[EBML head] [segment [segment information] [track information] [cluster 1]]" msgstr "[EBMLヘッダ] [セグメント [セグメント情報] [トラック情報] [クラスタ1]]" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1968 +#: doc/man/mkvmerge.xml:2128 msgid "This might be the case for audio-only files." msgstr "音声のみのファイルはこのようになるでしょう。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1973 +#: doc/man/mkvmerge.xml:2133 msgid "External timecode files" msgstr "外部タイムコードファイル" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1975 -msgid "" -"&mkvmerge; allows the user to chose the timecodes for a specific track " -"himself. This can be used in order to create files with variable frame rate " -"video or include gaps in audio. A frame in this case is the unit that " -"&mkvmerge; creates separately per &matroska; block. For video this is " -"exactly one frame, for audio this is one packet of the specific audio type. " -"E.g. for <abbrev>AC3</abbrev> this would be a packet containing " -"<constant>1536</constant> samples." -msgstr "" -"ユーザは、特定のトラックのタイムコードを自分で&mkvmerge;に指定することができ" -"ます。これは可変フレームレートビデオを含むファイルを作成するときや、オーディ" -"オに無音を挿入するときに使用できます。この場合、フレームは&matroska;ブロック" -"を作成する際の単位となります。ビデオでは、これはちょうど1フレームとなり、オー" -"ディオではこれは各オーディオタイプの1パケットとなります。例えば、" -"<abbrev>AC3</abbrev>では、これは<constant>1536</constant>サンプルを含む1パ" -"ケットとなります。" +#: doc/man/mkvmerge.xml:2135 +msgid "&mkvmerge; allows the user to chose the timecodes for a specific track himself. This can be used in order to create files with variable frame rate video or include gaps in audio. A frame in this case is the unit that &mkvmerge; creates separately per &matroska; block. For video this is exactly one frame, for audio this is one packet of the specific audio type. E.g. for <abbrev>AC3</abbrev> this would be a packet containing <constant>1536</constant> samples." +msgstr "ユーザは、特定のトラックのタイムコードを自分で&mkvmerge;に指定することができます。これは可変フレームレートビデオを含むファイルを作成するときや、オーディオに無音を挿入するときに使用できます。この場合、フレームは&matroska;ブロックを作成する際の単位となります。ビデオでは、これはちょうど1フレームとなり、オーディオではこれは各オーディオタイプの1パケットとなります。例えば、<abbrev>AC3</abbrev>では、これは<constant>1536</constant>サンプルを含む1パケットとなります。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1982 -msgid "" -"Timecode files that are used when tracks are appended to each other must " -"only be specified for the first part in a chain of tracks. For example if " -"you append two files, v1.avi and v2.avi, and want to use timecodes then your " -"command line must look something like this:" -msgstr "" -"結合されたトラックにタイムコードファイルを指定する場合は、各結合されるトラッ" -"クチェインの最初の部分にのみ指定してください。例えばv1.avi、v2.aviの二つの" -"ファイルを結合し、タイムコードを使用したいときのコマンドラインは次のようにな" -"ります。" +#: doc/man/mkvmerge.xml:2142 +msgid "Timecode files that are used when tracks are appended to each other must only be specified for the first part in a chain of tracks. For example if you append two files, v1.avi and v2.avi, and want to use timecodes then your command line must look something like this:" +msgstr "結合されたトラックにタイムコードファイルを指定する場合は、各結合されるトラックチェインの最初の部分にのみ指定してください。例えばv1.avi、v2.aviの二つのファイルを結合し、タイムコードを使用したいときのコマンドラインは次のようになります。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1987 +#: doc/man/mkvmerge.xml:2147 #, no-wrap msgid "" "mkvmerge ... --timecodes 0:my_timecodes.txt v1.avi +v2.avi\n" @@ -4987,41 +3048,22 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1991 -msgid "" -"There are four formats that are recognized by &mkvmerge;. The first line " -"always contains the version number. Empty lines, lines containing only " -"whitespace and lines beginning with '<literal>#</literal>' are ignored." -msgstr "" -"&mkvmerge;は、4つのファオーマットを認識します。最初の1行は常にバージョン番号" -"を含みます。空行、空白のみを含む行、及び'<literal>#</literal>'で始まる行は無" -"視されます。" +#: doc/man/mkvmerge.xml:2151 +msgid "There are four formats that are recognized by &mkvmerge;. The first line always contains the version number. Empty lines, lines containing only whitespace and lines beginning with '<literal>#</literal>' are ignored." +msgstr "&mkvmerge;は、4つのファオーマットを認識します。最初の1行は常にバージョン番号を含みます。空行、空白のみを含む行、及び'<literal>#</literal>'で始まる行は無視されます。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1996 +#: doc/man/mkvmerge.xml:2156 msgid "Timecode file format v1" msgstr "タイムコードファイルフォーマット v1" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1998 -msgid "" -"This format starts with the version line. The second line declares the " -"default number of frames per second. All following lines contain three " -"numbers separated by commas: the start frame (<constant>0</constant> is the " -"first frame), the end frame and the number of frames in this range. The " -"<abbrev>FPS</abbrev> is a floating point number with the dot '<literal>.</" -"literal>' as the decimal point. The ranges can contain gaps for which the " -"default <abbrev>FPS</abbrev> is used. An example:" -msgstr "" -"このフォーマットはバージョン行から始まります。2行目はデフォルトフレームレート" -"を宣言します。残りの全ての行は、コンマで区切られた3つの数字を含みます。開始フ" -"レーム(<constant>0</constant>が最初のフレームです)、終了フレーム、そしてこの" -"範囲で適用されるフレームレートです。<abbrev>FPS</abbrev>は、ドット'<literal>." -"</literal>'を小数点として持つ小数です。フレーム範囲はデフォルト<abbrev>FPS</" -"abbrev>が使用されるギャップを含むこともあります。例を下に示します。" +#: doc/man/mkvmerge.xml:2158 +msgid "This format starts with the version line. The second line declares the default number of frames per second. All following lines contain three numbers separated by commas: the start frame (<constant>0</constant> is the first frame), the end frame and the number of frames in this range. The <abbrev>FPS</abbrev> is a floating point number with the dot '<literal>.</literal>' as the decimal point. The ranges can contain gaps for which the default <abbrev>FPS</abbrev> is used. An example:" +msgstr "このフォーマットはバージョン行から始まります。2行目はデフォルトフレームレートを宣言します。残りの全ての行は、コンマで区切られた3つの数字を含みます。開始フレーム(<constant>0</constant>が最初のフレームです)、終了フレーム、そしてこの範囲で適用されるフレームレートです。<abbrev>FPS</abbrev>は、ドット'<literal>.</literal>'を小数点として持つ小数です。フレーム範囲はデフォルト<abbrev>FPS</abbrev>が使用されるギャップを含むこともあります。例を下に示します。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2005 +#: doc/man/mkvmerge.xml:2165 #, no-wrap msgid "" "# timecode format v1\n" @@ -5037,28 +3079,17 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2013 +#: doc/man/mkvmerge.xml:2173 msgid "Timecode file format v2" msgstr "タイムコードファイルフォーマット v2" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2016 -msgid "" -"In this format each line contains a timecode for the corresponding frame. " -"This timecode must be given in millisecond precision. It can be a floating " -"point number, but it doesn't have to be. You <emphasis>have to</emphasis> " -"give at least as many timecode lines as there are frames in the track. The " -"timecodes in this file must be sorted. Example for 25fps:" -msgstr "" -"このフォーマットでは、各行は対応するフレームのタイムコードを含みます。このタ" -"イムコードはミリ秒単位の精度で指定しなければなりません。小数を指定することが" -"できますが、小数でなくてもかまいません。最低でも、トラックに含まれるフレーム" -"数と同数のタイムコード行を含ま<emphasis>なければなりません</emphasis>。この" -"ファイル内のタイムコードは整列されていなければなりません。例えば、25fpsでは以" -"下のようになります。" +#: doc/man/mkvmerge.xml:2176 +msgid "In this format each line contains a timecode for the corresponding frame. This timecode must be given in millisecond precision. It can be a floating point number, but it doesn't have to be. You <emphasis>have to</emphasis> give at least as many timecode lines as there are frames in the track. The timecodes in this file must be sorted. Example for 25fps:" +msgstr "このフォーマットでは、各行は対応するフレームのタイムコードを含みます。このタイムコードはミリ秒単位の精度で指定しなければなりません。小数を指定することができますが、小数でなくてもかまいません。最低でも、トラックに含まれるフレーム数と同数のタイムコード行を含ま<emphasis>なければなりません</emphasis>。このファイル内のタイムコードは整列されていなければなりません。例えば、25fpsでは以下のようになります。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2022 +#: doc/man/mkvmerge.xml:2182 #, no-wrap msgid "" "# timecode format v2\n" @@ -5074,32 +3105,17 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2030 +#: doc/man/mkvmerge.xml:2190 msgid "Timecode file format v3" msgstr "タイムコードファイルフォーマット v3" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2032 -msgid "" -"In this format each line contains a duration in seconds followed by an " -"optional number of frames per second. Both can be floating point numbers. " -"If the number of frames per second is not present the default one is used. " -"For audio you should let the codec calculate the frame timecodes itself. " -"For that you should be using <constant>0.0</constant> as the number of " -"frames per second. You can also create gaps in the stream by using the " -"'<literal>gap</literal>' keyword followed by the duration of the gap. " -"Example for an audio file:" -msgstr "" -"このフォーマットでは、各行は秒単位の持続時間と、省略可能なフレームレートを含" -"みます。この二つは両方とも小数を指定できます。もし、フレームレートが指定され" -"ない場合はデフォルトの値が使用されます。オーディオではコーデックにタイムコー" -"ドを計算させるべきです。このためには、フレームレートとして<constant>0.0</" -"constant>を指定してください。また、'<literal>gap</literal>'キーワードの後に持" -"続時間を指定して、無音を指定することもできます。オーディオファイル用の例を示" -"します。" +#: doc/man/mkvmerge.xml:2192 +msgid "In this format each line contains a duration in seconds followed by an optional number of frames per second. Both can be floating point numbers. If the number of frames per second is not present the default one is used. For audio you should let the codec calculate the frame timecodes itself. For that you should be using <constant>0.0</constant> as the number of frames per second. You can also create gaps in the stream by using the '<literal>gap</literal>' keyword followed by the duration of the gap. Example for an audio file:" +msgstr "このフォーマットでは、各行は秒単位の持続時間と、省略可能なフレームレートを含みます。この二つは両方とも小数を指定できます。もし、フレームレートが指定されない場合はデフォルトの値が使用されます。オーディオではコーデックにタイムコードを計算させるべきです。このためには、フレームレートとして<constant>0.0</constant>を指定してください。また、'<literal>gap</literal>'キーワードの後に持続時間を指定して、無音を指定することもできます。オーディオファイル用の例を示します。" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2039 +#: doc/man/mkvmerge.xml:2199 #, no-wrap msgid "" "# timecode format v3\n" @@ -5119,61 +3135,37 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2049 +#: doc/man/mkvmerge.xml:2209 msgid "Timecode file format v4" msgstr "タイムコードファイルフォーマット v4" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2051 -msgid "" -"This format is identical to the v2 format. The only difference is that the " -"timecodes do not have to be sorted. This format should almost never be used." -msgstr "" -"このフォーマットはv2フォーマットと同一です。唯一の違いは、タイムコードが整列" -"されていなくてもいいという点です。このフォーマットが使われることはほぼ無いで" -"しょう。" +#: doc/man/mkvmerge.xml:2211 +msgid "This format is identical to the v2 format. The only difference is that the timecodes do not have to be sorted. This format should almost never be used." +msgstr "このフォーマットはv2フォーマットと同一です。唯一の違いは、タイムコードが整列されていなくてもいいという点です。このフォーマットが使われることはほぼ無いでしょう。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:2061 +#: doc/man/mkvmerge.xml:2221 msgid "&mkvmerge; exits with one of three exit codes:" msgstr "&mkvmerge;は下の3つの返り値を返します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2067 -msgid "" -"<constant>0</constant> -- This exit codes means that muxing has completed " -"successfully." -msgstr "" -"<constant>0</constant> -- この返り値はMUXが正常に終了したことを示します。" +#: doc/man/mkvmerge.xml:2227 +msgid "<constant>0</constant> -- This exit codes means that muxing has completed successfully." +msgstr "<constant>0</constant> -- この返り値はMUXが正常に終了したことを示します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2073 -msgid "" -"<constant>1</constant> -- In this case &mkvmerge; has output at least one " -"warning, but muxing did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting file might be ok or not. The user is urged to check both the " -"warning and the resulting file." -msgstr "" -"<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽" -"出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字" -"列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合により" -"ます。出力ファイルを確認することを強く推奨します。" +#: doc/man/mkvmerge.xml:2233 +msgid "<constant>1</constant> -- In this case &mkvmerge; has output at least one warning, but muxing did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting file might be ok or not. The user is urged to check both the warning and the resulting file." +msgstr "<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合によります。出力ファイルを確認することを強く推奨します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2081 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvmerge; aborts right after outputting the error message. Error messages " -"range from wrong command line arguments over read/write errors to broken " -"files." -msgstr "" -"<constant>2</constant> -- この返り値は、エラーが発生し、エラーメッセージを出" -"力した後に&mkvmerge;が処理を中断したことを示します。エラーメッセージは不正な" -"コマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" +#: doc/man/mkvmerge.xml:2241 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvmerge; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- この返り値は、エラーが発生し、エラーメッセージを出力した後に&mkvmerge;が処理を中断したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:2091 +#: doc/man/mkvmerge.xml:2251 msgid "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" msgstr "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" @@ -5189,26 +3181,13 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvpropedit.xml:51 -msgid "" -"<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg> <arg choice=\"req\">actions</arg>" -msgstr "" -"<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg>" +msgid "<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg> <arg choice=\"req\">actions</arg>" +msgstr "<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:61 -msgid "" -"This program analyses an existing &matroska; file and modifies some of its " -"properties. Then it writes those modifications to the existing file. Among " -"the properties that can be changed are the segment information elements (e." -"g. the title) and the track headers (e.g. the language code, 'default track' " -"flag or the name)." -msgstr "" -"このプログラムは、既存の&matroska;ファイルを解析し、そのプロパティのいくつか" -"を修正します。そして、それらの修正を既存のファイルに書き込みます。プロパティ" -"の中で変更可能なのは、セグメント情報エレメント(例えばタイトル)と、トラック" -"ヘッダ(例えば言語コードや'デフォルトトラック'フラグ、トラック名)です。" +msgid "This program analyses an existing &matroska; file and modifies some of its properties. Then it writes those modifications to the existing file. Among the properties that can be changed are the segment information elements (e.g. the title) and the track headers (e.g. the language code, 'default track' flag or the name)." +msgstr "このプログラムは、既存の&matroska;ファイルを解析し、そのプロパティのいくつかを修正します。そして、それらの修正を既存のファイルに書き込みます。プロパティの中で変更可能なのは、セグメント情報エレメント(例えばタイトル)と、トラックヘッダ(例えば言語コードや'デフォルトトラック'フラグ、トラック名)です。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:67 @@ -5222,45 +3201,18 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:75 -msgid "" -"Lists all known and editable property names, their type (string, integer, " -"boolean etc) and a short description. The program exits afterwards. " -"Therefore the <parameter>source-filename</parameter> parameter does not have " -"to be supplied." -msgstr "" -"既知の編集可能なプロパティの名前、型(文字列、整数、真偽値等)、短い説明を一覧" -"表示します。その後、プログラムは終了します。よって、<parameter>source-" -"filename</parameter>パラメータを指定する必要はありません。" +msgid "Lists all known and editable property names, their type (string, integer, boolean etc) and a short description. The program exits afterwards. Therefore the <parameter>source-filename</parameter> parameter does not have to be supplied." +msgstr "既知の編集可能なプロパティの名前、型(文字列、整数、真偽値等)、短い説明を一覧表示します。その後、プログラムは終了します。よって、<parameter>source-filename</parameter>パラメータを指定する必要はありません。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvpropedit.xml:82 -msgid "" -"<option>-p</option>, <option>--parse-mode</option> <parameter>mode</" -"parameter>" -msgstr "" -"<option>-p</option>, <option>--parse-mode</option> <parameter>mode</" -"parameter>" +msgid "<option>-p</option>, <option>--parse-mode</option> <parameter>mode</parameter>" +msgstr "<option>-p</option>, <option>--parse-mode</option> <parameter>mode</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:85 -msgid "" -"Sets the parse mode. The parameter '<parameter>mode</parameter>' can either " -"be '<literal>fast</literal>' (which is also the default) or '<literal>full</" -"literal>'. The '<literal>fast</literal>' mode does not parse the whole file " -"but uses the meta seek elements for locating the required elements of a " -"source file. In 99% of all cases this is enough. But for files that do not " -"contain meta seek elements or which are damaged the user might have to set " -"the '<literal>full</literal>' parse mode. A full scan of a file can take a " -"couple of minutes while a fast scan only takes seconds." -msgstr "" -"解析モードを設定します。'<parameter>mode</parameter>'パラメータ" -"は'<literal>fast</literal>'(デフォルト)と'<literal>full</literal>'のどちらか" -"を指定できます。'<literal>fast</literal>'モードはファイル全体を解析するのでは" -"なく、メタシークエレメントを使ってソースファイル内の必要なエレメントを探しま" -"す。99%の場合これで十分です。しかし、メタシークエレメントを含まないファイルや" -"破損したファイルに対しては'<literal>full</literal>'解析モードを指定する必要が" -"あるかもしれません。'<literal>full</literal>'スキャンには数分かかることがあり" -"ますが、'<literal>fast</literal>'スキャンには数秒しかかかりません。" +msgid "Sets the parse mode. The parameter '<parameter>mode</parameter>' can either be '<literal>fast</literal>' (which is also the default) or '<literal>full</literal>'. The '<literal>fast</literal>' mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to set the '<literal>full</literal>' parse mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "解析モードを設定します。'<parameter>mode</parameter>'パラメータは'<literal>fast</literal>'(デフォルト)と'<literal>full</literal>'のどちらかを指定できます。'<literal>fast</literal>'モードはファイル全体を解析するのではなく、メタシークエレメントを使ってソースファイル内の必要なエレメントを探します。99%の場合これで十分です。しかし、メタシークエレメントを含まないファイルや破損したファイルに対しては'<literal>full</literal>'解析モードを指定する必要があるかもしれません。'<literal>full</literal>'スキャンには数分かかることがありますが、'<literal>fast</literal>'スキャンには数秒しかかかりません。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:96 @@ -5269,124 +3221,71 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvpropedit.xml:101 -msgid "" -"<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" -msgstr "" -"<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" +msgid "<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" +msgstr "<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:104 -msgid "" -"Sets the &matroska; file section (segment information or a certain track's " -"headers) that all following <link linkend=\"mkvpropedit.description.add" -"\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and " -"<link linkend=\"mkvpropedit.description.delete\">delete</link> actions " -"operate on. This option can be used multiple times in order to make " -"modifications to more than one element." -msgstr "" -"このオプション以降の<link linkend=\"mkvpropedit.description.add\">add</" -"link>、<link linkend=\"mkvpropedit.description.set\">set</link>、<link " -"linkend=\"mkvpropedit.description.delete\">delete</link>アクションが適用され" -"る&matroska;ファイルセクション(セグメント情報または特定のトラックのヘッダ)を" -"指定します。このオプションは、複数のエレメントを修正するために、複数回指定す" -"ることができます。" +msgid "Sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This option can be used multiple times in order to make modifications to more than one element." +msgstr "このオプション以降の<link linkend=\"mkvpropedit.description.add\">add</link>、<link linkend=\"mkvpropedit.description.set\">set</link>、<link linkend=\"mkvpropedit.description.delete\">delete</link>アクションが適用される&matroska;ファイルセクション(セグメント情報または特定のトラックのヘッダ)を指定します。このオプションは、複数のエレメントを修正するために、複数回指定することができます。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:111 doc/man/mkvpropedit.xml:292 +msgid "By default &mkvpropedit; will edit the segment information section." +msgstr "デフォルトでは、&mkvpropedit;はセグメント情報のセクションを編集します。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:111 -msgid "" -"See the section about <link linkend=\"mkvpropedit.edit_selectors\">edit " -"selectors</link> for a full description of the syntax." -msgstr "" -"文法の完全な説明は、<link linkend=\"mkvpropedit.edit_selectors\">エディットセ" -"レクタ</link>のセクションを参照してください。" +#: doc/man/mkvpropedit.xml:115 +msgid "See the section about <link linkend=\"mkvpropedit.edit_selectors\">edit selectors</link> for a full description of the syntax." +msgstr "文法の完全な説明は、<link linkend=\"mkvpropedit.edit_selectors\">エディットセレクタ</link>のセクションを参照してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:117 -msgid "" -"<option>-a</option>, <option>--add</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" -msgstr "" -"<option>-a</option>, <option>--add</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" +#: doc/man/mkvpropedit.xml:121 +msgid "<option>-a</option>, <option>--add</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-a</option>, <option>--add</option> <parameter>name</parameter>=<parameter>value</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:120 -msgid "" -"Adds a property <parameter>name</parameter> with the value <parameter>value</" -"parameter>. The property will be added even if such a property exists " -"already. Note that most properties are unique and cannot occur more than " -"once." -msgstr "" -"<parameter>name</parameter>で指定された名前のプロパティを<parameter>value</" -"parameter>で指定した値で追加します。プロパティは、既にその名前のプロパティが" -"存在する場合も追加されます。ほとんどのプロパティは一意的で、複数回追加できな" -"いことに注意してください。" +#: doc/man/mkvpropedit.xml:124 +msgid "Adds a property <parameter>name</parameter> with the value <parameter>value</parameter>. The property will be added even if such a property exists already. Note that most properties are unique and cannot occur more than once." +msgstr "<parameter>name</parameter>で指定された名前のプロパティを<parameter>value</parameter>で指定した値で追加します。プロパティは、既にその名前のプロパティが存在する場合も追加されます。ほとんどのプロパティは一意的で、複数回追加できないことに注意してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:127 -msgid "" -"<option>-s</option>, <option>--set</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" -msgstr "" -"<option>-s</option>, <option>--set</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" +#: doc/man/mkvpropedit.xml:131 +msgid "<option>-s</option>, <option>--set</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-s</option>, <option>--set</option> <parameter>name</parameter>=<parameter>value</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:130 -msgid "" -"Sets all occurrences of the property <parameter>name</parameter> to the " -"value <parameter>value</parameter>. If no such property exists then it will " -"be added." -msgstr "" -"見付けた全ての、プロパティ名が<parameter>name</parameter>であるプロパティの値" -"を、<parameter>value</parameter>に設定します。そのようなプロパティが存在しな" -"いときは、プロパティは追加されます。" +#: doc/man/mkvpropedit.xml:134 +msgid "Sets all occurrences of the property <parameter>name</parameter> to the value <parameter>value</parameter>. If no such property exists then it will be added." +msgstr "見付けた全ての、プロパティ名が<parameter>name</parameter>であるプロパティの値を、<parameter>value</parameter>に設定します。そのようなプロパティが存在しないときは、プロパティは追加されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:137 -msgid "" -"<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" -msgstr "" -"<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" +#: doc/man/mkvpropedit.xml:141 +msgid "<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" +msgstr "<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:140 -msgid "" -"Deletes all occurrences of the property <parameter>name</parameter>. Note " -"that some properties are required and cannot be deleted." -msgstr "" -"見付けた全ての、プロパティ名が<parameter>name</parameter>であるプロパティを削" -"除します。いくつかのプロパティは必須で、削除できないことに注意してください。" +#: doc/man/mkvpropedit.xml:144 +msgid "Deletes all occurrences of the property <parameter>name</parameter>. Note that some properties are required and cannot be deleted." +msgstr "見付けた全ての、プロパティ名が<parameter>name</parameter>であるプロパティを削除します。いくつかのプロパティは必須で、削除できないことに注意してください。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:175 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定し" -"たファイルに書き出します。出力リダイレクトによっても同じことが簡単にできます" -"が、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に" -"出力を処理してしまう場合などです。<link linkend=\"mkvpropedit.description." -"output_charset\"><option>--output-charset</option></link>によって指定された文" -"字コードは尊重されます。" +#: doc/man/mkvpropedit.xml:179 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "全てのメッセージをコンソールではなく<parameter>file-name</parameter>で指定したファイルに書き出します。出力リダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に出力を処理してしまう場合などです。<link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link>によって指定された文字コードは尊重されます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:232 -msgid "" -"The command line '<command>mkvpropedit source.mkv --edit track:a2 --set " -"name=Comments</command>' could be converted into the following option file:" -msgstr "" -"'<command>mkvpropedit source.mkv --edit trach:a2 --set name=Comments</" -"command>'というコマンドラインと同じことは、次のようなオプションファイルによっ" -"て指定できます。" +#: doc/man/mkvpropedit.xml:257 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvpropedit.escaping\">the section about escaping text</link>." +msgstr "エスケープすることのできる文字もあります。例えば、コメントではない行を'#'で始める必要のある場合です。そのルールは、<link linkend=\"mkvpropedit.escaping\">エスケープ文字についてのセクション</link>で説明されています。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:262 +msgid "The command line '<command>mkvpropedit source.mkv --edit track:a2 --set name=Comments</command>' could be converted into the following option file:" +msgstr "'<command>mkvpropedit source.mkv --edit trach:a2 --set name=Comments</command>'というコマンドラインと同じことは、次のようなオプションファイルによって指定できます。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvpropedit.xml:237 +#: doc/man/mkvpropedit.xml:267 #, no-wrap msgid "" "# Modify source.mkv\n" @@ -5410,184 +3309,92 @@ " " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvpropedit.xml:252 +#: doc/man/mkvpropedit.xml:282 msgid "Edit selectors" msgstr "エディットセレクタ" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:254 -msgid "" -"The <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></" -"link> option sets the &matroska; file section (segment information or a " -"certain track's headers) that all following <link linkend=\"mkvpropedit." -"description.add\">add</link>, <link linkend=\"mkvpropedit.description.set" -"\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</" -"link> actions operate on. This stays valid until the next <link linkend=" -"\"mkvpropedit.description.edit\"><option>--edit</option></link> option is " -"found. The argument to this option is called the edit selector." -msgstr "" -"<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>" -"オプションは、以降の<link linkend=\"mkvpropedit.description.add\">add</" -"link>、<link linkend=\"mkvpropedit.description.set\">set</link>及び<link " -"linkend=\"mkvpropedit.description.delete\">delete</link>アクションが適用され" -"る&matroska;ファイルセクション(セグメント情報または特定のトラックヘッダ)を設" -"定します。これは次の<link linkend=\"mkvpropedit.description.edit\"><option>--" -"edit</option></link>オプションが見付かるまでずっと有効です。このオプションへ" -"の引数はエディットセレクタと呼ばれます。" +#: doc/man/mkvpropedit.xml:284 +msgid "The <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This stays valid until the next <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option is found. The argument to this option is called the edit selector." +msgstr "<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>オプションは、以降の<link linkend=\"mkvpropedit.description.add\">add</link>、<link linkend=\"mkvpropedit.description.set\">set</link>及び<link linkend=\"mkvpropedit.description.delete\">delete</link>アクションが適用される&matroska;ファイルセクション(セグメント情報または特定のトラックヘッダ)を設定します。これは次の<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>オプションが見付かるまでずっと有効です。このオプションへの引数はエディットセレクタと呼ばれます。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:262 +#: doc/man/mkvpropedit.xml:296 msgid "Segment information" msgstr "セグメント情報" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:264 -msgid "" -"The segment information can be selected with one of these three words: " -"'<literal>info</literal>', '<literal>segment_info</literal>' or " -"'<literal>segmentinfo</literal>'. It contains properties like the segment " -"title or the segment <abbrev>UID</abbrev>." -msgstr "" -"セグメント情報は次の3つの単語によって選択されます。'<literal>info</" -"literal>'、'<literal>segment_info</literal>'または'<literal>segmentinfo</" -"literal>'です。これはセグメントタイトルやセグメント<abbrev>UID</abbrev>などの" -"プロパティを格納しています。" +#: doc/man/mkvpropedit.xml:298 +msgid "The segment information can be selected with one of these three words: '<literal>info</literal>', '<literal>segment_info</literal>' or '<literal>segmentinfo</literal>'. It contains properties like the segment title or the segment <abbrev>UID</abbrev>." +msgstr "セグメント情報は次の3つの単語によって選択されます。'<literal>info</literal>'、'<literal>segment_info</literal>'または'<literal>segmentinfo</literal>'です。これはセグメントタイトルやセグメント<abbrev>UID</abbrev>などのプロパティを格納しています。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:270 +#: doc/man/mkvpropedit.xml:304 msgid "Track headers" msgstr "トラックヘッダ" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:272 -msgid "" -"Track headers can be selected with a slightly more complex selector. All " -"variations start with '<literal>track:</literal>'. The track header " -"properties include elements like the language code, 'default track' flag or " -"the track's name." -msgstr "" -"トラックヘッダはもうちょっとだけ複雑なセレクタで選択されます。全ての場合でセ" -"レクタは'<literal>track:</literal>'で始まります。トラックヘッダプロパティに" -"は、言語コード、'デフォルトトラック'フラグやトラック名のようなエレメントがあ" -"ります。" +#: doc/man/mkvpropedit.xml:306 +msgid "Track headers can be selected with a slightly more complex selector. All variations start with '<literal>track:</literal>'. The track header properties include elements like the language code, 'default track' flag or the track's name." +msgstr "トラックヘッダはもうちょっとだけ複雑なセレクタで選択されます。全ての場合でセレクタは'<literal>track:</literal>'で始まります。トラックヘッダプロパティには、言語コード、'デフォルトトラック'フラグやトラック名のようなエレメントがあります。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:278 +#: doc/man/mkvpropedit.xml:312 msgid "<option>track:</option><parameter>n</parameter>" msgstr "<option>track:</option><parameter>n</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:281 -msgid "" -"If the parameter <parameter>n</parameter> is a number then the <parameter>n</" -"parameter>th track will be selected. The track order is the same that " -"&mkvmerge;'s <option>--identify</option> option outputs." -msgstr "" -"パラメータ<parameter>n</parameter>が数字であれば、<parameter>n</parameter>番" -"目のトラックが選択されます。トラックの順番は、&mkvmerge;に<option>--" -"identify</option>オプションを指定すると出力されるものと同じです。" +#: doc/man/mkvpropedit.xml:315 +msgid "If the parameter <parameter>n</parameter> is a number then the <parameter>n</parameter>th track will be selected. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "パラメータ<parameter>n</parameter>が数字であれば、<parameter>n</parameter>番目のトラックが選択されます。トラックの順番は、&mkvmerge;に<option>--identify</option>オプションを指定すると出力されるものと同じです。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:288 +#: doc/man/mkvpropedit.xml:322 msgid "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" -msgstr "" -"<option>track:</option><parameter>t</parameter><parameter>n</parameter>" +msgstr "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:291 -msgid "" -"If the parameter starts with a single character <parameter>t</parameter> " -"followed by a <parameter>n</parameter> then the <parameter>n</parameter>th " -"track of a specific track type will be selected. The track type parameter " -"<parameter>t</parameter> must be one of these four characters: '<literal>a</" -"literal>' for an audio track, '<literal>b</literal>' for a button track, " -"'<literal>s</literal>' for a subtitle track and '<literal>v</literal>' for a " -"video track. The track order is the same that &mkvmerge;'s <option>--" -"identify</option> option outputs." -msgstr "" -"パラメータが一文字の英字<parameter>t</parameter>で始まり、次に<parameter>n</" -"parameter>が続く場合、あるトラックタイプで<parameter>n</parameter>番目のト" -"ラックが選択されます。トラックタイプパラメータ<parameter>t</parameter>は、" -"オーディオトラックを示す'<literal>a</literal>'、ボタントラックを示" -"す'<literal>b</literal>'、字幕トラックを示す'<literal>s</literal>'、ビデオト" -"ラックを示す'<literal>v</literal>'の四つのうちの一つでなければなりません。ト" -"ラックの順番は&mkvmerge;の<option>--identify</option>オプションで出力される順" -"番と同じです。" +#: doc/man/mkvpropedit.xml:325 +msgid "If the parameter starts with a single character <parameter>t</parameter> followed by a <parameter>n</parameter> then the <parameter>n</parameter>th track of a specific track type will be selected. The track type parameter <parameter>t</parameter> must be one of these four characters: '<literal>a</literal>' for an audio track, '<literal>b</literal>' for a button track, '<literal>s</literal>' for a subtitle track and '<literal>v</literal>' for a video track. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "パラメータが一文字の英字<parameter>t</parameter>で始まり、次に<parameter>n</parameter>が続く場合、あるトラックタイプで<parameter>n</parameter>番目のトラックが選択されます。トラックタイプパラメータ<parameter>t</parameter>は、オーディオトラックを示す'<literal>a</literal>'、ボタントラックを示す'<literal>b</literal>'、字幕トラックを示す'<literal>s</literal>'、ビデオトラックを示す'<literal>v</literal>'の四つのうちの一つでなければなりません。トラックの順番は&mkvmerge;の<option>--identify</option>オプションで出力される順番と同じです。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:301 +#: doc/man/mkvpropedit.xml:335 msgid "<option>track:</option>=<parameter>uid</parameter>" msgstr "<option>track:</option>=<parameter>uid</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:304 -msgid "" -"If the parameter starts with a '<literal>=</literal>' followed by a number " -"<parameter>uid</parameter> then the track whose track <abbrev>UID</abbrev> " -"element equals this <parameter>uid</parameter>. Track <abbrev>UIDs</abbrev> " -"can be obtained with &mkvinfo;." -msgstr "" -"パラメータが'<literal>=</literal>'で始まり、次に<parameter>uid</parameter>が" -"続く場合は、トラック<abbrev>UID</abbrev>エレメントが<parameter>uid</" -"parameter>のトラックが選択されます。トラック<abbrev>UID</abbrev>は&mkvinfo;で" -"取得できます。" +#: doc/man/mkvpropedit.xml:338 +msgid "If the parameter starts with a '<literal>=</literal>' followed by a number <parameter>uid</parameter> then the track whose track <abbrev>UID</abbrev> element equals this <parameter>uid</parameter>. Track <abbrev>UIDs</abbrev> can be obtained with &mkvinfo;." +msgstr "パラメータが'<literal>=</literal>'で始まり、次に<parameter>uid</parameter>が続く場合は、トラック<abbrev>UID</abbrev>エレメントが<parameter>uid</parameter>のトラックが選択されます。トラック<abbrev>UID</abbrev>は&mkvinfo;で取得できます。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:311 +#: doc/man/mkvpropedit.xml:345 msgid "<option>track:</option>@<parameter>number</parameter>" msgstr "<option>track:</option>@<parameter>number</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:314 -msgid "" -"If the parameter starts with a '<literal>@</literal>' followed by a number " -"<parameter>number</parameter> then the track whose track number element " -"equals this <parameter>number</parameter>. Track number can be obtained with " -"&mkvinfo;." -msgstr "" -"パラメータが'<literal>@</literal>'で始まり、次に<parameter>number</parameter>" -"が続く場合は、トラックナンバーエレメントが<parameter>number</parameter>と等し" -"いトラックが選択されます。トラックナンバーは&mkvinfo;で取得できます。" +#: doc/man/mkvpropedit.xml:348 +msgid "If the parameter starts with a '<literal>@</literal>' followed by a number <parameter>number</parameter> then the track whose track number element equals this <parameter>number</parameter>. Track number can be obtained with &mkvinfo;." +msgstr "パラメータが'<literal>@</literal>'で始まり、次に<parameter>number</parameter>が続く場合は、トラックナンバーエレメントが<parameter>number</parameter>と等しいトラックが選択されます。トラックナンバーは&mkvinfo;で取得できます。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:323 +#: doc/man/mkvpropedit.xml:357 msgid "Notes" msgstr "注意" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:325 -msgid "" -"Due to the nature of the track edit selectors it is possible that several " -"selectors actually match the same track headers. In such cases all actions " -"for those edit selectors will be combined and executed in the order in which " -"they're given on the command line." -msgstr "" -"トラックエディットセレクタの性質から、いくつかのセレクタが同じトラックヘッダ" -"にマッチすることがあります。このような場合、それらのエディットセレクタへの全" -"てのアクションは一つにまとめられ、コマンドラインに指定された順番に実行されま" -"す。" +#: doc/man/mkvpropedit.xml:359 +msgid "Due to the nature of the track edit selectors it is possible that several selectors actually match the same track headers. In such cases all actions for those edit selectors will be combined and executed in the order in which they're given on the command line." +msgstr "トラックエディットセレクタの性質から、いくつかのセレクタが同じトラックヘッダにマッチすることがあります。このような場合、それらのエディットセレクタへの全てのアクションは一つにまとめられ、コマンドラインに指定された順番に実行されます。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:334 -msgid "" -"The following example edits a file called '<literal>movie.mkv</literal>'. It " -"sets the segment title and modifies the language code of an audio and a " -"subtitle track. Note that this example can be shortened by leaving out the " -"first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</" -"option></link> option because editing the segment information element is the " -"default for all options found before the first <link linkend=\"mkvpropedit." -"description.edit\"><option>--edit</option></link> option anyway." -msgstr "" -"下に'<literal>movie.mkv</literal>'というファイルを編集する例を示します。この" -"例では、セグメントタイトルを設定し、オーディオトラックと字幕トラックの言語" -"コードを修正します。この例は、最初の<link linkend=\"mkvpropedit.description." -"edit\"><option>--edit</option></link>オプションが見付かる前の全てのオプション" -"はデフォルトで結局セグメント情報エレメントを編集するので、最初の<link " -"linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>オプ" -"ションを省略して短縮できることに注意してください。" +#: doc/man/mkvpropedit.xml:368 +msgid "The following example edits a file called '<literal>movie.mkv</literal>'. It sets the segment title and modifies the language code of an audio and a subtitle track. Note that this example can be shortened by leaving out the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option because editing the segment information element is the default for all options found before the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option anyway." +msgstr "下に'<literal>movie.mkv</literal>'というファイルを編集する例を示します。この例では、セグメントタイトルを設定し、オーディオトラックと字幕トラックの言語コードを修正します。この例は、最初の<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>オプションが見付かる前の全てのオプションはデフォルトで結局セグメント情報エレメントを編集するので、最初の<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link>オプションを省略して短縮できることに注意してください。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvpropedit.xml:341 +#: doc/man/mkvpropedit.xml:375 #, no-wrap msgid "" "$ mkvpropedit movie.mkv --edit info --set \"title=The movie\" --edit track:a1 --set language=fre --edit track:a2 --set language=ita\n" @@ -5597,69 +3404,42 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:345 -msgid "" -"The second example removes the 'default track flag' from the first subtitle " -"track and sets it for the second one. Note that &mkvpropedit;, unlike " -"&mkvmerge;, does not set the 'default track flag' of other tracks to '0' if " -"it is set to '1' for a different track automatically." -msgstr "" -"二番目の例は、最初の字幕トラックから'デフォルトトラックフラグ'を削除し二番目" -"の字幕トラックに設定します。&mkvpropedit;は&mkvmerge;とは違い、'デフォルトト" -"ラックフラグ'が違うトラックで'1'に設定されているからといって自動的に他のト" -"ラックの'デフォルトトラックフラグ'を'0'に設定はしない、という点に注意してくだ" -"さい。" +#: doc/man/mkvpropedit.xml:379 +msgid "The second example removes the 'default track flag' from the first subtitle track and sets it for the second one. Note that &mkvpropedit;, unlike &mkvmerge;, does not set the 'default track flag' of other tracks to '0' if it is set to '1' for a different track automatically." +msgstr "二番目の例は、最初の字幕トラックから'デフォルトトラックフラグ'を削除し二番目の字幕トラックに設定します。&mkvpropedit;は&mkvmerge;とは違い、'デフォルトトラックフラグ'が違うトラックで'1'に設定されているからといって自動的に他のトラックの'デフォルトトラックフラグ'を'0'に設定はしない、という点に注意してください。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvpropedit.xml:351 +#: doc/man/mkvpropedit.xml:385 #, no-wrap msgid "" -"$ mkvpropedit movie.mkv --edit tracks:s1 --set flag-default=0 --edit tracks:s2 --set flag-default=1\n" +"$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" " " msgstr "" -"$ mkvpropedit movie.mkv --edit tracks:s1 --set flag-default=0 --edit tracks:s2 --set flag-default=1\n" +"$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:359 +#: doc/man/mkvpropedit.xml:393 msgid "&mkvpropedit; exits with one of three exit codes:" msgstr "&mkvpropedit;は下の3つの返り値を返します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:365 -msgid "" -"<constant>0</constant> -- This exit codes means that the modification has " -"completed successfully." +#: doc/man/mkvpropedit.xml:399 +msgid "<constant>0</constant> -- This exit codes means that the modification has completed successfully." msgstr "<constant>0</constant> -- この返り値は変更が成功したことを示します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:371 -msgid "" -"<constant>1</constant> -- In this case &mkvpropedit; has output at least one " -"warning, but the modification did continue. A warning is prefixed with the " -"text '<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting files might be ok or not. The user is urged to check both the " -"warning and the resulting files." -msgstr "" -"<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽" -"出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字" -"列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合により" -"ます。出力ファイルを確認することを強く推奨します。" +#: doc/man/mkvpropedit.xml:405 +msgid "<constant>1</constant> -- In this case &mkvpropedit; has output at least one warning, but the modification did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- この返り値は、一つ以上の警告が出力されましたが、抽出が続行されたことを意味します。警告は '<literal>警告:</literal>' という文字列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合によります。出力ファイルを確認することを強く推奨します。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:379 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvpropedit; aborts right after outputting the error message. Error " -"messages range from wrong command line arguments over read/write errors to " -"broken files." -msgstr "" -"この返り値は、エラーが発生し、エラーメッセージを表示した直後に&mkvpropedit;が" -"終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエ" -"ラー、壊れたファイルなど様々です。" +#: doc/man/mkvpropedit.xml:413 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvpropedit; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "この返り値は、エラーが発生し、エラーメッセージを表示した直後に&mkvpropedit;が終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:389 +#: doc/man/mkvpropedit.xml:435 msgid "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" msgstr "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" @@ -5675,84 +3455,55 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mmg.xml:51 -msgid "" -"<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</" -"arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file." -"mmg</arg> <arg>source-file.ext</arg> </group>" -msgstr "" -"<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</" -"arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file." -"mmg</arg> <arg>source-file.ext</arg> </group>" +msgid "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file.mmg</arg> <arg>source-file.ext</arg> </group>" +msgstr "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file.mmg</arg> <arg>source-file.ext</arg> </group>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:66 -msgid "" -"&mmg; is a <productname>wxWindows</productname> based <abbrev>GUI</abbrev> " -"for &mkvmerge;. It offers easy access to all of &mkvmerge;'s options. All " -"settings (e.g. source files, track options etc) can be saved and restored. " -"Included is a chapter editor that can read <abbrev>OGM</abbrev> style and " -"&xml; style chapter files, write &xml; style chapter files and even read " -"chapters from &matroska; files and write chapters directly to &matroska; " -"files. Included is also a header editor that can be used to quickly change " -"properties of existing &matroska; files without needing a complete remux." -msgstr "" -"&mmg;は、<productname>wxWindows</productname>ベースの&mkvmerge;の" -"<abbrev>GUI</abbrev>です。&mkvmerge;の全てのオプションを簡単に使用できます。" -"全ての設定(例:ソースファイル、トラックオプションなど)は保存・読み込みが可能" -"です。&matroska;ファイルからチャプタ情報を読みこむことができ、また" -"<abbrev>OGM</abbrev>形式、&xml;形式のチャプタファイルを読み込み可能で、&xml;" -"形式に書き出し可能なチャプタエディタが搭載されています。さらに、既存の" -"&matroska;ファイルのヘッダを再MUXすることなく書き換え可能なヘッダエディタも搭" -"載されています。" +msgid "&mmg; is a <productname>wxWindows</productname> based <abbrev>GUI</abbrev> for &mkvmerge;. It offers easy access to all of &mkvmerge;'s options. All settings (e.g. source files, track options etc) can be saved and restored. Included is a chapter editor that can read <abbrev>OGM</abbrev> style and &xml; style chapter files, write &xml; style chapter files and even read chapters from &matroska; files and write chapters directly to &matroska; files. Included is also a header editor that can be used to quickly change properties of existing &matroska; files without needing a complete remux." +msgstr "&mmg;は、<productname>wxWindows</productname>ベースの&mkvmerge;の<abbrev>GUI</abbrev>です。&mkvmerge;の全てのオプションを簡単に使用できます。全ての設定(例:ソースファイル、トラックオプションなど)は保存・読み込みが可能です。&matroska;ファイルからチャプタ情報を読みこむことができ、また<abbrev>OGM</abbrev>形式、&xml;形式のチャプタファイルを読み込み可能で、&xml;形式に書き出し可能なチャプタエディタが搭載されています。さらに、既存の&matroska;ファイルのヘッダを再MUXすることなく書き換え可能なヘッダエディタも搭載されています。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:74 -msgid "" -"&mmg; knows few options. The first possibility is to start it with a single " -"file name. If that file name's extenion is '<literal>.mmg</literal>' then it " -"will be treated as a preferences file and &mmg; will load its setting when " -"it starts. Otherwise the name is interpreted as being the name of an input " -"file which will be added." -msgstr "" -"&mmg;はあまり多くのオプションをとりません。最初に考えられるのは、一つのファイ" -"ル名を指定することです。もし、ファイル名の拡張が'<literal>.mmg</literal>'であ" -"れば、そのファイルは設定ファイルとして扱われ、&mmg;はスタート時に設定を読み込" -"みます。もしそうでなければ、ファイル名は入力ファイルとして追加されるファイル" -"の名前として扱われます。" +msgid "&mmg; knows few options. The first possibility is to start it with a single file name. If that file name's extenion is '<literal>.mmg</literal>' then it will be treated as a preferences file and &mmg; will load its setting when it starts. Otherwise the name is interpreted as being the name of an input file which will be added." +msgstr "&mmg;はあまり多くのオプションをとりません。最初に考えられるのは、一つのファイル名を指定することです。もし、ファイル名の拡張が'<literal>.mmg</literal>'であれば、そのファイルは設定ファイルとして扱われ、&mmg;はスタート時に設定を読み込みます。もしそうでなければ、ファイル名は入力ファイルとして追加されるファイルの名前として扱われます。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:80 -msgid "" -"The second operation mode is invoked with the option <option>--edit-headers</" -"option> and a file name. This lets &mmg; run its header editor and load the " -"file." -msgstr "" -"二番目の動作モードに入るには、<option>--edit-headers</option>オプションをファ" -"イル名と共に指定します。すると、&mmg;はヘッダエディタを立ち上げ、ファイルを読" -"み込みます。" +msgid "The second operation mode is invoked with the option <option>--edit-headers</option> and a file name. This lets &mmg; run its header editor and load the file." +msgstr "二番目の動作モードに入るには、<option>--edit-headers</option>オプションをファイル名と共に指定します。すると、&mmg;はヘッダエディタを立ち上げ、ファイルを読み込みます。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:85 -msgid "" -"The full documentation is available in HTML form (<filename>doc/mkvmerge-gui." -"html</filename>)." -msgstr "" -"完全なドキュメントは、HTML形式で存在します。(<filename>doc/mkvmerge-gui." -"html</filename>)" +msgid "The full documentation is available in HTML form (<filename>doc/mkvmerge-gui.html</filename>)." +msgstr "完全なドキュメントは、HTML形式で存在します。(<filename>doc/mkvmerge-gui.html</filename>)" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:92 msgid "&mkvmerge;, &mkvextract;, &mkvinfo;, &mkvpropedit;" msgstr "&mkvmerge; &mkvextract;, &mkvinfo;, &mkvpropedit;" +#, fuzzy +#~| msgid "Subtitles" +#~ msgid "--title" +#~ msgstr "字幕" + +#, fuzzy +#~| msgid "Chapters" +#~ msgid "--no-chapters" +#~ msgstr "チャプタ" + +#~ msgid "Sets the stereo mode for the video track with the track ID <parameter>TID</parameter>. The mode can either be a number <parameter>n</parameter> between <constant>0</constant> and <constant>3</constant> or one of the keywords '<literal>none</literal>' (same as <parameter>n</parameter>=<constant>0</constant>), '<literal>right</literal>' (same as <parameter>n</parameter>=<constant>1</constant>), '<literal>left</literal>' (same as <parameter>n</parameter>=<constant>2</constant>) or '<literal>both</literal>' (same as <parameter>n</parameter>=<constant>3</constant>)." +#~ msgstr "トラックIDが<parameter>TID</parameter>のビデオトラックのステレオモードを設定します。モードは<constant>0</constant>から<constant>3</constant>までの数字<parameter>n</parameter>、又は'<literal>none</literal>'(<parameter>n</parameter>=<constant>0</constant>と同等)、'<literal>right</literal>'(<parameter>n</parameter>=<constant>1</constant>と同等)、'<literal>left</literal>'(<parameter>n</parameter>=<constant>2</constant>と同等)、及び'<literal>both</literal>'(<parameter>n</parameter>=<constant>3</constant>と同等)のうちのどれかを<parameter>keyword</parameter>として指定しなければなりません。" + +#~ msgid "Syntax: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +#~ msgstr "書式: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" + +#~ msgid "Reads additional command line arguments from the file <parameter>options-file</parameter>. Lines whose first non-whitespace character is a hash mark ('<literal>#</literal>') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option. There is no meta character escaping." +#~ msgstr "<parameter>options-file</parameter>で指定されたファイルから追加のコマンドラインオプションを読み込みます。行で最初の空白文字でない文字がハッシュマーク('<literal>#</literal>')である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。メタキャラクタのエスケープは必要ありません。" + #~ msgid "<option>--no-ogg</option>" #~ msgstr "<option>--no-ogg</option>" -#~ msgid "" -#~ "Only valid for <abbrev>FLAC</abbrev> tracks. Normally <abbrev>FLAC</" -#~ "abbrev> tracks are embedded in an Ogg transport stream. With this switch " -#~ "they are extracted to raw <abbrev>FLAC</abbrev> files instead." -#~ msgstr "" -#~ "<abbrev>FLAC</abbrev>トラックに以外には無効です。通常、<abbrev>FLAC</" -#~ "abbrev>トラックはOgg transport streamに埋め込まれますが、このスイッチを指" -#~ "定すると、生の<abbrev>FLAC</abbrev>ファイルが代わりに抽出されます。" +#~ msgid "Only valid for <abbrev>FLAC</abbrev> tracks. Normally <abbrev>FLAC</abbrev> tracks are embedded in an Ogg transport stream. With this switch they are extracted to raw <abbrev>FLAC</abbrev> files instead." +#~ msgstr "<abbrev>FLAC</abbrev>トラックに以外には無効です。通常、<abbrev>FLAC</abbrev>トラックはOgg transport streamに埋め込まれますが、このスイッチを指定すると、生の<abbrev>FLAC</abbrev>ファイルが代わりに抽出されます。" diff -Nru mkvtoolnix-4.0.0/doc/man/po4a/po/nl.po mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/nl.po --- mkvtoolnix-4.0.0/doc/man/po4a/po/nl.po 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/nl.po 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,3649 @@ +# Copyright (C) 2010 Moritz Bunkus +# This file is distributed under the same license as the mkvtoolnix package. +# +# Moritz Bunkus <moritz@bunkus.org> 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: Nederlands 4.0.0.\n" +"POT-Creation-Date: 2011-01-21 14:26+0100\n" +"PO-Revision-Date: 2011-01-24 17:22+0100\n" +"Last-Translator: René Maassen <bmom43@hotmail.com>\n" +"Language-Team: Nederlands rc1 <bmom43@hotmail.com>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Dutch\n" +"X-Poedit-Country: NETHERLANDS\n" +"X-Poedit-SourceCharset: utf-8\n" + +#. type: Content of the product entity +#: doc/man/mkvextract.xml:5 +msgid "mkvextract" +msgstr "mkvextract" + +#. type: Content of the version entity +#: doc/man/mkvextract.xml:6 +#: doc/man/mkvinfo.xml:6 +#: doc/man/mkvmerge.xml:6 +#: doc/man/mkvpropedit.xml:6 +#: doc/man/mmg.xml:6 +msgid "4.5.0" +msgstr "4.5.0" + +#. type: Content of the date entity +#: doc/man/mkvextract.xml:7 +#: doc/man/mkvinfo.xml:7 +#: doc/man/mkvmerge.xml:7 +#: doc/man/mkvpropedit.xml:7 +#: doc/man/mmg.xml:7 +#| msgid "2010-09-04" +msgid "2010-10-31" +msgstr "2010-10-31" + +#. type: Content of the mkvmerge entity +#: doc/man/mkvextract.xml:9 +#: doc/man/mkvinfo.xml:9 +#: doc/man/mkvmerge.xml:9 +#: doc/man/mkvpropedit.xml:9 +#: doc/man/mmg.xml:9 +msgid "<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</manvolnum></citerefentry>" + +#. type: Content of the mkvinfo entity +#: doc/man/mkvextract.xml:10 +#: doc/man/mkvinfo.xml:10 +#: doc/man/mkvmerge.xml:10 +#: doc/man/mkvpropedit.xml:10 +#: doc/man/mmg.xml:10 +msgid "<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>" + +#. type: Content of the mkvextract entity +#: doc/man/mkvextract.xml:11 +#: doc/man/mkvinfo.xml:11 +#: doc/man/mkvmerge.xml:11 +#: doc/man/mkvpropedit.xml:11 +#: doc/man/mmg.xml:11 +msgid "<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>" + +#. type: Content of the mkvpropedit entity +#: doc/man/mkvextract.xml:12 +#: doc/man/mkvinfo.xml:12 +#: doc/man/mkvmerge.xml:12 +#: doc/man/mkvpropedit.xml:12 +#: doc/man/mmg.xml:12 +msgid "<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</manvolnum></citerefentry>" + +#. type: Content of the mmg entity +#: doc/man/mkvextract.xml:13 +#: doc/man/mkvinfo.xml:13 +#: doc/man/mkvmerge.xml:13 +#: doc/man/mkvpropedit.xml:13 +#: doc/man/mmg.xml:13 +msgid "<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>" + +#. type: Content of the matroska entity +#: doc/man/mkvextract.xml:15 +#: doc/man/mkvinfo.xml:15 +#: doc/man/mkvmerge.xml:15 +#: doc/man/mkvpropedit.xml:15 +#: doc/man/mmg.xml:15 +msgid "<productname>Matroska</productname>" +msgstr "<productname>Matroska</productname>" + +#. type: Content of the oggvorbis entity +#: doc/man/mkvextract.xml:16 +#: doc/man/mkvinfo.xml:16 +#: doc/man/mkvmerge.xml:16 +#: doc/man/mkvpropedit.xml:16 +#: doc/man/mmg.xml:16 +msgid "<productname>OggVorbis</productname>" +msgstr "<productname>OggVorbis</productname>" + +#. type: Content of the xml entity +#: doc/man/mkvextract.xml:17 +#: doc/man/mkvinfo.xml:17 +#: doc/man/mkvmerge.xml:17 +#: doc/man/mkvpropedit.xml:17 +#: doc/man/mmg.xml:17 +msgid "<abbrev>XML</abbrev>" +msgstr "<abbrev>XML</abbrev>" + +#. type: Attribute 'lang' of: <refentry> +#: doc/man/mkvextract.xml:21 +#: doc/man/mkvinfo.xml:21 +#: doc/man/mkvmerge.xml:21 +#: doc/man/mkvpropedit.xml:21 +#: doc/man/mmg.xml:21 +msgid "en" +msgstr "nl" + +#. type: Content of: <refentry><refentryinfo> +#: doc/man/mkvextract.xml:23 +#: doc/man/mkvinfo.xml:23 +#: doc/man/mkvmerge.xml:23 +#: doc/man/mkvpropedit.xml:23 +#: doc/man/mmg.xml:23 +msgid "<productname>&product;</productname> <date>&date;</date>" +msgstr "<productname>&product;</productname> <date>&date;</date>" + +#. type: Content of: <refentry><refentryinfo><authorgroup><author><contrib> +#: doc/man/mkvextract.xml:27 +#: doc/man/mkvinfo.xml:27 +#: doc/man/mkvmerge.xml:27 +#: doc/man/mkvpropedit.xml:27 +#: doc/man/mmg.xml:27 +msgid "Developer" +msgstr "Ontwikkelaar" + +#. type: Content of: <refentry><refentryinfo><authorgroup><author><firstname> +#: doc/man/mkvextract.xml:28 +#: doc/man/mkvinfo.xml:28 +#: doc/man/mkvmerge.xml:28 +#: doc/man/mkvpropedit.xml:28 +#: doc/man/mmg.xml:28 +msgid "Moritz" +msgstr "Moritz" + +#. type: Content of: <refentry><refentryinfo><authorgroup><author><surname> +#: doc/man/mkvextract.xml:29 +#: doc/man/mkvinfo.xml:29 +#: doc/man/mkvmerge.xml:29 +#: doc/man/mkvpropedit.xml:29 +#: doc/man/mmg.xml:29 +msgid "Bunkus" +msgstr "Bunkus" + +#. type: Content of: <refentry><refentryinfo><authorgroup><author><email> +#: doc/man/mkvextract.xml:30 +#: doc/man/mkvinfo.xml:30 +#: doc/man/mkvmerge.xml:30 +#: doc/man/mkvpropedit.xml:30 +#: doc/man/mmg.xml:30 +msgid "moritz@bunkus.org" +msgstr "moritz@bunkus.org" + +#. type: Content of: <refentry><refnamediv><refname> +#: doc/man/mkvextract.xml:35 +#: doc/man/mkvextract.xml:44 +#: doc/man/mkvinfo.xml:35 +#: doc/man/mkvinfo.xml:44 +#: doc/man/mkvmerge.xml:35 +#: doc/man/mkvmerge.xml:44 +#: doc/man/mkvpropedit.xml:35 +#: doc/man/mkvpropedit.xml:44 +#: doc/man/mmg.xml:35 +#: doc/man/mmg.xml:44 +msgid "&product;" +msgstr "&product;" + +#. type: Content of: <refentry><refmeta><manvolnum> +#: doc/man/mkvextract.xml:36 +#: doc/man/mkvinfo.xml:36 +#: doc/man/mkvmerge.xml:36 +#: doc/man/mkvpropedit.xml:36 +#: doc/man/mmg.xml:36 +msgid "1" +msgstr "1" + +#. type: Content of: <refentry><refmeta><refmiscinfo> +#: doc/man/mkvextract.xml:37 +#: doc/man/mkvinfo.xml:37 +#: doc/man/mkvmerge.xml:37 +#: doc/man/mkvpropedit.xml:37 +#: doc/man/mmg.xml:37 +msgid "&version;" +msgstr "&version;" + +#. type: Content of: <refentry><refmeta><refmiscinfo> +#: doc/man/mkvextract.xml:38 +#: doc/man/mkvinfo.xml:38 +#: doc/man/mkvmerge.xml:38 +#: doc/man/mkvpropedit.xml:38 +#: doc/man/mmg.xml:38 +msgid "&date;" +msgstr "&date;" + +#. type: Content of: <refentry><refmeta><refmiscinfo> +#: doc/man/mkvextract.xml:39 +#: doc/man/mkvinfo.xml:39 +#: doc/man/mkvpropedit.xml:39 +#: doc/man/mmg.xml:39 +msgid "MkvToolNix" +msgstr "MkvToolNix" + +#. type: Content of: <refentry><refmeta><refmiscinfo> +#: doc/man/mkvextract.xml:40 +#: doc/man/mkvinfo.xml:40 +#: doc/man/mkvmerge.xml:40 +#: doc/man/mkvpropedit.xml:40 +#: doc/man/mmg.xml:40 +msgid "User Commands" +msgstr "Gebruiker commando's" + +#. type: Content of: <refentry><refnamediv><refpurpose> +#: doc/man/mkvextract.xml:45 +msgid "extract tracks from &matroska; files into other files" +msgstr "haalt sporen uit &matroska; bestanden en plaatst die in andere bestanden" + +#. type: Content of: <refentry><refsynopsisdiv><title> +#: doc/man/mkvextract.xml:49 +#: doc/man/mkvinfo.xml:49 +#: doc/man/mkvmerge.xml:49 +#: doc/man/mkvpropedit.xml:49 +#: doc/man/mmg.xml:49 +msgid "Synopsis" +msgstr "Beknopte inhoudsbeschrijving" + +#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> +#: doc/man/mkvextract.xml:51 +msgid "<command>mkvextract</command> <arg choice=\"req\">mode</arg> <arg choice=\"req\">source-filename</arg> <arg>options</arg> <arg>extraction-spec</arg>" +msgstr "<command>mkvextract</command> <arg choice=\"req\">mode</arg> <arg choice=\"req\">source-filename</arg> <arg>options</arg> <arg>extraction-spec</arg>" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:60 +#: doc/man/mkvinfo.xml:58 +#: doc/man/mkvmerge.xml:65 +#: doc/man/mkvpropedit.xml:59 +#: doc/man/mmg.xml:64 +msgid "Description" +msgstr "Beschrijving" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:62 +msgid "This program extracts specific parts from a &matroska; file to other useful formats. The first argument, <option>mode</option>, tells &mkvextract; what to extract. Currently supported is the extraction of <link linkend=\"mkvextract.description.tracks\">tracks</link>, <link linkend=\"mkvextract.description.tags\">tags</link>, <link linkend=\"mkvextract.description.attachments\">attachments</link>, <link linkend=\"mkvextract.description.chapters\">chapters</link>, <link linkend=\"mkvextract.description.cuesheets\">CUE sheets</link> and <link linkend=\"mkvextract.description.timecodes_v2\">timecodes</link>. The second argument is the name of the source file. It must be a &matroska; file. All following arguments are options and extraction specifications; both of which depend on the selected mode." +msgstr "Dit programma haalt specifieke delen uit &matroska; bestanden naar andere zeer bruikbare formaten. Het eerste argument, <option>mode</option>, vertelt &mkvextract; wat eruit te halen. Momenteel wordt het uithalen ondersteund van <link linkend=\"mkvextract.description.tracks\">sporen</link>, <link linkend=\"mkvextract.description.tags\">markeringen</link>, <link linkend=\"mkvextract.description.attachments\">bijlagen</link>, <link linkend=\"mkvextract.description.chapters\">hoofdstukken</link>, <link linkend=\"mkvextract.description.cuesheets\">volg document(en) (cue)</link> en <link linkend=\"mkvextract.description.timecodes_v2\">tijd coderingen</link>. Het tweede argument is de bron bestandsnaam. Het moet zijn een &matroska; bestand. Alle volgende argumenten zijn opties en de 'uit te halen' sepcificaties; Die beiden van de geselecteerde wijze afhangen." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:71 +msgid "Common options" +msgstr "Algemene opties" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:74 +msgid "The following options are available in all modes and only described once in this section." +msgstr "De volgende opties zijn beschikbaar in alle modes en worden slechts éénmaal beschreven in deze sectie." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:79 +msgid "<option>-f</option>, <option>--parse-fully</option>" +msgstr "<option>-f</option>, <option>--parse-fully</option>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:82 +msgid "Sets the parse mode to 'full'. The default mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to use this mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "Stelt de ontleedt mode in op 'volledig'. De standaard waarde ontleedt niet het gehele bestand maar gebruikt de 'meta zoek' elemen(en) voor het lokaliseren van de vereiste elementen van een bronbestand. In 99% van alle gevallen is dit genoeg. Maar voor bestanden die het 'meta zoek' element niet bevatten of voor bestanden die zijn beschadigd kan deze gebruiker mode erg handig zijn. Een volledige scan kan een aantal minuten in beslag nemen terwijl een 'snelle' scan slechts enkele seconden duren." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:91 +#: doc/man/mkvinfo.xml:129 +#: doc/man/mkvmerge.xml:1234 +#: doc/man/mkvpropedit.xml:156 +msgid "<option>--command-line-charset</option> <parameter>character-set</parameter>" +msgstr "<option>--command-line-charset</option> <parameter>(karakter-set)</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:94 +#: doc/man/mkvinfo.xml:132 +#: doc/man/mkvpropedit.xml:159 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale." +msgstr "Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:101 +#: doc/man/mkvinfo.xml:139 +#: doc/man/mkvmerge.xml:1247 +#: doc/man/mkvpropedit.xml:166 +msgid "<option>--output-charset</option> <parameter>character-set</parameter>" +msgstr "<option>--output-charset</option> <parameter>(karakter-set)</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:104 +#: doc/man/mkvinfo.xml:142 +#: doc/man/mkvmerge.xml:1250 +#: doc/man/mkvpropedit.xml:169 +msgid "Sets the character set to which strings are converted that are to be output. It defaults to the character set given by system's current locale." +msgstr "Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:111 +#: doc/man/mkvinfo.xml:149 +#: doc/man/mkvmerge.xml:1257 +#: doc/man/mkvpropedit.xml:176 +msgid "<option>-r</option>, <option>--redirect-output</option> <parameter>file-name</parameter>" +msgstr "<option>-r</option>, <option>--redirect-output</option> <parameter>(bestandsnaam)</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:114 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "Schrijft alle berichten naar een bestand <parameter>file-name</parameter> i.p.v naar het 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan, er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a her-interpreteert, voordat het geschreven wordt naar het uitvoer bestand. De karakter set met <link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link> is toegewezen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:123 +#: doc/man/mkvinfo.xml:161 +#: doc/man/mkvmerge.xml:1268 +#: doc/man/mkvpropedit.xml:188 +msgid "<option>--ui-language</option> <parameter>code</parameter>" +msgstr "<option>--ui-language</option> <parameter>code</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:126 +#: doc/man/mkvpropedit.xml:191 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvextract; to output a list of available translations." +msgstr "Forceert de vertaling voor de te gebruiken taal <parameter>code</parameter> (b.v. '<literal>de_DE</literal>' voor de Duitse taal). Hoewel het de voorkeur heeft de 'omgevings variabelen' te gebruiken <varname>LANG</varname>, <varname>LC_MESSAGES</varname> en <varname>LC_ALL</varname>. Opvragen van een '<literal>list</literal>' als een <parameter>code</parameter> zal voor zorgen dat &mkvextract; een lijst zal uitvoeren van alle beschikbaren vertalingen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:135 +#: doc/man/mkvinfo.xml:173 +#: doc/man/mkvmerge.xml:84 +#: doc/man/mkvpropedit.xml:200 +msgid "<option>-v</option>, <option>--verbose</option>" +msgstr "<option>-v</option>, <option>--verbose</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:138 +#: doc/man/mkvpropedit.xml:203 +msgid "Be verbose and show all the important &matroska; elements as they're read." +msgstr "Wees uitgebreid en toon alle belangrijke &matroska; elementen zoals ze zijn gelezen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:144 +#: doc/man/mkvinfo.xml:183 +#: doc/man/mkvmerge.xml:1345 +#: doc/man/mkvpropedit.xml:209 +msgid "<option>-h</option>, <option>--help</option>" +msgstr "<option>-h</option>, <option>--help</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:147 +#: doc/man/mkvinfo.xml:186 +#: doc/man/mkvmerge.xml:1348 +#: doc/man/mkvpropedit.xml:212 +msgid "Show usage information and exit." +msgstr "Toon gebruik informatie en sluit af." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:153 +#: doc/man/mkvinfo.xml:192 +#: doc/man/mkvmerge.xml:1354 +#: doc/man/mkvpropedit.xml:218 +msgid "<option>-V</option>, <option>--version</option>" +msgstr "<option>-V</option>, <option>--version</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:156 +#: doc/man/mkvinfo.xml:195 +#: doc/man/mkvmerge.xml:1357 +#: doc/man/mkvpropedit.xml:221 +msgid "Show version information and exit." +msgstr "Toon versie informatie en sluit af." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:162 +#: doc/man/mkvinfo.xml:201 +#: doc/man/mkvmerge.xml:1363 +#: doc/man/mkvpropedit.xml:227 +#| msgid "<option>--no-cues</option>" +msgid "<option>--check-for-updates</option>" +msgstr "<option>--check-for-updates</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:165 +#: doc/man/mkvinfo.xml:204 +#: doc/man/mkvmerge.xml:1366 +#: doc/man/mkvpropedit.xml:230 +msgid "Checks online for new releases by downloading the URL <uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri>. Four lines will be output in <literal>key=value</literal> style: the URL from where the information was retrieved (key <literal>version_check_url</literal>), the currently running version (key <literal>running_version</literal>), the latest release's version (key <literal>available_version</literal>) and the download URL (key <literal>download_url</literal>)." +msgstr "Controleert online op nieuwere versie's via ophalen op adres <uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri>. Vier regels worden uitgevoerd in <literal>key=value</literal> stijl: het adres van waar de informatie wordt verkregen (key <literal>version_check_url</literal>), de huidig uitgevoerde versie (key <literal>running_version</literal>), laatst uitgebrachte versie (key <literal>available_version</literal> en het ophaal adres (key <literal>download_url</literal>)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:172 +#: doc/man/mkvinfo.xml:211 +#: doc/man/mkvmerge.xml:1373 +#: doc/man/mkvpropedit.xml:237 +msgid "Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e.g. if the update information could not be retrieved)." +msgstr "Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b.v. als de opwaardeer info niet verkregen kon worden)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:177 +#: doc/man/mkvinfo.xml:216 +#: doc/man/mkvmerge.xml:1378 +#: doc/man/mkvpropedit.xml:242 +msgid "This option is only available if the program was built with support for libcurl." +msgstr "Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:183 +#: doc/man/mkvinfo.xml:222 +#: doc/man/mkvmerge.xml:1280 +#: doc/man/mkvpropedit.xml:248 +msgid "<option>@</option>options-file" +msgstr "<option>@</option>optie's-bestand" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:186 +#: doc/man/mkvinfo.xml:225 +#: doc/man/mkvmerge.xml:1283 +#: doc/man/mkvpropedit.xml:251 +#| msgid "Reads additional command line arguments from the file <parameter>options-file</parameter>. Lines whose first non-whitespace character is a hash mark ('<literal>#</literal>') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option. There is no meta character escaping." +msgid "Reads additional command line arguments from the file <parameter>options-file</parameter>. Lines whose first non-whitespace character is a hash mark ('<literal>#</literal>') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option." +msgstr "Leest extra commandoregel argumenten in van een bestand <parameter>options-file</parameter>. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) ('<literal>#</literal>') worden behandeld als commentaar en genegeerd. Een spatie aan het begin en einde van een regel worden verwijderd. Elke regel mag excact één waarde bevatten" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:192 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvextract.escaping\">the section about escaping text</link>." +msgstr "Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commentaar regel te starten met '#'. Deze regels worden beschreven in <link linkend=\"mkvextract.escaping\">de sectie over overslaan van tekst</link>." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:197 +msgid "The command line '<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>' could be converted into the following option file:" +msgstr "De commandoregel '<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>' kunnen worden geconverteerd naar één van de volgende optie bestanden:" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><programlisting> +#: doc/man/mkvextract.xml:202 +#, no-wrap +msgid "" +"# Extract a track from source.mkv\n" +"tracks\n" +"source.mkv\n" +"# Output the track as raw data.\n" +"--raw\n" +"1:destination.raw\n" +" " +msgstr "" +"# Extract a track from source.mkv\n" +"tracks\n" +"source.mkv\n" +"# Output the track as raw data.\n" +"--raw\n" +"1:destination.raw\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:215 +msgid "Track extraction mode" +msgstr "Spoor uitpak mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:218 +msgid "Syntax: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "Ingave: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:222 +msgid "The following command line options are available for each track in the '<literal>tracks</literal>' extraction mode. They have to appear in front of the track specification (see below) they should be applied to." +msgstr "De volgende commandoregel opties zijn beschikbaar voor elk spoor in '<literal>tracks</literal>' uitpak mode. Zij zullen vooraan moeten worden geplaatst in de spoor specificatie (zie hieronder) Zij zouden toegepast moeten zijn op." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:228 +msgid "<option>-c</option> <parameter>character-set</parameter>" +msgstr "<option>-c</option> <parameter>character-set</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:231 +msgid "Sets the character set to convert the next text subtitle track to. Only valid if the next track ID targets a text subtitle track. It defaults to UTF-8." +msgstr "Stelt de karakter set in waarna het volgende ondertitel tekst spoor geconverteerd wordt. Is alleen geldig, wanneer een volgende ondertitel spoor verwijst naar een tekst ondertitel spoor. Standaard naar UTF-8." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:238 +msgid "<option>--blockadd</option> <parameter>level</parameter>" +msgstr "<option>--blockadd</option> <parameter>niveau</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:241 +msgid "Keep only the BlockAdditions up to this level. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "Houd alleen de BlockAdditions tot aan dit niveau. Standaard is alle niveaus te houden. Deze optie heeft alleen effect op bepaalde codecs zoals WAVPACK4." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:248 +msgid "<option>--cuesheet</option>" +msgstr "<option>--cuesheet</option>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:251 +msgid "Causes &mkvextract; to extract a <abbrev>CUE</abbrev> sheet from the chapter information and tag data for the following track into a file whose name is the track's output name with '<literal>.cue</literal>' appended to it." +msgstr "Zorgt er voor dat &mkvextract; uitpakt naar een <abbrev>CUE</abbrev> lijst/document/reeks van de hoofdstuk data en markeer data voor de volgende sporen naar een bestand waarvan de naam van het uitvoer spoor heeft waarna '<literal>.cue</literal>' eraan toegevoegd wordt." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:258 +msgid "<option>--raw</option>" +msgstr "<option>--raw</option>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:261 +msgid "Extracts the raw data into a file without any container data around it. Unlike the <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> flag this flag does not cause the contents of the <classname>CodecPrivate</classname> element to be written to the file. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "Pakt de raw dat uit naar een bestand zonder enige inhoud data er omheen. Niet zoals <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> dit merkteken markeren, veroorzaakt niet dat de inhoud van <classname>CodecPrivate</classname> element geschreven wordt naar het bestand. Deze mode werkt met alle <classname>CodecIDs</classname>, zelfs diegenen die &mkvextract; niet eens ondersteunt, maar het resulterende bestand kan onbruikbaar zijn." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:270 +msgid "<option>--fullraw</option>" +msgstr "<option>--fullraw</option>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:273 +msgid "Extracts the raw data into a file without any container data around it. The contents of the <classname>CodecPrivate</classname> element will be written to the file first if the track contains such a header element. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "Pakt de raw data uit naar een bestand zonder enige inhoud data er omheen. De inhoud van het <classname>CodecPrivate</classname> element zal eerst naar het bestand worden geschreven als het spoor zo'n hoofd element bevat. Deze mode werkt met alle <classname>CodecIDs</classname>, zelfs diegene die &mkvextract; niet eens ondersteunt, maar het resulterende bestand kan onbruikbaar zijn." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:282 +#: doc/man/mkvextract.xml:392 +msgid "<parameter>TID:outname</parameter>" +msgstr "<parameter>TID:outname</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:285 +msgid "Causes extraction of the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "Extraheert het spoor met het ID <parameter>TID</parameter> naar het bestand <parameter>outname</parameter> als een dergelijk spoor bestaat in het bronbestand. Deze optie kan meerdere keren geven worden. De spo(o)r(en) ID's zijn hetzelfde als diegene die met &mkvmerge;'s <option>--identify</option> optie worden verkregen." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:292 +msgid "Each output name should be used only once. The exception are RealAudio and RealVideo tracks. If you use the same name for different tracks then those tracks will be saved in the same file. Example:" +msgstr "Eke uitvoernaam zou slechts éénmaal mogen worden gebruikt. De uitzonderingen zijn RealAudio en RealVideo sporen. Als je dezelfde naam gebruikt voor verschillende sporen dan zullen die sporen in hetzelfde bestand bewaard worden. Voorbeeld:" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvextract.xml:297 +#, no-wrap +msgid "" +"$ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm\n" +" " +msgstr "" +"$ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:305 +msgid "Tags extraction mode" +msgstr "Markeeringen extraheer mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:308 +msgid "Syntax: <command>mkvextract</command> <option>tags</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "Ingave: <command>mkvextract</command> <option>tags</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:312 +msgid "The extracted tags are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "De geëxtraheerde markeringen zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over <link linkend=\"mkvextract.output_redirection\">uitvoer omleiden</link> voor details)." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:318 +msgid "Attachments extraction mode" +msgstr "Bijlagen extraheer mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:321 +msgid "Syntax: <command>mkvextract</command> <option>attachments</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>AID1:outname1</parameter> <optional><parameter>AID2:outname2</parameter> ...</optional>" +msgstr "Ingave: <command>mkvextract</command> <option>attachments</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>AID1:outname1</parameter> <optional><parameter>AID2:outname2</parameter> ...</optional>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:326 +msgid "AID:outname" +msgstr "AID:outname" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:329 +msgid "Causes extraction of the attachment with the ID <parameter>AID</parameter> into the file <parameter>outname</parameter> if such an attachment exists in the source file. If the <parameter>outname</parameter> is left empty then the name of the attachment inside the source &matroska; file is used instead. This option can be given multiple times. The attachment IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "Zorgt voor het uitpakken van bijlage met het ID <parameter>AID</parameter> naar het bestand <parameter>outname</parameter> als een dergelijke bijlage bestaat in het bronbestand. Als de <parameter>outname</parameter> wordt leeggelaten dan wordt de naam gebruikt die zich binnenin het &matroska; bronbestand bevindt. Deze optie kan meerdere malen worden gegeven. De ID's van de bijlagen zijn het zelfde als diegene die worden gecreëerd met &mkvmerge;'s <option>--identify</option> optie." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:340 +msgid "Chapters extraction mode" +msgstr "Hoofdstuk uitpak mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:343 +msgid "Syntax: <command>mkvextract</command> <option>chapters</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "Ingave: <command>mkvextract</command> <option>chapters</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:348 +msgid "<option>-s</option>, <option>--simple</option>" +msgstr "<option>-s</option>, <option>--simple</option>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:351 +msgid "Exports the chapter information in the simple format used in the <abbrev>OGM</abbrev> tools (CHAPTER01=..., CHAPTER01NAME=...). In this mode some information has to be discarded. Default is to output the chapters in &xml; format." +msgstr "Exporteert de hoofdstuk informatie in een simpel tekst formaat gebruikt in de <abbrev>OGM</abbrev> hulpmiddelen (CHAPTER01=..., CHAPTER01NAME=...). In deze mode wordt sommige informatie overgeslagen. Standaard is de hoofdstuk uitvoer naar &xml; formaat." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:360 +msgid "The extracted chapters are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "De geëxtraheerde hoofdstukken zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over <link linkend=\"mkvextract.output_redirection\">uitvoer omleiden</link> voor details)." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:366 +msgid "Cue sheet extraction mode" +msgstr "Volg document(en) (cue) extraheer mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:369 +msgid "Syntax: <command>mkvextract</command> <option>cuesheet</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "Ingave: <command>mkvextract</command> <option>cuesheet</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:373 +msgid "The extracted cue sheet is written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "De geëxtraheerde volg document(en) (cue) zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over <link linkend=\"mkvextract.output_redirection\">uitvoer omleiden</link> voor details)." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvextract.xml:379 +msgid "Timecode extraction mode" +msgstr "Tijdcode extraheer mode" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:382 +#| msgid "Syntax: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgid "Syntax: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "Ingave: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvextract.xml:386 +msgid "The extracted timecodes are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "De geëxtraheerde hoofdstukken zijn geschreven naar het apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over <link linkend=\"mkvextract.output_redirection\">uitvoer omleiden</link> voor details)." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:395 +#| msgid "Causes extraction of the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgid "Causes extraction of the timecodes for the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "Extraheert tijdcodes voor het spoor met het ID <parameter>TID</parameter> naar het bestand <parameter>outname</parameter> als een dergelijk spoor bestaat in het bronbestand. Deze optie kan meerdere keren geven worden. De spo(o)r(en) ID's zijn hetzelfde als diegene die met &mkvmerge;'s <option>--identify</option> optie worden verkregen." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:401 +#| msgid "Example" +msgid "Example:" +msgstr "Voorbeeld:" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvextract.xml:405 +#, no-wrap +#| msgid "" +#| "$ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm\n" +#| " " +msgid "" +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " +msgstr "" +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:414 +msgid "Output redirection" +msgstr "Uitvoer omleiden" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:417 +msgid "Several extraction modes cause &mkvextract; to write the extracted data to the console. There are generally two ways of writing this data into a file: one provided by the shell and one provided by &mkvextract; itself." +msgstr "Verschillende extractie modes veroorzaken dat &mkvextract; de geëxtraheerde data wegschrijft naar het apparaat/houder. In algemene zin, zijn er twee manieren om deze data naar een bestand te schrijven: één verzorgd door een 'schil' en één verzorgd door &mkvextract; zelf." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:422 +msgid "The shell's builtin redirection mechanism is used by appending '<literal>> output-filename.ext</literal>' to the command line. Example:" +msgstr "De in het schil ingebouwde omleidingsmechanisme wordt gebruikt door het toevoegen '<literal>> output-filename.ext</literal>' op de commandoregel. Voorbeeld:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvextract.xml:427 +#, no-wrap +msgid "" +"$ mkvextract tags source.mkv > tags.xml\n" +" " +msgstr "" +"$ mkvextract tags source.mkv > tags.xml\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:431 +msgid "&mkvextract;'s own redirection is invoked with the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option. Example:" +msgstr "&mkvextract;'s eigen omleiding wordt aangehaald met <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option. Voorbeeld:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvextract.xml:436 +#, no-wrap +msgid "" +"$ mkvextract tags source.mkv --redirect-output tags.xml\n" +" " +msgstr "" +"$ mkvextract tags source.mkv --redirect-output tags.xml\n" +" " + +#. type: Content of: <refentry><refsect1><note><para> +#: doc/man/mkvextract.xml:441 +msgid "On Windows you should probably use the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option because <command>cmd.exe</command> sometimes interpretes special characters before they're written into the output file resulting in broken output." +msgstr "Met Windows zal je waarschijnlijk moeten gebruiken <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> optie omdat, <command>cmd.exe</command> soms een speciaal karakter interpreteert nog voordat ze geschreven worden naar een uitvoer bestand met als resultaat een 'gebroken' uitvoer." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:450 +msgid "Output file formats" +msgstr "Uitvoer bestandsformaten" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:453 +msgid "The decision about the output format is based on the track type, not on the extension used for the output file name. The following track types are supported at the moment:" +msgstr "De beslissing over het uitvoer formaat is gebasseerd op het spoor type, niet op de gebruikte extensie van de uitvoer bestandsnaam. De volgende spoor typen worden momenteel onderstend:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:459 +msgid "V_MPEG4/ISO/AVC" +msgstr "V_MPEG4/ISO/AVC" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:462 +msgid "<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video tracks are written to <abbrev>H.264</abbrev> elementary streams which can be processed further with e.g. <productname>MP4Box</productname> from the <productname>GPAC</productname> package." +msgstr "<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video sporen worden geschreven naar <abbrev>H.264</abbrev> elementaire stromen welke verder verwerkt kunnen worden b.v. <productname>MP4Box</productname> van het <productname>GPAC</productname> pakket." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:469 +msgid "V_MS/VFW/FOURCC" +msgstr "V_MS/VFW/FOURCC" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:472 +msgid "Fixed <abbrev>FPS</abbrev> video tracks with this <classname>CodecID</classname> are written to <abbrev>AVI</abbrev> files." +msgstr "Vaste <abbrev>FPS</abbrev> video sporen met deze <classname>CodecID</classname> worden geschreven naar <abbrev>AVI</abbrev> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:478 +msgid "V_REAL/*" +msgstr "V_REAL/*" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:481 +msgid "<productname>RealVideo</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealVideo</productname> sporen worden geschreven naar <productname>RealMedia</productname> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:487 +msgid "A_MPEG/L3, A_AC3" +msgstr "A_MPEG/L3, A_AC3" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:490 +msgid "These will be extracted to raw <abbrev>MP3</abbrev> and <abbrev>AC3</abbrev> files." +msgstr "Deze worden uitgepakt naar <abbrev>MP3</abbrev> en <abbrev>AC3</abbrev> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:496 +msgid "A_PCM/INT/LIT" +msgstr "A_PCM/INT/LIT" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:499 +msgid "Raw <abbrev>PCM</abbrev> data will be written to a <abbrev>WAV</abbrev> file." +msgstr "Raw <abbrev>PCM</abbrev> data zal naar een <abbrev>WAV</abbrev> bestand geschreven worden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:505 +msgid "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" +msgstr "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:508 +msgid "All <abbrev>AAC</abbrev> files will be written into an <abbrev>AAC</abbrev> file with <abbrev>ADTS</abbrev> headers before each packet. The <abbrev>ADTS</abbrev> headers will not contain the deprecated emphasis field." +msgstr "Alle <abbrev>AAC</abbrev> bestanden zullen geschreven worden in een <abbrev>AAC</abbrev> bestand met <abbrev>ADTS</abbrev> koppen voor elk pakket. De <abbrev>ADTS</abbrev> koppen bevatten géén verouderd nadrukgebiedsveld." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:515 +msgid "A_VORBIS" +msgstr "A_VORBIS" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:518 +msgid "Vorbis audio will be written into an &oggvorbis; file." +msgstr "Vorbis audio zal worden geschreven naar een &oggvorbis; bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:524 +msgid "A_REAL/*" +msgstr "A_REAL/*" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:527 +msgid "<productname>RealAudio</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealAudio</productname> sporen worden geschreven naar <productname>RealMedia</productname> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:533 +msgid "A_TTA1" +msgstr "A_TTA1" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:536 +msgid "<productname>TrueAudio</productname> tracks are written to <abbrev>TTA</abbrev> files. Please note that due to &matroska;'s limited timecode precision the extracted file's header will be different regarding two fields: <varname>data_length</varname> (the total number of samples in the file) and the <abbrev>CRC</abbrev>." +msgstr "<productname>TrueAudio</productname> sporen worden geschreven naar <abbrev>TTA</abbrev> bestanden. Opmerking: door een limitatie in &matroska;'s tijdcode precisie zal de geëxtraheerde bestandskop verschillendl zijn aangaande deze twee velden: <varname>data_length</varname> (de totale nummers van voorbeelden in het bestand) en de <abbrev>CRC</abbrev>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:544 +msgid "S_TEXT/UTF8" +msgstr "S_TEXT/UTF8" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:547 +msgid "Simple text subtitles will be written as <abbrev>SRT</abbrev> files." +msgstr "Simpele tekst ondertitels worden geschreven in <abbrev>SRT</abbrev> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:553 +msgid "S_TEXT/SSA, S_TEXT/ASS" +msgstr "S_TEXT/SSA, S_TEXT/ASS" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:556 +msgid "<abbrev>SSA</abbrev> and <abbrev>ASS</abbrev> text subtitles will be written as <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> files respectively." +msgstr "<abbrev>SSA</abbrev> en <abbrev>ASS</abbrev> tekst ondertitels worden respectievelijk geschreven als <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:563 +msgid "S_KATE" +msgstr "S_KATE" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:566 +msgid "<productname>Kate</productname> streams will be written within an <productname>Ogg</productname> container." +msgstr "<productname>Kate</productname> de stromen zullen binnen een <productname>Ogg</productname> bestand worden geschreven." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:572 +#: doc/man/mkvmerge.xml:1986 +msgid "Tags" +msgstr "Markeringen" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:575 +msgid "Tags are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading tags." +msgstr "Markeringen worden geconverteerd naar een &xml; formaat. Dit formaat is hetzelfde dat &mkvmerge; ondersteunt voor het lezen van markeringen." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:581 +#: doc/man/mkvmerge.xml:1854 +msgid "Attachments" +msgstr "Bijlagen" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:584 +msgid "Attachments are written to they output file as they are. No conversion whatsoever is done." +msgstr "Bijlagen worden geschreven naar de uitvoer zoals ze zijn. Geen enkele conversie (welke conversie dan ook) wordt uitgevoerd." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:590 +#: doc/man/mkvmerge.xml:1879 +msgid "Chapters" +msgstr "Hoofdstukken" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:593 +msgid "Chapters are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading chapters. Alternatively a stripped-down version can be output in the simple <abbrev>OGM</abbrev> style format." +msgstr "Hoofdstukken worden geconverteerd naar een &xml; formaat. Dit formaat is hetzelfde welke &mkvmerge; ondersteunt voor het lezen van hoofdstukken. Alternatief is een 'uitgekleedde versie' welke uitvoert naar het simpele <abbrev>OGM</abbrev> stijl formaat." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:600 +msgid "Timecodes" +msgstr "Tijd codes" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:603 +msgid "Timecodes are first sorted and then output as a timecode v2 format compliant file ready to be fed to &mkvmerge;. The extraction to other formats (v1, v3 and v4) is not supported." +msgstr "Tijd codes worden het eerst gesorteerd en daarna gechreven als en tijdcode v2 volgbaar bestandformaat, klaar om aangevoerd te worden naar &mkvmerge;. Het extraheren naar andere formaten (v1, v3 en v4) zijn niet onderstend." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:612 +#: doc/man/mkvinfo.xml:287 +#: doc/man/mkvmerge.xml:2218 +#: doc/man/mkvpropedit.xml:390 +msgid "Exit codes" +msgstr "Verlaat codes" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:615 +msgid "&mkvextract; exits with one of three exit codes:" +msgstr "&mkvextract; sluit af met drie afsluit codes:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvextract.xml:621 +msgid "<constant>0</constant> -- This exit codes means that extraction has completed successfully." +msgstr "<constant>0</constant> -- Deze verlaat code betekend dat de extractie succesvol is voltooid." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvextract.xml:627 +msgid "<constant>1</constant> -- In this case &mkvextract; has output at least one warning, but extraction did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- In dit geval heeft &mkvextract; minstends één waarschuwing uitgegeven, maar extractie is doorgegaan. Een waarschuwing wordt vooraf bepaald met de tekst '<literal>Warning:</literal>'. Afhankelijk van de 'tegengekomen' kwesties kan het resltaat goed of slecht zijn. De gebruiker wordt geadviseerd om zowel de waarschuwing als de resulterende bestanden te controleren." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvextract.xml:635 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvextract; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- Deze verlaat code wordt gebruikt nadat een fout is ontstaan. &mkvextract; breekt direct af na het uitgeven van de waarschuwing. Fout berichten, bereik van verkeerde commandoregel argumenten tot aan lees/schrijf fouten naar gebroken bestanden." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:643 +#: doc/man/mkvinfo.xml:317 +#: doc/man/mkvmerge.xml:1752 +#: doc/man/mkvpropedit.xml:421 +msgid "Escaping special chars in text" +msgstr "Overslaan van speciale karakter(s) in tekst" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:645 +#: doc/man/mkvinfo.xml:319 +#: doc/man/mkvmerge.xml:1754 +#: doc/man/mkvpropedit.xml:423 +msgid "There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character." +msgstr "Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash \"\\\" gevolgd door een ander karakter." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:650 +#: doc/man/mkvinfo.xml:324 +#: doc/man/mkvmerge.xml:1759 +#: doc/man/mkvpropedit.xml:428 +msgid "The rules are: ' ' becomes '\\s', '"' becomes '\\2', ':' becomes '\\c', '#' becomes '\\h' and '\\' itself becomes '\\\\'." +msgstr "De regels zijn: ' ' wordt '\\s', '"' wordt '\\2', ':' wordt '\\c', '#' wordt '\\h' en '\\' zelf wordt '\\\\'." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:655 +#: doc/man/mkvinfo.xml:329 +#: doc/man/mkvmerge.xml:2249 +#: doc/man/mkvpropedit.xml:433 +#: doc/man/mmg.xml:90 +msgid "See also" +msgstr "Zie ook" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:657 +msgid "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" +msgstr "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:662 +#: doc/man/mkvinfo.xml:336 +#: doc/man/mkvmerge.xml:2256 +#: doc/man/mkvpropedit.xml:440 +#: doc/man/mmg.xml:97 +msgid "WWW" +msgstr "WWW" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:664 +#: doc/man/mkvinfo.xml:338 +#: doc/man/mkvmerge.xml:2258 +#: doc/man/mkvpropedit.xml:442 +#: doc/man/mmg.xml:99 +msgid "The latest version can always be found at <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">the MKVToolNix homepage</ulink>." +msgstr "De laatste versie kan altijd gevonden worden op de <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">MKVToolNix</ulink> thuis basis." + +#. type: Content of the product entity +#: doc/man/mkvinfo.xml:5 +msgid "mkvinfo" +msgstr "mkvinfo" + +#. type: Content of: <refentry><refnamediv><refpurpose> +#: doc/man/mkvinfo.xml:45 +msgid "Print information about elements in &matroska; files" +msgstr "Informatie uitprinten over elementen in &matroska; bestanden" + +#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> +#: doc/man/mkvinfo.xml:51 +msgid "<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" +msgstr "<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:60 +msgid "This program lists all elements contained in a &matroska;. The output can be limited to a list of tracks in the file including information about the codecs used." +msgstr "Dit programma lijst alle elementen die een &matroska; bestand bevat. De uitvoer kan gelimiteerd worden naar een lijst van sporen inclusief de informatie over de gebruikte codecs." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:66 +msgid "<option>-g</option>, <option>--gui</option>" +msgstr "<option>-g</option>, <option>--gui</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:69 +msgid "Start the <abbrev>GUI</abbrev>. This option is only available if mkvinfo was compiled with <abbrev>GUI</abbrev> support." +msgstr "Start de <abbrev>GUI</abbrev>. Deze optie is alleen beschikbaar wanneer mkvinfo is gecompileerd met <abbrev>GUI</abbrev> ondersteuning." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:75 +msgid "<option>-c</option>, <option>--checksums</option>" +msgstr "<option>-c</option>, <option>--checksums</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:78 +msgid "Calculates and display the <function>Adler32</function> checksum for each frame. Useful for debugging only." +msgstr "Berekend en toont de <function>Adler32</function> controleer som. Alleen zinvol voor foutzoeken." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:84 +msgid "<option>-s</option>, <option>--summary</option>" +msgstr "<option>-s</option>, <option>--summary</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:87 +msgid "Only show a terse summary of what &mkvinfo; finds and not each element." +msgstr "Toon slechts een grove samenvatting van wat &mkvinfo; vindt en niet elk element." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:93 +#| msgid "<option>-T</option>, <option>--no-track-tags</option>" +msgid "<option>-t</option>, <option>--track-info</option>" +msgstr "<option>-t</option>, <option>--track-info</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:96 +msgid "Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before." +msgstr "Toont statiustieken voore elk spoor in 'stille' mode. Zet tevens 'stille mode' naar 1 als niveau daarvoor 0 was." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:102 +msgid "<option>-x</option>, <option>--hexdump</option>" +msgstr "<option>-x</option>, <option>--hexdump</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:105 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Toont de eerste 16 bytes van elk beeld als een hex dump." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:111 +msgid "<option>-X</option>, <option>--full-hexdump</option>" +msgstr "<option>-X</option>, <option>--full-hexdump</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:114 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Toont alle bytes van elk beeld als een hex dump." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:120 +msgid "<option>-z</option>, <option>--size</option>" +msgstr "<option>-z</option>, <option>--size</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:123 +msgid "Show the size of each element including its header." +msgstr "Toon de grootte van elk element inclusief kophoofd" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:152 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "Schrijft alle berichten naar een bestand <parameter>file-name</parameter> i.p.v naar het 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a her-interpreteert voordat het geschreven wordt naar het uitvoer bestand. De karakter set met <link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link> is toegewezen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:164 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvinfo; to output a list of available translations." +msgstr "Forceert de vertaling voor de te gebruiken taal <parameter>code</parameter> (b.v. '<literal>de_DE</literal>' voor de Duitse taal). Hoewel het de voorkeur heeft de 'omgevings variabelen' te gebruiken <varname>LANG</varname>, <varname>LC_MESSAGES</varname> en <varname>LC_ALL</varname>. Opvragen van een '<literal>list</literal>' als een <parameter>code</parameter> zal er voor zorgen dat &mkvextract; een lijst zal uitvoeren van alle beschikbaren vertalingen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:176 +msgid "Be more verbose. See the section about <link linkend=\"mkvinfo.verbosity_levels\">verbosity levels</link> for a description which information will be output at which level." +msgstr "Wees uitgebreider. Zie sectie over <link linkend=\"mkvinfo.verbosity_levels\">uitgebreide niveaus</link> voor een beschrijving welke informatie wordt uitgevoerd op welk niveau." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:231 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvinfo.escaping\">the section about escaping text</link>." +msgstr "Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commentaar regel te starten met '#'. Deze regels worden beschreven in <link linkend=\"mkvinfo.escaping\">de sectie over overslaan van tekst</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:236 +msgid "The command line '<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>' could be converted into the following option file:" +msgstr "De commandoregel '<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>' kon worden geconverteert naar het volgende optie bestand:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> +#: doc/man/mkvinfo.xml:241 +#, no-wrap +msgid "" +"# Be more verbose\n" +"-v\n" +"-v\n" +"# Parse input.mkv\n" +"input.mkv\n" +"# and write the output to info.txt\n" +"--redirect-output\n" +"info.txt\n" +" " +msgstr "" +"# Wees uitgebreider\n" +"-v\n" +"-v\n" +"# Ontleed invoer.mkv\n" +"input.mkv\n" +"# schrijf uitvoer naar info.txt\n" +"--redirect-output\n" +"info.txt\n" +" " + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvinfo.xml:256 +msgid "Verbosity levels" +msgstr "Uitgebreide niveau's" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:259 +msgid "The <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> option can be used to increase &mkvinfo;'s verbosity level and print more information about the current file." +msgstr "De optie <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> kan worden gebruikt om &mkvinfo;'s uitgebreide niveau te verhogen en meer informatie te printen over het huidige bestand." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:264 +msgid "At level 0 &mkvinfo; will print only the track headers it finds and their types. &mkvinfo; will exit as soon as the headers are parsed completely (more technical: as soon as the first cluster is encountered). In this level the seek head entries and the cues will not be displayed -- even if they're located in front of the track information." +msgstr "Op niveau 0 print &mkvinfo; de spoor koppen die het vindt en hun typen. &mkvinfo; verlaat zo snel mogelijk wanneer de koppen volledig zijn ontleed (meer technisch: zo snel mogelijk wanneer de eerste cluster wordt tegengekomen). Op dit niveau worden de zoek kop ingangen en volg document(en) (cue) niet getoond -- zelfs niet wanneer die aan het begin bevinden van de spoor informatie." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:270 +msgid "At level 1 &mkvinfo; will also print all &matroska; elements encountered for the complete file but the seek head entries and the cue entries. If the summary mode is enabled then &mkvinfo; will output the frame position as well." +msgstr "Op niveau 1 print &mkvinfo; ook alle &matroska; tegengekomen elementen van het complete bestand elementen behalve de zoek koppen en de volg document(en) (cue) ingangen. Als de samenvattingsmode aan is dan zal &mkvinfo; het beeld positie eveneens uitvoeren." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:275 +msgid "At level 2 &mkvinfo; will also print the seek head entries, the cue entries and the file position at which each &matroska; element can be found at." +msgstr "Op niveau 2 print &mkvinfo; tevens de zoek kop ingangen, de volg document(en) (cue)l ingangen en de bestandspositie waarbij elk &matroska; element kan worden gevonden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:280 +msgid "At level 3 and above &mkvinfo; will print some information that is not directly connected to a &matroska; element. All other elements only print stuff about the elements that were just found. Level 3 adds meta information to ease debugging (read: it's intended for developers only). All lines written by level 3 are enclosed in square brackets to make filtering them out easy." +msgstr "Op niveau 3 en hoger zal &mkvinfo; enige informatie printen welke niet direct aan een &matroska; element is gekoppeld. Alle overige elementen printen alleen info over de elementen die zojuist werden gevonden. Niveau 3 voegt meta informatie toe voor een makkelijkere fout opsporing (lees als: bedoelt voor ontwikkelaars). Alle niveau 3 geschreven regels bevatten zich tussen [ ] om ze makkelijker te herkennen.." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:290 +msgid "&mkvinfo; exits with one of three exit codes:" +msgstr "&mkvinfo; verlaat met één van de drie afsluit codes:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvinfo.xml:296 +msgid "<constant>0</constant> -- This exit codes means that the run has completed successfully." +msgstr "<constant>0</constant> -- Deze verlaat code betekend dat alles succesvol voltooid is." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvinfo.xml:302 +msgid "<constant>1</constant> -- In this case &mkvinfo; has output at least one warning, but the run did continue. A warning is prefixed with the text '<literal>Warning:</literal>'." +msgstr "<constant>1</constant> -- In dit geval heeft &mkvinfo; minimaal één waarschuwing doen uitgaan, maar ging door. Een waarschuwing wordt voorafgegaan met de tekst '<literal>Warning:</literal>'." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvinfo.xml:309 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvinfo; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- Deze fout code wordt gegeven nadat er een fout optrad. &mkvinfo; breekt direct af na het geven van dit waarschuw bericht. Fout! bereik in berichten, van een verkeerd commandoregel argument over lees/schrijf fouten naar een 'gebroken' bestanden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvinfo.xml:331 +msgid "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" +msgstr "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" + +#. type: Content of the product entity +#: doc/man/mkvmerge.xml:5 +msgid "mkvmerge" +msgstr "mkvmerge" + +#. type: Content of: <refentry><refmeta><refmiscinfo> +#: doc/man/mkvmerge.xml:39 +msgid "MKVToolNix" +msgstr "MKVToolNix" + +#. type: Content of: <refentry><refnamediv><refpurpose> +#: doc/man/mkvmerge.xml:45 +msgid "Merge multimedia streams into a &matroska; file" +msgstr "Voegt multimedia stromen in een &matroska; bestand in." + +#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> +#: doc/man/mkvmerge.xml:51 +msgid "<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> <arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> <arg>@optionsfile</arg>" +msgstr "<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> <arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> <arg>@optionsfile</arg>" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:67 +msgid "This program takes the input from several media files and joins their streams (all of them or just a selection) into a &matroska; file; see <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "Dit programma neemt de invoer van verschillende media bestanden en voegt die stromen samen (allemaal of slechts een stukje) naar een &matroska; bestand; zie de <ulink url=\"http://www.matroska.org/\">&matroska;</ulink> website." + +#. type: Content of: <refentry><refsect1><important><para> +#: doc/man/mkvmerge.xml:73 +#: doc/man/mkvmerge.xml:1394 +msgid "The order of command line options is important. Please read the section <link linkend=\"mkvmerge.option_order\">"Option order"</link> it if you're new to the program." +msgstr "De volgorde van de commandregel optie's is belangrijk. Lees a.u.b de sectie over <link linkend=\"mkvmerge.option_order\">"Optie volgorde"</link> als je nog onbekend bent met het programma." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:79 +msgid "Global options:" +msgstr "Globale opties:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:86 +msgid "Increase verbosity." +msgstr "Verhoog 'uitgebreidheid'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:91 +msgid "<option>-q</option>, <option>--quiet</option>" +msgstr "<option>-q</option>, <option>--quiet</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:93 +msgid "Suppress status output." +msgstr "Onderdruk status uitvoer." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:98 +msgid "<option>-o</option>, <option>--output</option> <parameter>file-name</parameter>" +msgstr "<option>-o</option>, <option>--output</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:100 +msgid "Write to the file <parameter>file-name</parameter>. If splitting is used then this parameter is treated a bit differently. See the explanation for the <link linkend=\"mkvmerge.description.split\"><option>--split</option></link> option for details." +msgstr "Schrijf naar het bestand <parameter>file-name</parameter>. Indien splitsen aan staat, dan wordt dat iets anders verwerkt. Zie uitleg voor de <link linkend=\"mkvmerge.description.split\"><option>--split</option></link> optie voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:106 +msgid "<option>-w</option>, <option>--webm</option>" +msgstr "<option>-w</option>, <option>--webm</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:108 +msgid "Create a WebM compliant file. This is also turned on if the output file name's extension is "webm". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to "webm"." +msgstr "Creëer een WebM herkenbaar bestand. mkvmerge zet dit tevens aan wanneer het uitvoerbestandsnaam de extensie \"webm\" heeft. Deze modus dwingt diverse beperkingen af. De enig toegestane codecs zijn VP8 video en Vorbis audio sporen. Géén van de volgende hoofdstuk markeringen zijn toegstaan. Het DocType kop item is veranderd naar \"webm\"." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:116 +msgid "<option>--title</option> <parameter>title</parameter>" +msgstr "<option>--title</option> <parameter>title</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:118 +msgid "Sets the general title for the output file, e.g. the movie name." +msgstr "Stelt de algemene naam in voor het uitvoer bestand, b.v. de film naam." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:123 +msgid "<option>--tags</option> <parameter>file-name</parameter>" +msgstr "<option>--tags</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:125 +msgid "Read global tags from the &xml; file <parameter>file-name</parameter>. See the section about tags below for details." +msgstr "Leest de globale markeringen van een &xml; bestand <parameter>file-name</parameter>. Zie de sectie details over markeringen hier beneden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:131 +msgid "<option>--default-language</option> <parameter>language-code</parameter>" +msgstr "<option>--default-language</option> <parameter>language-code</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:133 +msgid "Sets the default language code that will be used for all tracks unless overwritten with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option. The default language code is '<literal>und</literal>' for 'undefined'." +msgstr "Stelt de standaard land code in voor alle sporen tenzij die wordt overschreven met <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> optie. De standaard code is '<literal>onb</literal>' voor 'onbekend'." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:141 +msgid "Segment info handling: (global options)" +msgstr "Hanteren van segment info: (globale opties)" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:146 +msgid "<option>--segmentinfo</option> <parameter>filename.xml</parameter>" +msgstr "<option>--segmentinfo</option> <parameter>filename.xml</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:149 +msgid "Read segment information from a <abbrev>XML</abbrev> file. This file can contain the segment family <abbrev>UID</abbrev>, segment <abbrev>UID</abbrev>, previous and next segment <abbrev>UID</abbrev> elements. An example file and a <abbrev>DTD</abbrev> are included in the MKVToolNix distribution." +msgstr "Leest segment informatie in van een <abbrev>XML</abbrev> bestand. Dit bestand kan de segment familie bevatten <abbrev>UID</abbrev>, segment <abbrev>UID</abbrev>, vorige en volgend segment <abbrev>UID</abbrev> elementen. een voorbeeld bestand en een <abbrev>DTD</abbrev> zijn ingesloten in de MKVToolNix distributie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:157 +msgid "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" +msgstr "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:160 +msgid "Sets the segment UIDs to use. This is a comma-separated list of 128bit segment UIDs in the usual UID form: hex numbers with or without the "0x" prefix, with or without spaces, exactly 32 digits." +msgstr "Stelt het te gebruiken segment UID's in. Dit is een komma gesepareerde lijst van 128bit segment UID's in het gebruikelijke UID formaat: hex nummers met of zonder het "0x" voorzetsel, met of zonder spaties, exact 32 cijfers." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:165 +msgid "Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." +msgstr "Elk gecreëerd bestand bevat één segment, en elk segment heeft één UID. Als er meer segment UID's zijn opgegeven dan er zijn gecreëerd, dan zullen de extra UID's worden genegeerd. Zijn er minder UID's opgegeven dan er segmenten zijn gecreëerd, dan worden er willekeurig UID's voor hen aangemaakt." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:174 +msgid "Chapter and tag handling: (global options)" +msgstr "Hanteren hoofstuk en markeeringen: (globale opties)" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:179 +#: doc/man/mkvmerge.xml:818 +msgid "<option>--chapter-language</option> <parameter>language-code</parameter>" +msgstr "<option>--chapter-language</option> <parameter>language-code</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:182 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. Defaults to '<literal>eng</literal>'. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "Stelt de ISO639-2 land code waarde in welke geschreven wordt voor elk hoofdstuk ingang. Standaard naar '<literal>eng</literal>'. Zie de sectie over <link linkend=\"mkvmerge.chapters\">hoofdstukken</link> hieronder voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:187 +msgid "This option can be used both for simple chapter files and for source files that contain chapters but no information about the chapters' language, e.g. MP4 and OGM files." +msgstr "Deze optie kan gebruikt worden, voor simpele hoofdstukken en voor bronbestanden welke hoofdstukken bevatten maar geen informatie over hoofdstuk talen, b.v. MP4 and OGM bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:194 +#: doc/man/mkvmerge.xml:807 +msgid "<option>--chapter-charset</option> <parameter>character-set</parameter>" +msgstr "<option>--chapter-charset</option> <parameter>character-set</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:197 +msgid "Sets the character set that is used for the conversion to UTF-8 for simple chapter files. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "Stelt de karakter set in, die gebruikt wordt voor de UTF-8 conversie voor simpele hoofdstuk bestanden. Zie de sectie over <link linkend=\"mkvmerge.text_files_and_charsets\"> tekst bestanden en karakter sets</link> voor een uitleg hoe &mkvmerge; converteert tussen de 'verschillende' karakter sets." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:203 +msgid "This switch does also apply to chapters that are copied from certain container types, e.g. Ogg/OGM and MP4 files. See the section about chapters below for details." +msgstr "Deze schakelaar is ook van toepassing op hoofdstukken die zijn gekopieerd van een bepaalde inhoudstypen, b.v. Ogg/OGM en MP4 bestanden. Zie de sectie over hoofdstukken hieronder voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:210 +msgid "<option>--cue-chapter-name-format</option> <parameter>format</parameter>" +msgstr "<option>--cue-chapter-name-format</option> <parameter>format</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:213 +msgid "&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as the input for chapters. <abbrev>CUE</abbrev> sheets usually contain the entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each index entry. &mkvmerge; uses these two strings in order to construct the chapter name. With this option the format used for this name can be set." +msgstr "&mkvmerge; ondersteunt lezen van <abbrev>CUE</abbrev> volg document(en) (cue) voor audio bestanden als invoer voor hoofdstukken. <abbrev>CUE</abbrev> volg document(en) (cue) bevatten gewoonlijk informatie over de <varname>ARTIEST</varname> en <varname>TITEL</varname> voor elke index ingang. &mkvmerge; gebruikt deze twee reeksen om de hoofdstuknaam te construeren. Met deze optie kan het formaat dat voor deze naam wordt gebruikt worden geplaatst." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:219 +msgid "If this option is not given then &mkvmerge; defaults to the format '<code>%p - %t</code>' (the performer, followed by a space, a dash, another space and the title)." +msgstr "Is deze optie niet opgegeven, dan zal &mkvmerge; het standaard format gebruiken '<code>%p - %t</code>' (de artiest (performer), gevolgd door een spatie, een streep, wederom een spatie en de titel)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:224 +msgid "If the format is given then everything except the following meta characters is copied as-is, and the meta characters are replaced like this:" +msgstr "Is het format opgegeven dan zal alles behalve de volgende meta karakters gekopieerd worden zoals ze zijn, en de meta karakters worden vervangen zoals dit:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:230 +msgid "<parameter>%p</parameter> is replaced by the current entry's <varname>PERFORMER</varname> string," +msgstr "<parameter>%p</parameter> is vervangen door de huidige ingangen <varname>PERFORMER</varname> (artiest) reeks," + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:233 +msgid "<parameter>%t</parameter> is replaced by the current entry's <varname>TITLE</varname> string," +msgstr "<parameter>%t</parameter> is vervangen door de huidige ingangen <varname>TITLE</varname> (titel) reeks," + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:236 +msgid "<parameter>%n</parameter> is replaced by the current track number and" +msgstr "<parameter>%n</parameter> wordt vervangen op huidig spoor nummer en" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:239 +msgid "<parameter>%N</parameter> is replaced by the current track number padded with a leading zero if it is < 10." +msgstr "<parameter>%N</parameter> wordt vervangen op huidig spoor nummer en op/aangevuld met een beginnend/leidende nul als het is < 10 (kleiner dan)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:247 +msgid "<option>--chapters</option> <parameter>file-name</parameter>" +msgstr "<option>--chapters</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:250 +msgid "Read chapter information from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "Leest hoofdstuk informatie in van een bestand <parameter>file-name</parameter>. Zie sectie over <link linkend=\"mkvmerge.chapters\">hoofdstukken</link> kijk hieronder voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:257 +msgid "<option>--global-tags</option> <parameter>file-name</parameter>" +msgstr "<option>--global-tags</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:260 +msgid "Read global tags from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "Leest hoofdstuk informatie in van een bestand <parameter>file-name</parameter>. Zie sectie over <link linkend=\"mkvmerge.chapters\">hoofdstukken</link> kijk hieronder voor details." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:268 +msgid "General output control (advanced global options):" +msgstr "Algemene uitvoer controle (geavanceerde globale opties):" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:273 +msgid "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" +msgstr "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:276 +msgid "This option changes the order in which the tracks for an input file are created. The argument is a comma separated list of pairs IDs. Each pair contains first the file ID (<parameter>FID1</parameter>) which is simply the number of the file on the command line starting at 0. The second is a track ID (<parameter>TID1</parameter>) from that file. If some track IDs are omitted then those tracks are created after the ones given with this option have been created." +msgstr "Deze optie verandert de volgorde waarin de sporen voor een invoer bestand worden gereëerd. Het argument is een komma gescheiden lijst van gepaarde ID's. Elk paar bevat eerst het bestand ID (<parameter>FID1</parameter>) wat simpelweg een nummer van het bestand is op de commandoregel beginnend bij 0. Het tweede is een spoor ID (<parameter>TID1</parameter>) van dat bestand. Als sommige spoor id's worden weggelaten, dan zullen die sporen worden gecreëerd na diegene die met deze optie zijn gecreëerd." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:285 +msgid "<option>--cluster-length</option> <parameter>spec</parameter>" +msgstr "<option>--cluster-length</option> <parameter>spec</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:288 +msgid "Limit the number of data blocks or the duration of data in each cluster. The <parameter>spec</parameter> parameter can either be a number <parameter>n</parameter> without a unit or a number <parameter>d</parameter> postfixed with '<literal>ms</literal>'." +msgstr "Limiteert het aantal data blokken of de duur van de data in elke cluster. De <parameter>spec</parameter> parameter kan één van beide zijn een nummer <parameter>n</parameter> zonder een eenheid of een nummer <parameter>d</parameter> vastgezet met '<literal>ms</literal>' (miliseconden)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:293 +msgid "If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> data blocks into each cluster. The maximum number of blocks is 65535." +msgstr "Als er geen eenheid is gebruikt dan zal &mkvmerge; hoogstends zetten <parameter>n</parameter> data blokken in elke cluster. Het maximum aantal blokken is 65535." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:298 +msgid "If the number <parameter>d</parameter> is postfixed with '<literal>ms</literal>' then &mkvmerge; puts at most <parameter>d</parameter> milliseconds of data into each cluster. The minimum for <parameter>d</parameter> is '<literal>100ms</literal>', and the maximum is '<literal>32000ms</literal>'." +msgstr "Als het nummer <parameter>d</parameter> is vastgezet met '<literal>ms</literal>' dan zal &mkvmerge; hoogstends zetten <parameter>d</parameter> milliseconden aan data in elke cluster. Het minimum voor <parameter>d</parameter> is '<literal>100ms</literal>', en het maximum is '<literal>32000ms</literal>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:304 +msgid "&mkvmerge; defaults to putting at most 65535 data blocks and 5000ms of data into a cluster." +msgstr "&mkvmerge; plaatst standaard op zijn hoogst 65535 data blokken en 5000ms aan data in een cluster." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:308 +msgid "Programs trying to find a certain frame can only seek directly to a cluster and have to read the whole cluster afterwards. Therefore creating larger clusters may lead to imprecise or slow seeking." +msgstr "Programma's die een bepaald beeld proberen te zoeken, kunnen alleen direct naar een cluster zoeken en moeten daarna de gehele cluster lezen. Daarom kan het de oorzaak zijn, dat het maken van grote clusters kan leiden tot onnauwkeurigheid of traag zoeken." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:315 +msgid "<option>--no-cues</option>" +msgstr "<option>--no-cues</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:318 +msgid "Tells &mkvmerge; not to create and write the cue data which can be compared to an index in an AVI. &matroska; files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only if you're really desperate for space or for testing purposes. See also option <link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> which can be specified for each input file." +msgstr "Vertelt &mkvmerge; geen volg document(en) (cue) te creëren en te schrijven wat vergelijkbaar is met een index in een AVI. &matroska; bestanden kunnen worden afgespeeld zonder volg document(en) (cue), maar dat kan leiden tot onnauwkeurigheid of traag zoeken. Gebruik dit alleen als je echt wanhopig bent qua ruimte of voor test doeleinden. Zie ook de optie <link linkend=\"mkvmerge.description.cues\"><option>volg document(en) (cue)</option></link> welke opgegeven kan worden voor elk invoer bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:327 +msgid "<option>--clusters-in-meta-seek</option>" +msgstr "<option>--clusters-in-meta-seek</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:330 +msgid "Tells &mkvmerge; to create a meta seek element at the end of the file containing all clusters. See also the section about the <link linkend=\"mkvmerge.file_layout\">&matroska; file layout</link>." +msgstr "Vertelt &mkvmerge; een meta element te creëren aan het eind van het bestand dat alle clusters bevat. Zie ook de sectie over de <link linkend=\"mkvmerge.file_layout\">&matroska; bestand layout</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:337 +msgid "<option>--disable-lacing</option>" +msgstr "<option>--disable-lacing</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:340 +msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. This option is not intended for everyday use." +msgstr "Zet het aaneenkoppelen uit voor alle sporen. Dit zal de bestandsgrootte verhogen, speciaal wanneer er veel audio sporen zijn. Deze optie is niet bedoeld voor dagelijks gebruik." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:347 +msgid "<option>--enable-durations</option>" +msgstr "<option>--enable-durations</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:350 +msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." +msgstr "Duur schrijven voor alle blokken. Dit zal de bestandsgrootte verhogen en geeft geen extra waarde aan afspelers van dit moment." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:356 +msgid "<option>--timecode-scale</option> <parameter>factor</parameter>" +msgstr "<option>--timecode-scale</option> <parameter>factor</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:359 +msgid "Forces the timecode scale factor to <parameter>factor</parameter>. Valid values are in the range <constant>1000</constant>..<constant>10000000</constant> or the special value <constant>-1</constant>." +msgstr "Forceert de tijdcode schaal factor naar <parameter>factor</parameter>. Geldige bereik waardes zijn <constant>1000</constant>..<constant>10000000</constant> of de speciale waarde <constant>-1</constant>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:364 +msgid "Normally &mkvmerge; will use a value of <constant>1000000</constant> which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track &mkvmerge; will automatically chose a timecode scale factor so that all timecodes and durations have a precision of one audio sample. This causes bigger overhead but allows precise seeking and extraction." +msgstr "Normaal zal &mkvmerge; een waarde gebruiken van <constant>1000000</constant> wat inhoudt, dat de tijd codes en duren een precisie hebben van 1ms. Voor bestanden die geen video maar minstends één audio spoor bevatten, zal &mkvmerge; automatisch de tijd code schaal factor kiezen, zodat alle tijd codes en duren een precisie hebben van één audio voorbeeld. Dit veroorzaakt een grotere overhead maar staat een betere zoek en extractie precisie toe." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:371 +msgid "If the special value <constant>-1</constant> is used then &mkvmerge; will use sample precision even if a video track is present." +msgstr "Als de speciale waarde <constant>-1</constant> is gebruikt, dan zal &mkvmerge; een voorbeeld precisie gebruiken zelfs als er een video spoor aanwezig is." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:378 +msgid "File splitting, linking and appending (more global options):" +msgstr "Bestand splitsen, linken en toevoegen (meer globale opties):" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:383 +msgid "<option>--split</option> <parameter>specification</parameter>" +msgstr "<option>--split</option> <parameter>specification</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:387 +msgid "Splits the output file after a given size or a given time. Please note that tracks can only be split right before a key frame. Due to buffering &mkvmerge; will split right before the next key frame after the split point has been reached. Therefore the split point may be a bit off from what the user has specified." +msgstr "Splits het uitvoer bestand na een opgegeven grootte of tijd. Opmerking, sporen kunnen alléén direct voor een sleutel beeld gesplitst worden. Vanwege het bufferen zal &mkvmerge; als een splitspunt wordt bereikt, direct voor het volgende sleutel beeld gaan splitsen. Daarom kunnen de splitspunten enigzins afwijken van wat de gebruiker op gaf." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:393 +msgid "At the moment &mkvmerge; supports three different modes." +msgstr "Op het moment ondersteunt &mkvmerge; drie verschillende modes." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:399 +msgid "Splitting by size." +msgstr "Splitsen op grootte." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:403 +msgid "Syntax: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" +msgstr "Ingave: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:407 +msgid "Examples: <code>--split size:700m</code> or <code>--split 150000000</code>" +msgstr "Voorbeelden: <code>--split size:700m</code> of <code>--split 150000000</code>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:411 +msgid "The parameter <parameter>d</parameter> may end with '<literal>k</literal>', '<literal>m</literal>' or '<literal>g</literal>' to indicate that the size is in KB, MB or GB respectively. Otherwise a size in Bytes is assumed. After the current output file has reached this size limit a new one will be started." +msgstr "De parameter <parameter>d</parameter> kan eindigen met '<literal>k</literal>', '<literal>m</literal>' of '<literal>g</literal>' ter indicatie dat de grootte respectievelijk wordt aangegeven in KB, MB of GB. Anders wordt een grootte in Bytes verondersteld. Nadat een uitvoer bestand zijn limiet heeft bereikt wordt er een andere aangemaakt." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:417 +msgid "The '<literal>size:</literal>' prefix may be omitted for compatibility reasons." +msgstr "De '<literal>size:</literal>' mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:423 +msgid "Splitting after a duration." +msgstr "Splitsen na een duur van." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:427 +msgid "Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" +msgstr "Ingave: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:431 +msgid "Examples: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</code>" +msgstr "Voorbeeld: <code>--split duration:00:60:00.000</code> of <code>--split 3600s</code>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:435 +msgid "The parameter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</parameter> for specifying the duration in up to nano-second precision or be a number <parameter>d</parameter> followed by the letter '<literal>s</literal>' for the duration in seconds. <parameter>HH</parameter> is the number of hours, <parameter>MM</parameter> the number of minutes, <parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</parameter> the number of nanoseconds. Both the number of hours and the number of nanoseconds can be omitted. There can be up to nine digits after the decimal point. After the duration of the contents in the current output has reached this limit a new output file will be started." +msgstr "De parameter moet één van beiden de vormen hebben <parameter>HH:MM:SS.nnnnnnnnn</parameter> voor het specificeren van de duur tot in de precisie van een nanoseconde of een nummer <parameter>d</parameter> gevolgd door een letter '<literal>s</literal>' voor de duur in seconden. <parameter>HH</parameter> is het aantal uren, <parameter>MM</parameter> het aantal minuten, <parameter>SS</parameter> het aantal seconden en <parameter>nnnnnnnnn</parameter> het aantal nanoseconden. Zowel de uren alsmede de nanoseconden mogen weggelaten worden. Er mogen tot aan negen nummers opgegeven worden na de decimale punt. Nadat de duur van van de huidige inhoud deze limiet bereikt heeft, wordt er een nieuw uitvoer bestand gestart." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:444 +msgid "The '<literal>duration:</literal>' prefix may be omitted for compatibility reasons." +msgstr "De '<literal>duration:</literal>' mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:450 +msgid "Splitting after specific timecodes." +msgstr "Splitsen na een specifieke tijdcode." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:454 +msgid "Syntax: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" +msgstr "Ingave: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:458 +msgid "Example: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" +msgstr "Voorbeeld: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:462 +msgid "The parameters <parameter>A</parameter>, <parameter>B</parameter>, <parameter>C</parameter> etc must all have the same format as the ones used for the duration (see above). The list of timecodes is separated by commas. After the input stream has reached the current split point's timecode a new file is created. Then the next split point given in this list is used." +msgstr "De parameters <parameter>A</parameter>, <parameter>B</parameter>, <parameter>C</parameter> etc. moeten allen dezelfde indeling hebben als de duur (zie hierboven). De lijst van tijd codes is komma gesepareerd. Nadat de uitvoer stroom zijn huidige splits tijdcode limiet heeft bereikt wordt er een nieuw bestand gereëerd. Daarna wordt het volgende splits punt gebruikt van de gebruikte lijst." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:468 +msgid "The '<literal>timecodes:</literal>' prefix must not be omitted." +msgstr "Het '<literal>timecodes:</literal>' voorvoegsel mag niet wegelaten worden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:473 +msgid "For this splitting mode the output filename is treated differently than for the normal operation. It may contain a <function>printf</function> like expression '<literal>%d</literal>' including an optional field width, e.g. '<literal>%02d</literal>'. If it does then the current file number will be formatted appropriately and inserted at that point in the filename. If there is no such pattern then a pattern of '<literal>-%03d</literal>' is assumed right before the file's extension: '<literal>-o output.mkv</literal>' would result in '<literal>output-001.mkv</literal>' and so on. If there's no extension then '<literal>-%03d</literal>' will be appended to the name." +msgstr "Voor deze splits mode wordt het uitvoer bestand anders behandeld dan onder de normale werking. Het mag bevatten een <function>printf</function> zoals uitgedrukt '<literal>%d</literal>' inclusief een optioneel veld, b.v. '<literal>%02d</literal>'. Indien dit het geval is, zal het huidige bestandsaantal geschikt worden geformatteerd en op dat punt in het bestandsnaam worden ingevoegd. Is er geen dergelijk patroon dan wordt een patroon van '<literal>-%03d</literal>' aangenomen direct voor de bestand extensie: '<literal>-o output.mkv</literal>' zou resulteren in '<literal>output-001.mkv</literal>' en zo verder. Is er geen extensie dan zal '<literal>-%03d</literal>' worden toegevoegd aan de naam." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:484 +msgid "<option>--link</option>" +msgstr "<option>--link</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:487 +msgid "Link files to one another when splitting the output file. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "Bestanden linken aan een ander tijdens het splitsen van het uitvoer bestand. Zie de sectie op <link linkend=\"mkvmerge.file_linking\">bestand linken/verbinden</link> onderstaand voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:494 +msgid "<option>--link-to-previous</option> <parameter>segment-UID</parameter>" +msgstr "<option>--link-to-previous</option> <parameter>segment-UID</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:497 +msgid "Links the first output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "Verbindt het laatste uitvoerbestand met het segment UID ingegeven door <parameter>segment-UID</parameter> parameter. Zie de sectie op <link linkend=\"mkvmerge.file_linking\">bestand linken/verbinden</link> onderstaand voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:504 +msgid "<option>--link-to-next</option> <parameter>segment-UID</parameter>" +msgstr "<option>--link-to-next</option> <parameter>segment-UID</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:507 +msgid "Links the last output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "Verbindt het laatste uitvoerbestand met het segment UID ingegeven door <parameter>segment-UID</parameter> parameter. Zie de sectie op <link linkend=\"mkvmerge.file_linking\">bestand linken/verbinden</link> onderstaand voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:514 +msgid "<option>--append-mode</option> <parameter>mode</parameter>" +msgstr "<option>--append-mode</option> <parameter>mode</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:517 +msgid "Determines how timecodes are calculated when appending files. The parameter <parameter>mode</parameter> can have two values: '<literal>file</literal>' which is also the default and '<literal>track</literal>'." +msgstr "Calculeert hoe tijd codes worden berekend wanneer die worden toevoegd aan een bestand. De parameter <parameter>mode</parameter> kan twee waardes bevatten: '<literal>file</literal>' welke ook standaard is en '<literal>track</literal>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:522 +msgid "When mkvmerge appends a track (called '<literal>track2_1</literal>' from now on) from a second file (called '<literal>file2</literal>') to a track (called '<literal>track1_1</literal>') from the first file (called '<literal>file1</literal>') then it has to offset all timecodes for '<literal>track2_1</literal>' by an amount. For '<literal>file</literal>' mode this amount is the highest timecode encountered in '<literal>file1</literal>' even if that timecode was from a different track than '<literal>track1_1</literal>'. In track mode the offset is the highest timecode of '<literal>track1_1</literal>'." +msgstr "Wanneer mkvmerge een spoor toevoegt (genoemd '<literal>track2_1</literal>' vanaf nu) van een tweede bestand (genoemd '<literal>file2</literal>') naar een spoor (genoemd '<literal>track1_1</literal>') van het eerste bestand (genoemd '<literal>file1</literal>') dan moet het alle tijd codes compenseren voor '<literal>track2_1</literal>' met een bepaalde hoeveelheid. Voor '<literal>file</literal>' mode is deze hoeveelheid de hoogste tegengekomen tijd code in '<literal>file1</literal>'. zelfs wanneer die tijd code van een ander spoor is dan '<literal>track1_1</literal>'. In spoor mode de is compensatie de hoogste tijd code van '<literal>track1_1</literal>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:530 +msgid "Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore it defaults to '<literal>file</literal>' mode. '<literal>file</literal>' mode usually works better for files that have been created independently of each other; e.g. when appending <abbrev>AVI</abbrev> or <abbrev>MP4</abbrev> files. '<literal>track</literal>' mode may work better for sources that are essentially just parts of one big file, e.g. for <abbrev>VOB</abbrev> and <abbrev>EVO</abbrev> files." +msgstr "Helaas kan mkvmerge niet detecteren welke mode betrouwbaar is. Daarom zet het de standaard waarde naar '<literal>file</literal>' mode. '<literal>file</literal>' mode werkt gewoonlijk beter voor bestanden indien die onafhankelijk van elkaar werden gemaakt; b.v. het toevoegen van <abbrev>AVI</abbrev> of <abbrev>MP4</abbrev> bestanden. '<literal>track</literal>' mode zou beter werken voor bronnen die hoofdzakelijk een deel van één groot bestand zijn, b.v. voor <abbrev>VOB</abbrev> en <abbrev>EVO</abbrev> bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:537 +msgid "Subtitle tracks are always treated as if '<literal>file</literal>' mode were active even if '<literal>track</literal>' mode actually is." +msgstr "Hoofdstuk sporen worden altijd behandeld alsof '<literal>file</literal>' mode actief is en zelfs wanneer '<literal>track</literal>' mode actueel is." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:544 +msgid "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" +msgstr "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:547 +msgid "This option controls to which track another track is appended. Each spec contains four IDs: a file ID, a track ID, a second file ID and a second track ID. The first pair, \"source file ID\" and \"source track ID\", identifies the track that is to be appended. The second pair, \"destination file ID\" and \"destination track ID\", identifies the track the first one is appended to." +msgstr "Deze optie controleert welk spoor aan welk ander spoor moet worden toegevoegd (bestand wordt dubbel zo groot). Elke specificatie bevat vier ID's: een bestand ID, een spoor ID, een tweede bestand ID en een tweede spoor ID. Het eerste paar, \"source file ID\" en \"source track ID\", identificeert het spoor dat moet worden toegevoegd. Het tweede paar, \"destination file ID\" en \"destination track ID\", identificeert het spoor waaraan de eerste is toegevoegd." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:553 +msgid "If this option has been omitted then a standard mapping is used. This standard mapping appends each track from the current file to a track from the previous file with the same track ID. This allows for easy appending if a movie has been split into two parts and both file have the same number of tracks and track IDs with the command <command>mkvmerge -o output.mkv part1.mkv +part2.mkv</command>." +msgstr "Als deze optie weggelaten wordt dan wordt een standaard indeling gebruikt. Deze standaard indeling voegt elk spoor van het huidige bestand toe aan een spoor van het vorige bestand met hetzelfde spoor ID. Dit staat het makkelijk toevoegen toe indien een film gesplitst is in twee delen en beide bestanden dezelfde aantal sporen en spoor ID's hebben, met het commando <command>mkvmerge -o output.mkv part1.mkv +part2.mkv</command>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:561 +msgid "<option>+</option>" +msgstr "<option>+</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:564 +msgid "A single '+' causes the next file to be appended instead of added. The '+' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "Een enkele '+' veroorzaakt dat het volgende bestand wordt bijgevoegd (bestand wordt dubbel zo groot) i.p.v toegevoegd. De '+' kan worden ingegeven voor elk volgende bestandsnaam. Daarom zijn de volgende twee commando's gelijkwaardig:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvmerge.xml:569 +#, no-wrap +msgid "" +"$ mkvmerge -o full.mkv file1.mkv + file2.mkv\n" +"$ mkvmerge -o full.mkv file1.mkv +file2.mkv\n" +" " +msgstr "" +"$ mkvmerge -o full.mkv file1.mkv + file2.mkv\n" +"$ mkvmerge -o full.mkv file1.mkv +file2.mkv\n" +" " + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:576 +#| msgid "<option>+</option>" +msgid "<option>=</option>" +msgstr "<option>=</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:579 +msgid "Normally mkvmerge looks for files in the same directory as an input file that have the same base name and only differ in their running number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc). This option, a single '=', causes mkvmerge not to look for those additional files." +msgstr "Normaal kijkt mkvmerge naar bestanden in dezelfde map welke dezelfde basis naam bevatten maar alleen verschillen van volgordenummer (b.v. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc). Deze optie, een enkele '=' maakt dat mkvmerge niet kijkt naar die extra bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:585 +#| msgid "A single '+' causes the next file to be appended instead of added. The '+' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgid "The '=' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "De '=' kan ook worden ingegeven voor elk volgende bestandsnaam. Daarom zijn de volgende twee commando's gelijkwaardig:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvmerge.xml:589 +#, no-wrap +#| msgid "" +#| "$ mkvmerge -o full.mkv file1.mkv + file2.mkv\n" +#| "$ mkvmerge -o full.mkv file1.mkv +file2.mkv\n" +#| " " +msgid "" +"$ mkvmerge -o full.mkv = file1.mkv\n" +"$ mkvmerge -o full.mkv =file1.mkv\n" +" " +msgstr "" +"$ mkvmerge -o full.mkv = file1.mkv\n" +"$ mkvmerge -o full.mkv =file1.mkv\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:597 +msgid "Attachment support (more global options):" +msgstr "Bijlage ondersteuning (meer globale opties):" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:602 +msgid "<option>--attachment-description</option> <parameter>description</parameter>" +msgstr "<option>--attachment-description</option> <parameter>description</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:605 +msgid "Plain text description of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <option>--attach-file-once</option> option." +msgstr "Normale tekst beschrijving van de volgende bijlage. Is van toepassing op het volgende <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> of <option>--attach-file-once</option> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:613 +msgid "<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" +msgstr "<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:616 +msgid "<abbrev >MIME</abbrev> type of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option. A list of officially recognized <abbrev>MIME</abbrev> types can be found e.g. at <ulink url=\"http://www.iana.org/assignments/media-types/\">the IANA homepage</ulink>. The <abbrev>MIME</abbrev> type is mandatory for an attachment." +msgstr "<abbrev >MIME</abbrev> type van de volgende bijlage. Is van toepassing op de volgende <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> of <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> optie. Een lijst van officiële herkende <abbrev>MIME</abbrev> typen kan gevonden worden b.v. op de <ulink url=\"http://www.iana.org/assignments/media-types/\">IANA</ulink> thuisbasis. Het <abbrev>MIME</abbrev> type is verplicht voor een bijlage." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:626 +msgid "<option>--attachment-name</option> <parameter>name</parameter>" +msgstr "<option>--attachment-name</option> <parameter>name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:629 +msgid "Sets the name that will be stored in the output file for this attachment. If this option is not given then the name will be derived from the file name of the attachment as given with the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option." +msgstr "Stelt de naam in voor deze bijlage welke wordt opgeslagen in het uitvoer bestand. Als deze optie niet is opgegeven dan zal de naam worden afgeleid van de naam van de bijlage zoals gegeven met de <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> of de <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:639 +msgid "<option>--attach-file</option> <parameter>file-name</parameter>, <option>--attach-file-once</option> <parameter>file-name</parameter>" +msgstr "<option>--attach-file</option> <parameter>file-name</parameter>, <option>--attach-file-once</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:644 +msgid "Creates a file attachment inside the &matroska; file. The <abbrev>MIME</abbrev> type must have been set before this option can used. The difference between the two forms is that during splitting the files attached with <option>--attach-file</option> are attached to all output files while the ones attached with <option>--attach-file-once</option> are only attached to the first file created. If splitting is not used then both do the same." +msgstr "Creëert een bestandsbijlage binnenin het &matroska; bestand. Het <abbrev>MIME</abbrev> type moet ingesteld zijn voordat deze optie gebruikt kan worden. Het verschil tussen deze twee vormen is, dat tijdens het splitsen van de bestanden vastgemaakt met <option>--attach-file</option> aan alle uitvoerbestanden zijn vastgemaakt terwijl degene vastgemaakt met de <option>--attach-file-once</option> alleen zijn vastgemaakt aan het eerste bestand. Is splitsen niet gebruikt dan doen beide hetzelfde." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:651 +msgid "&mkvextract; can be used to extract attached files from a &matroska; file." +msgstr "&mkvextract; kan worden gebruikt om bestanden uit een &matroska; bestand te halen." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:658 +msgid "Options that can be used for each input file:" +msgstr "Opties welke gebruikt kunnen worden voor elk invoer bestand:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:663 +msgid "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:666 +msgid "Copy the audio tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all audio tracks." +msgstr "Kopieer de audio sporen <parameter>n</parameter>, <parameter>m</parameter> etc. De nummers zijn track ID's welke verkregen kunnen worden met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> schakelaar. Zij zijn simpelweg niet de spoor nummers (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Standaard: Kopieer alle audio sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:674 +msgid "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:677 +msgid "Copy the video tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all video tracks." +msgstr "Kopieer de video sporen <parameter>n</parameter>, <parameter>m</parameter> etc. De nummers zijn track ID's welke kunnen worden verkregen met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> schakelaar. Zij zijn simpelweg niet de spoor nummers (sie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Standaard: Kopieer alle video sporen.." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:685 +msgid "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:688 +msgid "Copy the subtitle tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all subtitle tracks." +msgstr "Kopieer de ondertitel sporen <parameter>n</parameter>, <parameter>m</parameter> etc. De nummers zijn track ID's welke kunnen worden verkregen met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> schakelaar. Zij zijn simpelweg niet de spoor nummers (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Standaard: Kopieer alle ondertitel sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:696 +msgid "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:699 +msgid "Copy the button tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all button tracks." +msgstr "Kopieer de knop sporen<parameter>n</parameter>, <parameter>m</parameter> etc. De nummers zijn track ID's welke kunnen worden verkregen met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> schakelaar. Zij zijn simpelweg niet de spoor nummerss (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Standaard: Kopieer alle knop sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:707 +msgid "<option>--track-tags</option> <parameter>n,m,...</parameter>" +msgstr "<option>--track-tags</option> <parameter>n,m,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:710 +msgid "Copy the tags for tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). They're not simply the track numbers. Default: copy tags for all tracks." +msgstr "Kopieer de markeringen voor sporen <parameter>n</parameter>, <parameter>m</parameter> etc. De nummers zijn track ID's welke kunnen worden verkregen met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> schakelaar (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Zij zijn simpelweg niet de spoor nummers. Standaard: Kopieer alle markering sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:718 +msgid "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" +msgstr "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:721 +msgid "Copy the attachments with the IDs <parameter>n</parameter>, <parameter>m</parameter> etc to all or only the first output file. Each ID can be followed by either '<literal>:all</literal>' (which is the default if neither is entered) or '<literal>:first</literal>'. If splitting is active then those attachments whose IDs are specified with '<literal>:all</literal>' are copied to all of the resulting output files while the others are only copied into the first output file. If splitting is not active then both variants have the same effect." +msgstr "Kopieer de bijlagen met de ID's <parameter>n</parameter>, <parameter>m</parameter> etc, naar allen of alleen het eerste uitvoer bestand. Elk ID kan opgevolgd worden door '<literal>:all</literal>' (welke standaard is, als geen van twee is opgegeven) of '<literal>:first</literal>'. Als het splitsen actief is, dan zullen die bijlagen waarvan de ID's zijn gespecificeerd met '<literal>:all</literal>' worden gekopieerd naar alle resulterende uitvoer bestanden, terwijl de anderen alleen gekopieerd worden naar het eerste uitvoerbestand. Als splitsen niet actief is, dan hebben beide varianten hetzelfde effect ." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:729 +msgid "The default is to copy all attachments to all output files." +msgstr "Standaard is, kopieer alle bijlagen naar alle uitvoer bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:735 +msgid "<option>-A</option>, <option>--no-audio</option>" +msgstr "<option>-A</option>, <option>--no-audio</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:738 +msgid "Don't copy any audio track from this file." +msgstr "Kopieer geen enkel audio spoor van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:744 +msgid "<option>-D</option>, <option>--no-video</option>" +msgstr "<option>-D</option>, <option>--no-video</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:747 +msgid "Don't copy any video track from this file." +msgstr "Kopieer geen enkel video spoor van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:753 +msgid "<option>-S</option>, <option>--no-subtitles</option>" +msgstr "<option>-S</option>, <option>--no-subtitles</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:756 +msgid "Don't copy any subtitle track from this file." +msgstr "Kopieer geen enkel ondertitel spoor van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:762 +msgid "<option>-B</option>, <option>--no-buttons</option>" +msgstr "<option>-B</option>, <option>--no-buttons</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:765 +msgid "Don't copy any button track from this file." +msgstr "Kopieer geen enkel knop spoor van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:771 +msgid "<option>-T</option>, <option>--no-track-tags</option>" +msgstr "<option>-T</option>, <option>--no-track-tags</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:774 +msgid "Don't copy any track specific tags from this file." +msgstr "Kopieer geen enkel spoor-specifieke markeringen van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:780 +msgid "<option>--no-chapters</option>" +msgstr "<option>--no-chapters</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:783 +msgid "Don't copy chapters from this file." +msgstr "Kopieer geen hoofdstukken van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:789 +msgid "<option>-M</option>, <option>--no-attachments</option>" +msgstr "<option>-M</option>, <option>--no-attachments</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:792 +msgid "Don't copy attachments from this file." +msgstr "Kopieer geen bijlagen van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:798 +msgid "<option>--no-global-tags</option>" +msgstr "<option>--no-global-tags</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:801 +msgid "Don't copy global tags from this file." +msgstr "Kopieer geen globale markeringen van dit bestand." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:810 +msgid "Sets the charset that is used for the conversion to UTF-8 for chapter information contained in the source file. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "Stelt de karakter set in, die gebruikt wordt voor de conversie naar UTF-8 voor de hoofdstuk informatie die zich bevindt in het bronbestand. Zie de sectie over<link linkend=\"mkvmerge.text_files_and_charsets\"> tekst bestanden en karakter set's</link> voor een uitleg hoe &mkvmerge; converteert tussen de karakter set's." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:821 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. This option can be used for source files that contain chapters but no information about the chapters' languages, e.g. for MP4 and OGM files." +msgstr "Zet de ISO639-2 taal code, welke wordt geschreven voor elk hoofdstuk ingang. Deze optie kan gebruikt worden, voor bronbestanden welke hoofdstuk informatie bevatten maar géén informatie over de talen, b.v. for MP4 en OGM bestanden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:828 +msgid "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" +msgstr "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:831 +msgid "Adjust the timecodes of the track with the id <parameter>TID</parameter> by <parameter>d</parameter> ms. The track IDs are the same as the ones given with <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>)." +msgstr "Stelt de tijd code's bij van het spoor met het id <parameter>TID</parameter> met <parameter>d</parameter> ms. De spoor ID's zijn hetzelfde als degene gegeven met <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:837 +msgid "<parameter>o</parameter>/<parameter>p</parameter>: adjust the timestamps by <parameter>o</parameter>/<parameter>p</parameter> to fix linear drifts. <parameter>p</parameter> defaults to 1 if omitted. Both <parameter>o</parameter> and <parameter>p</parameter> can be floating point numbers." +msgstr "<parameter>o</parameter>/<parameter>p</parameter>: Stel de tijd code's bij met <parameter>o</parameter>/<parameter>p</parameter> om lineaire driften te corrigeren. <parameter>p</parameter> standaard naar 1 indien weggelaten. Beide <parameter>o</parameter> en <parameter>p</parameter> kunnen een veranderbaar nummer zijn." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:843 +msgid "Defaults: no manual sync correction (which is the same as <parameter>d</parameter> = <constant>0</constant> and <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</constant>)." +msgstr "Standaard: geen handmatige sync correctie (wat hetzelfde is als <parameter>d</parameter> = <constant>0</constant> en <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</constant>)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:848 +#: doc/man/mkvmerge.xml:870 +#: doc/man/mkvmerge.xml:887 +#: doc/man/mkvmerge.xml:901 +#: doc/man/mkvmerge.xml:937 +#: doc/man/mkvmerge.xml:1160 +msgid "This option can be used multiple times for an input file applying to several tracks by selecting different track IDs each time." +msgstr "Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:854 +msgid "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" +msgstr "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:857 +msgid "Controls for which tracks cue (index) entries are created for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). '<literal>none</literal>' inhibits the creation of cue entries. For '<literal>iframes</literal>' only blocks with no backward or forward references ( = I frames in video tracks) are put into the cue sheet. '<literal>all</literal>' causes &mkvmerge; to create cue entries for all blocks which will make the file very big." +msgstr "Controle voor welke sporen cue (index) ingangen worden gereëerd voor een opgegeven spoor (zie sectie <link linkend=\"mkvmerge.track_ids\">Spoor ID's</link>). '<literal>none</literal>' remt het creëren van volg document(en) (cue) af. Voor '<literal>iframes</literal>' alléén blokken zonder voor of achteruit referenties ( = I beelden in video sporen) worden ingevoerd in het 'volg document(en) (cue)'. '<literal>all</literal>' zorgt ervoor dat &mkvmerge; aanmaakt, volg document(en) (cue) voor alle blokken welke het bestand erg groot maakt." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:864 +msgid "The default is '<literal>iframes</literal>' for video tracks and '<literal>none</literal>' for all others. See also option <link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> which inhibits the creation of cue entries regardless of the <option>--cues</option> options used." +msgstr "Standaard is '<literal>iframes</literal>' voor video sporen en '<literal>none</literal>' voor alle anderen. Zie ook opties <link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> welke verwezenlijken het creëren van volg document(en) (cue) ongeacht de <option>--cues</option> gebruikte opties." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:876 +msgid "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:879 +msgid "Sets the 'default' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. If the user does not explicitly select a track himself then the player should prefer the track that has his 'default' flag set. Only one track of each kind (audio, video, subtitles, buttons) can have his 'default' flag set. If the user wants no track to have the default track flag set then he has to set <parameter>bool</parameter> to <constant>0</constant> for all tracks." +msgstr "Zet de 'standaard' markering voor een gegeven spoor (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>) als het optionele argument <parameter>bool</parameter> niet aanwezig is. Als de gebruiker niet zelf uitdrukkelijk een spoor selecteert, dan zou de afspeler een spoor prefereren dat zijn 'standaard' markering heeft. Alleen één spoor van elk soort (audio, video, ondertitels, knoppen) kunnen deze 'standaard' markering gezet hebben. Indien een gebruiker geen spoor wenst te hebben met een standaard spoor markering gezet, dan moet hij zetten <parameter>bool</parameter> naar <constant>0</constant> voor alle sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:893 +msgid "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:896 +msgid "Sets the 'forced' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. A player must play all tracks for which this flag is set to <constant>1</constant>." +msgstr "Stelt de 'geforceerde' markering in voor een gegeven spoor (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>) als het optionele argument <parameter>bool</parameter> niet aanwezig is. En afspeler moet alle sporen afspelen waarvan deze markering is gezet <constant>1</constant>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:907 +msgid "<option>--blockadd</option> <parameter>TID:level</parameter>" +msgstr "<option>--blockadd</option> <parameter>TID:level</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:910 +msgid "Keep only the <classname>BlockAdditions</classname> up to the level <parameter>level</parameter> for the given track. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "Houd alleen de <classname>BlockAdditions</classname> tot aan niveau <parameter>level</parameter> voor het opgegeven spoor. Standaard is alle niveau's. Deze optie heeft alleen effect op sommige codecs zoals WAVPACK4." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:917 +msgid "<option>--track-name</option> <parameter>TID:name</parameter>" +msgstr "<option>--track-name</option> <parameter>TID:name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:920 +msgid "Sets the track name for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) to <parameter>name</parameter>." +msgstr "Stelt het spoor naam in van een gegeven spoor (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>) naar <parameter>naam</parameter>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:927 +msgid "<option>--language</option> <parameter>TID:language</parameter>" +msgstr "<option>--language</option> <parameter>TID:language</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:930 +msgid "Sets the language for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Both ISO639-2 language codes and ISO639-1 country codes are allowed. The country codes will be converted to language codes automatically. All languages including their ISO639-2 codes can be listed with the <link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link> option." +msgstr "Stelt de taal in voor het opgegeven spoor (zie sectie <link linkend=\"mkvmerge.track_ids\">spoor ID's</link>). Beide ISO639-2 taal codes en ISO639-1 land codes zijn toegestaan. De land code wordt automatisch vertaald naar taal code. Alle talen inclusief hun ISO639-2 codes kunnen uitgelijst worden met <link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:943 +msgid "<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</parameter>" +msgstr "<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:946 +msgid "Read tags for the track with the number <parameter>TID</parameter> from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "Leest de markeringen in van het spoor met het nummer <parameter>TID</parameter> van het bestand <parameter>file-name</parameter>. Zie de sectie over <link linkend=\"mkvmerge.tags\">markeringen</link> hieronder voor details." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:953 +msgid "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" +msgstr "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:956 +msgid "Tells &mkvmerge; that the track with the ID <parameter>TID</parameter> is <abbrev>SBR AAC</abbrev> (also known as <abbrev>HE-AAC</abbrev> or <abbrev>AAC+</abbrev>). This options is needed if a) the source file is an <abbrev>AAC</abbrev> file (<emphasis>not</emphasis> for a &matroska; file) and b) the <abbrev>AAC</abbrev> file contains <abbrev>SBR AAC</abbrev> data. The reason for this switch is that it is technically impossible to automatically tell normal <abbrev>AAC</abbrev> data from <abbrev>SBR AAC</abbrev> data without decoding a complete <abbrev>AAC</abbrev> frame. As there are several patent issues with <abbrev>AAC</abbrev> decoders &mkvmerge; will never contain this decoding stage. So for <abbrev>SBR AAC</abbrev> files this switch is mandatory. The resulting file might not play back correctly or even not at all if the switch was omitted." +msgstr "Vertelt &mkvmerge; dat het spoor met het ID <parameter>TID</parameter> een <abbrev>SBR AAC</abbrev> is (ook bekend als <abbrev>HE-AAC</abbrev> of een <abbrev>AAC+</abbrev>). Deze optie is nodig als a) een bron bestand een <abbrev>AAC</abbrev> bestand is (<emphasis>niet</emphasis> voor een &matroska; bestand) en b) het <abbrev>AAC</abbrev> bestand bevat <abbrev>SBR AAC</abbrev> data. De reden voor deze schakelaar is, dat het normaal technisch niet mogelijk is, automatisch te vertellen dat <abbrev>AAC</abbrev> data van <abbrev>SBR AAC</abbrev> data zonder deze volledig te decoderen van een<abbrev>AAC</abbrev> beeld. Aangezien er verscheidene octrooi/patent kwesties zijn met <abbrev>AAC</abbrev> decoders zal &mkvmerge; nooit dit decodeer stadium bevatten. Dus voor <abbrev>SBR AAC</abbrev> bestanden is deze schakelaar een vereiste. Het resulterende bestand zou niet correct afgespeeld kunnen worden of zelfs helemaal niet, wanneer deze schakelaar werd weggelaten." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:966 +msgid "If the source file is a &matroska; file then the <classname>CodecID</classname> should be enough to detect <abbrev>SBR AAC</abbrev>. However, if the <classname>CodecID</classname> is wrong then this switch can be used to correct that." +msgstr "Als het bron bestand een &matroska; bestand is, dan zou de <classname>CodecID</classname> genoeg moeten zijn om deze <abbrev>SBR AAC</abbrev> te detecteren. Hoewel, als de <classname>CodecID</classname> verkeerd is, dan kan deze schakelaar gebruikt worden om dat te corrigeren." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:971 +msgid "If mkvmerge wrongfully detects that an <abbrev>AAC</abbrev> file is <abbrev>SBR</abbrev> then you can add '<literal>:0</literal>' to the track ID." +msgstr "Als mkvmerge verkeerd detecteert dat een <abbrev>AAC</abbrev> bestand een <abbrev>SBR</abbrev> is, dan kan je toevoegen '<literal>:0</literal>' aan het spoor ID." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:978 +msgid "<option>--timecodes</option> <parameter>TID:file-name</parameter>" +msgstr "<option>--timecodes</option> <parameter>TID:file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:981 +msgid "Read the timecodes to be used for the specific track ID from <parameter>file-name</parameter>. These timecodes forcefully override the timecodes that &mkvmerge; normally calculates. Read the section about <link linkend=\"mkvmerge.external_timecode_files\">external timecode files</link>." +msgstr "Leest de te gebruiken tijd code's in voor een specifiek spoor ID van <parameter>file-name</parameter>. Deze krachtige tijd code's heffen de tijd code's die &mkvmerge; normaal berekend op. Lees de sectie over <link linkend=\"mkvmerge.external_timecode_files\">externe tijd code bestanden</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:989 +msgid "<option>--default-duration</option> <parameter>TID:x</parameter>" +msgstr "<option>--default-duration</option> <parameter>TID:x</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:992 +msgid "Forces the default duration of a given track to the specified value. Also modifies the track's timecodes to match the default duration. The argument <parameter>x</parameter> must be postfixed with '<literal>s</literal>', '<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' or '<literal>fps</literal>' to specify the default duration in seconds, milliseconds, microseconds, nanoseconds or 'frames per second' respectively. The number <parameter>x</parameter> itself can be a floating point number or a fraction." +msgstr "Forceert de standaard duur van een gegeven spoor naar de gegeven waarde. Tevens de spoor tijdcode aanpast zodat die overeenkomt met de standaard duur. Het argument <parameter>x</parameter> moet zijn vastgezet met '<literal>s</literal>', '<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' of '<literal>fps</literal>' om te specificeren de standaard duur in seconden, milliseconden, microseconden, nanoseconden of respectievelijk de ''beelden per seconde' (fps). Het aantal <parameter>x</parameter> kan zelf een veranderbaar nummer ziijn of een fractie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1000 +msgid "If the default duration is not forced then mkvmerge will try to derive the track's default duration from the container and/or codec used. One case in which this option is of use is when adding <foreignphrase>AVC/h.264</foreignphrase> elementary streams because these do not contain information about their number of frames or a default duration for each frame. For such files &mkvmerge; will assume a default duration of '<literal>25fps</literal>' unless overridden." +msgstr "Als de standaard duur niet is geforceerd, dan zal mkvmerge proberen te achterhalen de standaard spoor duur van de houder en/of de gebruikte codec. Eén geval waarin deze optie in gebruik is, is bij het toevoegen van <foreignphrase>AVC/h.264</foreignphrase> elementaire stromen, omdat deze géén informatie bevatten over de standaard aantal beelden per seconde (fps) of een standaard duur van elk beeld. Voor dergelijke bestanden neemt &mkvmerge; aan een standaard duur van '<literal>25fps</literal>' tenzij dit overegeld is." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1007 +msgid "This option can also be used to change the <abbrev>FPS</abbrev> of video tracks without having to use an external timecode file." +msgstr "Deze optie kan ook gebruikt worden om de <abbrev>FPS</abbrev> (beelden per seconde) te veranderen van video sporen zonder een extern tijdcode bestand te hoeven gebruiken." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1013 +msgid "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" +msgstr "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1016 +msgid "Forces the <abbrev>NALU</abbrev> size length to <parameter>n</parameter> bytes. This parameter is only used if the <foreignphrase>AVC/h.264</foreignphrase> elementary stream packetizer is used. If left out it defaults to 4 bytes, but there are files that contain frames or slices that are all smaller than 65536 bytes. For such files you can use this parameter and decrease the size to 2." +msgstr "Forceert de <abbrev>NALU</abbrev> lengte grootte naar <parameter>n</parameter> bytes. Deze parameter wordt alleen gebruikt als de <foreignphrase>AVC/h.264</foreignphrase> elementaire stroom inpakker is gebruikt. Indien weggelaten is de standaard waarde 4 bytes, maar er zijn bestanden die beelden of delen bevatten die kleiner zijn dan 65536 bytes. Voor dergelijke bestanden kan je deze parameter gebruiken en de grootte verminderen naar 2." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1025 +#| msgid "<option>--compression</option> <parameter>TID:method</parameter>" +msgid "<option>--compression</option> <parameter>TID:n</parameter>" +msgstr "<option>--compression</option> <parameter>TID:n</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1028 +#| msgid "Selects the compression method to be used for the VobSub track. Note that the player also has to support this method. Valid values are '<literal>none</literal>', '<literal>zlib</literal>', '<literal>lzo</literal>'/'<literal>lxo1x</literal>', '<literal>bz2</literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has been compiled with support for the <productname>liblzo</productname> respectively <productname>bzlib</productname> compression libraries." +msgid "Selects the compression method to be used for the track. Note that the player also has to support this method. Valid values are '<literal>none</literal>', '<literal>zlib</literal>', '<literal>lzo</literal>'/'<literal>lxo1x</literal>', '<literal>bz2</literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has been compiled with support for the <productname>liblzo</productname> and <productname>bzlib</productname> compression libraries, respectively." +msgstr "Selecteert de te gebruiken compressie methode in voor het spoor. Opmerking: de afspeler dient deze methode ook te ondersteunen. Geldige waarden zijn '<literal>none</literal>', '<literal>zlib</literal>', '<literal>lzo</literal>'/'<literal>lxo1x</literal>', '<literal>bz2</literal>'/'<literal>bzlib</literal>' en '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'. De waarden '<literal>lzo</literal>'/'<literal>lxo1x</literal>' en '<literal>bz2</literal>'/'<literal>bzlib</literal>' zijn alléén beschikbaar als &mkvmerge; is gecompileerd met de ondersteuning voor de <productname>liblzo</productname> respectievelijk <productname>bzlib</productname> compressie bibliotheken." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1036 +#| msgid "The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' is a special compression method called '<foreignphrase>header removal</foreignphrase>' that is only available for MPEG4 part 2 video tracks. The other methods are general compression methods that can be used with any type of track." +msgid "The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' is a special compression method called '<foreignphrase>header removal</foreignphrase>' that is only available for <abbrev>MPEG4</abbrev> part 2 video tracks." +msgstr "De compressie methode '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' is een speciale compressie methode genoemd '<foreignphrase>header removal</foreignphrase>' die is alléén beschikbaar voor<abbrev>MPEG4</abbrev> deel 2 video sporen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1040 +#| msgid "The default is '<literal>zlib</literal>' compression. This compression method is also the one that most if not all playback applications support. Support for other compression methods other than '<literal>none</literal>' is not assured." +msgid "The default for some subtitle tracks is '<literal>zlib</literal>' compression. This compression method is also the one that most if not all playback applications support. Support for other compression methods other than '<literal>none</literal>' is not assured." +msgstr "Standaard voor sommige ondertitels zijn '<literal>zlib</literal>' compressie. Deze compressie wordt door bijna alle afspelers ondersteund zoniet allen. Ondersteuning voor andere compressie methoden anders dan '<literal>none</literal>' is niet verzekerd." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1048 +msgid "Options that only apply to video tracks:" +msgstr "Opties die alleen op video sporen van toepassing zijn:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1053 +msgid "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" +msgstr "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1056 +msgid "Forces the <classname>FourCC</classname> to the specified value. Works only for video tracks in the '<foreignphrase>MS compatibility mode</foreignphrase>'." +msgstr "Forceert de <classname>FourCC</classname> naar de opgegeven waarde. Werkt alléén voor video sporen in de '<foreignphrase>MS verenigbare mode</foreignphrase>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1063 +msgid "<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" +msgstr "<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1066 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. These values can be set with this option, e.g. '<literal>1:640x480</literal>'." +msgstr "&matroska; bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte. Deze waaren worden ingesteld met deze optie, b.v. '<literal>1:640x480</literal>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1071 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> option (see below). These options are mutually exclusive." +msgstr "Een andere manier om de te gebruiken waarden te specificeren is <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> of de <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> optie (zie hieronder). Deze opties zijn wederzijds - exclusief." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1080 +msgid "<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" +msgstr "<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1083 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. With this option &mkvmerge; will automatically calculate the display width and display height based on the image's original width and height and the aspect ratio given with this option. The ratio can be given either as a floating point number <parameter>ratio</parameter> or as a fraction '<parameter>width</parameter>/<parameter>height</parameter>', e.g. '<literal>16/9</literal>'." +msgstr "&matroska; bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte. Met deze optie zal &mkvmerge; automatisch calculeren de scherm breedte en de scherm hoogte gebaseerd, op de orginele beelden/plaatjes breedte en hoogte en de opgegeven verwachte verhouding met deze optie. De verhouding kan één van beiden zijn een veranderbaar nummer <parameter>verhouding</parameter> of als een fractie '<parameter>breedte</parameter>/<parameter>hoogte</parameter>', b.v. '<literal>16/9</literal>'." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1091 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above and below). These options are mutually exclusive." +msgstr "Een andere manier om de te gebruiken waarden te specificeren is <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> of <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> opties (zie hieronder en hierboven). Deze opties zijn wederzijds - exclusief." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1100 +msgid "<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" +msgstr "<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1103 +msgid "Another way to set the aspect ratio is to specify a <parameter>factor</parameter>. The original aspect ratio is first multiplied with this <parameter>factor</parameter> and used as the target aspect ratio afterwards." +msgstr "Een andere manier om de verwachtte verhouding te specificeren is een <parameter>factor</parameter>. De orginele verwachtte verhouding factor wordt eerst vermeningvuldigd met deze <parameter>factor</parameter> en daarna gebruikt als doel verhouding." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1108 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above). These options are mutually exclusive." +msgstr "Een andere manier om de te gebruiken waarden te specificeren is <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> of <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> opties (zie boven). Deze opties zijn wederzijds - exclusief." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1117 +msgid "<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" +msgstr "<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1120 +msgid "Sets the pixel cropping parameters of a video track to the given values." +msgstr "Stelt de video spoor uitsnij paramters in naar een gegeven waarden." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1126 +msgid "<option>--stereo-mode</option> <parameter>TID:n|keyword</parameter>" +msgstr "<option>--stereo-mode</option> <parameter>TID:n|keyword</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1129 +msgid "Sets the stereo mode for the video track with the track ID <parameter>TID</parameter>. The mode can either be a number <parameter>n</parameter> between <constant>0</constant> and <constant>11</constant> or one of these keywords:" +msgstr "Stelt de video mode in voor het video spoor met het spoor ID <parameter>TID</parameter>. Deze mode kan zijn een nummer <parameter>n</parameter> tussen <constant>0</constant> en <constant>11</constant> of één van de volgende:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1134 +msgid "'<literal>mono</literal>', '<literal>side_by_side_left_first</literal>', '<literal>top_bottom_right_first</literal>', '<literal>top_bottom_left_first</literal>', '<literal>checkboard_right_first</literal>', '<literal>checkboard_left_first</literal>', '<literal>row_interleaved_right_first</literal>', '<literal>row_interleaved_left_first</literal>', '<literal>column_interleaved_right_first</literal>', '<literal>column_interleaved_left_first</literal>', '<literal>anaglyph</literal>', '<literal>side_by_side_right_first</literal>'." +msgstr "'<literal>mono</literal>', '<literal>side_by_side_left_first</literal>', '<literal>top_bottom_right_first</literal>', '<literal>top_bottom_left_first</literal>', '<literal>checkboard_right_first</literal>', '<literal>checkboard_left_first</literal>', '<literal>row_interleaved_right_first</literal>', '<literal>row_interleaved_left_first</literal>', '<literal>column_interleaved_right_first</literal>', '<literal>column_interleaved_left_first</literal>', '<literal>anaglyph</literal>', '<literal>side_by_side_right_first</literal>'." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1145 +msgid "Options that only apply to text subtitle tracks:" +msgstr " Opties alleen geldig voor tekst ondertitel sporen:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1150 +msgid "<option>--sub-charset</option> <parameter>TID:character-set</parameter>" +msgstr "<option>--sub-charset</option> <parameter>TID:character-set</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1153 +msgid "Sets the character set for the conversion to UTF-8 for UTF-8 subtitles for the given track ID. If not specified the charset will be derived from the current locale settings. Note that a charset is not needed for subtitles read from &matroska; files or from Kate streams, as these are always stored in UTF-8. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "Stelt de karakter set conversie in naar UTF-8 voor UTF-8 ondertitels van een opgegeven spoor ID. Indien niet opgegeven, dan worden de huidig verkregen besturingssysteem lokatie gebruikt. Opmerking: een karakter set voor ondertitels is niet nodig wanneer er gelezen wordt vanuit een &matroska; bestand of van Kate stromen, omdat deze altijd zijn opgeslagen in het UTF-8 format. Zie de sectie over <link linkend=\"mkvmerge.text_files_and_charsets\"> tekst bestanden en karakter sets</link> voor een uitleg hoe &mkvmerge; converteert tussen de verschillende karakter sets." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1167 +#: doc/man/mkvpropedit.xml:151 +msgid "Other options:" +msgstr "Andere opties:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1172 +msgid "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" +msgstr "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1175 +#: doc/man/mkvmerge.xml:1185 +msgid "Will let &mkvmerge; probe the single file and report its type, the tracks contained in the file and their track IDs. If this option is used then the only other option allowed is the filename." +msgstr "Zal &mkvmerge; (met een sonde) een enkel bestand aftasten en het type rapporteren, de sporen in het bestand en hun spoor ID's. Als deze optie wordt gebruikt dan is de enige andere toegestane optie de bestandsnaam." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1182 +#| msgid "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" +msgid "<option>-I</option>, <option>--identify-verbose</option> <parameter>file-name</parameter>" +msgstr "<option>-I</option>, <option>--identify-verbose</option> <parameter>file-name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1190 +msgid "This option causes &mkvmerge; to output additional information about the container and each track within. The extra information is surronded by square brackets. It consists of space-saparated key/value pairs where keys and values are separated by a colon." +msgstr "Deze optie maakt dat &mkvmerge; extra informatie uitvoert over de inhoud en elk spoor. De extra informatie staat tussen haken ( [] ). Het bevat een spatie gescheiden sleutel/waarde paar, waar de sleutel en waarde's zijn gescheiden door een dubbel punt (:)." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1195 +msgid "Each value is escaped according to the rules described in <link linkend=\"mkvmerge.escaping\">the section about escaping special characters in text</link>." +msgstr "Elke waarde wordt overgeslagen conform de regels beschreven in <link linkend=\"mkvmerge.escaping\">de sectie over overslaan van speciale karakters in een tekst</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1202 +msgid "<option>-l</option>, <option>--list-types</option>" +msgstr "<option>-l</option>, <option>--list-types</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1205 +msgid "Lists supported input file types." +msgstr "Somt invoer bestandstypen op." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1211 +msgid "<option>--list-languages</option>" +msgstr "<option>--list-languages</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1214 +msgid "Lists all languages and their ISO639-2 code which can be used with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option." +msgstr "Somt alle talen en hun ISO639-2 code's op welke gebruikt kunnen worden met de <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1221 +msgid "<option>--priority</option> <parameter>priority</parameter>" +msgstr "<option>--priority</option> <parameter>priority</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1224 +msgid "Sets the process priority that &mkvmerge; runs with. Valid values are '<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</literal>', '<literal>higher</literal>' and '<literal>highest</literal>'. If nothing is given then '<literal>normal</literal>' is used. On Unix like systems &mkvmerge; will use the <citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry> function. Therefore only the super user can use '<literal>higher</literal>' and '<literal>highest</literal>'. On Windows all values are useable for every user." +msgstr "Stelt de proces prioriteit in waarmee &mkvmerge; zijn werk doet. Geldige waarden zijn '<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</literal>', '<literal>higher</literal>' en '<literal>highest</literal>'. Is niets ingegeven dan wordt '<literal>normal</literal>' gebruikt. Op unix achtige systemen zal &mkvmerge; gebruiken de <citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry> functie. Daarom kan alléén de 'super' gebruiker die gebruiken '<literal>higher</literal>' en '<literal>highest</literal>'. Op Windows zijn alle waarden voor iedereen beschikbaar." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1237 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale. This settings applies to arguments of the following options: <link linkend=\"mkvmerge.description.title\"><option>--title</option></link>, <link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link> and <link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>." +msgstr "Plaatst het karakter dat wordt geplaatst om de reeksen om te zetten die op de commandoregel worden ingeven. Het is standaard aan het karakter van het systeem en afhankelijk van de besturingssysteem lokatie. Deze instellingen zijn van toepassing op argumenten van de volgende opties: <link linkend=\"mkvmerge.description.title\"><option>--title</option></link>, <link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link> en <link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1260 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "Schrijft alle berichten naar een bestand <parameter>file-name</parameter> i.p.v naar het 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a her-interpreteert voordat het geschreven wordt naar het uitvoer bestand. De karakter set met <link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> is toegewezen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1271 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvmerge; to output a list of available translations." +msgstr "Forceert de vertaling voor de te gebruiken taal <parameter>code</parameter> (b.v. '<literal>de_DE</literal>' voor de Duitse taal). Het heeft de voorkeur de 'omgevings variabelen' te gebruiken <varname>LANG</varname>, <varname>LC_MESSAGES</varname> en <varname>LC_ALL</varname> Hoewel opvragen van een '<literal>list</literal>' voor een land <parameter>code</parameter> zal er voor zorgen dat &mkvextract; een lijst zal uitvoeren van alle beschikbaren vertalingen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1289 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvmerge.escaping\">the section about escaping text</link>." +msgstr "Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commentaar regel te starten met '#'. Deze regels worden beschreven in <link linkend=\"mkvmerge.escaping\">de sectie over overslaan van tekst</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1294 +msgid "The command line '<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" sound.ogg</command>' could be converted into the following option file:" +msgstr "De commandoregel '<command>mkvmerge -o \"mijn bestand.mkv\" -A \"een film.avi\" geluid.ogg</command>' kan geconverteerd worden naar het volgende optie bestand:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> +#: doc/man/mkvmerge.xml:1299 +#, no-wrap +msgid "" +"# Write to the file \"my file.mkv\".\n" +"-o\n" +"my file.mkv\n" +"# Only take the video from \"a movie.avi\".\n" +"-A\n" +"a movie.avi\n" +"sound.ogg\n" +" " +msgstr "" +"# Write to the file \"mijn bestand.mkv\".\n" +"-o\n" +"my file.mkv\n" +"# Only take the video from \"een film.avi\".\n" +"-A\n" +"een film.avi\n" +"geluid.ogg\n" +" " + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1311 +msgid "<option>--capabilities</option>" +msgstr "<option>--capabilities</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1314 +msgid "Lists information about optional features that have been compiled in and exit. The first line output will be the version information. All following lines contain exactly one word whose presence indicates that the feature has been compiled in. These features are:" +msgstr "Somt informtie op over optionele mogelijkheden die zijn gecompileerd en sluit af. De eerste uitvoer regel zal de versie informatie zijn. Alle volgende informatie regels bevatten exact één woord, waarvan de aanwezigheid aangeeft welke eigenschapen er binnenin zijn gecompileerd. Deze mogelijkheden zijn:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1322 +msgid "'<literal>BZ2</literal>' -- the <productname>bzlib</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "'<literal>BZ2</literal>' -- de <productname>bzlib</productname> compressie bibliotheek. Heeft effect op de beschikbare compressie methoden voor de <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1329 +msgid "'<literal>LZO</literal>' -- the <productname>lzo</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "'<literal>LZO</literal>' -- de <productname>lzo</productname> compressie bibliotheek. Heeft effect op de beschikbare compressie methoden voor de <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> optie." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1336 +msgid "'<literal>FLAC</literal>' -- reading raw <abbrev>FLAC</abbrev> files and handling <abbrev>FLAC</abbrev> tracks in other containers, e.g. <productname>Ogg</productname> or &matroska;." +msgstr "'<literal>FLAC</literal>' -- lezen raw <abbrev>FLAC</abbrev> bestanden en behandelen van <abbrev>FLAC</abbrev> sporen in andere inhoudsmaten, b.v. <productname>Ogg</productname> of &matroska;." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1386 +msgid "Usage" +msgstr "Gebruik" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1388 +msgid "For each file the user can select which tracks &mkvmerge; should take. They are all put into the file specified with <option>-o</option>. A list of known (and supported) source formats can be obtained with the <option>-l</option> option." +msgstr "Voor elk bestand kan de gebruiker selecteren welke sporen &mkvmerge; zou moeten nemen. Zij zitten allemaal in het bestand gespecificeerd met <option>-o</option>. Een lijst met bekende (en ondersteunde) bron formaten kunnen verkregen worden met de <option>-l</option> optie." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1401 +#| msgid "Options:" +msgid "Option order" +msgstr "Optie volgorde" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1404 +msgid "The order in which options are entered is important for some options. Options fall into two categories:" +msgstr "Voor sommige optie's is de volgorde waarin zij zijn opgegeven belangrijk. Optie's mislukken in twee categorieën:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1410 +msgid "Options that affect the whole program and are not tied to any input file. These include but are not limited to <option>--command-line-charset</option>, <option>--output</option> or <option>--title</option>. These can appear anywhere on the command line." +msgstr "Opties die het programma beinvloeden en niet verbonden zijn aan enig invoerbestand. Dez omvatten maar zijn niet beperkt tot <option>--command-line-charset</option>, <option>--output</option> of <option>--title</option>. Deze mogen waar dan ook op de commandoregel staan." + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1418 +msgid "Options that affect a single input file or a single track in an input file. These options all apply to the following input file on the command line. All options applying to the same input (or to tracks from the same input file) file can be written in any order as long as they all appear before that input file's name. Examples for options applying to an input file are <option>--no-chapters</option> or <option>--chapter-charset</option>. Examples for options applying to a single track are <option>--default-duration</option> or <option>--language</option>." +msgstr "Opties die één enkel invoerbstand beïnvloedden of spoor in een invoerbestand. Deze optie's zijn allen van toepassing op het invoerbestand op de commandoregel. Alle optie's naar hetzelfde invoerbestand (of naar sporen in hetzelfde invoerbestand) mogen in elke volgorde geschreven worden zolang deze voor het invoerbestandsnaam staan. Voorbeelden die een invoerbestand beïnvloedden zijn <option>--no-chapters</option> of <option>--chapter-charset</option>. Voorbeelden voor een enkel spoor <option>--default-duration</option> of <option>--language</option>." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1428 +msgid "The options are processed from left to right. If an option appears multiple times within the same scope then the last occurence will be used. Therefore the title will be set to "Something else" in the following example:" +msgstr "De optie's worden uitgevoerd van links naar rechts. Indien er een optie meerdere keren is, binnen hetzelfde gebied, dan wordt de laatste gebruikt. Daarom zal de titel gezet worden naar "Iets anders" in het volgende voorbeeld:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1432 +#, no-wrap +msgid "$ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else'" +msgstr "$ mkvmerge -o output.mkv --title 'Dit én Dat' input.avi --title 'Iets anders'" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1435 +msgid "The following example shows that using the <option>--language</option> option twice is OK because they're used in different scopes. Even though they apply to the same track ID they apply to different input files and therefore have different scopes:" +msgstr "Het volgende voorbeeld toont dat het gebruiken van de optie <option>--language</option> tweemaal OK is, omdat zij andere gebieden gebruiken. Alhoewel zij tot hetzelfde spoor ID behoren maar van verschillende invoer bestanden en daarom verschillende gebieden hebben:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1439 +#, no-wrap +#| msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" +msgid "$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg" +msgstr "$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1443 +#: doc/man/mkvpropedit.xml:366 +msgid "Examples" +msgstr "Voorbeelden" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1445 +msgid "Let's assume you have a file called MyMovie.avi and the audio track in a separate file, e.g. '<literal>MyMovie.wav</literal>'. First you want to encode the audio to &oggvorbis;:" +msgstr "Laten we aannemen dat je een bestand genoemd hebt mijn film.avi en het audio spoor in een ander bestand, b.v. '<literal>mijn film.wav</literal>'. Dan wil je eerst de audio coderen naar &oggvorbis;:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1449 +#, no-wrap +msgid "$ oggenc -q4 -oMyMovie.ogg MyMovie.wav" +msgstr "$ oggenc -q4 -omijn film.ogg mijn film.wav" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1452 +msgid "After a couple of minutes you can join video and audio:" +msgstr "Na een paar minuten kan je het video en audio samenvoegen:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1455 +#, no-wrap +msgid "$ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg" +msgstr "$ mkvmerge -o mijn film-met-geluid.mkv mijn film.avi mijn film.ogg" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1458 +msgid "If your <abbrev>AVI</abbrev> already contains an audio track then it will be copied as well (if &mkvmerge; supports the audio format). To avoid that simply do" +msgstr "Als jouw <abbrev>AVI</abbrev> reeds een audio spoor bevat dan wordt ook die gekopieerd (als &mkvmerge; dat audio formaat ondersteunt). Om dat te voorkomen doe simpel" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1462 +#, no-wrap +msgid "$ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg" +msgstr "$ mkvmerge -o mijn film-met-geluid.mkv -A mijn film.avi mijn film.ogg" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1465 +msgid "After some minutes of consideration you rip another audio track, e.g. the director's comments or another language to '<literal>MyMovie-add-audio.wav</literal>'. Encode it again and join it up with the other file:" +msgstr "Na een paar minuten van wikken en wegen rip je een ander audio spoor, b.v. de regiseur zijn commentaar of een andere taal naar '<literal>mijn film-voegtoe-geluid.wav</literal>'. Codeer het opnieuw en voeg het samen met het andere bestand:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1470 +#, no-wrap +msgid "" +"$ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav\n" +"$ mkvmerge -o MM-complete.mkv MyMovie-with-sound.mkv MyMovie-add-audio.ogg\n" +" " +msgstr "" +"$ oggenc -q4 -omijn film-voegtoe-geluid.ogg mijn film-voegtoe-geluid.wav\n" +"$ mkvmerge -o MM-complete.mkv mijn film-met-geluid.mkv mijn film-voegtoe-geluid.ogg\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1475 +msgid "The same result can be achieved with" +msgstr "Hetzelfde resultaat kan worden verkregen met" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1478 +#, no-wrap +msgid "$ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg" +msgstr "$ mkvmerge -o MM-complete.mkv -A mijn film.avi mijn film.ogg mijn film-voegtoe-geluid.ogg" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1481 +msgid "Now fire up <productname>mplayer</productname> and enjoy. If you have multiple audio tracks (or even video tracks) then you can tell <productname>mplayer</productname> which track to play with the '<option>-vid</option>' and '<option>-aid</option>' options. These are 0-based and do not distinguish between video and audio." +msgstr "Nu <productname>mplayer</productname> opstarten en geniet. Als je meerdere audio sporen hebt (of zelfs video sporen) dan kan je aangeven aan <productname>mplayer</productname> welk spoor af te spelen met de '<option>-vid</option>' en '<option>-aid</option>' opties. Deze zijn 0 gebaseerd en maken geen onderscheid tussen video en audio." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1487 +msgid "If you need an audio track synchronized you can do that easily. First find out which track ID the Vorbis track has with" +msgstr "Indien het nodig is een audio spoor te synchroniseren kan je dat héél makkelijk doen. Achterhaal eerst welk spoor ID het Vorbis spoor bevat" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1490 +#, no-wrap +msgid "$ mkvmerge --identify outofsync.ogg" +msgstr "$ mkvmerge --identify outofsync.ogg" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1493 +msgid "Now you can use that ID in the following command line:" +msgstr "Nu kan je dat ID gebruiken voor de volgende commandoregel:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1496 +#, no-wrap +msgid "$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg" +msgstr "$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1499 +msgid "This would add 200ms of silence at the beginning of the audio track with the ID <constant>12345</constant> taken from '<literal>outofsync.ogg</literal>'." +msgstr "Dit zou toevoegen 200ms aan stilte aan het begin van het spoor met het ID <constant>12345</constant> genomen van '<literal>outofsync.ogg</literal>'." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1504 +msgid "Some movies start synced correctly but slowly drift out of sync. For these kind of movies you can specify a delay factor that is applied to all timestamps -- no data is added or removed. So if you make that factor too big or too small you'll get bad results. An example is that an episode I transcoded was <constant>0.2</constant> seconds out of sync at the end of the movie which was <constant>77340</constant> frames long. At <constant>29.97fps</constant> <constant>0.2</constant> seconds correspond to approx. <constant>6</constant> frames. So I did" +msgstr "Sommige films starten correct gesynchroniseerd maar langzaam aan verloopt dat. Voor dit soort films kan je een vertraag factor opgeven die worden toegevoegd aan alle tijd codes -- Er wordt géén data toegvoegd of verwijderd. Dus, als je die factor te klein of te groot maakt dan krijg je een slecht resultaat. Een voorbeeld is, dat een episode die ik heb getranscodeerd met <constant>0.2</constant> seconden uit sync aan het eind van de film, welke <constant>77340</constant> beelden lang was. Bij <constant>29.97fps</constant> seconden ongeveer corresponderen met <constant>0.2</constant> seconden. <constant>6</constant> beelden. Dus ik deed" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1511 +#, no-wrap +msgid "$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv" +msgstr "$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1514 +msgid "The result was fine." +msgstr "Het resultaat was goed." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1518 +msgid "The sync options can also be used for subtitles in the same manner." +msgstr "De sync opties kunnen ook op de zelfde manier gebruikt worden voor ondertitels." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1522 +msgid "For text subtitles you can either use some Windows software (like <productname>SubRipper</productname>) or the <productname>subrip</productname> package found in <citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s sources in the '<literal>contrib/subrip</literal>' directory. The general process is:" +msgstr "Voor tekst ondertitels kan je één van beide Windows programma's gebruiken (zoals <productname>SubRipper</productname>) of het <productname>subrip</productname> pakket te vinden in <citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s bronnen in de '<literal>contrib/subrip</literal>' map. Het algemene proces is:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1530 +msgid "extract a raw subtitle stream from the source:" +msgstr "pak een raw ondertiteling uit van de bron:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> +#: doc/man/mkvmerge.xml:1531 +#, no-wrap +msgid "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" +msgstr "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1535 +msgid "convert the resulting PGM images to text with gocr:" +msgstr "converteer het resultaat PGM beeld/plaatje naar tekst met het 'GOCR' programma:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> +#: doc/man/mkvmerge.xml:1536 +#, no-wrap +msgid "$ pgm2txt mymovie" +msgstr "$ pgm2txt mymovie" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1540 +msgid "spell-check the resulting text files:" +msgstr "spellingscontrole voor de resulterende tekst bestanden:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> +#: doc/man/mkvmerge.xml:1541 +#, no-wrap +msgid "$ ispell -d american *txt" +msgstr "$ ispell -d american *txt" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1545 +msgid "convert the text files to a SRT file:" +msgstr "converteer de tekst bestanden naar een SRT bestand:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> +#: doc/man/mkvmerge.xml:1546 +#, no-wrap +msgid "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" +msgstr "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1551 +msgid "The resulting file can be used as another input file for &mkvmerge;:" +msgstr "Het resultaat bestand kan gebruikt worden als een ander invoerbestand voor &mkvmerge;:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1554 +#, no-wrap +msgid "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" +msgstr "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1557 +msgid "If you want to specify the language for a given track then this is easily done. First find out the ISO639-2 code for your language. &mkvmerge; can list all of those codes for you:" +msgstr "Als je een taal wilt opgeven voor een gegeven spoor kan dit héél makkelijk gedaan worden. Zoek eerst de ISO639-2 code voor jouw taal. &mkvmerge; kan alle code's uitlijsten voor je:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1561 +#, no-wrap +msgid "$ mkvmerge --list-languages" +msgstr "$ mkvmerge --list-languages" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1564 +msgid "Search the list for the languages you need. Let's assume you have put two audio tracks into a &matroska; file and want to set their language codes and that their track IDs are 2 and 3. This can be done with" +msgstr "Zoek in de lijst naar de taal die je nodig hebt. Laten we aannemen dat je twee audio sporen aan het &matroska; bestand wilt invoegen en je hun taalcodes wilt instellen terwijl hun spoor ID's zijn 2 en 3. Dit kan gedaan worden met" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1568 +#, no-wrap +msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" +msgstr "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1571 +msgid "As you can see you can use the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> switch multiple times." +msgstr "Zoals je kunt zien, kan je de <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> schakelaar meerdere keren gebruiken." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1575 +msgid "Maybe you'd also like to have the player use the Dutch language as the default language. You also have extra subtitles, e.g. in English and French, and want to have the player display the French ones by default. This can be done with" +msgstr "Misschien zou je het ook fijn vinden dat de afpeler standaard de Nederlandse taal gebruikt. Als je ook nog extra ondertitelingen hebt zoals b.v. Engels, Frans, en je wilt dat de afpeler de Franse als standaard gebruikt. Kan je dit doen met" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1579 +#, no-wrap +msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt" +msgstr "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1582 +msgid "If you do not see the language or default track flags that you've specified in &mkvinfo;'s output then please read the section about <link linkend=\"mkvmerge.default_values\">default values</link>." +msgstr "Als je de taal of de standaard spoor markering niet ziet, welke je had opgegeven in &mkvinfo;'s uitvoer lees dan a.u.b. de sectie over <link linkend=\"mkvmerge.default_values\">standaard waarden</link>." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1587 +msgid "Turn off the compression for an input file." +msgstr "Zet de compressie uit voor een invoer bestand" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1590 +#, no-wrap +msgid "$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt" +msgstr "$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1595 +msgid "Track IDs" +msgstr "Spoor ID's" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1598 +msgid "Some of the options for &mkvmerge; need a track ID to specify which track they should be applied to. Those track IDs are printed by the readers when demuxing the current input file, or if &mkvmerge; is called with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> option. An example for such output:" +msgstr "Sommige opties voor &mkvmerge; hebben een spoor ID nodig om te specificeren op welk spoor zij zouden moeten worden toegepast. Die spoor ID's worden getoond door de lezers bij het samenvoegen van het huidige invoer bestand, of als &mkvmerge; is opgeroepen met de <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> optie. Een voorbeeld van een dergelijke uitvoer:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1604 +#, no-wrap +msgid "" +"$ mkvmerge -i v.mkv\n" +"File 'v.mkv': container: &matroska;\n" +"Track ID 1: video (V_MS/VFW/FOURCC, DIV3)\n" +"Track ID 2: audio (A_MPEG/L3)\n" +" " +msgstr "" +"$ mkvmerge -i v.mkv\n" +"File 'v.mkv': container: &matroska;\n" +"Track ID 1: video (V_MS/VFW/FOURCC, DIV3)\n" +"Track ID 2: audio (A_MPEG/L3)\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1611 +msgid "Do not confuse the track IDs that are assigned to the tracks that are placed in the output MKV file with the track IDs of the input files. Only the input file track IDs are used for options needing these values." +msgstr "Verwar de spoor ID's niet met welke zijn toegewezen aan spo(o)r(en) in het uitvoer MKV bestand met het spoor ID van het invoerbestand. Alleen het invoerbestand spoor ID's worden gebruikt voor optie's die deze waarde nodig hebben." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1616 +msgid "Also note that each input file has its own set of track IDs. Therefore the track IDs for file '<filename>file1.ext</filename>' as reported by '<literal>mkvmerge --identify</literal>' do not change no matter how many other input files are there or in which position '<filename>file1.ext</filename>' is used." +msgstr "Opmerking: Dat elk invoerbestand zijn eigen spoor ID's heeft. Daarom het spoor ID voor bestand '<filename>file1.ext</filename> gerapporteerd wordt door '<literal>mkvmerge --identify</literal>' verander niets, ongeacht hoeveel invoerbestanden in welke positie dan ook '<filename>file1.ext</filename>' wordt gebruikt." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1622 +msgid "Track IDs are assigned like this:" +msgstr "Spoor ID's worden toegewezen zoals dit:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1628 +msgid "<abbrev>AVI</abbrev> files: The video track has the ID 0. The audio tracks get IDs in ascending order starting at 1." +msgstr "<abbrev>AVI</abbrev> bestanden: Het video spoor heeft het ID 0. De audio sporen krijgen de ID's in oplopende volgorde beginnend bij 1." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1634 +msgid "<abbrev>MP4</abbrev> files: As output from x264, the video track has the ID 1." +msgstr "<abbrev>MP4</abbrev> bestanden: Als uitvoer van x264, het video spoor het ID 1 heeft." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1640 +msgid "<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, <abbrev>SRT</abbrev> and <abbrev>WAV</abbrev> files: The one 'track' in that file gets the ID 0." +msgstr "<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, <abbrev>SRT</abbrev> en <abbrev>WAV</abbrev> bestanden: Het 'spoor' in dat bestand krijgt het ID 0." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1647 +msgid "Ogg/<abbrev>OGM</abbrev> files: The track IDs are assigned in order the tracks are found in the file starting at 0." +msgstr "Ogg/<abbrev>OGM</abbrev> bestanden: De spoor ID's worden toegekend volgens de volgorde zoals het gevonden is in het bestand startend bij 0." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1653 +msgid "&matroska; files: The track's ID is the track number as reported by &mkvinfo;. It is <emphasis>not</emphasis> the track UID." +msgstr "&matroska; bestanden: Het spoor ID is het spoornummer zoals gerapporteerd door &mkvinfo;. Het is <emphasis>niet</emphasis> het spoor UID." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1659 +msgid "The special track ID '<constant>-1</constant>' is a wild card and applies the given switch to all tracks that are read from an input file." +msgstr "Het speciale spoor ID '<constant>-1</constant>' is de 'joker' en past de bepaalde schakelaar toe op alle sporen die van een invoerbestand worden gelezen." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1664 +msgid "The options that use the track IDs are the ones whose description contains '<literal>TID</literal>'. The following options use track IDs as well: <option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</option> and <option>--btracks</option>." +msgstr "De opties die de spoor ID's gebruiken zijn degenen die de beschrijvingen bevatten '<literal>TID</literal>'. De volgende optie gebruikt het spoor ID ook: <option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</option> en <option>--btracks</option>." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1671 +msgid "Text files and character set conversions" +msgstr "Tekst bestanden en karakter set conversies" + +#. type: Content of: <refentry><refsect1><note><para> +#: doc/man/mkvmerge.xml:1674 +msgid "This section applies to all programs in MKVToolNix even if it only mentions &mkvmerge;." +msgstr "Deze sectie is van toepassing op alle programma's in MKVToolNix zelfs wanneer alléén &mkvmerge; genoemd wordt." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1679 +msgid "All text in a &matroska; file is encoded in UTF-8. This means that &mkvmerge; has to convert every text file it reads as well as every text given on the command line from one character set into UTF-8. In return this also means that &mkvmerge;'s output has to be converted back to that character set from UTF-8, e.g. if a non-English translation is used with <link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></link> or for text originating from a &matroska; file." +msgstr "Alle teksten in &matroska; bestanden zijn gecodeerd in UTF-8. Dit betekend, dat &mkvmerge; alle de te lezen tekst bestanden moet converteren en evenals elke ingegeven tekst op de commandoregel om elke karakter te zetten naar UTF-8. Teruggekoppeld betekend dit ook, dat &mkvmerge;'s uitvoer terug geconverterd moet worden naar die karakter set van UTF-8, b.v. als een niet Engelse vertaling is gebruikt met <link linkend=\"mkvmerge.description.ui_language\"><option>--ui-languages</option></link> of voor de orginele tekst uit een &matroska; bestand." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1686 +msgid "&mkvmerge; does this conversion automatically based on the presence of a <foreignphrase>byte order marker</foreignphrase> (short: <abbrev>BOM</abbrev>) or the system's current locale. How the character set is inferred from the locale depends on the operating system that &mkvmerge; is run on." +msgstr "&mkvmerge; doet deze conversie automatisch gebasseerd op de aanwezigheid van een <foreignphrase>Byte Order Marker (byte volgorde markering)</foreignphrase> (kort: <abbrev>BOM</abbrev>) of op basis van het huidige besturingssysteem lokatie. Hoe de karakter van de lokatie wordt 'achterhaald' hangt af van het besturingssysteem waarop &mkvmerge; is opgestart." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1692 +msgid "Text files that start with a BOM are already encoded in one representation of UTF. &mkvmerge; supports the following five modes: UTF-8, UTF-16 Little and Big Endian, UTF-32 Little and Big Endian. Text files with a BOM are automatically converted to UTF-8. Any of the parameters that would otherwise set the character set for such a file (e.g. <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>) is silently ignored." +msgstr "Tekst bestanden die starten met BOM (byte volgorde markering) zijn al gecodeerd in de vertegenwoordiging van UTF. &mkvmerge; ondersteunt één van de volgende vijf modes: UTF-8, UTF-16 Little en Big Endian, UTF-32 Little en Big Endian. Tekst bestanden met een BOM (byte volgorde markering) worden automatisch geconverteerd naar UTF-8. Elke van de parameters die gezet zouden zijn voor een dergelijk bestand (b.v. <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>) worden stilletjes genegeerd." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1699 +msgid "On Unix-like systems &mkvmerge; uses the <citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry> system call which in turn uses the environment variables <varname>LANG</varname>, <varname>LC_ALL</varname> and <varname>LC_CYPE</varname>. The resulting character set is often one of UTF-8 or the ISO-8859-* family and is used for all text file operations and for encoding strings on the command line and for output to the console." +msgstr "Op Unix-achtige systemen gebruikt &mkvmerge; de <citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry> besturingssysteem oproep, welke beurtelings de omgevingsvariabelen gebruikt <varname>LANG</varname>, <varname>LC_ALL</varname> en <varname>LC_CYPE</varname>. Het resulterende karakter set is vaak één van de UTF-8 of de ISO-8859-* familie en wordt gebruikt voor alle tekst bestand operaties en voor het coderen van reeksen op de commandoregel voor een uitvoer naar het apparaat/houder." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1706 +msgid "On Windows there are actually two different character sets that &mkvmerge; uses due to the way the Windows shell program <command>cmd.exe</command> is implemented. The first character set is determined by a call to the <function>GetCP()</function> system call. This character set is used as the default for text file conversions and for all elements displayed by the <abbrev>GUI</abbrev> programs in the MKVToolNix package. <command>cmd.exe</command> uses another character set which is determined by a call to the <function>GetACP()</function> system call. This is the default character set for all strings read from the command line and for all strings output to the console." +msgstr "Met Windows zijn er eigenlijk twee karakter sets welke &mkvmerge; gebruikt, door de manier waarop het Windows commandoregel programma <command>cmd.exe</command> is geïmplementeerd. De eerste karakter set wordt bepaald door een vraag met de <function>GetCP()</function> besturingssysteem oproep. Deze karakter set wordt standaard gebruikt voor tekst bestand conversie en voor alle elementen getoond met het <abbrev>GUI</abbrev> programma in het MKVToolNix pakket. <command>cmd.exe</command> gebruikt een andere karakter set welke kan worden bepaald door een vraag met de <function>GetACP()</function> besturingssysteem oproep. Dit is de standaard karakter set voor alle reeksen die gelezen worden vanaf de commandoregel en voor alle reeksen die naar het apparaat/houder worden uitgevoerd." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1715 +msgid "The following options exist that allow specifying the character sets:" +msgstr "Als de volgende optie aanwezig is dan is het toegestaan de karakter set te specificeren:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1721 +msgid "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link> for text subtitle files and for text subtitle tracks stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files)," +msgstr "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link> voor tekst ondertitels en tekst ondertitel sporen opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b.v. Ogg bestanden)," + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1728 +msgid "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link> for chapter text files and for chapters and file titles stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files for chapter information, track and file titles etc; MP4 files for chapter information)," +msgstr "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link> voor tekst hoofdstuk bestanden en voor hoofdstukken en bestand titels opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b.v. Ogg bestanden voor hoofdstuk informatie, spoor en bestand titels etc.; MP4 bestanden voor hoofdstuk informatie)," + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1736 +msgid "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link> for all strings on the command line," +msgstr "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link> voor alle ingave's op de commandoregel," + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1743 +msgid "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> for all strings written to the console or to a file if the output has been redirected with the <link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link> option." +msgstr "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> voor alle reeksen geschreven naar het apparaat/houder of naar een bestand wanneer de uitvoer is omgeleid met de <link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link> optie." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1764 +msgid "Subtitles" +msgstr "Ondertitelingen" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1766 +msgid "There are several text subtitle formats that can be embedded into &matroska;. At the moment &mkvmerge; supports only text, VobSub and Kate subtitle formats. Text subtitles must be recoded to UTF-8 so that they can be displayed correctly by a player (see the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets). Kate subtitles are already encoded in UTF-8 and do not have to be re-encoded." +msgstr "Er zijn verschillende tekst ondertitel formaten welke kunnen worden 'ingebakken' in &matroska;. Op het moment ondersteunt &mkvmerge; alléén tekst, VobSub en Kate ondertitel formaten. Tekst ondertitels moet worden hergecodeerd naar UTF-8 zodat deze juist kunnen worden getoond door een afspeler (zie de sectie over <link linkend=\"mkvmerge.text_files_and_charsets\"> tekst bestanden en karakter sets</link> voor een uitleg hoe &mkvmerge; converteert tussen de verschillende karakter sets). Kate ondertitels zijn reeds gecodeerd met UTF-8 en hoeven niet ge-hercodeerd te worden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1773 +msgid "The following subtitle formats are supported at the moment:" +msgstr "De volgende ondertitel formaten worden momenteel ondersteund:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1779 +msgid "Subtitle Ripper (SRT) files" +msgstr "Ondertitel stripper (SRT) bestand(en)" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1785 +msgid "Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)" +msgstr "Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1791 +msgid "OggKate streams" +msgstr "OggKate stromen" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1797 +msgid "VobSub bitmap subtitle files" +msgstr "VobSub bitmap ondertitel bestanden" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1804 +msgid "File linking" +msgstr "Bestand linken" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1806 +msgid "&matroska; supports file linking which simply says that a specific file is the predecessor or successor of the current file. To be precise, it's not really the files that are linked but the &matroska; segments. As most files will probably only contain one &matroska; segment the following explanations use the term 'file linking' although 'segment linking' would be more appropriate." +msgstr "&matroska; ondersteunt bestand linken welke eenvoudig zegt, dat een specifiek bestand de voorganger of de opvolger van het huidige bestand is. Om precies te zijn, het zijn niet echt de bestanden die gelinkt zijn maar de &matroska; segmenten. En de meeste bestanden bevatten alleen één &matroska; segment de volgende uitleg gebruikt de term 'bestand linken' hoewel 'segment linken' meer op zijn plaats zou zijn." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1812 +msgid "Each segment is identified by a unique 128 bit wide segment UID. This UID is automatically generated by &mkvmerge;. The linking is done primarily via putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next file into the segment header information. &mkvinfo; prints these <abbrev>SIDs</abbrev> if it finds them." +msgstr "Elk segment word geïndentificeerd door een uniek 128 bit lang segment UID. Dit UID wordt automatisch gegenereerd door &mkvmerge;. Het linken wordt primair gedaan via het zetten van het segment UID's (kort: <abbrev>SID</abbrev>) van het volgende/vorige bestand naar het segment kop informatie. &mkvinfo; print deze <abbrev>SID's</abbrev> als het hen vindt." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1818 +msgid "If a file is split into several smaller ones and linking is used then the timecodes will not start at 0 again but will continue where the last file has left off. This way the absolute time is kept even if the previous files are not available (e.g. when streaming). If no linking is used then the timecodes should start at 0 for each file. By default &mkvmerge; does not use file linking. If you want that you can turn it on with the <option>--link</option> option. This option is only useful if splitting is activated as well." +msgstr "Als een bestand wordt gesplitst in meerdere kleinere bestanden en linken wordt gebruikt, dan zullen de tijd codes niet opnieuw starten op 0 maar doorgaan op daar waar het vorige bestand eindigde. Op deze manier zal absolute de tijd code behouden blijven, zelfs wanneer het vorige bestand niet aanwezig/beschikbaar is (b.v. bij 'streaming''). Als er géén linken is gebruikt, dan zouden de tijd codes moeten starten op 0 voor elk bestand. Standaard gebruikt &mkvmerge; bestand linken niet. Als je wilt kan je dit aanzetten met de <option>--link</option> optie. Deze optie is alléén nuttig wanneer ook het splitsen actief is." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1825 +msgid "Regardless of whether splitting is active or not the user can tell &mkvmerge; to link the produced files to specific <abbrev>SIDs</abbrev>. This is achieved with the options <option>--link-to-previous</option> and <option>--link-to-next</option>. These options accept a segment <abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Alternatively a shorter form can be used: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> without the '<literal>0x</literal>' prefixes and without the spaces, e.g. '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." +msgstr "Ongeacht of het splitsen actief is of niet, de gebruiker kan &mkvmerge; vertellen het geproduceerde bestand te linken naar een specifieke <abbrev>SID's</abbrev>. Dit wordt bereikt met de opties <option>--link-to-previous</option> en <option>--link-to-next</option>. Deze opties accepteren een segment <abbrev>SID</abbrev> in het formaat dat &mkvinfo; uitvoert: 16 hexadecimale nummers tussen <constant>0x00</constant> en <constant>0xff</constant> voorgevoegd met '<literal>0x</literal>' elk, b.v. '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Als alternatief kan een kortere vorm worden gebruikt: 16 hexadecimale nummers tussen <constant>0x00</constant> en <constant>0xff</constant> zonder het '<literal>0x</literal>' voorvoegsel en zonder spaties, b.v. '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1835 +msgid "If splitting is used then the first file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-previous</option> and the last file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-next</option>. If splitting is not used then the one output file will be linked to both of the two <abbrev>SIDs</abbrev>." +msgstr "Als splitsen wordt gebruikt, dan is het eerste bestand gelinkt naar het <abbrev>SID</abbrev> gegeven met <option>--link-to-previous</option> en het laatste bestand is gelinkt naar <abbrev>SID</abbrev> gegeven met <option>--link-to-next</option>. Als splitsen niet is gebruikt, dan zal één uitvoer bestand worden gelinkt met twee van de beide <abbrev>SIDs</abbrev>." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1842 +msgid "Default values" +msgstr "Standaard waarden" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1844 +msgid "The &matroska; specification states that some elements have a default value. Usually an element is not written to the file if its value is equal to its default value in order to save space. The elements that the user might miss in &mkvinfo;'s output are the <parameter>language</parameter> and the <parameter>default track flag</parameter> elements. The default value for the <parameter>language</parameter> is English ('<literal>eng</literal>'), and the default value for the <parameter>default track flag</parameter> is <parameter>true</parameter>. Therefore if you used <option>--language 0:eng</option> for a track then it will not show up in &mkvinfo;'s output." +msgstr "De &matroska; de specificatie verklaart dat sommige elementen een standaard waarde hebben. Gewoonlijk wordt een element niet naar het bestand geschreven als het niet gelijk is aan de standaard waarde, dit om ruimte te besparen. De elementen die gebruiker zou kunnen missen in &mkvinfo;'s uitvoer, zijn de <parameter>lanuage (taal) </parameter> en de <parameter> defautt track flag (standaard spoor markering)</parameter> elementen. De standaard waarde voor de <parameter>language (taal) </parameter>is English (is Engels) ('<literal>eng</literal>'), en de standaard waarde voor de <parameter>standard track flag (standaard spoor markering)</parameter> is <parameter>true (waar)</parameter>. Als je daarom gebruikt de <option>--language 0:eng</option> voor een spoor, dan zal deze niet verschijnen in de &mkvinfo;'s uitvoer." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1856 +msgid "Maybe you also want to keep some photos along with your &matroska; file, or you're using <abbrev>SSA</abbrev> subtitles and need a special <productname>TrueType</productname> font that's really rare. In these cases you can attach those files to the &matroska; file. They will not be just appended to the file but embedded in it. A player can then show those files (the 'photos' case) or use them to render the subtitles (the '<productname>TrueType</productname> fonts' case)." +msgstr "Misschien wilt u ook sommige foto's samen met uw &matroska; bestand houden of je gebruikt <abbrev>SSA</abbrev> ondertitels en je wilt een speciaal <productname>TrueType</productname> lettertype(n) gebruiken welke zeldzaam zijn. In deze gevallen kan je deze bestanden vastmaken aan het &matroska; bestand. Zij zullen niet enkel bijgevoegd worden aan het bestand maar er ingevoegd worden. Een afspeler kan deze bestanden tonen (de 'foto' gevallen) of hen gebruiken om de ondertitels te genereren (de '<productname>TrueType</productname> lettertype' gevallen)." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1863 +msgid "Here's an example how to attach a photo and a <productname>TrueType</productname> font to the output file:" +msgstr "Hier is een voorbeeld hoe een foto en een <productname>TrueType</productname> lettertype aan het uitvoerbestand kan vast te maken:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1867 +#, no-wrap +msgid "" +"$ mkvmerge -o output.mkv -A video.avi sound.ogg --attachment-description \"Me and the band behind the stage in a small get-together\" --attachment-mime-type image/jpeg --attach-file me_and_the_band.jpg --attachment-description \"The real rare and unbelievably good looking font\" --attachment-type application/octet-stream --attach-file really_cool_font.ttf\n" +" " +msgstr "" +"$ mkvmerge -o output.mkv -A video.avi sound.ogg --attachment-description \"Me and the band behind the stage in a small get-together\" --attachment-mime-type image/jpeg --attach-file me_and_the_band.jpg --attachment-description \"The real rare and unbelievably good looking font\" --attachment-type application/octet-stream --attach-file really_cool_font.ttf\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1871 +msgid "If a &matroska; containing attachments file is used as an input file then &mkvmerge; will copy the attachments into the new file. The selection which attachments are copied and which are not can be changed with the options <link linkend=\"mkvmerge.description.attachments\"><option>--attachments</option></link> and <link linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</option></link>." +msgstr "Als een &matroska; bestandsbijlage bevat en is gebruikt als een invoer bestand dan zal &mkvmerge; de bijlage kopieeren naar een nieuw bestand. De selectie, welke bijlage wordt gekopieerd en welke niet kan veranderd worden met de opties <link linkend=\"mkvmerge.description.attachments\"><option>--attachments</option></link> en <link linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</option></link>." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1881 +msgid "The &matroska; chapter system is more powerful than the old known system used by <abbrev>OGM</abbrev> files. The full specifications can be found at <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "Het &matroska; hoofdstuk systeem is krachtiger dan het oude bekende systeem van<abbrev>OGM</abbrev> bestanden. De volledige specificatie kan gevonden worden op de <ulink url=\"http://www.matroska.org/\">&matroska;</ulink> website." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1886 +msgid "&mkvmerge; supports two kinds of chapter files as its input. The first format, called '<foreignphrase>simple chapter format</foreignphrase>', is the same format that the <abbrev>OGM</abbrev> tools expect. The second format is a &xml; based chapter format which supports all of &matroska;'s chapter functionality." +msgstr "&mkvmerge; ondersteunt twee soorten van hoofdstuk bestanden als invoer. Het eerste formaat, genoemd '<foreignphrase>simpel hoofdstuk format</foreignphrase>', is hetzelfde format dat het <abbrev>OGM</abbrev> hulpmiddel verwacht. Het tweede format is een &xml; gebasseerd hoofdstuk format welke alle &matroska;'s hoofdstuk functionaliteiten ondersteunt." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:1892 +msgid "The simple chapter format" +msgstr "Een eenvoudig hoofdstuk formaat" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1895 +msgid "This formmat consists of pairs of lines that start with '<literal>CHAPTERxx=</literal>' and '<literal>CHAPTERxxNAME=</literal>' respectively. The first one contains the start timecode while the second one contains the title. Here's an example:" +msgstr "Dit formaat bestaat uit twee paren van regels die respectievelijk starten met '<literal>CHAPTERxx=</literal>' en '<literal>CHAPTERxxNAME=</literal>'. De eerste bevat de start tijdcode en de tweede bevat de titel. Hier is een voorbeeld:" + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:1900 +#, no-wrap +msgid "" +"CHAPTER01=00:00:00.000\n" +"CHAPTER01NAME=Intro\n" +"CHAPTER02=00:02:30.000\n" +"CHAPTER02NAME=Baby prepares to rock\n" +"CHAPTER03=00:02:42.300\n" +"CHAPTER03NAME=Baby rocks the house\n" +" " +msgstr "" +"CHAPTER01=00:00:00.000\n" +"CHAPTER01NAME=Intro\n" +"CHAPTER02=00:02:30.000\n" +"CHAPTER02NAME=Baby prepares to rock\n" +"CHAPTER03=00:02:42.300\n" +"CHAPTER03NAME=Baby rocks the house\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1909 +msgid "&mkvmerge; will transform every pair or lines into one &matroska; <classname>ChapterAtom</classname>. It does not set any <classname>ChapterTrackNumber</classname> which means that the chapters all apply to all tracks in the file." +msgstr "&mkvmerge; zal elk paar of regels transformeren naar één &matroska; <classname>ChapterAtom</classname>. Het plaatst geen <classname>ChapterTrackNumber</classname> Wat inhoudt, dat de hoofdstukken van toepassing zijn aan alle sporen in het bestand." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1914 +msgid "As this is a text file character set conversion may need to be done. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "Aangezien dit een tekst bestand is kan karakter set conversie nog nodig zijn. Zie de sectie over <link linkend=\"mkvmerge.text_files_and_charsets\"> tekst bestanden en karakter sets</link> voor een uitleg hoe &mkvmerge; converteert tussen karakter sets." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:1921 +msgid "The &xml; based chapter format" +msgstr "Het &xml; gebaseerde hoofdstuk formaat" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1923 +msgid "The &xml; based chapter format looks like this example:" +msgstr "Het &xml; gebaseerde hoofdstuk formaat lijkt op dit voorbeeld:" + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:1927 +#, no-wrap +msgid "" +"<?xml version="1.0" encoding="ISO-8859-1"?>\n" +"<!DOCTYPE Chapters SYSTEM "matroskachapters.dtd">\n" +"<Chapters>\n" +" <EditionEntry>\n" +" <ChapterAtom>\n" +" <ChapterTimeStart>00:00:30.000</ChapterTimeStart>\n" +" <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd>\n" +" <ChapterDisplay>\n" +" <ChapterString>A short chapter</ChapterString>\n" +" <ChapterLanguage>eng</ChapterLanguage>\n" +" </ChapterDisplay>\n" +" <ChapterAtom>\n" +" <ChapterTimeStart>00:00:46.000</ChapterTimeStart>\n" +" <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd>\n" +" <ChapterDisplay>\n" +" <ChapterString>A part of that short chapter</ChapterString>\n" +" <ChapterLanguage>eng</ChapterLanguage>\n" +" </ChapterDisplay>\n" +" </ChapterAtom>\n" +" </ChapterAtom>\n" +" </EditionEntry>\n" +"</Chapters>\n" +" " +msgstr "" +"<?xml version="1.0" encoding="ISO-8859-1"?>\n" +"<!DOCTYPE Chapters SYSTEM "matroskachapters.dtd">\n" +"<Chapters>\n" +" <EditionEntry>\n" +" <ChapterAtom>\n" +" <ChapterTimeStart>00:00:30.000</ChapterTimeStart>\n" +" <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd>\n" +" <ChapterDisplay>\n" +" <ChapterString>A short chapter</ChapterString>\n" +" <ChapterLanguage>eng</ChapterLanguage>\n" +" </ChapterDisplay>\n" +" <ChapterAtom>\n" +" <ChapterTimeStart>00:00:46.000</ChapterTimeStart>\n" +" <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd>\n" +" <ChapterDisplay>\n" +" <ChapterString>A part of that short chapter</ChapterString>\n" +" <ChapterLanguage>eng</ChapterLanguage>\n" +" </ChapterDisplay>\n" +" </ChapterAtom>\n" +" </ChapterAtom>\n" +" </EditionEntry>\n" +"</Chapters>\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1952 +msgid "With this format three things are possible that are not possible with the simple chapter format:" +msgstr "Met dit format zijn drie dingen mogelijk die niet mogelijk zijn met het simpele hoofdstuk format:" + +#. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1956 +msgid "The timestamp for the end of the chapter can be set," +msgstr "De tijdmarkering voor het hoofdstuk eind kan ingegeven worden," + +#. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1957 +msgid "chapters can be nested," +msgstr "Hoofdstukken mogen ingekapseld zijn" + +#. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1958 +msgid "the language and country can be set." +msgstr "De taal en het land mag ingesteld worden" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1962 +msgid "The mkvtoolnix distribution contains some sample files in the <filename>doc</filename> subdirectory which can be used as a basis." +msgstr "De mkvtoolnix distributie bevat meerdere voorbeeld bestanden in de <filename>doc</filename> sub map welke als basis gebruikt kan worden." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:1967 +msgid "General notes" +msgstr "Algemene opmerkingen" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1969 +msgid "When splitting files &mkvmerge; will correctly adjust the chapters as well. This means that each file only includes the chapter entries that apply to it, and that the timecodes will be offset to match the new timecodes of each output file." +msgstr "Bij het splitsen van bestanden dan zal &mkvmerge; tevens de hoofdstukken juist bijstellen. Dit betekendt, dat elk bestand slechts de hoofdstukingangen omvat waarop het van toepassing is, en dat de tijd codes worden gecompenseerd om te voldoen aan de nieuwe tijd codes van elk uitvoer bestand." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1974 +msgid "&mkvmerge; is able to copy chapters from &matroska; source files unless this is explicitly disabled with the <link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> option. The chapters from all sources (&matroska; files, Ogg files, <abbrev>MP4</abbrev> files, chapter text files) are usually not merged but end up in separate <classname>ChapterEditions</classname>. Only if chapters are read from several &matroska; or &xml; files that share the same edition UIDs will chapters be merged into a single <classname>ChapterEdition</classname>. If such a merge is desired in other situations as well then the user has to extract the chapters from all sources with &mkvextract; first, merge the &xml; files manually and mux them afterwards." +msgstr "&mkvmerge; is in staat hoofdstukken te kopieeren van &matroska; bronbestanden tenzij dit expliciet is uitgezet met de <link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> optie. De hoofdstukken van alle bronen (&matroska; bestanden, Ogg bestanden, <abbrev>MP4</abbrev> bestanden, hoofdstuk tekst bestanden) worden gewoonlijk niet samengevoegd maar eindigen als een separate <classname>ChapterEditions</classname>. Alleen wanneer de hoofdstukken worden gelezen van verschillende &matroska; of &xml; bestanden die dezelfde editie UID's delen, zullen hoofdstukken samengevoegd worden tot één <classname>ChapterEdition</classname>. Als een dergelijke samenvoeging ook in andere situaties gewenst is, dan dient de gebruiker de hoofdstukken eerst te extraheren uit alle bronnen met &mkvextract;, handmatig de &xml; bestanden aaneenkoppelen en nadien samenvoegen." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:1989 +msgid "Introduction" +msgstr "Introductie" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:1992 +msgid "&matroska; supports an extensive set of tags that is deprecated and a new, simpler system like it is is used in most other containers: <parameter>KEY=VALUE</parameter>. However, in &matroska; these tags can also be nested, and both the <parameter>KEY</parameter> and the <parameter>VALUE</parameter> are elements of their own. The example file <filename>example-tags-2.xml</filename> shows how to use this new system." +msgstr "&matroska; ondersteunt een uitgebreide set markeringen welke zijn verouderd, een nieuw simpeler systeem welke worden gebruikt in de meeste overige inhoudsformaten: <parameter>KEY=VALUE</parameter>. Hoewel, in &matroska; deze markeeringen ook kunnen worden ingekapseld, en beide de <parameter>KEY</parameter> en de <parameter>VALUE</parameter> zijn elementen van zichzelf. Het voorbeeld bestand <filename>example-tags-2.xml</filename> toont hoe dit nieuwe systeem te gebruiken." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2000 +msgid "Scope of the tags" +msgstr "Gebied van de markeringen" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2003 +msgid "&matroska; tags do not automatically apply to the complete file. They can, but they also may apply to different parts of the file: to one or more tracks, to one or more chapters, or even to a combination of both. The <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink> gives more details about this fact." +msgstr "&matroska; markeringen worden niet automatisch toegekend aan het hele bestand. Dat kunnen zij, maar zij kunnen ook op verschillende delen van het bestand van toepassing zijn: aan één of meerdere sporen, aan één of meerdere hoofdstukken, of zelfs een combinatie van beide. <ulink url=\"http://matroska.org/technical/specs/index.html\">De &matroska; specificaties</ulink> geeft meer informatie over dit feit." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2009 +msgid "One important fact is that tags are linked to tracks or chapters with the <classname>Targets</classname> &matroska; tag element, and that the UIDs used for this linking are <emphasis>not</emphasis> the track IDs &mkvmerge; uses everywhere. Instead the numbers used are the UIDs which &mkvmerge; calculates automatically (if the track is taken from a file format other than &matroska;) or which are copied from the source file if the track's source file is a &matroska; file. Therefore it is difficult to know which UIDs to use in the tag file before the file is handed over to &mkvmerge;." +msgstr "Eén belangrijk feit is, dat markeringen gelinkt zijn naar sporen of hoofdstukken met de <classname>Targets</classname> &matroska; markeer element, en dat de gebruikte UID's voor dit linken <emphasis>niet</emphasis> zijn, de spoor ID's die overal door &mkvmerge; gebruikt worden. In plaats daarvan, zijn de gebruikte UID's nummers welke &mkvmerge; automatisch uitrekent (als het spoor genomen is anders dan van een &matroska; bestandsformat) of welke zijn gekopieerd van een bronbestand, als de sporen bronbestand een &matroska; bestand is. Daarom is het moeilijk te bepalen, welke UID's te gebruiken in het markeer bestand voordat het bestand wordt overgedragen naar &mkvmerge;." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2017 +msgid "&mkvmerge; knows two options with which you can add tags to &matroska; files: The <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> and the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> options. The difference is that the former option, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>, will make the tags apply to the complete file by removing any of those <classname>Targets</classname> elements mentioned above. The latter option, <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>, automatically inserts the UID that &mkvmerge; generates for the tag specified with the <parameter>TID</parameter> part of the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> option." +msgstr "&mkvmerge; kent twee opties waarmee je markeringen kunt toevoegen aan &matroska; bestanden: De <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> en de <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> opties. Het verschil is dat de vroegere optie, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>, de markeringen zal maken die op het volledige bestand van toepassing zijn, door te verwijderen (welke dan ook) <classname>Targets</classname> elementen hierboven genoemd. De laatstgenoemde optie, <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>, voegt automatisch het UID die &mkvmerge; genereert voor de markering gespecificeerd met het <parameter>TID</parameter> deel van de<link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> opties." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2029 +msgid "Example" +msgstr "Voorbeeld" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2031 +msgid "Let's say that you want to add tags to a video track read from an <abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> tells you that the video track's ID (do not mix this ID with the UID!) is 0. So you create your tag file, leave out all <classname>Targets</classname> elements and call &mkvmerge;:" +msgstr "Laten we aannemen, dat je een markering wiilt toevoegen aan een video spoor gelezen van een <abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> vertelt je, dat het video spoor ID (verwar dit ID niet met het UID!) 0 is. Zodat het jouw markeer bestand kan creëren, laat weg alle <classname>Targets</classname> elementen en start &mkvmerge; op: " + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:2037 +#, no-wrap +msgid "" +"$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi\n" +" " +msgstr "" +"$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2042 +msgid "Tag file format" +msgstr "Markeer bestandsformaat" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2044 +msgid "&mkvmerge; supports a &xml; based tag file format. The format is very closely modeled after <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink>. Both the binary and the source distributions of MKVToolNix come with a sample file called <filename>example-tags-2.xml</filename> which simply lists all known tags and which can be used as a basis for real life tag files." +msgstr "&mkvmerge; ondersteunt een &xml; gebasseerde markeer bestand format. Het format is rijkelijk gedocumenteerd op de <ulink url=\"http://matroska.org/technical/specs/index.html\">&matroska;</ulink> specificaties. Beide, zowel het binaire alsmede de bron distributies van MKVToolNix komen met een voorbeeld bestand genaamd <filename>example-tags-2.xml</filename> welke simpelweg alle bekende markeringen opsomt en welke kunnen worden gebrukt als basis voor 'echte leven' markeer bestanden." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2051 +msgid "The basics are:" +msgstr "De basis is:" + +#. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2055 +msgid "The outermost element must be <classname><Tags></classname>." +msgstr "Het buitenste element moet zijn <classname><Tags></classname>." + +#. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2057 +msgid "One logical tag is contained inside one pair of <classname><Tag></classname> &xml; tags." +msgstr "Eén logische markering welke binnenin één paar bevindt van <classname><Tag></classname> &xml; markeringen." + +#. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2059 +msgid "White spaces directly before and after tag contents are ignored." +msgstr "Spaties direct voor en na een markering worden genegeerd." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2064 +msgid "Data types" +msgstr "Data typen" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2066 +msgid "The new &matroska; tagging system only knows two data types, a UTF-8 string and a binary type. The first is used for the tag's name and the <classname><String></classname> element while the binary type is used for the <classname><Binary></classname> element." +msgstr "Het nieuwe &matroska; markeer systeem kent alléén twee data typen, een UTF-8 reeks en een binair type. De eerste wordt gebruikt voor markeer namen en het <classname><String></classname> element terwijl het binaire type gebruikt word voor het <classname><Binary></classname> element." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2071 +msgid "As binary data itself would not fit into a &xml; file &mkvmerge; supports two other methods of storing binary data. If the contents of a &xml; tag starts with '<literal>@</literal>' then the following text is treated as a file name. The corresponding file's content is copied into the &matroska; element." +msgstr "Aangezien binaire gegevens zelf niet zouden passen in een &xml; bestand, ondersteunt &mkvmerge; twee andere methoden om binaire data op te slaan. Als de inhoud van een &xml; markering start met '<literal>@</literal>' dan wordt de volgende tekst behandeld als een bestandsnaam. De corresponderende bestandsinhoud wordt gekopieerd in een &matroska; element." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2077 +msgid "Otherwise the data is expected to be <foreignphrase>Base64</foreignphrase> encoded. This is an encoding that transforms binary data into a limited set of <abbrev>ASCII</abbrev> characters and is used e.g. in email programs. &mkvextract; will output <foreignphrase>Base64</foreignphrase> encoded data for binary elements." +msgstr "Anders zou de gegeven data moeten zijn een gecodeerde <foreignphrase>Base64</foreignphrase>. Dit is een codering die binaire data codeert naar een gelimiteerde set van <abbrev>ASCII</abbrev> karakters en wordt gebruikt in b.v. email programma's. &mkvextract; zal uitvoeren <foreignphrase>Base64</foreignphrase> gecodeerde data voor binaire elementen." + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2083 +msgid "The deprecated tagging system knows some more data types which can be found in the official &matroska; tag specs. As &mkvmerge; does not support this system anymore these types aren't described here." +msgstr "Het verouderde markeer systeem kent een paar meer data typen welke gevonden kunnen worden in de officiële &matroska; markeer specificaties. Aangezien in &mkvmerge; dit systeem niet meer wordt ondersteund, worden deze typen hier niet beschreven." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:2090 +msgid "&matroska; file layout" +msgstr "&matroska; bestand layout" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2092 +msgid "The &matroska; file layout is quite flexible. &mkvmerge; will render a file in a predefined way. The resulting file looks like this:" +msgstr "Het &matroska; layout bestand is redelijk flexibel. &mkvmerge; zal een bestand genereren op een vooraf gedefinieerde manier. Het resultaat zal er zo uitzien:" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2096 +msgid "[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]" +msgstr "[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2101 +msgid "The elements in curly braces are optional and depend on the contents and options used. A couple of notes:" +msgstr "De elementen in gekromde haakjes zijn optioneel en afhankelijk van de inhoud en de gebruikte opties. Een paar opmerkingen:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2107 +msgid "meta seek #1 includes only a small number of level 1 elements, and only if they actually exist: attachments, chapters, cues, tags, meta seek #2. Older versions of &mkvmerge; used to put the clusters into this meta seek element as well. Therefore some imprecise guessing was necessary to reserve enough space. It often failed. Now only the clusters are stored in meta seek #2, and meta seek #1 refers to the meta seek element #2." +msgstr "meta zoek #1 bevat slechts een klein aantal aan niveau 1 elementen, en alleen als deze ook werkelijk bestaan: bijlagen, hoofdstukken, volg document(en) (cue), markeringen, meta zoek #2. Oudere versies van &mkvmerge; zijn tevens gewend om clusters binnenin het meta zoek element te plaatsen. Daarom was het noodzakelijk ietwat onnauwkeurig te gokken om genoeg ruimte te reserveren. Het faalde vaak. Nu worden alleen clusters opgeslagen in het meta zoek #2, en meta zoek #1 verwijst naar het meta zoek element #2." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2115 +msgid "Attachment, chapter and tag elements are only present if they were added." +msgstr "Bijlage, hoofdstuk en markeer elementen zijn alléén aanwezig indien zij waren toegevoegd." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2120 +msgid "The shortest possible Matroska file would look like this:" +msgstr "Het kortst mogelijke Matroska bestand zou lijken op dit:" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2124 +msgid "[EBML head] [segment [segment information] [track information] [cluster 1]]" +msgstr "[EBML head] [segment [segment information] [track information] [cluster 1]]" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2128 +msgid "This might be the case for audio-only files." +msgstr "Dit kan het geval zijn voor alléén-audio bestanden." + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:2133 +msgid "External timecode files" +msgstr "Externe tijdcode bestanden" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2135 +msgid "&mkvmerge; allows the user to chose the timecodes for a specific track himself. This can be used in order to create files with variable frame rate video or include gaps in audio. A frame in this case is the unit that &mkvmerge; creates separately per &matroska; block. For video this is exactly one frame, for audio this is one packet of the specific audio type. E.g. for <abbrev>AC3</abbrev> this would be a packet containing <constant>1536</constant> samples." +msgstr "&mkvmerge; staat de gebruiker toe, de tijd codes voor een specifiek spoor zelf te kiezen. Dit kan worden gebruikt, om bestanden met de variabele video beeld verhouding te creëren of 'gaten' in audio te laten bevatten. Een beeld in dit geval, is de unit welke &mkvmerge; separaat creëert per &matroska; blok. Voor video is dit exact één beeld, voor audio is dit één pakket van het specifieke audio type b.v. voor <abbrev>AC3</abbrev> zou dit een pakket moeten zijn inhoudende <constant>1536</constant> voorbeelden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2142 +msgid "Timecode files that are used when tracks are appended to each other must only be specified for the first part in a chain of tracks. For example if you append two files, v1.avi and v2.avi, and want to use timecodes then your command line must look something like this:" +msgstr "Tijdcode bestanden die worden gebruikt wanneer de sporen aan elkaar worden toegevoegd, moeten alleen voor het eerste deel in een reeks van sporen worden gespecificeerd. Bijvoorbeeld, als je twee bestanden toevoegt, v1.avi en v2.avi, en je wilt tijd codes gebruiken dan moet je commandoregel lijken op dit:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:2147 +#, no-wrap +msgid "" +"mkvmerge ... --timecodes 0:my_timecodes.txt v1.avi +v2.avi\n" +" " +msgstr "" +"mkvmerge ... --timecodes 0:my_timecodes.txt v1.avi +v2.avi\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2151 +msgid "There are four formats that are recognized by &mkvmerge;. The first line always contains the version number. Empty lines, lines containing only whitespace and lines beginning with '<literal>#</literal>' are ignored." +msgstr "Er zijn vier formaten die worden herkend door &mkvmerge;. De eerste regel bevat altijd het versie nummer. Lege regels, regels alleen bevattende spaties en regels beginnend met '<literal>#</literal>' worden genegeerd." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2156 +msgid "Timecode file format v1" +msgstr "Tijdcode bestandsformaat v1" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2158 +msgid "This format starts with the version line. The second line declares the default number of frames per second. All following lines contain three numbers separated by commas: the start frame (<constant>0</constant> is the first frame), the end frame and the number of frames in this range. The <abbrev>FPS</abbrev> is a floating point number with the dot '<literal>.</literal>' as the decimal point. The ranges can contain gaps for which the default <abbrev>FPS</abbrev> is used. An example:" +msgstr "Dit format start met de versie regel. De tweede regel verklaart het aantal beelden per seconde. Alle volgende regels bevatten drie nummers gescheiden door een komma: het start beeld (<constant>0</constant> is het eerste beeld), het eind beeld en het aantal beelden binnen dit bereik. Het <abbrev>FPS</abbrev> veranderbaar nummer met een punt '<literal>.</literal>' als het decimale punt. De bereiken kunnen 'gaten' bevatten waarvoor standaard <abbrev>FPS</abbrev> is gebruikt. een voorbeeld:" + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:2165 +#, no-wrap +msgid "" +"# timecode format v1\n" +"assume 27.930\n" +"800,1000,25\n" +"1500,1700,30\n" +" " +msgstr "" +"# timecode format v1\n" +"assume 27.930\n" +"800,1000,25\n" +"1500,1700,30\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2173 +msgid "Timecode file format v2" +msgstr "Tijdcode formaat v2" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2176 +msgid "In this format each line contains a timecode for the corresponding frame. This timecode must be given in millisecond precision. It can be a floating point number, but it doesn't have to be. You <emphasis>have to</emphasis> give at least as many timecode lines as there are frames in the track. The timecodes in this file must be sorted. Example for 25fps:" +msgstr "In dit format, bevat elke regel een tijdcode voor het corresponderende beeld. Deze tijdcode moet opgeven worden in milli seconden. Het mag een veranderbaar nummer zijn, maar het hoeft niet. Jij <emphasis>moet</emphasis> minstens zo veel tijdcoderegels opgeven als er aan beelden in het spoor zijn. De tijd codes in dit bestand moeten gesorteerd zijn. Voorbeeld voor 25fps:" + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:2182 +#, no-wrap +msgid "" +"# timecode format v2\n" +"0\n" +"40\n" +"80\n" +" " +msgstr "" +"# timecode format v2\n" +"0\n" +"40\n" +"80\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2190 +msgid "Timecode file format v3" +msgstr "Tijd code formaat v3" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2192 +msgid "In this format each line contains a duration in seconds followed by an optional number of frames per second. Both can be floating point numbers. If the number of frames per second is not present the default one is used. For audio you should let the codec calculate the frame timecodes itself. For that you should be using <constant>0.0</constant> as the number of frames per second. You can also create gaps in the stream by using the '<literal>gap</literal>' keyword followed by the duration of the gap. Example for an audio file:" +msgstr "In dit format bevat elke regel een duur in seconden gevolgd door een optioneel aantal beelden per seconde. Beide kunnen een veranderbaar nummer zijn. Als het aantal beelden per seconde niet is opgegeven dan wordt het standaard aantal gebruikt. Voor audio, zou jij de codec zelf de tijd codes moeten laten berekenen. Daarvoor zou je moeten gebruiken <constant>0.0</constant> als het aantal beelden per seconde. Je kunt ook 'gaten' creëren in de stromen door te gebruiken de '<literal>gap</literal>' sleutelwoord gevolgd door de duur van het 'gat'. Voorbeeld voor een audio bestand:" + +#. type: Content of: <refentry><refsect1><refsect2><screen> +#: doc/man/mkvmerge.xml:2199 +#, no-wrap +msgid "" +"# timecode format v3\n" +"assume 0.0\n" +"25.325\n" +"7.530,38.236\n" +"gap, 10.050\n" +"2.000,38.236\n" +" " +msgstr "" +"# timecode format v3\n" +"assume 0.0\n" +"25.325\n" +"7.530,38.236\n" +"gap, 10.050\n" +"2.000,38.236\n" +" " + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvmerge.xml:2209 +msgid "Timecode file format v4" +msgstr "Tijdcode formaat v4" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvmerge.xml:2211 +msgid "This format is identical to the v2 format. The only difference is that the timecodes do not have to be sorted. This format should almost never be used." +msgstr "Dit format is identiek aan het v2 format. Het enige verschil is dat de tijd codes niet gesorteerd behoeven te zijn. Dit format zou bijna nooit gebruikt moeten worden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2221 +msgid "&mkvmerge; exits with one of three exit codes:" +msgstr "&mkvinfo; verlaat met één van de drie afsluit codes:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2227 +msgid "<constant>0</constant> -- This exit codes means that muxing has completed successfully." +msgstr "<constant>0</constant> -- Deze verlaat code betekend dat het samenvoegen succesvol voltooid is." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2233 +msgid "<constant>1</constant> -- In this case &mkvmerge; has output at least one warning, but muxing did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting file might be ok or not. The user is urged to check both the warning and the resulting file." +msgstr "<constant>1</constant> -- In dit geval heeft &mkvmerge; tenmiste één waarschuwing uitgevaardigd, maar het samenvoegen ging door. Een waarschuwing gaat vooraf met de tekst '<literal>Warning:</literal>'. Afhankelijk van de 'tegengekomen' kwesties kan het resltaat goed of slecht zijn. De gebruiker wordt geadviseerd om zowel de waarschuwing als de resulterende bestanden te controleren." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:2241 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvmerge; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- Deze afsluit code wordt gebruikt nadat er een fout ontstond. &mkvmerge; breekt direct af na het geven van dit waarschuw bericht. Fout! bereik in berichten, van een verkeerd commandoregel argument over lees/schrijf fouten naar een 'gebroken' bestanden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:2251 +msgid "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" +msgstr "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" + +#. type: Content of the product entity +#: doc/man/mkvpropedit.xml:5 +msgid "mkvpropedit" +msgstr "mkvpropedit" + +#. type: Content of: <refentry><refnamediv><refpurpose> +#: doc/man/mkvpropedit.xml:45 +msgid "Modify properties of existing &matroska; files without a complete remux" +msgstr "Modificeren van eigenschappen van een bestaande &matroska; bestanden zonder een volledige samenvoeging" + +#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> +#: doc/man/mkvpropedit.xml:51 +msgid "<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg> <arg choice=\"req\">actions</arg>" +msgstr "<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg> <arg choice=\"req\">actions</arg>" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:61 +msgid "This program analyses an existing &matroska; file and modifies some of its properties. Then it writes those modifications to the existing file. Among the properties that can be changed are the segment information elements (e.g. the title) and the track headers (e.g. the language code, 'default track' flag or the name)." +msgstr "Dit programma analyseert een bestaand &matroska; bestand en kan sommige eigenschappen veranderen. Dan schrijft het deze veranderingen naar het bestaande bestand. Onder de eigenschappen die kunnen worden veranderd, zijn de segment informatie elementen (b.v. de titel) en de spoor koppen (b.v.de taal code, 'standaard spoor' markering of de naam)." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:67 +msgid "Options:" +msgstr "Opties:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:72 +msgid "<option>-l</option>, <option>--list-property-names</option>" +msgstr "<option>-l</option>, <option>--list-property-names</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:75 +msgid "Lists all known and editable property names, their type (string, integer, boolean etc) and a short description. The program exits afterwards. Therefore the <parameter>source-filename</parameter> parameter does not have to be supplied." +msgstr "Lijst alle bekende bewerkbare eigenschap namen, hun type (string, integer, boolean etc) en een korte beschrijving. Nadien stopt het programma. Daarom hoeft de parameter <parameter>source-filename</parameter> niet te worden ingegeven." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:82 +msgid "<option>-p</option>, <option>--parse-mode</option> <parameter>mode</parameter>" +msgstr "<option>-p</option>, <option>--parse-mode</option> <parameter>mode</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:85 +msgid "Sets the parse mode. The parameter '<parameter>mode</parameter>' can either be '<literal>fast</literal>' (which is also the default) or '<literal>full</literal>'. The '<literal>fast</literal>' mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to set the '<literal>full</literal>' parse mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "Stelt de ontleedt mode in. De parameter '<parameter>mode</parameter>' kan zijn of '<literal>fast</literal>' (wat ook standaard is) of '<literal>full</literal>'. De '<literal>fast</literal>' mode ontleedt niet het gehele bestand, maar gebruikt de meta zoek elementen voor lokaliseren van de benodigde elementen van een bron bestand. In 99% van alle gevallen is dat voldoende. Maar voor bestanden die geen meta zoek element bevatten of zij die beschadigd zijn, zou de gebruiker moeten opgeven de '<literal>full</literal>' ontleedt mode. Een volledige scan kan enige minuten duren terwijl een snelle scan slechts enkele seconden duurt." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:96 +msgid "Actions:" +msgstr "Akties:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:101 +msgid "<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" +msgstr "<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:104 +msgid "Sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This option can be used multiple times in order to make modifications to more than one element." +msgstr "Zet de &matroska; bestand sectie (segment informatie of bepaalde sporen koppen) die alle volgen <link linkend=\"mkvpropedit.description.add\">voeg toe</link>, <link linkend=\"mkvpropedit.description.set\">zet</link> en <link linkend=\"mkvpropedit.description.delete\">verwijder</link> acties die er op werken. Deze optie kan meerdere keren worden gebruikt om wijzigingen aan meer dan één element te maken." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:111 +#: doc/man/mkvpropedit.xml:292 +msgid "By default &mkvpropedit; will edit the segment information section." +msgstr "Standaard bewerkt &mkvpropedit; de segment informatie sectie" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:115 +msgid "See the section about <link linkend=\"mkvpropedit.edit_selectors\">edit selectors</link> for a full description of the syntax." +msgstr "Zie de sectie over <link linkend=\"mkvpropedit.edit_selectors\">bewerk selecteurs/kiezer</link> voor een volledige beschrijving van de ingave's." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:121 +msgid "<option>-a</option>, <option>--add</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-a</option>, <option>--add</option> <parameter>name</parameter>=<parameter>value</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:124 +msgid "Adds a property <parameter>name</parameter> with the value <parameter>value</parameter>. The property will be added even if such a property exists already. Note that most properties are unique and cannot occur more than once." +msgstr "Voegt eigenschap <parameter>name</parameter> toe met de waarde <parameter>value</parameter>. De eigenschap wordt toegevoegd zelfs wanneer deze reeds bestaat. Opmerking: dat de meeste eigenschappen uniek zijn en niet nog een keer mogen voorkomen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:131 +msgid "<option>-s</option>, <option>--set</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-s</option>, <option>--set</option> <parameter>name</parameter>=<parameter>value</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:134 +msgid "Sets all occurrences of the property <parameter>name</parameter> to the value <parameter>value</parameter>. If no such property exists then it will be added." +msgstr "Zet alle voorgekomen van de eigenschap <parameter>name</parameter> naar de waarde <parameter>value</parameter>. Als een dergelijke eigenschap niet bestaat dan wordt deze toegevoegd." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:141 +msgid "<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" +msgstr "<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:144 +msgid "Deletes all occurrences of the property <parameter>name</parameter>. Note that some properties are required and cannot be deleted." +msgstr "Verwijdert alle voorgekomen eigenschappen <parameter>name</parameter>. Opmerking: sommige eigenschappen zijn vereist en kunnen niet worden verwijderd." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:179 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "Schrijft alle berichten naar een bestand <parameter>file-name</parameter> i.p.v naar het 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a her-interpreteert voordat het geschreven wordt naar het uitvoer bestand. De karakter set met <link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link> is toegewezen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:257 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvpropedit.escaping\">the section about escaping text</link>." +msgstr "Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commandoregel te starten met een '#' de regels worden beschreven in <link linkend=\"mkvpropedit.escaping\">de sectie over overslaan van tekst</link>." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:262 +msgid "The command line '<command>mkvpropedit source.mkv --edit track:a2 --set name=Comments</command>' could be converted into the following option file:" +msgstr "De commandoregel '<command>mkvpropedit source.mkv --edit track:a2 --set name=Comments</command>' kon niet worden geconverteerd naar het volgende optie bestand:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> +#: doc/man/mkvpropedit.xml:267 +#, no-wrap +msgid "" +"# Modify source.mkv\n" +"source.mkv\n" +"# Edit the second audio track\n" +"--edit\n" +"track:a2\n" +"# and set the title to 'Comments'\n" +"--set\n" +"title=Comments\n" +" " +msgstr "" +"# Modify source.mkv\n" +"source.mkv\n" +"# Edit the second audio track\n" +"--edit\n" +"track:a2\n" +"# and set the title to 'Comments'\n" +"--set\n" +"title=Comments\n" +" " + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvpropedit.xml:282 +msgid "Edit selectors" +msgstr "Bewerk selecteurs/kiezers" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:284 +msgid "The <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This stays valid until the next <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option is found. The argument to this option is called the edit selector." +msgstr "De optie <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> zet het &matroska; bestand sectie (segment informatie of de bepaalde sporen knoppen) die alle volgen <link linkend=\"mkvpropedit.description.add\">voeg toe</link>, <link linkend=\"mkvpropedit.description.set\">zet</link> en <link linkend=\"mkvpropedit.description.delete\">verwijder</link> acties die er op werken. Dit blijft geldig todat de volgende optie <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> is gevonden. Het argument naar deze optie wordt genoemd de bewerk selecteur/kiezer." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvpropedit.xml:296 +msgid "Segment information" +msgstr "Segment informatie" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvpropedit.xml:298 +msgid "The segment information can be selected with one of these three words: '<literal>info</literal>', '<literal>segment_info</literal>' or '<literal>segmentinfo</literal>'. It contains properties like the segment title or the segment <abbrev>UID</abbrev>." +msgstr "De segment informatie kan worden geselecteerd met één van deze drie woorden: '<literal>info</literal>', '<literal>segment_info</literal>' of '<literal>segmentinfo</literal>'. het bevat eigenschappen zoals, segment titel of het segment <abbrev>UID</abbrev>." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvpropedit.xml:304 +msgid "Track headers" +msgstr "Spoor koppen" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvpropedit.xml:306 +msgid "Track headers can be selected with a slightly more complex selector. All variations start with '<literal>track:</literal>'. The track header properties include elements like the language code, 'default track' flag or the track's name." +msgstr "Spoor koppen kunnen worden geselecteerd met een ietwat complexere selectie. Alle variaties starten met '<literal>track:</literal>'. De spoor kop eigenschappen bevatten elementen zoals de taal code, 'default track' markering of het spoor naam." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:312 +msgid "<option>track:</option><parameter>n</parameter>" +msgstr "<option>track:</option><parameter>n</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:315 +msgid "If the parameter <parameter>n</parameter> is a number then the <parameter>n</parameter>th track will be selected. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "Als de parameter <parameter>n</parameter> een nummer is dan zal het <parameter>n</parameter>'de spoor worden geselecteerd. De spoor volgorde is hezelfde als &mkvmerge;'s <option>--identify</option> optie uitvoert." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:322 +msgid "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" +msgstr "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:325 +msgid "If the parameter starts with a single character <parameter>t</parameter> followed by a <parameter>n</parameter> then the <parameter>n</parameter>th track of a specific track type will be selected. The track type parameter <parameter>t</parameter> must be one of these four characters: '<literal>a</literal>' for an audio track, '<literal>b</literal>' for a button track, '<literal>s</literal>' for a subtitle track and '<literal>v</literal>' for a video track. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "Als de parameter start met één karakter <parameter>t</parameter> gevolgd door een <parameter>n</parameter> dan zal het de <parameter>n</parameter>'de spoor van een specifiek spoor type geselecteerd worden. Het spoor type parameter <parameter>t</parameter> moet één van deze vier karakters zijn: '<literal>a</literal>' voor een audio spoor, '<literal>b</literal>' voor een knop spoor, '<literal>s</literal>' voor een ondertitel spoor en '<literal>v</literal>' voor een video spoor. De spoor volgorde is hetzelfde wanneer &mkvmerge;'s <option>--identify</option> de optie uitvoert." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:335 +msgid "<option>track:</option>=<parameter>uid</parameter>" +msgstr "<option>track:</option>=<parameter>uid</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:338 +msgid "If the parameter starts with a '<literal>=</literal>' followed by a number <parameter>uid</parameter> then the track whose track <abbrev>UID</abbrev> element equals this <parameter>uid</parameter>. Track <abbrev>UIDs</abbrev> can be obtained with &mkvinfo;." +msgstr "Als de parameter start met een '<literal>=</literal>' gevolgd door een nummer <parameter>uid</parameter> dan het spoor van wie het spoor <abbrev>UID</abbrev> element gelijk is met <parameter>uid</parameter>. Spoor <abbrev>UID's</abbrev> kan verkregen worden met &mkvinfo;." + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> +#: doc/man/mkvpropedit.xml:345 +msgid "<option>track:</option>@<parameter>number</parameter>" +msgstr "<option>track:</option>@<parameter>number</parameter>" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:348 +msgid "If the parameter starts with a '<literal>@</literal>' followed by a number <parameter>number</parameter> then the track whose track number element equals this <parameter>number</parameter>. Track number can be obtained with &mkvinfo;." +msgstr "Als de parameter start met een '<literal>@</literal>' gevolgd door een nummer <parameter>number</parameter> dan het spoor het van wie het spoornummer element gelijk is met <parameter>number</parameter>. Spoornummer kan verkregen worden met &mkvinfo;." + +#. type: Content of: <refentry><refsect1><refsect2><title> +#: doc/man/mkvpropedit.xml:357 +msgid "Notes" +msgstr "Opmerkingen" + +#. type: Content of: <refentry><refsect1><refsect2><para> +#: doc/man/mkvpropedit.xml:359 +msgid "Due to the nature of the track edit selectors it is possible that several selectors actually match the same track headers. In such cases all actions for those edit selectors will be combined and executed in the order in which they're given on the command line." +msgstr "Door de aard van de spoor bewerk selecteur/kiezer, is het mogelijk dat verschillende selecteurs/kiezers eigenlijk overeenkomen met dezelfde spoor koppen. In zulke gevallen, zullen alle acties voor die bewerk selecteurs/kiezers in die volgorde worden gecombineerd en uitgevoerd worden in de volgorde waarin ze zijn opgegeven op de commandoregel." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:368 +msgid "The following example edits a file called '<literal>movie.mkv</literal>'. It sets the segment title and modifies the language code of an audio and a subtitle track. Note that this example can be shortened by leaving out the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option because editing the segment information element is the default for all options found before the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option anyway." +msgstr "Het volgende voorbeeld bewerkt een bestand genaamd '<literal>film.mkv</literal>'. Het zet het segment titel en modificeert de taal code van een audio en ondertitel spoor. Opmerking: Ddat dit voorbeeld kan worden verkort door het weglaten van de eerste optie <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> omdat bewerken van het segment informatie element in elk geval standaard is voor alle opties welke worden gevonden voor de eerste <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> optie." + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvpropedit.xml:375 +#, no-wrap +msgid "" +"$ mkvpropedit movie.mkv --edit info --set \"title=The movie\" --edit track:a1 --set language=fre --edit track:a2 --set language=ita\n" +" " +msgstr "" +"$ mkvpropedit film.mkv --edit info --set \"title=De film\" --edit track:a1 --set language=dut --edit track:a2 --set language=eng\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:379 +msgid "The second example removes the 'default track flag' from the first subtitle track and sets it for the second one. Note that &mkvpropedit;, unlike &mkvmerge;, does not set the 'default track flag' of other tracks to '0' if it is set to '1' for a different track automatically." +msgstr "Het tweede voorbeeld, verwijdert de 'standaard spoor markering' van het eerste ondertitel spoor en plaatst het voor de tweede. Opmerking: Dat &mkvpropedit;, integenstelling tot &mkvmerge;, niet instelt de 'standaard spoor markering' van andere sporen naar '0' als het automatisch is ingesteld op '1' voor een verschillend spoor." + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvpropedit.xml:385 +#, no-wrap +msgid "" +"$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" +" " +msgstr "" +"$ mkvpropedit film.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" +" " + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:393 +msgid "&mkvpropedit; exits with one of three exit codes:" +msgstr "&mkvpropedit; verlaat met één van drie verlaat codes:" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvpropedit.xml:399 +msgid "<constant>0</constant> -- This exit codes means that the modification has completed successfully." +msgstr "<constant>0</constant> -- Deze verlaat code betekend dat het modificeren succesvol voltooid is." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvpropedit.xml:405 +msgid "<constant>1</constant> -- In this case &mkvpropedit; has output at least one warning, but the modification did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- In dit geval heeft &mkvpropedit; minstends één waarschuwing uitgegeven, maar extractie is doorgegaan. Een waarschuwing wordt vooraf bepaald met de tekst '<literal>Warning:</literal>'. Afhankelijk van de 'tegengekomen' kwesties kan het resltaat goed of slecht zijn. De gebruiker wordt geadviseerd, om zowel de waarschuwing als de resulterende bestanden te controleren." + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvpropedit.xml:413 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvpropedit; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- Deze afsluit code wordt gebruikt nadat er een fout ontstond. &mkvpropedit; breekt direct af na het geven van dit waarschuw bericht. Fout berichten, bereik van een verkeerd commandoregel argument over lees/schrijf fouten naar een 'gebroken' bestanden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvpropedit.xml:435 +msgid "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" +msgstr "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" + +#. type: Content of the product entity +#: doc/man/mmg.xml:5 +msgid "mmg" +msgstr "mmg" + +#. type: Content of: <refentry><refnamediv><refpurpose> +#: doc/man/mmg.xml:45 +msgid "a GUI for &mkvmerge; including a chapter and a header editor" +msgstr "een grafische schil voor &mkvmerge; inclusief een hoofdstuk en kop bewerker" + +#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> +#: doc/man/mmg.xml:51 +msgid "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file.mmg</arg> <arg>source-file.ext</arg> </group>" +msgstr "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file.mmg</arg> <arg>source-file.ext</arg> </group>" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mmg.xml:66 +msgid "&mmg; is a <productname>wxWindows</productname> based <abbrev>GUI</abbrev> for &mkvmerge;. It offers easy access to all of &mkvmerge;'s options. All settings (e.g. source files, track options etc) can be saved and restored. Included is a chapter editor that can read <abbrev>OGM</abbrev> style and &xml; style chapter files, write &xml; style chapter files and even read chapters from &matroska; files and write chapters directly to &matroska; files. Included is also a header editor that can be used to quickly change properties of existing &matroska; files without needing a complete remux." +msgstr "&mmg; is een <productname>wxWindows</productname> gebasseerde <abbrev>GUI</abbrev> voor &mkvmerge;. Het biedt een makkelijke toegang van alle &mkvmerge;'s opties. Alle instellingen (b.v. bronbestanden, spoor opties, etc.) kunnen bewaard en hersteld worden. Ingesloten is een hoofdstuk bewerker welke <abbrev>OGM</abbrev> stijl en &xml; stijl hoofdstuk bestanden kan lezen, schrijven &xml; stijl hoofdstuk bestanden en zelfs het lezen van hoofdstukken van een &matroska; bestand en direct schrijven naar &matroska; bestanden. Tevens is ingesloten een kopstuk bewerker welke gebruikt kan worden om snel hoofdstukken te veranderen van bestaande &matroska; bestanden zonder een volledige samenvoeging." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mmg.xml:74 +msgid "&mmg; knows few options. The first possibility is to start it with a single file name. If that file name's extenion is '<literal>.mmg</literal>' then it will be treated as a preferences file and &mmg; will load its setting when it starts. Otherwise the name is interpreted as being the name of an input file which will be added." +msgstr "&mmg; kent een paar opties. De eerste, de mogelijkheid om op te starten met een enkele bestandnaam. Als die bestandsnaam de extensie '<literal>.mmg</literal>' bevat, dan zal het behandeld worden als instellingen bestand en zal &mmg; de instellingen laden wanneer het wordt opgestart. Anders wordt de naam geïntepreteerd als een invoer bestand welke zal worden toegvoegd." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mmg.xml:80 +msgid "The second operation mode is invoked with the option <option>--edit-headers</option> and a file name. This lets &mmg; run its header editor and load the file." +msgstr "De tweede werkingsmode wordt aangehaald met de optie <option>--edit-headers</option> en een bestandsnaam. Dit staat &mmg; toe zijn kopbewerker te starten en het bestand te laden." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mmg.xml:85 +msgid "The full documentation is available in HTML form (<filename>doc/mkvmerge-gui.html</filename>)." +msgstr "De volledige documentatie is beschikbaar in HTML format (<filename>doc/mkvmerge-gui.html</filename>)." + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mmg.xml:92 +msgid "&mkvmerge;, &mkvextract;, &mkvinfo;, &mkvpropedit;" +msgstr "&mkvmerge;, &mkvextract;, &mkvinfo;, &mkvpropedit;" + diff -Nru mkvtoolnix-4.0.0/doc/man/po4a/po/zh_CN.po mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/zh_CN.po --- mkvtoolnix-4.0.0/doc/man/po4a/po/zh_CN.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po/zh_CN.po 2011-01-31 20:34:09.000000000 +0000 @@ -6,13 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: mkvtoolnix-man\n" -"POT-Creation-Date: 2010-05-28 17:17+0300\n" -"PO-Revision-Date: 2010-05-28 13:40+0800\n" -"Last-Translator: Dean Lee <xslidian@lidian.info>\n" +"POT-Creation-Date: 2011-01-21 14:26+0100\n" +"PO-Revision-Date: 2011-01-21 22:17+0800\n" +"Last-Translator: Dean Lee <xslidian@gmail.com>\n" "Language-Team: chinese simp <xslidian+mkvtoolnix@gmail.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "X-Poedit-Language: Chinese\n" #. type: Content of the product entity @@ -21,156 +22,204 @@ msgstr "mkvextract" #. type: Content of the version entity -#: doc/man/mkvextract.xml:6 doc/man/mkvinfo.xml:6 doc/man/mkvmerge.xml:6 -#: doc/man/mkvpropedit.xml:6 doc/man/mmg.xml:6 -msgid "4.0.0" -msgstr "4.0.0" +#: doc/man/mkvextract.xml:6 +#: doc/man/mkvinfo.xml:6 +#: doc/man/mkvmerge.xml:6 +#: doc/man/mkvpropedit.xml:6 +#: doc/man/mmg.xml:6 +msgid "4.5.0" +msgstr "4.5.0" #. type: Content of the date entity -#: doc/man/mkvextract.xml:7 doc/man/mkvinfo.xml:7 doc/man/mkvmerge.xml:7 -#: doc/man/mkvpropedit.xml:7 doc/man/mmg.xml:7 -msgid "2010-05-14" -msgstr "2010-05-14" +#: doc/man/mkvextract.xml:7 +#: doc/man/mkvinfo.xml:7 +#: doc/man/mkvmerge.xml:7 +#: doc/man/mkvpropedit.xml:7 +#: doc/man/mmg.xml:7 +msgid "2010-10-31" +msgstr "2010-10-31" #. type: Content of the mkvmerge entity -#: doc/man/mkvextract.xml:9 doc/man/mkvinfo.xml:9 doc/man/mkvmerge.xml:9 -#: doc/man/mkvpropedit.xml:9 doc/man/mmg.xml:9 -msgid "" -"<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" -msgstr "" -"<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" +#: doc/man/mkvextract.xml:9 +#: doc/man/mkvinfo.xml:9 +#: doc/man/mkvmerge.xml:9 +#: doc/man/mkvpropedit.xml:9 +#: doc/man/mmg.xml:9 +msgid "<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. type: Content of the mkvinfo entity -#: doc/man/mkvextract.xml:10 doc/man/mkvinfo.xml:10 doc/man/mkvmerge.xml:10 -#: doc/man/mkvpropedit.xml:10 doc/man/mmg.xml:10 -msgid "" -"<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" -msgstr "" -"<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" +#: doc/man/mkvextract.xml:10 +#: doc/man/mkvinfo.xml:10 +#: doc/man/mkvmerge.xml:10 +#: doc/man/mkvpropedit.xml:10 +#: doc/man/mmg.xml:10 +msgid "<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. type: Content of the mkvextract entity -#: doc/man/mkvextract.xml:11 doc/man/mkvinfo.xml:11 doc/man/mkvmerge.xml:11 -#: doc/man/mkvpropedit.xml:11 doc/man/mmg.xml:11 -msgid "" -"<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" -msgstr "" -"<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" +#: doc/man/mkvextract.xml:11 +#: doc/man/mkvinfo.xml:11 +#: doc/man/mkvmerge.xml:11 +#: doc/man/mkvpropedit.xml:11 +#: doc/man/mmg.xml:11 +msgid "<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. type: Content of the mkvpropedit entity -#: doc/man/mkvextract.xml:12 doc/man/mkvinfo.xml:12 doc/man/mkvmerge.xml:12 -#: doc/man/mkvpropedit.xml:12 doc/man/mmg.xml:12 -msgid "" -"<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" -msgstr "" -"<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>" +#: doc/man/mkvextract.xml:12 +#: doc/man/mkvinfo.xml:12 +#: doc/man/mkvmerge.xml:12 +#: doc/man/mkvpropedit.xml:12 +#: doc/man/mmg.xml:12 +msgid "<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mkvpropedit</refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. type: Content of the mmg entity -#: doc/man/mkvextract.xml:13 doc/man/mkvinfo.xml:13 doc/man/mkvmerge.xml:13 -#: doc/man/mkvpropedit.xml:13 doc/man/mmg.xml:13 -msgid "" -"<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry>" -msgstr "" -"<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry>" +#: doc/man/mkvextract.xml:13 +#: doc/man/mkvinfo.xml:13 +#: doc/man/mkvmerge.xml:13 +#: doc/man/mkvpropedit.xml:13 +#: doc/man/mmg.xml:13 +msgid "<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>" +msgstr "<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. type: Content of the matroska entity -#: doc/man/mkvextract.xml:15 doc/man/mkvinfo.xml:15 doc/man/mkvmerge.xml:15 -#: doc/man/mkvpropedit.xml:15 doc/man/mmg.xml:15 +#: doc/man/mkvextract.xml:15 +#: doc/man/mkvinfo.xml:15 +#: doc/man/mkvmerge.xml:15 +#: doc/man/mkvpropedit.xml:15 +#: doc/man/mmg.xml:15 msgid "<productname>Matroska</productname>" msgstr "<productname>Matroska</productname>" #. type: Content of the oggvorbis entity -#: doc/man/mkvextract.xml:16 doc/man/mkvinfo.xml:16 doc/man/mkvmerge.xml:16 -#: doc/man/mkvpropedit.xml:16 doc/man/mmg.xml:16 +#: doc/man/mkvextract.xml:16 +#: doc/man/mkvinfo.xml:16 +#: doc/man/mkvmerge.xml:16 +#: doc/man/mkvpropedit.xml:16 +#: doc/man/mmg.xml:16 msgid "<productname>OggVorbis</productname>" msgstr "<productname>OggVorbis</productname>" #. type: Content of the xml entity -#: doc/man/mkvextract.xml:17 doc/man/mkvinfo.xml:17 doc/man/mkvmerge.xml:17 -#: doc/man/mkvpropedit.xml:17 doc/man/mmg.xml:17 +#: doc/man/mkvextract.xml:17 +#: doc/man/mkvinfo.xml:17 +#: doc/man/mkvmerge.xml:17 +#: doc/man/mkvpropedit.xml:17 +#: doc/man/mmg.xml:17 msgid "<abbrev>XML</abbrev>" msgstr "<abbrev>XML</abbrev>" #. type: Attribute 'lang' of: <refentry> -#: doc/man/mkvextract.xml:21 doc/man/mkvinfo.xml:21 doc/man/mkvmerge.xml:21 -#: doc/man/mkvpropedit.xml:21 doc/man/mmg.xml:21 +#: doc/man/mkvextract.xml:21 +#: doc/man/mkvinfo.xml:21 +#: doc/man/mkvmerge.xml:21 +#: doc/man/mkvpropedit.xml:21 +#: doc/man/mmg.xml:21 msgid "en" msgstr "zh-hans" #. type: Content of: <refentry><refentryinfo> -#: doc/man/mkvextract.xml:23 doc/man/mkvinfo.xml:23 doc/man/mkvmerge.xml:23 -#: doc/man/mkvpropedit.xml:23 doc/man/mmg.xml:23 +#: doc/man/mkvextract.xml:23 +#: doc/man/mkvinfo.xml:23 +#: doc/man/mkvmerge.xml:23 +#: doc/man/mkvpropedit.xml:23 +#: doc/man/mmg.xml:23 msgid "<productname>&product;</productname> <date>&date;</date>" msgstr "<productname>&product;</productname> <date>&date;</date>" #. type: Content of: <refentry><refentryinfo><authorgroup><author><contrib> -#: doc/man/mkvextract.xml:27 doc/man/mkvinfo.xml:27 doc/man/mkvmerge.xml:27 -#: doc/man/mkvpropedit.xml:27 doc/man/mmg.xml:27 +#: doc/man/mkvextract.xml:27 +#: doc/man/mkvinfo.xml:27 +#: doc/man/mkvmerge.xml:27 +#: doc/man/mkvpropedit.xml:27 +#: doc/man/mmg.xml:27 msgid "Developer" msgstr "开发者" #. type: Content of: <refentry><refentryinfo><authorgroup><author><firstname> -#: doc/man/mkvextract.xml:28 doc/man/mkvinfo.xml:28 doc/man/mkvmerge.xml:28 -#: doc/man/mkvpropedit.xml:28 doc/man/mmg.xml:28 +#: doc/man/mkvextract.xml:28 +#: doc/man/mkvinfo.xml:28 +#: doc/man/mkvmerge.xml:28 +#: doc/man/mkvpropedit.xml:28 +#: doc/man/mmg.xml:28 msgid "Moritz" msgstr "Moritz" #. type: Content of: <refentry><refentryinfo><authorgroup><author><surname> -#: doc/man/mkvextract.xml:29 doc/man/mkvinfo.xml:29 doc/man/mkvmerge.xml:29 -#: doc/man/mkvpropedit.xml:29 doc/man/mmg.xml:29 +#: doc/man/mkvextract.xml:29 +#: doc/man/mkvinfo.xml:29 +#: doc/man/mkvmerge.xml:29 +#: doc/man/mkvpropedit.xml:29 +#: doc/man/mmg.xml:29 msgid "Bunkus" msgstr "Bunkus" #. type: Content of: <refentry><refentryinfo><authorgroup><author><email> -#: doc/man/mkvextract.xml:30 doc/man/mkvinfo.xml:30 doc/man/mkvmerge.xml:30 -#: doc/man/mkvpropedit.xml:30 doc/man/mmg.xml:30 +#: doc/man/mkvextract.xml:30 +#: doc/man/mkvinfo.xml:30 +#: doc/man/mkvmerge.xml:30 +#: doc/man/mkvpropedit.xml:30 +#: doc/man/mmg.xml:30 msgid "moritz@bunkus.org" msgstr "moritz@bunkus.org" #. type: Content of: <refentry><refnamediv><refname> -#: doc/man/mkvextract.xml:35 doc/man/mkvextract.xml:44 doc/man/mkvinfo.xml:35 -#: doc/man/mkvinfo.xml:44 doc/man/mkvmerge.xml:35 doc/man/mkvmerge.xml:44 -#: doc/man/mkvpropedit.xml:35 doc/man/mkvpropedit.xml:44 doc/man/mmg.xml:35 +#: doc/man/mkvextract.xml:35 +#: doc/man/mkvextract.xml:44 +#: doc/man/mkvinfo.xml:35 +#: doc/man/mkvinfo.xml:44 +#: doc/man/mkvmerge.xml:35 +#: doc/man/mkvmerge.xml:44 +#: doc/man/mkvpropedit.xml:35 +#: doc/man/mkvpropedit.xml:44 +#: doc/man/mmg.xml:35 #: doc/man/mmg.xml:44 msgid "&product;" msgstr "&product;" #. type: Content of: <refentry><refmeta><manvolnum> -#: doc/man/mkvextract.xml:36 doc/man/mkvinfo.xml:36 doc/man/mkvmerge.xml:36 -#: doc/man/mkvpropedit.xml:36 doc/man/mmg.xml:36 +#: doc/man/mkvextract.xml:36 +#: doc/man/mkvinfo.xml:36 +#: doc/man/mkvmerge.xml:36 +#: doc/man/mkvpropedit.xml:36 +#: doc/man/mmg.xml:36 msgid "1" msgstr "1" #. type: Content of: <refentry><refmeta><refmiscinfo> -#: doc/man/mkvextract.xml:37 doc/man/mkvinfo.xml:37 doc/man/mkvmerge.xml:37 -#: doc/man/mkvpropedit.xml:37 doc/man/mmg.xml:37 +#: doc/man/mkvextract.xml:37 +#: doc/man/mkvinfo.xml:37 +#: doc/man/mkvmerge.xml:37 +#: doc/man/mkvpropedit.xml:37 +#: doc/man/mmg.xml:37 msgid "&version;" msgstr "&version;" #. type: Content of: <refentry><refmeta><refmiscinfo> -#: doc/man/mkvextract.xml:38 doc/man/mkvinfo.xml:38 doc/man/mkvmerge.xml:38 -#: doc/man/mkvpropedit.xml:38 doc/man/mmg.xml:38 +#: doc/man/mkvextract.xml:38 +#: doc/man/mkvinfo.xml:38 +#: doc/man/mkvmerge.xml:38 +#: doc/man/mkvpropedit.xml:38 +#: doc/man/mmg.xml:38 msgid "&date;" msgstr "&date;" #. type: Content of: <refentry><refmeta><refmiscinfo> -#: doc/man/mkvextract.xml:39 doc/man/mkvinfo.xml:39 doc/man/mkvpropedit.xml:39 +#: doc/man/mkvextract.xml:39 +#: doc/man/mkvinfo.xml:39 +#: doc/man/mkvpropedit.xml:39 #: doc/man/mmg.xml:39 msgid "MkvToolNix" msgstr "MkvToolNix" #. type: Content of: <refentry><refmeta><refmiscinfo> -#: doc/man/mkvextract.xml:40 doc/man/mkvinfo.xml:40 doc/man/mkvmerge.xml:40 -#: doc/man/mkvpropedit.xml:40 doc/man/mmg.xml:40 +#: doc/man/mkvextract.xml:40 +#: doc/man/mkvinfo.xml:40 +#: doc/man/mkvmerge.xml:40 +#: doc/man/mkvpropedit.xml:40 +#: doc/man/mmg.xml:40 msgid "User Commands" msgstr "用户命令" @@ -180,51 +229,32 @@ msgstr "将 &matroska; 文件中的轨道提取为另外的文件" #. type: Content of: <refentry><refsynopsisdiv><title> -#: doc/man/mkvextract.xml:49 doc/man/mkvinfo.xml:49 doc/man/mkvmerge.xml:49 -#: doc/man/mkvpropedit.xml:49 doc/man/mmg.xml:49 +#: doc/man/mkvextract.xml:49 +#: doc/man/mkvinfo.xml:49 +#: doc/man/mkvmerge.xml:49 +#: doc/man/mkvpropedit.xml:49 +#: doc/man/mmg.xml:49 msgid "Synopsis" msgstr "概要" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvextract.xml:51 -msgid "" -"<command>mkvextract</command> <arg choice=\"req\">mode</arg> <arg choice=" -"\"req\">source-filename</arg> <arg>options</arg> <arg>extraction-spec</arg>" -msgstr "" -"<command>mkvextract</command> <arg choice=\"req\">模式</arg> <arg choice=" -"\"req\">源文件名</arg> <arg>选项</arg> <arg>提取指令</arg>" +msgid "<command>mkvextract</command> <arg choice=\"req\">mode</arg> <arg choice=\"req\">source-filename</arg> <arg>options</arg> <arg>extraction-spec</arg>" +msgstr "<command>mkvextract</command> <arg choice=\"req\">模式</arg> <arg choice=\"req\">源文件名</arg> <arg>选项</arg> <arg>提取指令</arg>" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:60 doc/man/mkvinfo.xml:58 doc/man/mkvmerge.xml:65 -#: doc/man/mkvpropedit.xml:59 doc/man/mmg.xml:64 +#: doc/man/mkvextract.xml:60 +#: doc/man/mkvinfo.xml:58 +#: doc/man/mkvmerge.xml:65 +#: doc/man/mkvpropedit.xml:59 +#: doc/man/mmg.xml:64 msgid "Description" msgstr "说明" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvextract.xml:62 -msgid "" -"This program extracts specific parts from a &matroska; file to other useful " -"formats. The first argument, <option>mode</option>, tells &mkvextract; what " -"to extract. Currently supported is the extraction of <link linkend=" -"\"mkvextract.description.tracks\">tracks</link>, <link linkend=\"mkvextract." -"description.tags\">tags</link>, <link linkend=\"mkvextract.description." -"attachments\">attachments</link>, <link linkend=\"mkvextract.description." -"chapters\">chapters</link>, <link linkend=\"mkvextract.description.cuesheets" -"\">CUE sheets</link> and <link linkend=\"mkvextract.description.timecodes_v2" -"\">timecodes</link>. The second argument is the name of the source file. It " -"must be a &matroska; file. All following arguments are options and " -"extraction specifications; both of which depend on the selected mode." -msgstr "" -"本程序可以将 &matroska; 文件的指定部分提取为其他有用的格式。第一个参数," -"<option>模式</option>告诉 &mkvextract; 要提取什么。目前支持提取 <link " -"linkend=\"mkvextract.description.tracks\">tracks(轨道)</link>、<link " -"linkend=\"mkvextract.description.tags\">tags(标签)</link>、<link linkend=" -"\"mkvextract.description.attachments\">attachments(附件)</link>、<link " -"linkend=\"mkvextract.description.chapters\">chapters(章节)</link>、<link " -"linkend=\"mkvextract.description.cuesheets\">CUE sheets(CUE 表单)</link>以" -"及<link linkend=\"mkvextract.description.timecodes_v2\">timecodes(时间码)</" -"link>。第二个参数是源文件名。它必须是 &matroska; 文件。以下参数为选项及提取指" -"令;两者均依所选模式而定。" +msgid "This program extracts specific parts from a &matroska; file to other useful formats. The first argument, <option>mode</option>, tells &mkvextract; what to extract. Currently supported is the extraction of <link linkend=\"mkvextract.description.tracks\">tracks</link>, <link linkend=\"mkvextract.description.tags\">tags</link>, <link linkend=\"mkvextract.description.attachments\">attachments</link>, <link linkend=\"mkvextract.description.chapters\">chapters</link>, <link linkend=\"mkvextract.description.cuesheets\">CUE sheets</link> and <link linkend=\"mkvextract.description.timecodes_v2\">timecodes</link>. The second argument is the name of the source file. It must be a &matroska; file. All following arguments are options and extraction specifications; both of which depend on the selected mode." +msgstr "本程序可以将 &matroska; 文件的指定部分提取为其他有用的格式。第一个参数,<option>模式</option>告诉 &mkvextract; 要提取什么。目前支持提取 <link linkend=\"mkvextract.description.tracks\">tracks(轨道)</link>、<link linkend=\"mkvextract.description.tags\">tags(标签)</link>、<link linkend=\"mkvextract.description.attachments\">attachments(附件)</link>、<link linkend=\"mkvextract.description.chapters\">chapters(章节)</link>、<link linkend=\"mkvextract.description.cuesheets\">CUE sheets(CUE 表单)</link>以及<link linkend=\"mkvextract.description.timecodes_v2\">timecodes(时间码)</link>。第二个参数是源文件名。它必须是 &matroska; 文件。以下参数为选项及提取指令;两者均依所选模式而定。" #. type: Content of: <refentry><refsect1><refsect2><title> #: doc/man/mkvextract.xml:71 @@ -233,9 +263,7 @@ #. type: Content of: <refentry><refsect1><refsect2><para> #: doc/man/mkvextract.xml:74 -msgid "" -"The following options are available in all modes and only described once in " -"this section." +msgid "The following options are available in all modes and only described once in this section." msgstr "以下选项在所有模式下可用,本段落只讲一遍,不赘述。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> @@ -245,167 +273,173 @@ #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: doc/man/mkvextract.xml:82 -msgid "" -"Sets the parse mode to 'full'. The default mode does not parse the whole " -"file but uses the meta seek elements for locating the required elements of a " -"source file. In 99% of all cases this is enough. But for files that do not " -"contain meta seek elements or which are damaged the user might have to use " -"this mode. A full scan of a file can take a couple of minutes while a fast " -"scan only takes seconds." -msgstr "" -"设置解析模式为 '<literal>full(完整)</literal>'。默认的解析模式不解析整个文" -"件,而是使用元定位元素确定源文件中所需元素的位置。99% 的情况下这已经足够。但" -"如果碰到不含元定位元素或者元定位元素损坏的文件,用户可能得考虑使用此模式。完" -"整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。" +msgid "Sets the parse mode to 'full'. The default mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to use this mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "设置解析模式为 '<literal>full(完整)</literal>'。默认的解析模式不解析整个文件,而是使用元定位元素确定源文件中所需元素的位置。99% 的情况下这已经足够。但如果碰到不含元定位元素或者元定位元素损坏的文件,用户可能得考虑使用此模式。完整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:91 doc/man/mkvinfo.xml:120 doc/man/mkvmerge.xml:1185 -#: doc/man/mkvpropedit.xml:152 -msgid "" -"<option>--command-line-charset</option> <parameter>character-set</parameter>" +#: doc/man/mkvextract.xml:91 +#: doc/man/mkvinfo.xml:129 +#: doc/man/mkvmerge.xml:1234 +#: doc/man/mkvpropedit.xml:156 +msgid "<option>--command-line-charset</option> <parameter>character-set</parameter>" msgstr "<option>--command-line-charset</option> <parameter>字符集</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:94 doc/man/mkvinfo.xml:123 -#: doc/man/mkvpropedit.xml:155 -msgid "" -"Sets the character set to convert strings given on the command line from. It " -"defaults to the character set given by system's current locale." -msgstr "" -"设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置" -"中所给定的字符集。" +#: doc/man/mkvextract.xml:94 +#: doc/man/mkvinfo.xml:132 +#: doc/man/mkvpropedit.xml:159 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale." +msgstr "设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置中所给定的字符集。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:101 doc/man/mkvinfo.xml:130 -#: doc/man/mkvmerge.xml:1198 doc/man/mkvpropedit.xml:162 +#: doc/man/mkvextract.xml:101 +#: doc/man/mkvinfo.xml:139 +#: doc/man/mkvmerge.xml:1247 +#: doc/man/mkvpropedit.xml:166 msgid "<option>--output-charset</option> <parameter>character-set</parameter>" msgstr "<option>--output-charset</option> <parameter>字符集</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:104 doc/man/mkvinfo.xml:133 -#: doc/man/mkvmerge.xml:1201 doc/man/mkvpropedit.xml:165 -msgid "" -"Sets the character set to which strings are converted that are to be " -"output. It defaults to the character set given by system's current locale." -msgstr "" -"设置输出的字符串应被转换到何种字符集。默认为系统当前区域设置中所给定的字符" -"集。" +#: doc/man/mkvextract.xml:104 +#: doc/man/mkvinfo.xml:142 +#: doc/man/mkvmerge.xml:1250 +#: doc/man/mkvpropedit.xml:169 +msgid "Sets the character set to which strings are converted that are to be output. It defaults to the character set given by system's current locale." +msgstr "设置输出的字符串应被转换到何种字符集。默认为系统当前区域设置中所给定的字符集。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:111 doc/man/mkvinfo.xml:140 -#: doc/man/mkvmerge.xml:1208 doc/man/mkvpropedit.xml:172 -msgid "" -"<option>-r</option>, <option>--redirect-output</option> <parameter>file-" -"name</parameter>" -msgstr "" -"<option>-r</option>, <option>--redirect-output</option> <parameter>文件名</" -"parameter>" +#: doc/man/mkvextract.xml:111 +#: doc/man/mkvinfo.xml:149 +#: doc/man/mkvmerge.xml:1257 +#: doc/man/mkvpropedit.xml:176 +msgid "<option>-r</option>, <option>--redirect-output</option> <parameter>file-name</parameter>" +msgstr "<option>-r</option>, <option>--redirect-output</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: doc/man/mkvextract.xml:114 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvextract.description.common.output_charset\"><option>--output-" -"charset</option></link> is honored." -msgstr "" -"将所有信息输出至文件 <parameter>文件名</parameter> 而不是在命令行显示。尽管该" -"操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之" -"前重新解释(覆盖输出)时。将优先使用通过 <link linkend=\"mkvextract." -"description.common.output_charset\"><option>--output-charset</option></link> " -"设定的字符集。" +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "将所有信息输出至文件 <parameter>文件名</parameter> 而不是在命令行显示。尽管该操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之前重新解释(覆盖输出)时。将优先使用通过 <link linkend=\"mkvextract.description.common.output_charset\"><option>--output-charset</option></link> 设定的字符集。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:123 doc/man/mkvinfo.xml:152 -#: doc/man/mkvmerge.xml:1219 doc/man/mkvpropedit.xml:184 +#: doc/man/mkvextract.xml:123 +#: doc/man/mkvinfo.xml:161 +#: doc/man/mkvmerge.xml:1268 +#: doc/man/mkvpropedit.xml:188 msgid "<option>--ui-language</option> <parameter>code</parameter>" msgstr "<option>--ui-language</option> <parameter>语言代码</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:126 doc/man/mkvpropedit.xml:187 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvextract; to output a list of available translations." -msgstr "" -"强制使用语言代码为 <parameter>语言代码</parameter> 的翻译(如 " -"'<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更" -"好。如果在 <parameter>语言代码</parameter> 处输入 '<literal>list</literal>'," -"&mkvextract; 将输出可用翻译列表。" +#: doc/man/mkvextract.xml:126 +#: doc/man/mkvpropedit.xml:191 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvextract; to output a list of available translations." +msgstr "强制使用语言代码为 <parameter>语言代码</parameter> 的翻译(如 '<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>, <varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更好。如果在 <parameter>语言代码</parameter> 处输入 '<literal>list</literal>',&mkvextract; 将输出可用翻译列表。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:135 doc/man/mkvinfo.xml:164 doc/man/mkvmerge.xml:77 -#: doc/man/mkvpropedit.xml:196 +#: doc/man/mkvextract.xml:135 +#: doc/man/mkvinfo.xml:173 +#: doc/man/mkvmerge.xml:84 +#: doc/man/mkvpropedit.xml:200 msgid "<option>-v</option>, <option>--verbose</option>" msgstr "<option>-v</option>, <option>--verbose</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:138 doc/man/mkvpropedit.xml:199 -msgid "" -"Be verbose and show all the important &matroska; elements as they're read." +#: doc/man/mkvextract.xml:138 +#: doc/man/mkvpropedit.xml:203 +msgid "Be verbose and show all the important &matroska; elements as they're read." msgstr "使输出信息更详尽,且每当读取到重要的 &matroska; 元素时就将其显示。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:144 doc/man/mkvinfo.xml:174 -#: doc/man/mkvmerge.xml:1291 doc/man/mkvpropedit.xml:205 +#: doc/man/mkvextract.xml:144 +#: doc/man/mkvinfo.xml:183 +#: doc/man/mkvmerge.xml:1345 +#: doc/man/mkvpropedit.xml:209 msgid "<option>-h</option>, <option>--help</option>" msgstr "<option>-h</option>, <option>--help</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:147 doc/man/mkvinfo.xml:177 -#: doc/man/mkvmerge.xml:1294 doc/man/mkvpropedit.xml:208 +#: doc/man/mkvextract.xml:147 +#: doc/man/mkvinfo.xml:186 +#: doc/man/mkvmerge.xml:1348 +#: doc/man/mkvpropedit.xml:212 msgid "Show usage information and exit." msgstr "显示用法信息并退出。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:153 doc/man/mkvinfo.xml:183 -#: doc/man/mkvmerge.xml:1300 doc/man/mkvpropedit.xml:214 +#: doc/man/mkvextract.xml:153 +#: doc/man/mkvinfo.xml:192 +#: doc/man/mkvmerge.xml:1354 +#: doc/man/mkvpropedit.xml:218 msgid "<option>-V</option>, <option>--version</option>" msgstr "<option>-V</option>, <option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:156 doc/man/mkvinfo.xml:186 -#: doc/man/mkvmerge.xml:1303 doc/man/mkvpropedit.xml:217 +#: doc/man/mkvextract.xml:156 +#: doc/man/mkvinfo.xml:195 +#: doc/man/mkvmerge.xml:1357 +#: doc/man/mkvpropedit.xml:221 msgid "Show version information and exit." msgstr "显示版本信息并退出。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:162 doc/man/mkvinfo.xml:192 -#: doc/man/mkvmerge.xml:1231 doc/man/mkvpropedit.xml:223 +#: doc/man/mkvextract.xml:162 +#: doc/man/mkvinfo.xml:201 +#: doc/man/mkvmerge.xml:1363 +#: doc/man/mkvpropedit.xml:227 +msgid "<option>--check-for-updates</option>" +msgstr "<option>--check-for-updates</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:165 +#: doc/man/mkvinfo.xml:204 +#: doc/man/mkvmerge.xml:1366 +#: doc/man/mkvpropedit.xml:230 +msgid "Checks online for new releases by downloading the URL <uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri>. Four lines will be output in <literal>key=value</literal> style: the URL from where the information was retrieved (key <literal>version_check_url</literal>), the currently running version (key <literal>running_version</literal>), the latest release's version (key <literal>available_version</literal>) and the download URL (key <literal>download_url</literal>)." +msgstr "联机下载 URL <uri>http://mkvtoolnix-releases.bunkus.org/latest-release.xml</uri> 检查新版本。将以 <literal>键=值</literal> 的样式输出四行: 检索信息的 URL(键 <literal>version_check_url</literal>),当前运行的版本(键 <literal>running_version</literal>),最新版本(键 <literal>available_version</literal>)及其下载 URL(键 <literal>download_url</literal>)。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:172 +#: doc/man/mkvinfo.xml:211 +#: doc/man/mkvmerge.xml:1373 +#: doc/man/mkvpropedit.xml:237 +msgid "Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e.g. if the update information could not be retrieved)." +msgstr "若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:177 +#: doc/man/mkvinfo.xml:216 +#: doc/man/mkvmerge.xml:1378 +#: doc/man/mkvpropedit.xml:242 +msgid "This option is only available if the program was built with support for libcurl." +msgstr "此选项仅当程序附带 libcurl 支持编译时可用。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvextract.xml:183 +#: doc/man/mkvinfo.xml:222 +#: doc/man/mkvmerge.xml:1280 +#: doc/man/mkvpropedit.xml:248 msgid "<option>@</option>options-file" msgstr "<option>@</option>选项文件" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:165 doc/man/mkvinfo.xml:195 -#: doc/man/mkvmerge.xml:1234 doc/man/mkvpropedit.xml:226 -msgid "" -"Reads additional command line arguments from the file <parameter>options-" -"file</parameter>. Lines whose first non-whitespace character is a hash mark " -"('<literal>#</literal>') are treated as comments and ignored. White spaces " -"at the start and end of a line will be stripped. Each line must contain " -"exactly one option. There is no meta character escaping." -msgstr "" -"从文件 <parameter>选项文件</parameter> 中读取额外的命令行参数。首个非空白字符" -"为井号 ('<literal>#</literal>') 的行将被当作注释对待,在处理过程中将被忽略。" -"各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转义。" +#: doc/man/mkvextract.xml:186 +#: doc/man/mkvinfo.xml:225 +#: doc/man/mkvmerge.xml:1283 +#: doc/man/mkvpropedit.xml:251 +msgid "Reads additional command line arguments from the file <parameter>options-file</parameter>. Lines whose first non-whitespace character is a hash mark ('<literal>#</literal>') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option." +msgstr "从文件 <parameter>选项文件</parameter> 中读取额外的命令行参数。首个非空白字符为井号 ('<literal>#</literal>') 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:171 -msgid "" -"The command line '<command>mkvextract tracks source.mkv --raw 1:destination." -"raw</command>' could be converted into the following option file:" -msgstr "" -"命令行 '<command>mkvextract tracks 源.mkv --raw 1:目标.raw</command>' 可以转" -"换为下面所示选项文件:" +#: doc/man/mkvextract.xml:192 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvextract.escaping\">the section about escaping text</link>." +msgstr "有些字符可以转义,如当您需要使用 '#' 作为一个不是评论的行的开头。规则在<link linkend=\"mkvextract.escaping\">关于转义文本的段落</link>有描述。" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:197 +msgid "The command line '<command>mkvextract tracks source.mkv --raw 1:destination.raw</command>' could be converted into the following option file:" +msgstr "命令行 '<command>mkvextract tracks 源.mkv --raw 1:目标.raw</command>' 可以转换为下面所示选项文件:" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvextract.xml:176 +#: doc/man/mkvextract.xml:202 #, no-wrap msgid "" "# Extract a track from source.mkv\n" @@ -425,148 +459,88 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:189 +#: doc/man/mkvextract.xml:215 msgid "Track extraction mode" msgstr "轨道提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:192 -msgid "" -"Syntax: <command>mkvextract</command> <option>tracks</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>TID1:dest-filename1</parameter> " -"<optional><parameter>TID2:dest-filename2</parameter> ...</optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>tracks</option> <parameter>源文件" -"名</parameter> <optional><parameter>选项</parameter></optional> " -"<parameter>TID1:目标文件名1</parameter> <optional><parameter>TID2:目标文件名" -"2</parameter> ...</optional>" +#: doc/man/mkvextract.xml:218 +msgid "Syntax: <command>mkvextract</command> <option>tracks</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "语法: <command>mkvextract</command> <option>tracks</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional> <parameter>TID1:目标文件名1</parameter> <optional><parameter>TID2:目标文件名2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:196 -msgid "" -"The following command line options are available for each track in the " -"'<literal>tracks</literal>' extraction mode. They have to appear in front " -"of the track specification (see below) they should be applied to." -msgstr "" -"以下命令行在 '<literal>tracks</literal>' 轨道提取模式下对各轨道可用。它们应当" -"在所应用到的轨道指令(参阅下文)之前出现。" +#: doc/man/mkvextract.xml:222 +msgid "The following command line options are available for each track in the '<literal>tracks</literal>' extraction mode. They have to appear in front of the track specification (see below) they should be applied to." +msgstr "以下命令行在 '<literal>tracks</literal>' 轨道提取模式下对各轨道可用。它们应当在所应用到的轨道指令(参阅下文)之前出现。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:202 +#: doc/man/mkvextract.xml:228 msgid "<option>-c</option> <parameter>character-set</parameter>" msgstr "<option>-c</option> <parameter>字符集</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:205 -msgid "" -"Sets the character set to convert the next text subtitle track to. Only " -"valid if the next track ID targets a text subtitle track. It defaults to UTF-" -"8." -msgstr "" -"设定下一个字幕轨应被转换为哪一字符集。仅当后面的轨道 ID 对应文本字幕轨时有" -"效。默认为 UTF-8。" +#: doc/man/mkvextract.xml:231 +msgid "Sets the character set to convert the next text subtitle track to. Only valid if the next track ID targets a text subtitle track. It defaults to UTF-8." +msgstr "设定下一个字幕轨应被转换为哪一字符集。仅当后面的轨道 ID 对应文本字幕轨时有效。默认为 UTF-8。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:212 +#: doc/man/mkvextract.xml:238 msgid "<option>--blockadd</option> <parameter>level</parameter>" msgstr "<option>--blockadd</option> <parameter>层级</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:215 -msgid "" -"Keep only the BlockAdditions up to this level. The default is to keep all " -"levels. This option only affects certain kinds of codecs like WAVPACK4." -msgstr "" -"只保留低于或等于此层级的 BlockAdditions 附加块。默认保留所有层级。 本选项仅影" -"响特定类别的编解码器,如 WAVPACK4。" +#: doc/man/mkvextract.xml:241 +msgid "Keep only the BlockAdditions up to this level. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "只保留低于或等于此层级的 BlockAdditions 附加块。默认保留所有层级。 本选项仅影响特定类别的编解码器,如 WAVPACK4。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:222 +#: doc/man/mkvextract.xml:248 msgid "<option>--cuesheet</option>" msgstr "<option>--cuesheet</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:225 -msgid "" -"Causes &mkvextract; to extract a <abbrev>CUE</abbrev> sheet from the chapter " -"information and tag data for the following track into a file whose name is " -"the track's output name with '<literal>.cue</literal>' appended to it." -msgstr "" -"让 &mkvextract; 根据下一轨道的标签数据与章节信息提取出 <abbrev>CUE</abbrev> " -"表单,输出文件名为轨道的输出名后接 '<literal>.cue</literal>' 扩展名。" +#: doc/man/mkvextract.xml:251 +msgid "Causes &mkvextract; to extract a <abbrev>CUE</abbrev> sheet from the chapter information and tag data for the following track into a file whose name is the track's output name with '<literal>.cue</literal>' appended to it." +msgstr "让 &mkvextract; 根据下一轨道的标签数据与章节信息提取出 <abbrev>CUE</abbrev> 表单,输出文件名为轨道的输出名后接 '<literal>.cue</literal>' 扩展名。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:232 +#: doc/man/mkvextract.xml:258 msgid "<option>--raw</option>" msgstr "<option>--raw</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:235 -msgid "" -"Extracts the raw data into a file without any container data around it. " -"Unlike the <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--" -"fullraw</option></link> flag this flag does not cause the contents of the " -"<classname>CodecPrivate</classname> element to be written to the file. This " -"mode works with all <classname>CodecIDs</classname>, even the ones that " -"&mkvextract; doesn't support otherwise, but the resulting files might not be " -"usable." -msgstr "" -"将原始数据提取为文件,输出文件的周围没有任何容器数据。 与 <link linkend=" -"\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> " -"标记不同的是,此标记不会将 <classname>CodecPrivate</classname> 元素的内容写入" -"输出文件。 此模式对所有 <classname>CodecIDs</classname> 有效,即使是 " -"&mkvextract; 不支持处理的,然而生成的文件可能无法使用。" +#: doc/man/mkvextract.xml:261 +msgid "Extracts the raw data into a file without any container data around it. Unlike the <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> flag this flag does not cause the contents of the <classname>CodecPrivate</classname> element to be written to the file. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "将原始数据提取为文件,输出文件的周围没有任何容器数据。 与 <link linkend=\"mkvextract.description.tracks.fullraw\"><option>--fullraw</option></link> 标记不同的是,此标记不会将 <classname>CodecPrivate</classname> 元素的内容写入输出文件。 此模式对所有 <classname>CodecIDs</classname> 有效,即使是 &mkvextract; 不支持处理的,然而生成的文件可能无法使用。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:244 +#: doc/man/mkvextract.xml:270 msgid "<option>--fullraw</option>" msgstr "<option>--fullraw</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:247 -msgid "" -"Extracts the raw data into a file without any container data around it. The " -"contents of the <classname>CodecPrivate</classname> element will be written " -"to the file first if the track contains such a header element. This mode " -"works with all <classname>CodecIDs</classname>, even the ones that " -"&mkvextract; doesn't support otherwise, but the resulting files might not be " -"usable." -msgstr "" -"提取原始数据,输出文件的周围没有任何容器数据。 如果轨道包含 " -"<classname>CodecPrivate</classname> 编解码器私有元素,它的内容将先被写入文" -"件。 此模式对所有 <classname>CodecIDs</classname> 有效,即使是 &mkvextract; " -"不支持的那些,但是生成的文件可能无法使用。" +#: doc/man/mkvextract.xml:273 +msgid "Extracts the raw data into a file without any container data around it. The contents of the <classname>CodecPrivate</classname> element will be written to the file first if the track contains such a header element. This mode works with all <classname>CodecIDs</classname>, even the ones that &mkvextract; doesn't support otherwise, but the resulting files might not be usable." +msgstr "提取原始数据,输出文件的周围没有任何容器数据。 如果轨道包含 <classname>CodecPrivate</classname> 编解码器私有元素,它的内容将先被写入文件。 此模式对所有 <classname>CodecIDs</classname> 有效,即使是 &mkvextract; 不支持的那些,但是生成的文件可能无法使用。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:256 +#: doc/man/mkvextract.xml:282 +#: doc/man/mkvextract.xml:392 msgid "<parameter>TID:outname</parameter>" msgstr "<parameter>TID:输出文件名</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:259 -msgid "" -"Causes extraction of the track with the ID <parameter>TID</parameter> into " -"the file <parameter>outname</parameter> if such a track exists in the source " -"file. This option can be given multiple times. The track IDs are the same as " -"the ones output by &mkvmerge;'s <option>--identify</option> option." -msgstr "" -"如果源文件中存在 ID 为 <parameter>TID</parameter> 的轨道,则将其提取为文件 " -"<parameter>输出文件名</parameter>。本选项可多次给出。轨道 ID 与 &mkvmerge; " -"的 <option>--identify</option> 选项所输出的相同。" +#: doc/man/mkvextract.xml:285 +msgid "Causes extraction of the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "如果源文件中存在 ID 为 <parameter>TID</parameter> 的轨道,则将其提取为文件 <parameter>输出文件名</parameter>。本选项可多次给出。轨道 ID 与 &mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:266 -msgid "" -"Each output name should be used only once. The exception are RealAudio and " -"RealVideo tracks. If you use the same name for different tracks then those " -"tracks will be saved in the same file. Example:" -msgstr "" -"每个输出文件名只能用一次。但 RealAudio 与 RealVideo 轨道例外。如果您为不同轨" -"道使用了同样的输出文件名,这些轨道将被存入同一个文件中。示例:" +#: doc/man/mkvextract.xml:292 +msgid "Each output name should be used only once. The exception are RealAudio and RealVideo tracks. If you use the same name for different tracks then those tracks will be saved in the same file. Example:" +msgstr "每个输出文件名只能用一次。但 RealAudio 与 RealVideo 轨道例外。如果您为不同轨道使用了同样的输出文件名,这些轨道将被存入同一个文件中。示例:" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> -#: doc/man/mkvextract.xml:271 +#: doc/man/mkvextract.xml:297 #, no-wrap msgid "" "$ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm\n" @@ -576,187 +550,132 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:279 +#: doc/man/mkvextract.xml:305 msgid "Tags extraction mode" msgstr "标签提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:282 -msgid "" -"Syntax: <command>mkvextract</command> <option>tags</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>tags</option> <parameter>源文件名" -"</parameter> <optional><parameter>选项</parameter></optional>" +#: doc/man/mkvextract.xml:308 +msgid "Syntax: <command>mkvextract</command> <option>tags</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "语法: <command>mkvextract</command> <option>tags</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:286 -msgid "" -"The extracted tags are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"提取出的标签将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=" -"\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" +#: doc/man/mkvextract.xml:312 +msgid "The extracted tags are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "提取出的标签将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:292 +#: doc/man/mkvextract.xml:318 msgid "Attachments extraction mode" msgstr "附件提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:295 -msgid "" -"Syntax: <command>mkvextract</command> <option>attachments</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional> <parameter>AID1:outname1</parameter> " -"<optional><parameter>AID2:outname2</parameter> ...</optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>attachments</option> <parameter>" -"源文件名</parameter> <optional><parameter>选项</parameter></optional> " -"<parameter>AID1:输出文件名1</parameter> <optional><parameter>AID2:输出文件名" -"2</parameter> ...</optional>" +#: doc/man/mkvextract.xml:321 +msgid "Syntax: <command>mkvextract</command> <option>attachments</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>AID1:outname1</parameter> <optional><parameter>AID2:outname2</parameter> ...</optional>" +msgstr "语法: <command>mkvextract</command> <option>attachments</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional> <parameter>AID1:输出文件名1</parameter> <optional><parameter>AID2:输出文件名2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:300 +#: doc/man/mkvextract.xml:326 msgid "AID:outname" msgstr "AID:输出文件名" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:303 -msgid "" -"Causes extraction of the attachment with the ID <parameter>AID</parameter> " -"into the file <parameter>outname</parameter> if such an attachment exists in " -"the source file. If the <parameter>outname</parameter> is left empty then " -"the name of the attachment inside the source &matroska; file is used " -"instead. This option can be given multiple times. The attachment IDs are " -"the same as the ones output by &mkvmerge;'s <option>--identify</option> " -"option." -msgstr "" -"如果源文件中存在 ID 为 <parameter>AID</parameter> 的附件,则将其提取为文件 " -"<parameter>输出文件名</parameter>。如果 <parameter>输出文件名</parameter> 处" -"留空,将使用所用 &matroska; 文件中的附件名称。本选项可多次给出。附件 ID 与 " -"&mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" +#: doc/man/mkvextract.xml:329 +msgid "Causes extraction of the attachment with the ID <parameter>AID</parameter> into the file <parameter>outname</parameter> if such an attachment exists in the source file. If the <parameter>outname</parameter> is left empty then the name of the attachment inside the source &matroska; file is used instead. This option can be given multiple times. The attachment IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "如果源文件中存在 ID 为 <parameter>AID</parameter> 的附件,则将其提取为文件 <parameter>输出文件名</parameter>。如果 <parameter>输出文件名</parameter> 处留空,将使用所用 &matroska; 文件中的附件名称。本选项可多次给出。附件 ID 与 &mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:314 +#: doc/man/mkvextract.xml:340 msgid "Chapters extraction mode" msgstr "章节提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:317 -msgid "" -"Syntax: <command>mkvextract</command> <option>chapters</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>chapters</option> <parameter>源文" -"件名</parameter> <optional><parameter>选项</parameter></optional>" +#: doc/man/mkvextract.xml:343 +msgid "Syntax: <command>mkvextract</command> <option>chapters</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "语法: <command>mkvextract</command> <option>chapters</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:322 +#: doc/man/mkvextract.xml:348 msgid "<option>-s</option>, <option>--simple</option>" msgstr "<option>-s</option>, <option>--simple</option>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:325 -msgid "" -"Exports the chapter information in the simple format used in the " -"<abbrev>OGM</abbrev> tools (CHAPTER01=..., CHAPTER01NAME=...). In this mode " -"some information has to be discarded. Default is to output the chapters in " -"&xml; format." -msgstr "" -"将章节信息以 <abbrev>OGM</abbrev> tools 所用的简单格式 (CHAPTER01=..., " -"CHAPTER01NAME=...) 导出。此模式下部分信息将被废弃。默认以 &xml; 格式输出章" -"节。" +#: doc/man/mkvextract.xml:351 +msgid "Exports the chapter information in the simple format used in the <abbrev>OGM</abbrev> tools (CHAPTER01=..., CHAPTER01NAME=...). In this mode some information has to be discarded. Default is to output the chapters in &xml; format." +msgstr "将章节信息以 <abbrev>OGM</abbrev> tools 所用的简单格式 (CHAPTER01=..., CHAPTER01NAME=...) 导出。此模式下部分信息将被废弃。默认以 &xml; 格式输出章节。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:334 -msgid "" -"The extracted chapters are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"提取出的章节将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=" -"\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" +#: doc/man/mkvextract.xml:360 +msgid "The extracted chapters are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "提取出的章节将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:340 +#: doc/man/mkvextract.xml:366 msgid "Cue sheet extraction mode" msgstr "Cue 表单提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:343 -msgid "" -"Syntax: <command>mkvextract</command> <option>cuesheet</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>cuesheet</option> <parameter>源文" -"件名</parameter> <optional><parameter>选项</parameter></optional>" +#: doc/man/mkvextract.xml:369 +msgid "Syntax: <command>mkvextract</command> <option>cuesheet</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional>" +msgstr "语法: <command>mkvextract</command> <option>cuesheet</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:347 -msgid "" -"The extracted cue sheet is written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." -msgstr "" -"提取出的 cue 表单将被输出到命令行,除非输出被重定向(详情参见关于 <link " -"linkend=\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" +#: doc/man/mkvextract.xml:373 +msgid "The extracted cue sheet is written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "提取出的 cue 表单将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvextract.xml:353 +#: doc/man/mkvextract.xml:379 msgid "Timecode extraction mode" msgstr "时间码提取模式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:356 -msgid "" -"Syntax: <command>mkvextract</command> <option>timecodes_v2</option> " -"<parameter>source-filename</parameter> <optional><parameter>options</" -"parameter></optional>" -msgstr "" -"语法: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>" -"源文件名</parameter> <optional><parameter>选项</parameter></optional>" +#: doc/man/mkvextract.xml:382 +msgid "Syntax: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>source-filename</parameter> <optional><parameter>options</parameter></optional> <parameter>TID1:dest-filename1</parameter> <optional><parameter>TID2:dest-filename2</parameter> ...</optional>" +msgstr "语法: <command>mkvextract</command> <option>timecodes_v2</option> <parameter>源文件名</parameter> <optional><parameter>选项</parameter></optional> <parameter>TID1:目标文件名1</parameter> <optional><parameter>TID2:目标文件名2</parameter> ...</optional>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvextract.xml:360 +#: doc/man/mkvextract.xml:386 +msgid "The extracted timecodes are written to the console unless the output is redirected (see the section about <link linkend=\"mkvextract.output_redirection\">output redirection</link> for details)." +msgstr "提取出的时间码将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:395 +msgid "Causes extraction of the timecodes for the track with the ID <parameter>TID</parameter> into the file <parameter>outname</parameter> if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by &mkvmerge;'s <option>--identify</option> option." +msgstr "如果源文件中存在 ID 为 <parameter>TID</parameter> 的轨道,则将其时间码提取为文件 <parameter>输出文件名</parameter>。本选项可多次给出。轨道 ID 与 &mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> +#: doc/man/mkvextract.xml:401 +msgid "Example:" +msgstr "示例:" + +#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvextract.xml:405 +#, no-wrap msgid "" -"The extracted timecodes are written to the console unless the output is " -"redirected (see the section about <link linkend=\"mkvextract." -"output_redirection\">output redirection</link> for details)." +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " msgstr "" -"提取出的时间码将被输出到命令行,除非输出被重定向(详情参见关于 <link linkend=" -"\"mkvextract.output_redirection\">输出重定向</link> 的章节)。" +"$ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt\n" +" " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:367 +#: doc/man/mkvextract.xml:414 msgid "Output redirection" msgstr "输出重定向" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:370 -msgid "" -"Several extraction modes cause &mkvextract; to write the extracted data to " -"the console. There are generally two ways of writing this data into a file: " -"one provided by the shell and one provided by &mkvextract; itself." -msgstr "" -"有些提取模式会使 &mkvextract; 将提取出的数据输出到命令行。通常有两种方法将数" -"据写入文件:一种由 shell 提供,另一种由 &mkvextract; 自身提供。" +#: doc/man/mkvextract.xml:417 +msgid "Several extraction modes cause &mkvextract; to write the extracted data to the console. There are generally two ways of writing this data into a file: one provided by the shell and one provided by &mkvextract; itself." +msgstr "有些提取模式会使 &mkvextract; 将提取出的数据输出到命令行。通常有两种方法将数据写入文件:一种由 shell 提供,另一种由 &mkvextract; 自身提供。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:375 -msgid "" -"The shell's builtin redirection mechanism is used by appending " -"'<literal>> output-filename.ext</literal>' to the command line. Example:" -msgstr "" -"shell 的报告重定向功能可以通过在命令行后追加 '<literal>> 输出文件名.扩展名" -"</literal>' 命令实现。示例:" +#: doc/man/mkvextract.xml:422 +msgid "The shell's builtin redirection mechanism is used by appending '<literal>> output-filename.ext</literal>' to the command line. Example:" +msgstr "shell 的报告重定向功能可以通过在命令行后追加 '<literal>> 输出文件名.扩展名</literal>' 命令实现。示例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvextract.xml:380 +#: doc/man/mkvextract.xml:427 #, no-wrap msgid "" "$ mkvextract tags source.mkv > tags.xml\n" @@ -766,18 +685,12 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:384 -msgid "" -"&mkvextract;'s own redirection is invoked with the <link linkend=" -"\"mkvextract.description.common.redirect_output\"><option>--redirect-output</" -"option></link> option. Example:" -msgstr "" -"&mkvextract; 自身的重定向功能可通过 <link linkend=\"mkvextract.description." -"common.redirect_output\"><option>--redirect-output</option></link> 选项唤出。" -"示例:" +#: doc/man/mkvextract.xml:431 +msgid "&mkvextract;'s own redirection is invoked with the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option. Example:" +msgstr "&mkvextract; 自身的重定向功能可通过 <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> 选项唤出。示例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvextract.xml:389 +#: doc/man/mkvextract.xml:436 #, no-wrap msgid "" "$ mkvextract tags source.mkv --redirect-output tags.xml\n" @@ -787,324 +700,266 @@ " " #. type: Content of: <refentry><refsect1><note><para> -#: doc/man/mkvextract.xml:394 -msgid "" -"On Windows you should probably use the <link linkend=\"mkvextract." -"description.common.redirect_output\"><option>--redirect-output</option></" -"link> option because <command>cmd.exe</command> sometimes interpretes " -"special characters before they're written into the output file resulting in " -"broken output." -msgstr "" -"在 Windows 平台上您应当使用 <link linkend=\"mkvextract.description.common." -"redirect_output\"><option>--redirect-output</option></link> 选项,因为 " -"<command>cmd.exe</command> 有时会在写入文件之前对特殊字符进行转义,导致输出文" -"件损坏。" +#: doc/man/mkvextract.xml:441 +msgid "On Windows you should probably use the <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> option because <command>cmd.exe</command> sometimes interpretes special characters before they're written into the output file resulting in broken output." +msgstr "在 Windows 平台上您应当使用 <link linkend=\"mkvextract.description.common.redirect_output\"><option>--redirect-output</option></link> 选项,因为 <command>cmd.exe</command> 有时会在写入文件之前对特殊字符进行转义,导致输出文件损坏。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:403 +#: doc/man/mkvextract.xml:450 msgid "Output file formats" msgstr "输出文件格式" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:406 -msgid "" -"The decision about the output format is based on the track type, not on the " -"extension used for the output file name. The following track types are " -"supported at the moment:" -msgstr "" -"输出文件的格式取决于轨道的类型,而不是输出文件名的扩展名。目前支持以下轨道类" -"型:" +#: doc/man/mkvextract.xml:453 +msgid "The decision about the output format is based on the track type, not on the extension used for the output file name. The following track types are supported at the moment:" +msgstr "输出文件的格式取决于轨道的类型,而不是输出文件名的扩展名。目前支持以下轨道类型:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:412 +#: doc/man/mkvextract.xml:459 msgid "V_MPEG4/ISO/AVC" msgstr "V_MPEG4/ISO/AVC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:415 -msgid "" -"<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video tracks are written to " -"<abbrev>H.264</abbrev> elementary streams which can be processed further " -"with e.g. <productname>MP4Box</productname> from the <productname>GPAC</" -"productname> package." -msgstr "" -"<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> 视频轨将被输出为 " -"<abbrev>H.264</abbrev> 基本流,可以使用如 <productname>GPAC</productname> 工" -"具包中的 <productname>MP4Box</productname> 作进一步处理。" +#: doc/man/mkvextract.xml:462 +msgid "<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> video tracks are written to <abbrev>H.264</abbrev> elementary streams which can be processed further with e.g. <productname>MP4Box</productname> from the <productname>GPAC</productname> package." +msgstr "<abbrev>H.264</abbrev> / <abbrev>AVC</abbrev> 视频轨将被输出为 <abbrev>H.264</abbrev> 基本流,可以使用如 <productname>GPAC</productname> 工具包中的 <productname>MP4Box</productname> 作进一步处理。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:422 +#: doc/man/mkvextract.xml:469 msgid "V_MS/VFW/FOURCC" msgstr "V_MS/VFW/FOURCC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:425 -msgid "" -"Fixed <abbrev>FPS</abbrev> video tracks with this <classname>CodecID</" -"classname> are written to <abbrev>AVI</abbrev> files." -msgstr "" -"使用此 <classname>CodecID</classname> 且 <abbrev>FPS</abbrev> 恒定的视频轨将" -"被输出为 <abbrev>AVI</abbrev> 文件。" +#: doc/man/mkvextract.xml:472 +msgid "Fixed <abbrev>FPS</abbrev> video tracks with this <classname>CodecID</classname> are written to <abbrev>AVI</abbrev> files." +msgstr "使用此 <classname>CodecID</classname> 且 <abbrev>FPS</abbrev> 恒定的视频轨将被输出为 <abbrev>AVI</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:431 +#: doc/man/mkvextract.xml:478 msgid "V_REAL/*" msgstr "V_REAL/*" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:434 -msgid "" -"<productname>RealVideo</productname> tracks are written to " -"<productname>RealMedia</productname> files." -msgstr "" -"<productname>RealVideo</productname> 轨道将被输出为 <productname>RealMedia</" -"productname> 文件。" +#: doc/man/mkvextract.xml:481 +msgid "<productname>RealVideo</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealVideo</productname> 轨道将被输出为 <productname>RealMedia</productname> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:440 +#: doc/man/mkvextract.xml:487 msgid "A_MPEG/L3, A_AC3" msgstr "A_MPEG/L3, A_AC3" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:443 -msgid "" -"These will be extracted to raw <abbrev>MP3</abbrev> and <abbrev>AC3</abbrev> " -"files." -msgstr "" -"这些将被输出为原始的 <abbrev>MP3</abbrev> 与 <abbrev>AC3</abbrev> 文件。" +#: doc/man/mkvextract.xml:490 +msgid "These will be extracted to raw <abbrev>MP3</abbrev> and <abbrev>AC3</abbrev> files." +msgstr "这些将被输出为原始的 <abbrev>MP3</abbrev> 与 <abbrev>AC3</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:449 +#: doc/man/mkvextract.xml:496 msgid "A_PCM/INT/LIT" msgstr "A_PCM/INT/LIT" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:452 -msgid "" -"Raw <abbrev>PCM</abbrev> data will be written to a <abbrev>WAV</abbrev> file." +#: doc/man/mkvextract.xml:499 +msgid "Raw <abbrev>PCM</abbrev> data will be written to a <abbrev>WAV</abbrev> file." msgstr "原始 <abbrev>PCM</abbrev> 数据将被输出为 <abbrev>WAV</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:458 +#: doc/man/mkvextract.xml:505 msgid "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" msgstr "A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:461 -msgid "" -"All <abbrev>AAC</abbrev> files will be written into an <abbrev>AAC</abbrev> " -"file with <abbrev>ADTS</abbrev> headers before each packet. The " -"<abbrev>ADTS</abbrev> headers will not contain the deprecated emphasis field." -msgstr "" -"所有 <abbrev>AAC</abbrev> 文件将被输出为 <abbrev>AAC</abbrev> 文件,其中数据" -"包前有 <abbrev>ADTS</abbrev> 头。<abbrev>ADTS</abbrev> 头将不含反增强字段" -"(deprecated emphasis field)。" +#: doc/man/mkvextract.xml:508 +msgid "All <abbrev>AAC</abbrev> files will be written into an <abbrev>AAC</abbrev> file with <abbrev>ADTS</abbrev> headers before each packet. The <abbrev>ADTS</abbrev> headers will not contain the deprecated emphasis field." +msgstr "所有 <abbrev>AAC</abbrev> 文件将被输出为 <abbrev>AAC</abbrev> 文件,其中数据包前有 <abbrev>ADTS</abbrev> 头。<abbrev>ADTS</abbrev> 头将不含反增强字段(deprecated emphasis field)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:468 +#: doc/man/mkvextract.xml:515 msgid "A_VORBIS" msgstr "A_VORBIS" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:471 +#: doc/man/mkvextract.xml:518 msgid "Vorbis audio will be written into an &oggvorbis; file." msgstr "Vorbis 音频将被输出为 &oggvorbis; 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:477 +#: doc/man/mkvextract.xml:524 msgid "A_REAL/*" msgstr "A_REAL/*" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:480 -msgid "" -"<productname>RealAudio</productname> tracks are written to " -"<productname>RealMedia</productname> files." -msgstr "" -"<productname>RealAudio</productname> 轨道将被输出为 <productname>RealMedia</" -"productname> 文件。" +#: doc/man/mkvextract.xml:527 +msgid "<productname>RealAudio</productname> tracks are written to <productname>RealMedia</productname> files." +msgstr "<productname>RealAudio</productname> 轨道将被输出为 <productname>RealMedia</productname> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:486 +#: doc/man/mkvextract.xml:533 msgid "A_TTA1" msgstr "A_TTA1" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:489 -msgid "" -"<productname>TrueAudio</productname> tracks are written to <abbrev>TTA</" -"abbrev> files. Please note that due to &matroska;'s limited timecode " -"precision the extracted file's header will be different regarding two " -"fields: <varname>data_length</varname> (the total number of samples in the " -"file) and the <abbrev>CRC</abbrev>." -msgstr "" -"<productname>TrueAudio</productname> 轨道将被输出为 <abbrev>TTA</abbrev> 文" -"件。请注意,由于 &matroska; 时间码的精度限制,解开来的文件的头部有两个字段不" -"同:<varname>data_length</varname> (文件的总采样数) 与 <abbrev>CRC</abbrev>。" +#: doc/man/mkvextract.xml:536 +msgid "<productname>TrueAudio</productname> tracks are written to <abbrev>TTA</abbrev> files. Please note that due to &matroska;'s limited timecode precision the extracted file's header will be different regarding two fields: <varname>data_length</varname> (the total number of samples in the file) and the <abbrev>CRC</abbrev>." +msgstr "<productname>TrueAudio</productname> 轨道将被输出为 <abbrev>TTA</abbrev> 文件。请注意,由于 &matroska; 时间码的精度限制,解开来的文件的头部有两个字段不同:<varname>data_length</varname> (文件的总采样数) 与 <abbrev>CRC</abbrev>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:497 +#: doc/man/mkvextract.xml:544 msgid "S_TEXT/UTF8" msgstr "S_TEXT/UTF8" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:500 +#: doc/man/mkvextract.xml:547 msgid "Simple text subtitles will be written as <abbrev>SRT</abbrev> files." msgstr "简单的文本字幕将被输出为 <abbrev>SRT</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:506 +#: doc/man/mkvextract.xml:553 msgid "S_TEXT/SSA, S_TEXT/ASS" msgstr "S_TEXT/SSA, S_TEXT/ASS" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:509 -msgid "" -"<abbrev>SSA</abbrev> and <abbrev>ASS</abbrev> text subtitles will be written " -"as <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> files respectively." -msgstr "" -"<abbrev>SSA</abbrev> 与 <abbrev>ASS</abbrev> 文本字幕将分别被输出为 " -"<abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> 文件。" +#: doc/man/mkvextract.xml:556 +msgid "<abbrev>SSA</abbrev> and <abbrev>ASS</abbrev> text subtitles will be written as <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> files respectively." +msgstr "<abbrev>SSA</abbrev> 与 <abbrev>ASS</abbrev> 文本字幕将分别被输出为 <abbrev>SSA</abbrev>/<abbrev>ASS</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:516 +#: doc/man/mkvextract.xml:563 msgid "S_KATE" msgstr "S_KATE" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:519 -msgid "" -"<productname>Kate</productname> streams will be written within an " -"<productname>Ogg</productname> container." -msgstr "" -"<productname>Kate</productname> 流将以 <productname>Ogg</productname> 为容器" -"输出。" +#: doc/man/mkvextract.xml:566 +msgid "<productname>Kate</productname> streams will be written within an <productname>Ogg</productname> container." +msgstr "<productname>Kate</productname> 流将以 <productname>Ogg</productname> 为容器输出。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:525 doc/man/mkvmerge.xml:1826 +#: doc/man/mkvextract.xml:572 +#: doc/man/mkvmerge.xml:1986 msgid "Tags" msgstr "标签" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:528 -msgid "" -"Tags are converted to a &xml; format. This format is the same that " -"&mkvmerge; supports for reading tags." -msgstr "" -"标签将被转换为 &xml; 格式。此格式与 &mkvmerge; 所支持读取的标签格式相同。" +#: doc/man/mkvextract.xml:575 +msgid "Tags are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading tags." +msgstr "标签将被转换为 &xml; 格式。此格式与 &mkvmerge; 所支持读取的标签格式相同。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:534 doc/man/mkvmerge.xml:1694 +#: doc/man/mkvextract.xml:581 +#: doc/man/mkvmerge.xml:1854 msgid "Attachments" msgstr "附件" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:537 -msgid "" -"Attachments are written to they output file as they are. No conversion " -"whatsoever is done." +#: doc/man/mkvextract.xml:584 +msgid "Attachments are written to they output file as they are. No conversion whatsoever is done." msgstr "附件将被以原样输出。不会进行任何转换。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:543 doc/man/mkvmerge.xml:1719 +#: doc/man/mkvextract.xml:590 +#: doc/man/mkvmerge.xml:1879 msgid "Chapters" msgstr "章节" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:546 -msgid "" -"Chapters are converted to a &xml; format. This format is the same that " -"&mkvmerge; supports for reading chapters. Alternatively a stripped-down " -"version can be output in the simple <abbrev>OGM</abbrev> style format." -msgstr "" -"章节将被转换为 &xml; 格式。此格式与 &mkvmerge; 所支持读取的章节格式相同。您也" -"可以选择输出精简的简单 <abbrev>OGM</abbrev> 格式。" +#: doc/man/mkvextract.xml:593 +msgid "Chapters are converted to a &xml; format. This format is the same that &mkvmerge; supports for reading chapters. Alternatively a stripped-down version can be output in the simple <abbrev>OGM</abbrev> style format." +msgstr "章节将被转换为 &xml; 格式。此格式与 &mkvmerge; 所支持读取的章节格式相同。您也可以选择输出精简的简单 <abbrev>OGM</abbrev> 格式。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvextract.xml:553 +#: doc/man/mkvextract.xml:600 msgid "Timecodes" msgstr "时间码" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvextract.xml:556 -msgid "" -"Timecodes are first sorted and then output as a timecode v2 format compliant " -"file ready to be fed to &mkvmerge;. The extraction to other formats (v1, v3 " -"and v4) is not supported." -msgstr "" -"时间码会先被排序,然后以 timecode v2 格式文件输出,该文件适用于 &mkvmerge;。" -"不支持提取为其他格式 (v1, v3 或 v4)。" +#: doc/man/mkvextract.xml:603 +msgid "Timecodes are first sorted and then output as a timecode v2 format compliant file ready to be fed to &mkvmerge;. The extraction to other formats (v1, v3 and v4) is not supported." +msgstr "时间码会先被排序,然后以 timecode v2 格式文件输出,该文件适用于 &mkvmerge;。不支持提取为其他格式 (v1, v3 或 v4)。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:565 doc/man/mkvinfo.xml:252 -#: doc/man/mkvmerge.xml:2058 doc/man/mkvpropedit.xml:356 +#: doc/man/mkvextract.xml:612 +#: doc/man/mkvinfo.xml:287 +#: doc/man/mkvmerge.xml:2218 +#: doc/man/mkvpropedit.xml:390 msgid "Exit codes" msgstr "退出代码" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:568 +#: doc/man/mkvextract.xml:615 msgid "&mkvextract; exits with one of three exit codes:" msgstr "&mkvextract; 退出时会返回以下三个退出代码中的一个:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:574 -msgid "" -"<constant>0</constant> -- This exit codes means that extraction has " -"completed successfully." +#: doc/man/mkvextract.xml:621 +msgid "<constant>0</constant> -- This exit codes means that extraction has completed successfully." msgstr "<constant>0</constant> -- 此退出代码说明已成功完成提取。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:580 -msgid "" -"<constant>1</constant> -- In this case &mkvextract; has output at least one " -"warning, but extraction did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting files might be ok or not. The user is urged to check both the " -"warning and the resulting files." -msgstr "" -"<constant>1</constant> -- 这种情况下 &mkvextract; 至少输出了一条警告信息,但" -"提取并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题" -"的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的" -"文件。" +#: doc/man/mkvextract.xml:627 +msgid "<constant>1</constant> -- In this case &mkvextract; has output at least one warning, but extraction did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- 这种情况下 &mkvextract; 至少输出了一条警告信息,但提取并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的文件。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvextract.xml:588 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvextract; aborts right after outputting the error message. Error " -"messages range from wrong command line arguments over read/write errors to " -"broken files." -msgstr "" -"<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvextract; 在输出错" -"误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写" -"入错误。" +#: doc/man/mkvextract.xml:635 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvextract; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvextract; 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvextract.xml:643 +#: doc/man/mkvinfo.xml:317 +#: doc/man/mkvmerge.xml:1752 +#: doc/man/mkvpropedit.xml:421 +msgid "Escaping special chars in text" +msgstr "文本中特殊字符的转义" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:645 +#: doc/man/mkvinfo.xml:319 +#: doc/man/mkvmerge.xml:1754 +#: doc/man/mkvpropedit.xml:423 +msgid "There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character." +msgstr "有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvextract.xml:650 +#: doc/man/mkvinfo.xml:324 +#: doc/man/mkvmerge.xml:1759 +#: doc/man/mkvpropedit.xml:428 +msgid "The rules are: ' ' becomes '\\s', '"' becomes '\\2', ':' becomes '\\c', '#' becomes '\\h' and '\\' itself becomes '\\\\'." +msgstr "规则为: ' ' 变为 '\\s','"' 变为 '\\2',':' 变为 '\\c','#' 变为 '\\h',而 '\\' 自己则变为 '\\\\'。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:596 doc/man/mkvinfo.xml:282 -#: doc/man/mkvmerge.xml:2089 doc/man/mkvpropedit.xml:387 doc/man/mmg.xml:90 +#: doc/man/mkvextract.xml:655 +#: doc/man/mkvinfo.xml:329 +#: doc/man/mkvmerge.xml:2249 +#: doc/man/mkvpropedit.xml:433 +#: doc/man/mmg.xml:90 msgid "See also" msgstr "参阅" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:598 +#: doc/man/mkvextract.xml:657 msgid "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" msgstr "&mkvmerge;, &mkvinfo;, &mkvpropedit;, &mmg;" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvextract.xml:603 doc/man/mkvinfo.xml:289 -#: doc/man/mkvmerge.xml:2096 doc/man/mkvpropedit.xml:394 doc/man/mmg.xml:97 +#: doc/man/mkvextract.xml:662 +#: doc/man/mkvinfo.xml:336 +#: doc/man/mkvmerge.xml:2256 +#: doc/man/mkvpropedit.xml:440 +#: doc/man/mmg.xml:97 msgid "WWW" msgstr "网络" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvextract.xml:605 doc/man/mkvinfo.xml:291 -#: doc/man/mkvmerge.xml:2098 doc/man/mkvpropedit.xml:396 doc/man/mmg.xml:99 -msgid "" -"The latest version can always be found at <ulink url=\"http://www.bunkus.org/" -"videotools/mkvtoolnix/\">the MKVToolNix homepage</ulink>." -msgstr "" -"最新版本总可以在 <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/" -"\">MKVToolNix 主页</ulink> 找到。" +#: doc/man/mkvextract.xml:664 +#: doc/man/mkvinfo.xml:338 +#: doc/man/mkvmerge.xml:2258 +#: doc/man/mkvpropedit.xml:442 +#: doc/man/mmg.xml:99 +msgid "The latest version can always be found at <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">the MKVToolNix homepage</ulink>." +msgstr "最新版本总可以在 <ulink url=\"http://www.bunkus.org/videotools/mkvtoolnix/\">MKVToolNix 主页</ulink> 找到。" #. type: Content of the product entity #: doc/man/mkvinfo.xml:5 @@ -1118,21 +973,13 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvinfo.xml:51 -msgid "" -"<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg>" -msgstr "" -"<command>mkvinfo</command> <arg>选项</arg> <arg choice=\"req\">源文件名</arg>" +msgid "<command>mkvinfo</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg>" +msgstr "<command>mkvinfo</command> <arg>选项</arg> <arg choice=\"req\">源文件名</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvinfo.xml:60 -msgid "" -"This program lists all elements contained in a &matroska;. The output can be " -"limited to a list of tracks in the file including information about the " -"codecs used." -msgstr "" -"本程序可列出 &matroska;文件中包含的所有轨道,输出信息可以限定为文件的轨道列表" -"以及所用编解码器的信息。" +msgid "This program lists all elements contained in a &matroska;. The output can be limited to a list of tracks in the file including information about the codecs used." +msgstr "本程序可列出 &matroska;文件中包含的所有轨道,输出信息可以限定为文件的轨道列表以及所用编解码器的信息。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:66 @@ -1141,12 +988,8 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvinfo.xml:69 -msgid "" -"Start the <abbrev>GUI</abbrev>. This option is only available if mkvinfo was " -"compiled with <abbrev>GUI</abbrev> support." -msgstr "" -"启动 <abbrev>GUI</abbrev>。本选项仅当 mkvinfo 编译时附加 <abbrev>GUI</" -"abbrev> 支持时可用。" +msgid "Start the <abbrev>GUI</abbrev>. This option is only available if mkvinfo was compiled with <abbrev>GUI</abbrev> support." +msgstr "启动 <abbrev>GUI</abbrev>。本选项仅当 mkvinfo 编译时附加 <abbrev>GUI</abbrev> 支持时可用。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:75 @@ -1155,11 +998,8 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvinfo.xml:78 -msgid "" -"Calculates and display the <function>Adler32</function> checksum for each " -"frame. Useful for debugging only." -msgstr "" -"计算并显示各帧的 <function>Adler32</function> 校验码。仅当调试时有用处。" +msgid "Calculates and display the <function>Adler32</function> checksum for each frame. Useful for debugging only." +msgstr "计算并显示各帧的 <function>Adler32</function> 校验码。仅当调试时有用处。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:84 @@ -1173,86 +1013,71 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvinfo.xml:93 +msgid "<option>-t</option>, <option>--track-info</option>" +msgstr "<option>-t</option>, <option>--track-info</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:96 +msgid "Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before." +msgstr "在“详细”模式下为各轨道显示统计信息。如果“详细”程度为 0 级,则将同时将级别设为 1。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvinfo.xml:102 msgid "<option>-x</option>, <option>--hexdump</option>" msgstr "<option>-x</option>, <option>--hexdump</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:96 +#: doc/man/mkvinfo.xml:105 msgid "Show the first 16 bytes of each frame as a hex dump." msgstr "以十六进制转储形式显示各帧的前 16 字节。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvinfo.xml:102 +#: doc/man/mkvinfo.xml:111 msgid "<option>-X</option>, <option>--full-hexdump</option>" msgstr "<option>-X</option>, <option>--full-hexdump</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:105 +#: doc/man/mkvinfo.xml:114 msgid "Show all bytes of each frame as a hex dump." msgstr "以十六进制转储形式显示各帧的所有字节。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvinfo.xml:111 +#: doc/man/mkvinfo.xml:120 msgid "<option>-z</option>, <option>--size</option>" msgstr "<option>-z</option>, <option>--size</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:114 +#: doc/man/mkvinfo.xml:123 msgid "Show the size of each element including its header." msgstr "显示各元素的尺寸,含头部所占用的尺寸。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:143 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"将所有信息输出至文件 <parameter>文件名</parameter>,而不是在命令行显示。尽管" -"该操作可以用输出重定向轻松实现,但在特定情况下还是缺不得它:当终端写入文件之" -"前重新解释(覆盖输出)时。 <link linkend=\"mkvinfo.description.output_charset" -"\"><option>--output-charset</option></link> 中所选定的字符集将被优先选用。" +#: doc/man/mkvinfo.xml:152 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "将所有信息输出至文件 <parameter>文件名</parameter>,而不是在命令行显示。尽管该操作可以用输出重定向轻松实现,但在特定情况下还是缺不得它:当终端写入文件之前重新解释(覆盖输出)时。 <link linkend=\"mkvinfo.description.output_charset\"><option>--output-charset</option></link> 中所选定的字符集将被优先选用。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:155 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvinfo; to output a list of available translations." -msgstr "" -"强制使用语言代码 <parameter>语言代码</parameter> 所对应的翻译(如 " -"'<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>、" -"<varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更" -"好。如果在 <parameter>code</parameter> 处输入 '<literal>list</literal>'," -"&mkvinfo; 将输出可用翻译的列表。" +#: doc/man/mkvinfo.xml:164 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvinfo; to output a list of available translations." +msgstr "强制使用语言代码 <parameter>语言代码</parameter> 所对应的翻译(如 '<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>、<varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更好。如果在 <parameter>code</parameter> 处输入 '<literal>list</literal>',&mkvinfo; 将输出可用翻译的列表。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:167 -msgid "" -"Be more verbose. See the section about <link linkend=\"mkvinfo." -"verbosity_levels\">verbosity levels</link> for a description which " -"information will be output at which level." -msgstr "" -"使输出更详尽。请参阅关于 <link linkend=\"mkvinfo.verbosity_levels\">“详细”程" -"度</link> 的段落获取在哪些层级将输出哪些信息的描述。" +#: doc/man/mkvinfo.xml:176 +msgid "Be more verbose. See the section about <link linkend=\"mkvinfo.verbosity_levels\">verbosity levels</link> for a description which information will be output at which level." +msgstr "使输出更详尽。请参阅关于 <link linkend=\"mkvinfo.verbosity_levels\">“详细”程度</link> 的段落获取在哪些层级将输出哪些信息的描述。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvinfo.xml:201 -msgid "" -"The command line '<command>mkvinfo -v -v input.mkv --redirect-output info." -"txt</command>' could be converted into the following option file:" -msgstr "" -"命令行 '<command>mkvinfo -v -v 输入.mkv --redirect-output 信息.txt</" -"command>' 可以转换为下面所示的选项文件:" +#: doc/man/mkvinfo.xml:231 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvinfo.escaping\">the section about escaping text</link>." +msgstr "有些字符可以转义,如当您需要使用 '#' 作为一个不是评论的行的开头。规则在<link linkend=\"mkvinfo.escaping\">关于转义文本的段落</link>有描述。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvinfo.xml:236 +msgid "The command line '<command>mkvinfo -v -v input.mkv --redirect-output info.txt</command>' could be converted into the following option file:" +msgstr "命令行 '<command>mkvinfo -v -v 输入.mkv --redirect-output 信息.txt</command>' 可以转换为下面所示的选项文件:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvinfo.xml:206 +#: doc/man/mkvinfo.xml:241 #, no-wrap msgid "" "# Be more verbose\n" @@ -1276,103 +1101,57 @@ " " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvinfo.xml:221 +#: doc/man/mkvinfo.xml:256 msgid "Verbosity levels" msgstr "“详细”程度" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:224 -msgid "" -"The <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> " -"option can be used to increase &mkvinfo;'s verbosity level and print more " -"information about the current file." -msgstr "" -"<link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> 选项" -"可以使 &mkvinfo; 增强其“详细”程度并输出关于当前文件的更多信息。" +#: doc/man/mkvinfo.xml:259 +msgid "The <link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> option can be used to increase &mkvinfo;'s verbosity level and print more information about the current file." +msgstr "<link linkend=\"mkvinfo.description.verbose\"><option>-v</option></link> 选项可以使 &mkvinfo; 增强其“详细”程度并输出关于当前文件的更多信息。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:229 -msgid "" -"At level 0 &mkvinfo; will print only the track headers it finds and their " -"types. &mkvinfo; will exit as soon as the headers are parsed completely " -"(more technical: as soon as the first cluster is encountered). In this level " -"the seek head entries and the cues will not be displayed -- even if they're " -"located in front of the track information." -msgstr "" -"在 level 0 &mkvinfo; 仅输出它发现的轨道头及其类型。头部解析完毕后(更专业地:" -"遇到首个簇时),&mkvinfo; 将退出执行。在此层级,定位头项与 cue 索引不会显示出" -"来——即使它们位于轨道信息之前。" +#: doc/man/mkvinfo.xml:264 +msgid "At level 0 &mkvinfo; will print only the track headers it finds and their types. &mkvinfo; will exit as soon as the headers are parsed completely (more technical: as soon as the first cluster is encountered). In this level the seek head entries and the cues will not be displayed -- even if they're located in front of the track information." +msgstr "在 level 0 &mkvinfo; 仅输出它发现的轨道头及其类型。头部解析完毕后(更专业地:遇到首个簇时),&mkvinfo; 将退出执行。在此层级,定位头项与 cue 索引不会显示出来——即使它们位于轨道信息之前。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:235 -msgid "" -"At level 1 &mkvinfo; will also print all &matroska; elements encountered for " -"the complete file but the seek head entries and the cue entries. If the " -"summary mode is enabled then &mkvinfo; will output the frame position as " -"well." -msgstr "" -"在 level 1 &mkvinfo; 同样将输出在整个文件中遇到的所有 &matroska; 元素,此外还" -"将输出定位头项与 cue 索引项。如果启用了简要模式,&mkvinfo; 还将输出各帧位置。" +#: doc/man/mkvinfo.xml:270 +msgid "At level 1 &mkvinfo; will also print all &matroska; elements encountered for the complete file but the seek head entries and the cue entries. If the summary mode is enabled then &mkvinfo; will output the frame position as well." +msgstr "在 level 1 &mkvinfo; 同样将输出在整个文件中遇到的所有 &matroska; 元素,此外还将输出定位头项与 cue 索引项。如果启用了简要模式,&mkvinfo; 还将输出各帧位置。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:240 -msgid "" -"At level 2 &mkvinfo; will also print the seek head entries, the cue entries " -"and the file position at which each &matroska; element can be found at." -msgstr "" -"在 level 2 &mkvinfo; 同样将输出定位头项与 cue 索引项,以及文件中各 " -"&matroska; 元素被发现的位置。" +#: doc/man/mkvinfo.xml:275 +msgid "At level 2 &mkvinfo; will also print the seek head entries, the cue entries and the file position at which each &matroska; element can be found at." +msgstr "在 level 2 &mkvinfo; 同样将输出定位头项与 cue 索引项,以及文件中各 &matroska; 元素被发现的位置。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:245 -msgid "" -"At level 3 and above &mkvinfo; will print some information that is not " -"directly connected to a &matroska; element. All other elements only print " -"stuff about the elements that were just found. Level 3 adds meta information " -"to ease debugging (read: it's intended for developers only). All lines " -"written by level 3 are enclosed in square brackets to make filtering them " -"out easy." -msgstr "" -"在 level 3 及更高层级 &mkvinfo; 将输出一些与 &matroska; 元素不直接相连的信" -"息。对于其他元素,将只输出发现的基本信息。Level 3 增加了元信息以便调试(换句" -"话说:它是为开发人员设计的)。Level 3 输出的所有行都以方括号嵌套以便过滤。" +#: doc/man/mkvinfo.xml:280 +msgid "At level 3 and above &mkvinfo; will print some information that is not directly connected to a &matroska; element. All other elements only print stuff about the elements that were just found. Level 3 adds meta information to ease debugging (read: it's intended for developers only). All lines written by level 3 are enclosed in square brackets to make filtering them out easy." +msgstr "在 level 3 及更高层级 &mkvinfo; 将输出一些与 &matroska; 元素不直接相连的信息。对于其他元素,将只输出发现的基本信息。Level 3 增加了元信息以便调试(换句话说:它是为开发人员设计的)。Level 3 输出的所有行都以方括号嵌套以便过滤。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:255 +#: doc/man/mkvinfo.xml:290 msgid "&mkvinfo; exits with one of three exit codes:" msgstr "&mkvinfo; 退出时会返回以下三个退出代码中的一个:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:261 -msgid "" -"<constant>0</constant> -- This exit codes means that the run has completed " -"successfully." +#: doc/man/mkvinfo.xml:296 +msgid "<constant>0</constant> -- This exit codes means that the run has completed successfully." msgstr "<constant>0</constant> -- 此退出代码说明已成功完成运行。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:267 -msgid "" -"<constant>1</constant> -- In this case &mkvinfo; has output at least one " -"warning, but the run did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'." -msgstr "" -"<constant>1</constant> -- 这种情况下 &mkvinfo; 至少输出了一条警告信息,但运行" -"并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。" +#: doc/man/mkvinfo.xml:302 +msgid "<constant>1</constant> -- In this case &mkvinfo; has output at least one warning, but the run did continue. A warning is prefixed with the text '<literal>Warning:</literal>'." +msgstr "<constant>1</constant> -- 这种情况下 &mkvinfo; 至少输出了一条警告信息,但运行并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvinfo.xml:274 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvinfo; aborts right after outputting the error message. Error messages " -"range from wrong command line arguments over read/write errors to broken " -"files." -msgstr "" -"<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvinfo; 在输出错误信" -"息后即中断运行。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错" -"误。" +#: doc/man/mkvinfo.xml:309 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvinfo; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvinfo; 在输出错误信息后即中断运行。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvinfo.xml:284 +#: doc/man/mkvinfo.xml:331 msgid "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" msgstr "&mkvmerge;, &mkvextract;, &mkvpropedit;, &mmg;" @@ -1393,868 +1172,504 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvmerge.xml:51 -msgid "" -"<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o " -"out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> " -"<arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> " -"<arg>@optionsfile</arg>" -msgstr "" -"<command>mkvmerge</command> <arg>全局选项</arg> <arg choice=\"req\">-o 输出文" -"件</arg> <arg>选项1</arg> <arg choice=\"req\">文件1</arg> <arg> <arg>选项2</" -"arg> <arg choice=\"req\">文件2</arg> </arg> <arg>@选项文件</arg>" +msgid "<command>mkvmerge</command> <arg>global options</arg> <arg choice=\"req\">-o out</arg> <arg>options1</arg> <arg choice=\"req\">file1</arg> <arg> <arg>options2</arg> <arg choice=\"req\">file2</arg> </arg> <arg>@optionsfile</arg>" +msgstr "<command>mkvmerge</command> <arg>全局选项</arg> <arg choice=\"req\">-o 输出文件</arg> <arg>选项1</arg> <arg choice=\"req\">文件1</arg> <arg> <arg>选项2</arg> <arg choice=\"req\">文件2</arg> </arg> <arg>@选项文件</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvmerge.xml:67 -msgid "" -"This program takes the input from several media files and joins their " -"streams (all of them or just a selection) into a &matroska; file; see <ulink " -"url=\"http://www.matroska.org/\">the &matroska; website</ulink>." -msgstr "" -"本程序可读取多种媒体文件并将它们的数据流(全部或者按选择)合并到 &matroska; " -"文件中去;参见 <ulink url=\"http://www.matroska.org/\">&matroska; 网站</" -"ulink>。" +msgid "This program takes the input from several media files and joins their streams (all of them or just a selection) into a &matroska; file; see <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "本程序可读取多种媒体文件并将它们的数据流(全部或者按选择)合并到 &matroska; 文件中去;参见 <ulink url=\"http://www.matroska.org/\">&matroska; 网站</ulink>。" + +#. type: Content of: <refentry><refsect1><important><para> +#: doc/man/mkvmerge.xml:73 +#: doc/man/mkvmerge.xml:1394 +msgid "The order of command line options is important. Please read the section <link linkend=\"mkvmerge.option_order\">"Option order"</link> it if you're new to the program." +msgstr "命令行选项的顺序很重要。若您对程序还不熟悉,请阅读 <link linkend=\"mkvmerge.option_order\">"选项顺序"</link> 段落。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:72 +#: doc/man/mkvmerge.xml:79 msgid "Global options:" msgstr "全局选项:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:79 +#: doc/man/mkvmerge.xml:86 msgid "Increase verbosity." msgstr "增强“详细”程度。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:84 +#: doc/man/mkvmerge.xml:91 msgid "<option>-q</option>, <option>--quiet</option>" msgstr "<option>-q</option>, <option>--quiet</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:86 +#: doc/man/mkvmerge.xml:93 msgid "Suppress status output." msgstr "取消状态输出。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:91 -msgid "" -"<option>-o</option>, <option>--output</option> <parameter>file-name</" -"parameter>" -msgstr "" -"<option>-o</option>, <option>--output</option> <parameter>文件名</parameter>" +#: doc/man/mkvmerge.xml:98 +msgid "<option>-o</option>, <option>--output</option> <parameter>file-name</parameter>" +msgstr "<option>-o</option>, <option>--output</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:93 -msgid "" -"Write to the file <parameter>file-name</parameter>. If splitting is used " -"then this parameter is treated a bit differently. See the explanation for " -"the <link linkend=\"mkvmerge.description.split\"><option>--split</option></" -"link> option for details." -msgstr "" -"写至文件 <parameter>文件名</parameter>。如果使用了切割功能,对此参数的处理将" -"有所不同。 详情请参阅关于 <link linkend=\"mkvmerge.description.split" -"\"><option>--split</option></link> 选项的说明。" +#: doc/man/mkvmerge.xml:100 +msgid "Write to the file <parameter>file-name</parameter>. If splitting is used then this parameter is treated a bit differently. See the explanation for the <link linkend=\"mkvmerge.description.split\"><option>--split</option></link> option for details." +msgstr "写至文件 <parameter>文件名</parameter>。如果使用了切割功能,对此参数的处理将有所不同。 详情请参阅关于 <link linkend=\"mkvmerge.description.split\"><option>--split</option></link> 选项的说明。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:99 +#: doc/man/mkvmerge.xml:106 msgid "<option>-w</option>, <option>--webm</option>" msgstr "<option>-w</option>, <option>--webm</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:101 -msgid "" -"Create a WebM compliant file. This is also turned on if the output file " -"name's extension is "webm". This mode enforces several " -"restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. " -"Neither chapters nor tags are allowed. The DocType header item is changed to " -""webm"." -msgstr "" -"创建 WebM 兼容文件。如果输出文件扩展名为 "webm" 则将自动开启本选" -"项。此模式将实施一些限制。只允许使用编解码器为 VP8 视频与 Vorbis 音频的轨道。" -"章节与标签功能都不允许使用。DocType 文档类型头项将更改为 "webm"。" +#: doc/man/mkvmerge.xml:108 +msgid "Create a WebM compliant file. This is also turned on if the output file name's extension is "webm". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to "webm"." +msgstr "创建 WebM 兼容文件。如果输出文件扩展名为 "webm" 则将自动开启本选项。此模式将实施一些限制。只允许使用编解码器为 VP8 视频与 Vorbis 音频的轨道。章节与标签功能都不允许使用。DocType 文档类型头项将更改为 "webm"。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:109 +#: doc/man/mkvmerge.xml:116 msgid "<option>--title</option> <parameter>title</parameter>" msgstr "<option>--title</option> <parameter>标题</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:111 +#: doc/man/mkvmerge.xml:118 msgid "Sets the general title for the output file, e.g. the movie name." msgstr "设置整个生成文件的标题,比如电影名称。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:116 +#: doc/man/mkvmerge.xml:123 msgid "<option>--tags</option> <parameter>file-name</parameter>" msgstr "<option>--tags</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:118 -msgid "" -"Read global tags from the &xml; file <parameter>file-name</parameter>. See " -"the section about tags below for details." -msgstr "" -"从 &xml; 文件 <parameter>文件名</parameter> 中读取全局标签。详细情况请参阅下" -"文关于标签的段落。" +#: doc/man/mkvmerge.xml:125 +msgid "Read global tags from the &xml; file <parameter>file-name</parameter>. See the section about tags below for details." +msgstr "从 &xml; 文件 <parameter>文件名</parameter> 中读取全局标签。详细情况请参阅下文关于标签的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:124 -msgid "" -"<option>--default-language</option> <parameter>language-code</parameter>" +#: doc/man/mkvmerge.xml:131 +msgid "<option>--default-language</option> <parameter>language-code</parameter>" msgstr "<option>--default-language</option> <parameter>语言代码</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:126 -msgid "" -"Sets the default language code that will be used for all tracks unless " -"overwritten with the <link linkend=\"mkvmerge.description.language" -"\"><option>--language</option></link> option. The default language code is " -"'<literal>und</literal>' for 'undefined'." -msgstr "" -"设置默认语言代码。所有轨道将使用此语言码,除非被用 <link linkend=\"mkvmerge." -"description.language\"><option>--language</option></link> 选项覆盖。默认的语" -"言代码是 '<literal>und</literal>' 代表 'undefined'(未定)。" +#: doc/man/mkvmerge.xml:133 +msgid "Sets the default language code that will be used for all tracks unless overwritten with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option. The default language code is '<literal>und</literal>' for 'undefined'." +msgstr "设置默认语言代码。所有轨道将使用此语言码,除非被用 <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> 选项覆盖。默认的语言代码是 '<literal>und</literal>' 代表 'undefined'(未定)。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:134 +#: doc/man/mkvmerge.xml:141 msgid "Segment info handling: (global options)" msgstr "剪辑信息处理: (全局选项)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:139 +#: doc/man/mkvmerge.xml:146 msgid "<option>--segmentinfo</option> <parameter>filename.xml</parameter>" msgstr "<option>--segmentinfo</option> <parameter>文件名.xml</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:142 -msgid "" -"Read segment information from a <abbrev>XML</abbrev> file. This file can " -"contain the segment family <abbrev>UID</abbrev>, segment <abbrev>UID</" -"abbrev>, previous and next segment <abbrev>UID</abbrev> elements. An example " -"file and a <abbrev>DTD</abbrev> are included in the MKVToolNix distribution." -msgstr "" -"从 <abbrev>XML</abbrev> 文件中读取剪辑信息。此文件可以包含剪辑族的 " -"<abbrev>UID</abbrev>、剪辑的 <abbrev>UID</abbrev>、上一剪辑以及下一剪辑的 " -"<abbrev>UID</abbrev> 元素。示例文件以及 <abbrev>DTD</abbrev> 已包含在 " -"MKVToolNix 发布包中。" +#: doc/man/mkvmerge.xml:149 +msgid "Read segment information from a <abbrev>XML</abbrev> file. This file can contain the segment family <abbrev>UID</abbrev>, segment <abbrev>UID</abbrev>, previous and next segment <abbrev>UID</abbrev> elements. An example file and a <abbrev>DTD</abbrev> are included in the MKVToolNix distribution." +msgstr "从 <abbrev>XML</abbrev> 文件中读取剪辑信息。此文件可以包含剪辑族的 <abbrev>UID</abbrev>、剪辑的 <abbrev>UID</abbrev>、上一剪辑以及下一剪辑的 <abbrev>UID</abbrev> 元素。示例文件以及 <abbrev>DTD</abbrev> 已包含在 MKVToolNix 发布包中。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:150 +#: doc/man/mkvmerge.xml:157 msgid "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" msgstr "<option>--segment-uid</option> <parameter>SID1,SID2,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:153 -msgid "" -"Sets the segment UIDs to use. This is a comma-separated list of 128bit " -"segment UIDs in the usual UID form: hex numbers with or without the " -""0x" prefix, with or without spaces, exactly 32 digits." -msgstr "" -"设定要使用的剪辑 UID。这是个逗号分割的 128 位 UID 列表,UID 为通常的格式: 十" -"六进制数字,"0x" 前缀可选,空格可选,但必须恰好有 32 个数位。" +#: doc/man/mkvmerge.xml:160 +msgid "Sets the segment UIDs to use. This is a comma-separated list of 128bit segment UIDs in the usual UID form: hex numbers with or without the "0x" prefix, with or without spaces, exactly 32 digits." +msgstr "设定要使用的剪辑 UID。这是个逗号分割的 128 位 UID 列表,UID 为通常的格式: 十六进制数字,"0x" 前缀可选,空格可选,但必须恰好有 32 个数位。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:158 -msgid "" -"Each file created contains one segment, and each segment has one segment " -"UID. If more segment UIDs are specified than segments are created then the " -"surplus UIDs are ignored. If fewer UIDs are specified than segments are " -"created then random UIDs will be created for them." -msgstr "" -"创建的每个文件都包含一个剪辑,每个剪辑有一个剪辑 UID。如果指定的剪辑 UID 比创" -"建的剪辑多,则多余的 UID 将被忽略。如果指定的 UID 比创建的剪辑少,则将随机创" -"建 UID。" +#: doc/man/mkvmerge.xml:165 +msgid "Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." +msgstr "创建的每个文件都包含一个剪辑,每个剪辑有一个剪辑 UID。如果指定的剪辑 UID 比创建的剪辑多,则多余的 UID 将被忽略。如果指定的 UID 比创建的剪辑少,则将随机创建 UID。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:167 +#: doc/man/mkvmerge.xml:174 msgid "Chapter and tag handling: (global options)" msgstr "章节与标签处理: (全局选项)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:172 doc/man/mkvmerge.xml:791 -msgid "" -"<option>--chapter-language</option> <parameter>language-code</parameter>" +#: doc/man/mkvmerge.xml:179 +#: doc/man/mkvmerge.xml:818 +msgid "<option>--chapter-language</option> <parameter>language-code</parameter>" msgstr "<option>--chapter-language</option> <parameter>语言代码</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:175 -msgid "" -"Sets the ISO639-2 language code that is written for each chapter entry. " -"Defaults to '<literal>eng</literal>'. See the section about <link linkend=" -"\"mkvmerge.chapters\">chapters</link> below for details." -msgstr "" -"设置各章节项的 ISO639-2 语言代码。 默认为 '<literal>eng</literal>'。 详情参见" -"下文中关于 <link linkend=\"mkvmerge.chapters\">章节</link> 的段落。" +#: doc/man/mkvmerge.xml:182 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. Defaults to '<literal>eng</literal>'. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "设置各章节项的 ISO639-2 语言代码。 默认为 '<literal>eng</literal>'。 详情参见下文中关于 <link linkend=\"mkvmerge.chapters\">章节</link> 的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:180 -msgid "" -"This option can be used both for simple chapter files and for source files " -"that contain chapters but no information about the chapters' language, e.g. " -"MP4 and OGM files." -msgstr "" -"此选项可用于简单章节文件与包含章节但不含章节语言信息的源文件,如 MP4 与 OGM " -"文件。" +#: doc/man/mkvmerge.xml:187 +msgid "This option can be used both for simple chapter files and for source files that contain chapters but no information about the chapters' language, e.g. MP4 and OGM files." +msgstr "此选项可用于简单章节文件与包含章节但不含章节语言信息的源文件,如 MP4 与 OGM 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:187 doc/man/mkvmerge.xml:780 +#: doc/man/mkvmerge.xml:194 +#: doc/man/mkvmerge.xml:807 msgid "<option>--chapter-charset</option> <parameter>character-set</parameter>" msgstr "<option>--chapter-charset</option> <parameter>字符集</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:190 -msgid "" -"Sets the character set that is used for the conversion to UTF-8 for simple " -"chapter files. See the section about <link linkend=\"mkvmerge." -"text_files_and_charsets\"> text files and character sets</link> for an " -"explanation how &mkvmerge; converts between character sets." -msgstr "" -"设置简单章节文件所用的字符集,用以转为 UTF-8。关于 &mkvmerge; 如何在字符集之" -"间转换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文" -"本文件与字符集</link> 的段落。" +#: doc/man/mkvmerge.xml:197 +msgid "Sets the character set that is used for the conversion to UTF-8 for simple chapter files. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "设置简单章节文件所用的字符集,用以转为 UTF-8。关于 &mkvmerge; 如何在字符集之间转换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:196 -msgid "" -"This switch does also apply to chapters that are copied from certain " -"container types, e.g. Ogg/OGM and MP4 files. See the section about chapters " -"below for details." -msgstr "" -"此开关亦可应用到从特定容器类型,如 Ogg/OGM 和 MP4 文件中复制而来的章节。 详情" -"参见下文关于章节的段落。" +#: doc/man/mkvmerge.xml:203 +msgid "This switch does also apply to chapters that are copied from certain container types, e.g. Ogg/OGM and MP4 files. See the section about chapters below for details." +msgstr "此开关亦可应用到从特定容器类型,如 Ogg/OGM 和 MP4 文件中复制而来的章节。 详情参见下文关于章节的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:203 -msgid "" -"<option>--cue-chapter-name-format</option> <parameter>format</parameter>" +#: doc/man/mkvmerge.xml:210 +msgid "<option>--cue-chapter-name-format</option> <parameter>format</parameter>" msgstr "<option>--cue-chapter-name-format</option> <parameter>格式</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:206 -msgid "" -"&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as " -"the input for chapters. <abbrev>CUE</abbrev> sheets usually contain the " -"entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each " -"index entry. &mkvmerge; uses these two strings in order to construct the " -"chapter name. With this option the format used for this name can be set." -msgstr "" -"&mkvmerge; 支持读取音频文件的 <abbrev>CUE</abbrev> 表单作为章节输入。" -"<abbrev>CUE</abbrev> 表单中各索引项通常含有 <varname>PERFORMER(表演者)</" -"varname> 与 <varname>TITLE(标题)</varname> 项。&mkvmerge; 使用这两个字串构" -"建章节名称。使用此选项可设定构建名称所用的格式。" +#: doc/man/mkvmerge.xml:213 +msgid "&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as the input for chapters. <abbrev>CUE</abbrev> sheets usually contain the entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each index entry. &mkvmerge; uses these two strings in order to construct the chapter name. With this option the format used for this name can be set." +msgstr "&mkvmerge; 支持读取音频文件的 <abbrev>CUE</abbrev> 表单作为章节输入。<abbrev>CUE</abbrev> 表单中各索引项通常含有 <varname>PERFORMER(表演者)</varname> 与 <varname>TITLE(标题)</varname> 项。&mkvmerge; 使用这两个字串构建章节名称。使用此选项可设定构建名称所用的格式。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:212 -msgid "" -"If this option is not given then &mkvmerge; defaults to the format '<code>%p " -"- %t</code>' (the performer, followed by a space, a dash, another space and " -"the title)." -msgstr "" -"如果此选项未给定则 &mkvmerge; 默认使用 '<code>%p - %t</code>' 格式 (表演者, " -"后接空格, 一个破折号, 另一个空格以及标题)。" +#: doc/man/mkvmerge.xml:219 +msgid "If this option is not given then &mkvmerge; defaults to the format '<code>%p - %t</code>' (the performer, followed by a space, a dash, another space and the title)." +msgstr "如果此选项未给定则 &mkvmerge; 默认使用 '<code>%p - %t</code>' 格式 (表演者, 后接空格, 一个破折号, 另一个空格以及标题)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:217 -msgid "" -"If the format is given then everything except the following meta characters " -"is copied as-is, and the meta characters are replaced like this:" -msgstr "" -"如果给定了格式,则除了后续的标签字符以外都将被原样复制,标签字符将被进行下述" -"替换:" +#: doc/man/mkvmerge.xml:224 +msgid "If the format is given then everything except the following meta characters is copied as-is, and the meta characters are replaced like this:" +msgstr "如果给定了格式,则除了后续的标签字符以外都将被原样复制,标签字符将被进行下述替换:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:223 -msgid "" -"<parameter>%p</parameter> is replaced by the current entry's " -"<varname>PERFORMER</varname> string," -msgstr "" -"<parameter>%p</parameter> 被当前项的 <varname>PERFORMER(表演者)</varname> " -"字符串替代," +#: doc/man/mkvmerge.xml:230 +msgid "<parameter>%p</parameter> is replaced by the current entry's <varname>PERFORMER</varname> string," +msgstr "<parameter>%p</parameter> 被当前项的 <varname>PERFORMER(表演者)</varname> 字符串替代," #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:226 -msgid "" -"<parameter>%t</parameter> is replaced by the current entry's <varname>TITLE</" -"varname> string," -msgstr "" -"<parameter>%t</parameter> 被当前项的 <varname>TITLE(标题)</varname> 字符串" -"替代," +#: doc/man/mkvmerge.xml:233 +msgid "<parameter>%t</parameter> is replaced by the current entry's <varname>TITLE</varname> string," +msgstr "<parameter>%t</parameter> 被当前项的 <varname>TITLE(标题)</varname> 字符串替代," #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:229 +#: doc/man/mkvmerge.xml:236 msgid "<parameter>%n</parameter> is replaced by the current track number and" msgstr "<parameter>%n</parameter> 被当前轨道编号替代,此外" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:232 -msgid "" -"<parameter>%N</parameter> is replaced by the current track number padded " -"with a leading zero if it is < 10." -msgstr "" -"<parameter>%N</parameter> 被当前轨道衬式编号(小于 10 则在前面加零)替代。" +#: doc/man/mkvmerge.xml:239 +msgid "<parameter>%N</parameter> is replaced by the current track number padded with a leading zero if it is < 10." +msgstr "<parameter>%N</parameter> 被当前轨道衬式编号(小于 10 则在前面加零)替代。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:240 +#: doc/man/mkvmerge.xml:247 msgid "<option>--chapters</option> <parameter>file-name</parameter>" msgstr "<option>--chapters</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:243 -msgid "" -"Read chapter information from the file <parameter>file-name</parameter>. See " -"the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below " -"for details." -msgstr "" -"从文件 <parameter>文件名</parameter> 读取章节信息。详情参阅下文关于 <link " -"linkend=\"mkvmerge.chapters\">章节</link> 的段落。" +#: doc/man/mkvmerge.xml:250 +msgid "Read chapter information from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.chapters\">chapters</link> below for details." +msgstr "从文件 <parameter>文件名</parameter> 读取章节信息。详情参阅下文关于 <link linkend=\"mkvmerge.chapters\">章节</link> 的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:250 +#: doc/man/mkvmerge.xml:257 msgid "<option>--global-tags</option> <parameter>file-name</parameter>" msgstr "<option>--global-tags</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:253 -msgid "" -"Read global tags from the file <parameter>file-name</parameter>. See the " -"section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." -msgstr "" -"从文件 <parameter>文件名</parameter> 读取全局标签。详情参阅下文关于 <link " -"linkend=\"mkvmerge.tags\">标签</link> 的段落。" +#: doc/man/mkvmerge.xml:260 +msgid "Read global tags from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "从文件 <parameter>文件名</parameter> 读取全局标签。详情参阅下文关于 <link linkend=\"mkvmerge.tags\">标签</link> 的段落。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:261 +#: doc/man/mkvmerge.xml:268 msgid "General output control (advanced global options):" msgstr "全局输出控制 (高级全局选项):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:266 -msgid "" -"<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" -msgstr "" -"<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" +#: doc/man/mkvmerge.xml:273 +msgid "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" +msgstr "<option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:269 -msgid "" -"This option changes the order in which the tracks for an input file are " -"created. The argument is a comma separated list of pairs IDs. Each pair " -"contains first the file ID (<parameter>FID1</parameter>) which is simply the " -"number of the file on the command line starting at 0. The second is a track " -"ID (<parameter>TID1</parameter>) from that file. If some track IDs are " -"omitted then those tracks are created after the ones given with this option " -"have been created." -msgstr "" -"此选项更改输入文件创建时轨道的顺序。变量为逗号分隔的成对的 ID 列。每对先包含" -"有文件 ID (<parameter>FID1</parameter>),即文件在命令行中的顺序,由 0 开始计" -"数。第二个是在该文件中的轨道 ID (<parameter>TID1</parameter>)。 如果省去部分" -"轨道的 ID,则这些轨道将在使用本选项给定的轨道创建之后创建。" +#: doc/man/mkvmerge.xml:276 +msgid "This option changes the order in which the tracks for an input file are created. The argument is a comma separated list of pairs IDs. Each pair contains first the file ID (<parameter>FID1</parameter>) which is simply the number of the file on the command line starting at 0. The second is a track ID (<parameter>TID1</parameter>) from that file. If some track IDs are omitted then those tracks are created after the ones given with this option have been created." +msgstr "此选项更改输入文件创建时轨道的顺序。变量为逗号分隔的成对的 ID 列。每对先包含有文件 ID (<parameter>FID1</parameter>),即文件在命令行中的顺序,由 0 开始计数。第二个是在该文件中的轨道 ID (<parameter>TID1</parameter>)。 如果省去部分轨道的 ID,则这些轨道将在使用本选项给定的轨道创建之后创建。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:278 +#: doc/man/mkvmerge.xml:285 msgid "<option>--cluster-length</option> <parameter>spec</parameter>" msgstr "<option>--cluster-length</option> <parameter>指令</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:281 -msgid "" -"Limit the number of data blocks or the duration of data in each cluster. The " -"<parameter>spec</parameter> parameter can either be a number <parameter>n</" -"parameter> without a unit or a number <parameter>d</parameter> postfixed " -"with '<literal>ms</literal>'." -msgstr "" -"限制每个簇中数据块的数量或数据的时长。<parameter>指令</parameter> 参数可以是" -"无单位的数字 <parameter>n</parameter>,也可以是后缀有 '<literal>ms</" -"literal>' 的 <parameter>d</parameter>。" +#: doc/man/mkvmerge.xml:288 +msgid "Limit the number of data blocks or the duration of data in each cluster. The <parameter>spec</parameter> parameter can either be a number <parameter>n</parameter> without a unit or a number <parameter>d</parameter> postfixed with '<literal>ms</literal>'." +msgstr "限制每个簇中数据块的数量或数据的时长。<parameter>指令</parameter> 参数可以是无单位的数字 <parameter>n</parameter>,也可以是后缀有 '<literal>ms</literal>' 的 <parameter>d</parameter>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:286 -msgid "" -"If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> " -"data blocks into each cluster. The maximum number of blocks is 65535." -msgstr "" -"如果未使用数字,&mkvmerge; 将在每个簇中放置最多 <parameter>n</parameter> 个数" -"据块。最大块数是 65535。" +#: doc/man/mkvmerge.xml:293 +msgid "If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> data blocks into each cluster. The maximum number of blocks is 65535." +msgstr "如果未使用数字,&mkvmerge; 将在每个簇中放置最多 <parameter>n</parameter> 个数据块。最大块数是 65535。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:291 -msgid "" -"If the number <parameter>d</parameter> is postfixed with '<literal>ms</" -"literal>' then &mkvmerge; puts at most <parameter>d</parameter> milliseconds " -"of data into each cluster. The minimum for <parameter>d</parameter> is " -"'<literal>100ms</literal>', and the maximum is '<literal>32000ms</literal>'." -msgstr "" -"如果数字 <parameter>d</parameter> 后缀有 '<literal>ms</literal>',&mkvmerge; " -"将在每个簇中放置最多 <parameter>d</parameter> 毫秒的数据。<parameter>d</" -"parameter> 的最小值是 '<literal>100ms</literal>',最大值是 " -"'<literal>32000ms</literal>'。" +#: doc/man/mkvmerge.xml:298 +msgid "If the number <parameter>d</parameter> is postfixed with '<literal>ms</literal>' then &mkvmerge; puts at most <parameter>d</parameter> milliseconds of data into each cluster. The minimum for <parameter>d</parameter> is '<literal>100ms</literal>', and the maximum is '<literal>32000ms</literal>'." +msgstr "如果数字 <parameter>d</parameter> 后缀有 '<literal>ms</literal>',&mkvmerge; 将在每个簇中放置最多 <parameter>d</parameter> 毫秒的数据。<parameter>d</parameter> 的最小值是 '<literal>100ms</literal>',最大值是 '<literal>32000ms</literal>'。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:297 -msgid "" -"&mkvmerge; defaults to putting at most 65535 data blocks and 2000ms of data " -"into a cluster." -msgstr "&mkvmerge; 默认每簇最多放置 65535 个数据块或 2000ms 的数据。" +#: doc/man/mkvmerge.xml:304 +msgid "&mkvmerge; defaults to putting at most 65535 data blocks and 5000ms of data into a cluster." +msgstr "&mkvmerge; 默认每簇最多放置 65535 个数据块或 5000ms 的数据。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:301 -msgid "" -"Programs trying to find a certain frame can only seek directly to a cluster " -"and have to read the whole cluster afterwards. Therefore creating larger " -"clusters may lead to imprecise or slow seeking." -msgstr "" -"尝试定位到特定帧的程序只能直接定位到簇,然后需要读取整个簇(来完成定位)。因" -"此创建较大的簇将导致定位不精确或缓慢。" +#: doc/man/mkvmerge.xml:308 +msgid "Programs trying to find a certain frame can only seek directly to a cluster and have to read the whole cluster afterwards. Therefore creating larger clusters may lead to imprecise or slow seeking." +msgstr "尝试定位到特定帧的程序只能直接定位到簇,然后需要读取整个簇(来完成定位)。因此创建较大的簇将导致定位不精确或缓慢。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:308 +#: doc/man/mkvmerge.xml:315 msgid "<option>--no-cues</option>" msgstr "<option>--no-cues</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:311 -msgid "" -"Tells &mkvmerge; not to create and write the cue data which can be compared " -"to an index in an AVI. &matroska; files can be played back without the cue " -"data, but seeking will probably be imprecise and slower. Use this only if " -"you're really desperate for space or for testing purposes. See also option " -"<link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> " -"which can be specified for each input file." -msgstr "" -"让 &mkvmerge; 不要创建或写入 cue 索引( 可类比作 AVI 文件中的索引)。没有索引" -"的 &matroska; 文件也能播放,但定位可能不精确且缓慢。仅当您确实强求空间或用作" -"测试时使用此选项。请参阅可为各输入文件指定的 <link linkend=\"mkvmerge." -"description.cues\"><option>--cues</option></link> 选项。" +#: doc/man/mkvmerge.xml:318 +msgid "Tells &mkvmerge; not to create and write the cue data which can be compared to an index in an AVI. &matroska; files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only if you're really desperate for space or for testing purposes. See also option <link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> which can be specified for each input file." +msgstr "让 &mkvmerge; 不要创建或写入 cue 索引( 可类比作 AVI 文件中的索引)。没有索引的 &matroska; 文件也能播放,但定位可能不精确且缓慢。仅当您确实强求空间或用作测试时使用此选项。请参阅可为各输入文件指定的 <link linkend=\"mkvmerge.description.cues\"><option>--cues</option></link> 选项。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:320 +#: doc/man/mkvmerge.xml:327 msgid "<option>--clusters-in-meta-seek</option>" msgstr "<option>--clusters-in-meta-seek</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:323 -msgid "" -"Tells &mkvmerge; to create a meta seek element at the end of the file " -"containing all clusters. See also the section about the <link linkend=" -"\"mkvmerge.file_layout\">&matroska; file layout</link>." -msgstr "" -"告诉 &mkvmerge; 在文件末尾创建包含所有簇的元定位元素。参阅关于 <link linkend=" -"\"mkvmerge.file_layout\">&matroska; 文件规划</link> 的段落。" +#: doc/man/mkvmerge.xml:330 +msgid "Tells &mkvmerge; to create a meta seek element at the end of the file containing all clusters. See also the section about the <link linkend=\"mkvmerge.file_layout\">&matroska; file layout</link>." +msgstr "告诉 &mkvmerge; 在文件末尾创建包含所有簇的元定位元素。参阅关于 <link linkend=\"mkvmerge.file_layout\">&matroska; 文件规划</link> 的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:330 +#: doc/man/mkvmerge.xml:337 msgid "<option>--disable-lacing</option>" msgstr "<option>--disable-lacing</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:333 -msgid "" -"Disables lacing for all tracks. This will increase the file's size, " -"especially if there are many audio tracks. This option is not intended for " -"everyday use." -msgstr "" -"禁用所有轨道的紧缩。这将增加文件大小,尤其是当有很多音频轨时。此选项不供日常" -"之用。" +#: doc/man/mkvmerge.xml:340 +msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. This option is not intended for everyday use." +msgstr "禁用所有轨道的紧缩。这将增加文件大小,尤其是当有很多音频轨时。此选项不供日常之用。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:340 +#: doc/man/mkvmerge.xml:347 msgid "<option>--enable-durations</option>" msgstr "<option>--enable-durations</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:343 -msgid "" -"Write durations for all blocks. This will increase file size and does not " -"offer any additional value for players at the moment." -msgstr "" -"为所有块写入时长。这将增大文件尺寸,而且目前对播放器来说不提供任何额外的益" -"处。" +#: doc/man/mkvmerge.xml:350 +msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." +msgstr "为所有块写入时长。这将增大文件尺寸,而且目前对播放器来说不提供任何额外的益处。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:349 +#: doc/man/mkvmerge.xml:356 msgid "<option>--timecode-scale</option> <parameter>factor</parameter>" msgstr "<option>--timecode-scale</option> <parameter>系数</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:352 -msgid "" -"Forces the timecode scale factor to <parameter>factor</parameter>. Valid " -"values are in the range <constant>1000</constant>..<constant>10000000</" -"constant> or the special value <constant>-1</constant>." -msgstr "" -"强制时间码缩放系数为 <parameter>系数</parameter>。有效值域为 <constant>1000</" -"constant>..<constant>10000000</constant> 或特殊值 <constant>-1</constant>。" +#: doc/man/mkvmerge.xml:359 +msgid "Forces the timecode scale factor to <parameter>factor</parameter>. Valid values are in the range <constant>1000</constant>..<constant>10000000</constant> or the special value <constant>-1</constant>." +msgstr "强制时间码缩放系数为 <parameter>系数</parameter>。有效值域为 <constant>1000</constant>..<constant>10000000</constant> 或特殊值 <constant>-1</constant>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:357 -msgid "" -"Normally &mkvmerge; will use a value of <constant>1000000</constant> which " -"means that timecodes and durations will have a precision of 1ms. For files " -"that will not contain a video track but at least one audio track &mkvmerge; " -"will automatically chose a timecode scale factor so that all timecodes and " -"durations have a precision of one audio sample. This causes bigger overhead " -"but allows precise seeking and extraction." -msgstr "" -"通常 &mkvmerge; 会使用数值 <constant>1000000</constant>,这样时间码和时长的精" -"度为 1ms。对于不包含视频轨但含有至少一条音频轨的文件,&mkvmerge; 将自动选择一" -"个时间码缩放系数以使各轨的音频采样精度相同。这将引起更大的额外开销,但将允许" -"更为精确的定位与提取。" +#: doc/man/mkvmerge.xml:364 +msgid "Normally &mkvmerge; will use a value of <constant>1000000</constant> which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track &mkvmerge; will automatically chose a timecode scale factor so that all timecodes and durations have a precision of one audio sample. This causes bigger overhead but allows precise seeking and extraction." +msgstr "通常 &mkvmerge; 会使用数值 <constant>1000000</constant>,这样时间码和时长的精度为 1ms。对于不包含视频轨但含有至少一条音频轨的文件,&mkvmerge; 将自动选择一个时间码缩放系数以使各轨的音频采样精度相同。这将引起更大的额外开销,但将允许更为精确的定位与提取。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:364 -msgid "" -"If the special value <constant>-1</constant> is used then &mkvmerge; will " -"use sample precision even if a video track is present." -msgstr "" -"如果使用了特殊值 <constant>-1</constant>,即使有视频轨,&mkvmerge; 也将使用采" -"样精度。" +#: doc/man/mkvmerge.xml:371 +msgid "If the special value <constant>-1</constant> is used then &mkvmerge; will use sample precision even if a video track is present." +msgstr "如果使用了特殊值 <constant>-1</constant>,即使有视频轨,&mkvmerge; 也将使用采样精度。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:371 +#: doc/man/mkvmerge.xml:378 msgid "File splitting, linking and appending (more global options):" msgstr "文件切割、链接与追加合并 (其他全局选项):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:376 +#: doc/man/mkvmerge.xml:383 msgid "<option>--split</option> <parameter>specification</parameter>" msgstr "<option>--split</option> <parameter>指令</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:380 -msgid "" -"Splits the output file after a given size or a given time. Please note that " -"tracks can only be split right before a key frame. Due to buffering " -"&mkvmerge; will split right before the next key frame after the split point " -"has been reached. Therefore the split point may be a bit off from what the " -"user has specified." -msgstr "" -"在给定尺寸或时间之后切割输出文件。请注意,各轨道只能在关键帧之前的位置切割" -"开。由于缓冲原因,&mkvmerge; 将在达到切割点后发现的首个关键帧前的位置切割。因" -"此实际切割点可能比用户指定的稍稍靠后些。" +#: doc/man/mkvmerge.xml:387 +msgid "Splits the output file after a given size or a given time. Please note that tracks can only be split right before a key frame. Due to buffering &mkvmerge; will split right before the next key frame after the split point has been reached. Therefore the split point may be a bit off from what the user has specified." +msgstr "在给定尺寸或时间之后切割输出文件。请注意,各轨道只能在关键帧之前的位置切割开。由于缓冲原因,&mkvmerge; 将在达到切割点后发现的首个关键帧前的位置切割。因此实际切割点可能比用户指定的稍稍靠后些。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:386 +#: doc/man/mkvmerge.xml:393 msgid "At the moment &mkvmerge; supports three different modes." msgstr "目前 &mkvmerge; 支持三种不同模式。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:392 +#: doc/man/mkvmerge.xml:399 msgid "Splitting by size." msgstr "按尺寸切割。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:396 -msgid "" -"Syntax: <option>--split</option> <optional>size:</optional><parameter>d</" -"parameter><optional>k|m|g</optional>" -msgstr "" -"语法: <option>--split</option> <optional>size:</optional><parameter>d</" -"parameter><optional>k|m|g</optional>" +#: doc/man/mkvmerge.xml:403 +msgid "Syntax: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" +msgstr "语法: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:400 -msgid "" -"Examples: <code>--split size:700m</code> or <code>--split 150000000</code>" -msgstr "" -"示例: <code>--split size:700m</code> 或者 <code>--split 150000000</code>" +#: doc/man/mkvmerge.xml:407 +msgid "Examples: <code>--split size:700m</code> or <code>--split 150000000</code>" +msgstr "示例: <code>--split size:700m</code> 或者 <code>--split 150000000</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:404 -msgid "" -"The parameter <parameter>d</parameter> may end with '<literal>k</literal>', " -"'<literal>m</literal>' or '<literal>g</literal>' to indicate that the size " -"is in KB, MB or GB respectively. Otherwise a size in Bytes is assumed. " -"After the current output file has reached this size limit a new one will be " -"started." -msgstr "" -"参数 <parameter>d</parameter> 可以以 '<literal>k</literal>'、'<literal>m</" -"literal>' 或 '<literal>g</literal>' 结尾,分别说明尺寸的单位为 KB、MB 或 GB。" -"若不加单位,则假定单位为字节。 当前输出文件达到此尺寸限制后将开始输出新的文" -"件。" +#: doc/man/mkvmerge.xml:411 +msgid "The parameter <parameter>d</parameter> may end with '<literal>k</literal>', '<literal>m</literal>' or '<literal>g</literal>' to indicate that the size is in KB, MB or GB respectively. Otherwise a size in Bytes is assumed. After the current output file has reached this size limit a new one will be started." +msgstr "参数 <parameter>d</parameter> 可以以 '<literal>k</literal>'、'<literal>m</literal>' 或 '<literal>g</literal>' 结尾,分别说明尺寸的单位为 KB、MB 或 GB。若不加单位,则假定单位为字节。 当前输出文件达到此尺寸限制后将开始输出新的文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:410 -msgid "" -"The '<literal>size:</literal>' prefix may be omitted for compatibility " -"reasons." +#: doc/man/mkvmerge.xml:417 +msgid "The '<literal>size:</literal>' prefix may be omitted for compatibility reasons." msgstr "为兼顾兼容性,'<literal>size:</literal>' 前缀可以省略。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:416 +#: doc/man/mkvmerge.xml:423 msgid "Splitting after a duration." msgstr "在一定时长后切割。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:420 -msgid "" -"Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:" -"MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" -msgstr "" -"语法: <option>--split</option> <optional>duration:</optional><parameter>HH:" -"MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" +#: doc/man/mkvmerge.xml:427 +msgid "Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" +msgstr "语法: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:424 -msgid "" -"Examples: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</" -"code>" -msgstr "" -"示例: <code>--split duration:00:60:00.000</code> 或 <code>--split 3600s</" -"code>" +#: doc/man/mkvmerge.xml:431 +msgid "Examples: <code>--split duration:00:60:00.000</code> or <code>--split 3600s</code>" +msgstr "示例: <code>--split duration:00:60:00.000</code> 或 <code>--split 3600s</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:428 -msgid "" -"The parameter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</" -"parameter> for specifying the duration in up to nano-second precision or be " -"a number <parameter>d</parameter> followed by the letter '<literal>s</" -"literal>' for the duration in seconds. <parameter>HH</parameter> is the " -"number of hours, <parameter>MM</parameter> the number of minutes, " -"<parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</" -"parameter> the number of nanoseconds. Both the number of hours and the " -"number of nanoseconds can be omitted. There can be up to nine digits after " -"the decimal point. After the duration of the contents in the current output " -"has reached this limit a new output file will be started." -msgstr "" -"此参数可以用 <parameter>HH:MM:SS.nnnnnnnnn</parameter> 的形式指定纳秒精度的时" -"长,也可以是后接字母 '<literal>s</literal>' 的指定秒数时长的数字 " -"<parameter>d</parameter>。<parameter>HH</parameter> 为小时数,<parameter>MM</" -"parameter> 为分钟数,<parameter>SS</parameter> 为秒数,而" -"<parameter>nnnnnnnnn</parameter> 为纳秒数。 小时数与纳秒数均可省略。 小数点后" -"最多可以有九位。 当前输出内容的时长达到此限制后将开始输出新的输出文件。" +#: doc/man/mkvmerge.xml:435 +msgid "The parameter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</parameter> for specifying the duration in up to nano-second precision or be a number <parameter>d</parameter> followed by the letter '<literal>s</literal>' for the duration in seconds. <parameter>HH</parameter> is the number of hours, <parameter>MM</parameter> the number of minutes, <parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</parameter> the number of nanoseconds. Both the number of hours and the number of nanoseconds can be omitted. There can be up to nine digits after the decimal point. After the duration of the contents in the current output has reached this limit a new output file will be started." +msgstr "此参数可以用 <parameter>HH:MM:SS.nnnnnnnnn</parameter> 的形式指定纳秒精度的时长,也可以是后接字母 '<literal>s</literal>' 的指定秒数时长的数字 <parameter>d</parameter>。<parameter>HH</parameter> 为小时数,<parameter>MM</parameter> 为分钟数,<parameter>SS</parameter> 为秒数,而<parameter>nnnnnnnnn</parameter> 为纳秒数。 小时数与纳秒数均可省略。 小数点后最多可以有九位。 当前输出内容的时长达到此限制后将开始输出新的输出文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:437 -msgid "" -"The '<literal>duration:</literal>' prefix may be omitted for compatibility " -"reasons." +#: doc/man/mkvmerge.xml:444 +msgid "The '<literal>duration:</literal>' prefix may be omitted for compatibility reasons." msgstr "为兼顾兼容性,'<literal>duration:</literal>' 前缀可以省略。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:443 +#: doc/man/mkvmerge.xml:450 msgid "Splitting after specific timecodes." msgstr "在指定时间码后切割。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:447 -msgid "" -"Syntax: <option>--split</option> timecodes:<parameter>A</" -"parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</" -"parameter>...</optional></optional>" -msgstr "" -"语法: <option>--split</option> timecodes:<parameter>A</parameter><optional>," -"<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></" -"optional>" +#: doc/man/mkvmerge.xml:454 +msgid "Syntax: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" +msgstr "语法: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:451 +#: doc/man/mkvmerge.xml:458 msgid "Example: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" msgstr "示例: <code>--split timecodes:00:45:00.000,01:20:00.250,6300s</code>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:455 -msgid "" -"The parameters <parameter>A</parameter>, <parameter>B</parameter>, " -"<parameter>C</parameter> etc must all have the same format as the ones used " -"for the duration (see above). The list of timecodes is separated by commas. " -"After the input stream has reached the current split point's timecode a new " -"file is created. Then the next split point given in this list is used." -msgstr "" -"参数 <parameter>A</parameter>、<parameter>B</parameter>、<parameter>C</" -"parameter> 等等的格式与按时长切割模式(见上文)所用的格式相同。时间码表以逗号" -"分隔。 输入流达到当前切割点的时间码后将创建新的输出文件。然后将使用所给定的下" -"一个切割点。" +#: doc/man/mkvmerge.xml:462 +msgid "The parameters <parameter>A</parameter>, <parameter>B</parameter>, <parameter>C</parameter> etc must all have the same format as the ones used for the duration (see above). The list of timecodes is separated by commas. After the input stream has reached the current split point's timecode a new file is created. Then the next split point given in this list is used." +msgstr "参数 <parameter>A</parameter>、<parameter>B</parameter>、<parameter>C</parameter> 等等的格式与按时长切割模式(见上文)所用的格式相同。时间码表以逗号分隔。 输入流达到当前切割点的时间码后将创建新的输出文件。然后将使用所给定的下一个切割点。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:461 +#: doc/man/mkvmerge.xml:468 msgid "The '<literal>timecodes:</literal>' prefix must not be omitted." msgstr "'<literal>timecodes:</literal>' 前缀不得省略。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:466 -msgid "" -"For this splitting mode the output filename is treated differently than for " -"the normal operation. It may contain a <function>printf</function> like " -"expression '<literal>%d</literal>' including an optional field width, e.g. " -"'<literal>%02d</literal>'. If it does then the current file number will be " -"formatted appropriately and inserted at that point in the filename. If " -"there is no such pattern then a pattern of '<literal>-%03d</literal>' is " -"assumed right before the file's extension: '<literal>-o output.mkv</" -"literal>' would result in '<literal>output-001.mkv</literal>' and so on. If " -"there's no extension then '<literal>-%03d</literal>' will be appended to the " -"name." -msgstr "" -"此切割模式下输出文件名将以不同于常用操作的方式对待。可能会含有类似 " -"<function>printf</function> 的表达式 '<literal>%d</literal>',包括可选的字段" -"宽度,如 '<literal>%02d</literal>'。如果含有上述表达式,当前文件序号将按相应" -"格式生成,然后插入到文件名中的相应位置。 如果没有此类匹配模式,则假定匹配模式" -"为在文件扩展名之前插入 '<literal>-%03d</literal>': '<literal>-o 输出.mkv</" -"literal>' 将生成 '<literal>输出-001.mkv</literal>' 这样的一系列文件。如果没有" -"扩展名,'<literal>-%03d</literal>' 将被追加在文件名之后。" +#: doc/man/mkvmerge.xml:473 +msgid "For this splitting mode the output filename is treated differently than for the normal operation. It may contain a <function>printf</function> like expression '<literal>%d</literal>' including an optional field width, e.g. '<literal>%02d</literal>'. If it does then the current file number will be formatted appropriately and inserted at that point in the filename. If there is no such pattern then a pattern of '<literal>-%03d</literal>' is assumed right before the file's extension: '<literal>-o output.mkv</literal>' would result in '<literal>output-001.mkv</literal>' and so on. If there's no extension then '<literal>-%03d</literal>' will be appended to the name." +msgstr "此切割模式下输出文件名将以不同于常用操作的方式对待。可能会含有类似 <function>printf</function> 的表达式 '<literal>%d</literal>',包括可选的字段宽度,如 '<literal>%02d</literal>'。如果含有上述表达式,当前文件序号将按相应格式生成,然后插入到文件名中的相应位置。 如果没有此类匹配模式,则假定匹配模式为在文件扩展名之前插入 '<literal>-%03d</literal>': '<literal>-o 输出.mkv</literal>' 将生成 '<literal>输出-001.mkv</literal>' 这样的一系列文件。如果没有扩展名,'<literal>-%03d</literal>' 将被追加在文件名之后。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:477 +#: doc/man/mkvmerge.xml:484 msgid "<option>--link</option>" msgstr "<option>--link</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:480 -msgid "" -"Link files to one another when splitting the output file. See the section on " -"<link linkend=\"mkvmerge.file_linking\">file linking</link> below for " -"details." -msgstr "" -"切割输出文件时连接文件。详情请参阅下文 <link linkend=\"mkvmerge.file_linking" -"\">文件链接</link> 段落。" +#: doc/man/mkvmerge.xml:487 +msgid "Link files to one another when splitting the output file. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "切割输出文件时连接文件。详情请参阅下文 <link linkend=\"mkvmerge.file_linking\">文件链接</link> 段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:487 +#: doc/man/mkvmerge.xml:494 msgid "<option>--link-to-previous</option> <parameter>segment-UID</parameter>" msgstr "<option>--link-to-previous</option> <parameter>剪辑-UID</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:490 -msgid "" -"Links the first output file to the segment with the segment UID given by the " -"<parameter>segment-UID</parameter> parameter. See the section on <link " -"linkend=\"mkvmerge.file_linking\">file linking</link> below for details." -msgstr "" -"连接第一个输出文件到指定 <parameter>剪辑-UID</parameter> 参数对应的剪辑。详情" -"请参阅下文 <link linkend=\"mkvmerge.file_linking\">文件链接</link> 段落。" +#: doc/man/mkvmerge.xml:497 +msgid "Links the first output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "连接第一个输出文件到指定 <parameter>剪辑-UID</parameter> 参数对应的剪辑。详情请参阅下文 <link linkend=\"mkvmerge.file_linking\">文件链接</link> 段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:497 +#: doc/man/mkvmerge.xml:504 msgid "<option>--link-to-next</option> <parameter>segment-UID</parameter>" msgstr "<option>--link-to-next</option> <parameter>剪辑-UID</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:500 -msgid "" -"Links the last output file to the segment with the segment UID given by the " -"<parameter>segment-UID</parameter> parameter. See the section on <link " -"linkend=\"mkvmerge.file_linking\">file linking</link> below for details." -msgstr "" -"连接最后一个输出文件到指定 <parameter>剪辑-UID</parameter> 参数对应的剪辑。详" -"情请参阅下文 <link linkend=\"mkvmerge.file_linking\">文件链接</link> 段落。" +#: doc/man/mkvmerge.xml:507 +msgid "Links the last output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the section on <link linkend=\"mkvmerge.file_linking\">file linking</link> below for details." +msgstr "连接最后一个输出文件到指定 <parameter>剪辑-UID</parameter> 参数对应的剪辑。详情请参阅下文 <link linkend=\"mkvmerge.file_linking\">文件链接</link> 段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:507 +#: doc/man/mkvmerge.xml:514 msgid "<option>--append-mode</option> <parameter>mode</parameter>" msgstr "<option>--append-mode</option> <parameter>模式</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:510 -msgid "" -"Determines how timecodes are calculated when appending files. The parameter " -"<parameter>mode</parameter> can have two values: '<literal>file</literal>' " -"which is also the default and '<literal>track</literal>'." -msgstr "" -"决定追加合并文件时如何计算时间码。 参数 <parameter>模式</parameter> 可以有两" -"个数值: 默认的 '<literal>file(文件)</literal>' 和 '<literal>track(轨道)</" -"literal>'。" +#: doc/man/mkvmerge.xml:517 +msgid "Determines how timecodes are calculated when appending files. The parameter <parameter>mode</parameter> can have two values: '<literal>file</literal>' which is also the default and '<literal>track</literal>'." +msgstr "决定追加合并文件时如何计算时间码。 参数 <parameter>模式</parameter> 可以有两个数值: 默认的 '<literal>file(文件)</literal>' 和 '<literal>track(轨道)</literal>'。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:515 -msgid "" -"When mkvmerge appends a track (called '<literal>track2_1</literal>' from now " -"on) from a second file (called '<literal>file2</literal>') to a track " -"(called '<literal>track1_1</literal>') from the first file (called " -"'<literal>file1</literal>') then it has to offset all timecodes for " -"'<literal>track2_1</literal>' by an amount. For '<literal>file</literal>' " -"mode this amount is the highest timecode encountered in '<literal>file1</" -"literal>' even if that timecode was from a different track than " -"'<literal>track1_1</literal>'. In track mode the offset is the highest " -"timecode of '<literal>track1_1</literal>'." -msgstr "" -"当 mkvmerge 将来自另一文件 (本段中假设为 '<literal>文件2</literal>') 的一条轨" -"道 (假设为 '<literal>轨道2_1</literal>' ) 追加合并到首个文件 (假设为 " -"'<literal>文件1</literal>')的一条轨道 (假设为 '<literal>轨道1_1</literal>') " -"时,它将为 '<literal>轨道2_1</literal>' 的所有时间码设定一定量的延时。 对于 " -"'<literal>file(文件)</literal>' 模式此延时量是 '<literal>文件1</literal>' " -"中遇到的最大时间码,即使此时间码不属于轨道 '<literal>轨道1_1</literal>'。而" -"在 track (轨道模式)下此延时为 '<literal>轨道1_1</literal>' 的最大时间码。" +#: doc/man/mkvmerge.xml:522 +msgid "When mkvmerge appends a track (called '<literal>track2_1</literal>' from now on) from a second file (called '<literal>file2</literal>') to a track (called '<literal>track1_1</literal>') from the first file (called '<literal>file1</literal>') then it has to offset all timecodes for '<literal>track2_1</literal>' by an amount. For '<literal>file</literal>' mode this amount is the highest timecode encountered in '<literal>file1</literal>' even if that timecode was from a different track than '<literal>track1_1</literal>'. In track mode the offset is the highest timecode of '<literal>track1_1</literal>'." +msgstr "当 mkvmerge 将来自另一文件 (本段中假设为 '<literal>文件2</literal>') 的一条轨道 (假设为 '<literal>轨道2_1</literal>' ) 追加合并到首个文件 (假设为 '<literal>文件1</literal>')的一条轨道 (假设为 '<literal>轨道1_1</literal>') 时,它将为 '<literal>轨道2_1</literal>' 的所有时间码设定一定量的延时。 对于 '<literal>file(文件)</literal>' 模式此延时量是 '<literal>文件1</literal>' 中遇到的最大时间码,即使此时间码不属于轨道 '<literal>轨道1_1</literal>'。而在 track (轨道模式)下此延时为 '<literal>轨道1_1</literal>' 的最大时间码。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:523 -msgid "" -"Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore " -"it defaults to '<literal>file</literal>' mode. '<literal>file</literal>' " -"mode usually works better for files that have been created independently of " -"each other; e.g. when appending <abbrev>AVI</abbrev> or <abbrev>MP4</abbrev> " -"files. '<literal>track</literal>' mode may work better for sources that are " -"essentially just parts of one big file, e.g. for <abbrev>VOB</abbrev> and " -"<abbrev>EVO</abbrev> files." -msgstr "" -"不幸的是 mkvmerge 无法侦测使用哪种模式更为可靠。因此默认为 '<literal>file(文" -"件)</literal>' 模式。'<literal>file</literal>' 模式对单独创建的文件的处理通" -"常更好;例如在追加 <abbrev>AVI</abbrev> 或 <abbrev>MP4</abbrev> 文件" -"时。'<literal>track(轨道)</literal>' 模式对一个大文件的完整分块的处理更好," -"例如对于 <abbrev>VOB</abbrev> 与 <abbrev>EVO</abbrev> 文件。" +#: doc/man/mkvmerge.xml:530 +msgid "Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore it defaults to '<literal>file</literal>' mode. '<literal>file</literal>' mode usually works better for files that have been created independently of each other; e.g. when appending <abbrev>AVI</abbrev> or <abbrev>MP4</abbrev> files. '<literal>track</literal>' mode may work better for sources that are essentially just parts of one big file, e.g. for <abbrev>VOB</abbrev> and <abbrev>EVO</abbrev> files." +msgstr "不幸的是 mkvmerge 无法侦测使用哪种模式更为可靠。因此默认为 '<literal>file(文件)</literal>' 模式。'<literal>file</literal>' 模式对单独创建的文件的处理通常更好;例如在追加 <abbrev>AVI</abbrev> 或 <abbrev>MP4</abbrev> 文件时。'<literal>track(轨道)</literal>' 模式对一个大文件的完整分块的处理更好,例如对于 <abbrev>VOB</abbrev> 与 <abbrev>EVO</abbrev> 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:530 -msgid "" -"Subtitle tracks are always treated as if '<literal>file</literal>' mode were " -"active even if '<literal>track</literal>' mode actually is." -msgstr "" -"即使选用了 '<literal>track(轨道)</literal>' 模式,字母轨道也将按照 " -"'<literal>file(文件)</literal>' 模式处理。" +#: doc/man/mkvmerge.xml:537 +msgid "Subtitle tracks are always treated as if '<literal>file</literal>' mode were active even if '<literal>track</literal>' mode actually is." +msgstr "即使选用了 '<literal>track(轨道)</literal>' 模式,字母轨道也将按照 '<literal>file(文件)</literal>' 模式处理。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:537 -msgid "" -"<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,..." -"</optional></parameter>" -msgstr "" -"<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,..." -"</optional></parameter>" +#: doc/man/mkvmerge.xml:544 +msgid "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" +msgstr "<option>--append-to</option> <parameter>SFID1:STID1:DFID1:DTID1<optional>,...</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:540 -msgid "" -"This option controls to which track another track is appended. Each spec " -"contains four IDs: a file ID, a track ID, a second file ID and a second " -"track ID. The first pair, \"source file ID\" and \"source track ID\", " -"identifies the track that is to be appended. The second pair, \"destination " -"file ID\" and \"destination track ID\", identifies the track the first one " -"is appended to." -msgstr "" -"此选项控制要追加合并哪些轨道与哪些轨道。 各指令由四个 ID 组成: 源文件 ID, 源" -"轨道 ID, 目标文件 ID 和目标轨道 ID。 第一对,\"源文件 ID\" 与 \"源轨道 ID\"确" -"定要追加合并的轨道。 第二对,\"目标文件 ID\" 与 \"目标轨道 ID\",确定源轨道要" -"追加合并到的轨道。" +#: doc/man/mkvmerge.xml:547 +msgid "This option controls to which track another track is appended. Each spec contains four IDs: a file ID, a track ID, a second file ID and a second track ID. The first pair, \"source file ID\" and \"source track ID\", identifies the track that is to be appended. The second pair, \"destination file ID\" and \"destination track ID\", identifies the track the first one is appended to." +msgstr "此选项控制要追加合并哪些轨道与哪些轨道。 各指令由四个 ID 组成: 源文件 ID, 源轨道 ID, 目标文件 ID 和目标轨道 ID。 第一对,\"源文件 ID\" 与 \"源轨道 ID\"确定要追加合并的轨道。 第二对,\"目标文件 ID\" 与 \"目标轨道 ID\",确定源轨道要追加合并到的轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:546 -msgid "" -"If this option has been omitted then a standard mapping is used. This " -"standard mapping appends each track from the current file to a track from " -"the previous file with the same track ID. This allows for easy appending if " -"a movie has been split into two parts and both file have the same number of " -"tracks and track IDs with the command <command>mkvmerge -o output.mkv part1." -"mkv +part2.mkv</command>." -msgstr "" -"如果忽略本选项,则将使用标准映射。 标准映射即将当前文件的各个轨道追加到前一个" -"文件的相应轨道(轨道 ID 相同)。 当影片被切割为多段,且各文件中轨道数和轨道 " -"ID 相同时,这将允许简单的追加合并,命令行为 <command>mkvmerge -o 输出.mkv 第" -"一段.mkv +第二段.mkv</command>。" +#: doc/man/mkvmerge.xml:553 +msgid "If this option has been omitted then a standard mapping is used. This standard mapping appends each track from the current file to a track from the previous file with the same track ID. This allows for easy appending if a movie has been split into two parts and both file have the same number of tracks and track IDs with the command <command>mkvmerge -o output.mkv part1.mkv +part2.mkv</command>." +msgstr "如果忽略本选项,则将使用标准映射。 标准映射即将当前文件的各个轨道追加到前一个文件的相应轨道(轨道 ID 相同)。 当影片被切割为多段,且各文件中轨道数和轨道 ID 相同时,这将允许简单的追加合并,命令行为 <command>mkvmerge -o 输出.mkv 第一段.mkv +第二段.mkv</command>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:554 +#: doc/man/mkvmerge.xml:561 msgid "<option>+</option>" msgstr "<option>+</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:557 -msgid "" -"A single '+' causes the next file to be appended instead of added. The '+' " -"can also be put in front of the next file name. Therefore the following two " -"commands are equivalent:" -msgstr "" -"单个 '+' 将追加后面的文件,而不是添加。'+' 也可以直接放在下一个文件名的前面。" -"因此以下两条命令等效:" +#: doc/man/mkvmerge.xml:564 +msgid "A single '+' causes the next file to be appended instead of added. The '+' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "单个 '+' 将追加后面的文件,而不是添加。'+' 也可以直接放在下一个文件名的前面。因此以下两条命令等效:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> -#: doc/man/mkvmerge.xml:562 +#: doc/man/mkvmerge.xml:569 #, no-wrap msgid "" "$ mkvmerge -o full.mkv file1.mkv + file2.mkv\n" @@ -2265,1093 +1680,617 @@ "$ mkvmerge -o 完整.mkv 文件1.mkv +文件2.mkv\n" " " +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:576 +msgid "<option>=</option>" +msgstr "<option>=</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:579 +msgid "Normally mkvmerge looks for files in the same directory as an input file that have the same base name and only differ in their running number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc). This option, a single '=', causes mkvmerge not to look for those additional files." +msgstr "通常情况下 mkvmerge 将在输入文件所在的目录中查找基本名称相同,仅在连续的数字方面有差异的文件 (如 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' 等等)。此选项,单个 '=',将令 mkvmerge 不查找这些额外的文件。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:585 +msgid "The '=' can also be put in front of the next file name. Therefore the following two commands are equivalent:" +msgstr "'=' 也可以放在下一个文件名的前面。因此以下两条命令等效:" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><screen> +#: doc/man/mkvmerge.xml:589 +#, no-wrap +msgid "" +"$ mkvmerge -o full.mkv = file1.mkv\n" +"$ mkvmerge -o full.mkv =file1.mkv\n" +" " +msgstr "" +"$ mkvmerge -o 完整.mkv = 文件1.mkv\n" +"$ mkvmerge -o 完整.mkv =文件1.mkv\n" +" " + #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:570 +#: doc/man/mkvmerge.xml:597 msgid "Attachment support (more global options):" msgstr "附件支持(其他全局选项):" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:575 -msgid "" -"<option>--attachment-description</option> <parameter>description</parameter>" +#: doc/man/mkvmerge.xml:602 +msgid "<option>--attachment-description</option> <parameter>description</parameter>" msgstr "<option>--attachment-description</option> <parameter>描述</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:578 -msgid "" -"Plain text description of the following attachment. Applies to the next " -"<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</" -"option></link> or <option>--attach-file-once</option> option." -msgstr "" -"对后面附件的纯文字描述。将应用到下一个 <link linkend=\"mkvmerge.description." -"attach_file\"><option>--attach-file</option></link> 或 <option>--attach-file-" -"once</option> 选项。" +#: doc/man/mkvmerge.xml:605 +msgid "Plain text description of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <option>--attach-file-once</option> option." +msgstr "对后面附件的纯文字描述。将应用到下一个 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> 或 <option>--attach-file-once</option> 选项。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:586 -msgid "" -"<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" -msgstr "" -"<option>--attachment-mime-type</option> <parameter>MIME 类型</parameter>" +#: doc/man/mkvmerge.xml:613 +msgid "<option>--attachment-mime-type</option> <parameter>MIME type</parameter>" +msgstr "<option>--attachment-mime-type</option> <parameter>MIME 类型</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:589 -msgid "" -"<abbrev >MIME</abbrev> type of the following attachment. Applies to the next " -"<link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</" -"option></link> or <link linkend=\"mkvmerge.description.attach_file" -"\"><option>--attach-file-once</option></link> option. A list of officially " -"recognized <abbrev>MIME</abbrev> types can be found e.g. at <ulink url=" -"\"http://www.iana.org/assignments/media-types/\">the IANA homepage</ulink>. " -"The <abbrev>MIME</abbrev> type is mandatory for an attachment." -msgstr "" -"后面附件的 <abbrev >MIME</abbrev> 类型。将应用到下一个 <link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> " -"或 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-" -"once</option></link> 选项。 官方认可的 <abbrev>MIME</abbrev> 类型列表可以在" -"如 <ulink url=\"http://www.iana.org/assignments/media-types/\">IANA 主页</" -"ulink> 找到。<abbrev>MIME</abbrev> 类型对附件来说是必需的。" +#: doc/man/mkvmerge.xml:616 +msgid "<abbrev >MIME</abbrev> type of the following attachment. Applies to the next <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option. A list of officially recognized <abbrev>MIME</abbrev> types can be found e.g. at <ulink url=\"http://www.iana.org/assignments/media-types/\">the IANA homepage</ulink>. The <abbrev>MIME</abbrev> type is mandatory for an attachment." +msgstr "后面附件的 <abbrev >MIME</abbrev> 类型。将应用到下一个 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> 或 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> 选项。 官方认可的 <abbrev>MIME</abbrev> 类型列表可以在如 <ulink url=\"http://www.iana.org/assignments/media-types/\">IANA 主页</ulink> 找到。<abbrev>MIME</abbrev> 类型对附件来说是必需的。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:599 +#: doc/man/mkvmerge.xml:626 msgid "<option>--attachment-name</option> <parameter>name</parameter>" msgstr "<option>--attachment-name</option> <parameter>名称</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:602 -msgid "" -"Sets the name that will be stored in the output file for this attachment. " -"If this option is not given then the name will be derived from the file name " -"of the attachment as given with the <link linkend=\"mkvmerge.description." -"attach_file\"><option>--attach-file</option></link> or the <link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></" -"link> option." -msgstr "" -"设置此附件将在输出文件中储存的名称。 如果未给出此选项则将由 <link linkend=" -"\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> " -"或 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-" -"once</option></link> 选项所设的文件名推得。" +#: doc/man/mkvmerge.xml:629 +msgid "Sets the name that will be stored in the output file for this attachment. If this option is not given then the name will be derived from the file name of the attachment as given with the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> or the <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> option." +msgstr "设置此附件将在输出文件中储存的名称。 如果未给出此选项则将由 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file</option></link> 或 <link linkend=\"mkvmerge.description.attach_file\"><option>--attach-file-once</option></link> 选项所设的文件名推得。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:612 -msgid "" -"<option>--attach-file</option> <parameter>file-name</parameter>, <option>--" -"attach-file-once</option> <parameter>file-name</parameter>" -msgstr "" -"<option>--attach-file</option> <parameter>文件名</parameter>, <option>--" -"attach-file-once</option> <parameter>文件名</parameter>" +#: doc/man/mkvmerge.xml:639 +msgid "<option>--attach-file</option> <parameter>file-name</parameter>, <option>--attach-file-once</option> <parameter>file-name</parameter>" +msgstr "<option>--attach-file</option> <parameter>文件名</parameter>, <option>--attach-file-once</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:617 -msgid "" -"Creates a file attachment inside the &matroska; file. The <abbrev>MIME</" -"abbrev> type must have been set before this option can used. The difference " -"between the two forms is that during splitting the files attached with " -"<option>--attach-file</option> are attached to all output files while the " -"ones attached with <option>--attach-file-once</option> are only attached to " -"the first file created. If splitting is not used then both do the same." -msgstr "" -"在 &matroska; 文件中创建文件附件。<abbrev>MIME</abbrev> 类型必须在使用此选项" -"之前设定。两种形式的不同之处在于使用 <option>--attach-file</option> 附加的文" -"件在切割过程中将被附加到所有输出文件中,而使用 <option>--attach-file-once</" -"option> 附加的文件只被附加到创建的首个文件中。如果未使用切割功能,两种形式效" -"果相同。" +#: doc/man/mkvmerge.xml:644 +msgid "Creates a file attachment inside the &matroska; file. The <abbrev>MIME</abbrev> type must have been set before this option can used. The difference between the two forms is that during splitting the files attached with <option>--attach-file</option> are attached to all output files while the ones attached with <option>--attach-file-once</option> are only attached to the first file created. If splitting is not used then both do the same." +msgstr "在 &matroska; 文件中创建文件附件。<abbrev>MIME</abbrev> 类型必须在使用此选项之前设定。两种形式的不同之处在于使用 <option>--attach-file</option> 附加的文件在切割过程中将被附加到所有输出文件中,而使用 <option>--attach-file-once</option> 附加的文件只被附加到创建的首个文件中。如果未使用切割功能,两种形式效果相同。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:624 -msgid "" -"&mkvextract; can be used to extract attached files from a &matroska; file." +#: doc/man/mkvmerge.xml:651 +msgid "&mkvextract; can be used to extract attached files from a &matroska; file." msgstr "可以使用 &mkvextract; 从 &matroska; 文件中提取附件文件。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:631 +#: doc/man/mkvmerge.xml:658 msgid "Options that can be used for each input file:" msgstr "用于各输入文件的选项:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:636 -msgid "" -"<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:663 +msgid "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-a</option>, <option>--audio-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:639 -msgid "" -"Copy the audio tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all audio tracks." -msgstr "" -"复制 <parameter>n</parameter>、<parameter>m</parameter> 等音频轨。数字是可以" -"通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有音频轨道。" +#: doc/man/mkvmerge.xml:666 +msgid "Copy the audio tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all audio tracks." +msgstr "复制 <parameter>n</parameter>、<parameter>m</parameter> 等音频轨。数字是可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有音频轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:647 -msgid "" -"<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:674 +msgid "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-d</option>, <option>--video-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:650 -msgid "" -"Copy the video tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all video tracks." -msgstr "" -"复制 <parameter>n</parameter>、<parameter>m</parameter> 等视频轨。数字是可以" -"通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有视频轨道。" +#: doc/man/mkvmerge.xml:677 +msgid "Copy the video tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all video tracks." +msgstr "复制 <parameter>n</parameter>、<parameter>m</parameter> 等视频轨。数字是可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有视频轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:658 -msgid "" -"<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:685 +msgid "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-s</option>, <option>--subtitle-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:661 -msgid "" -"Copy the subtitle tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all subtitle tracks." -msgstr "" -"复制 <parameter>n</parameter>、<parameter>m</parameter> 等字幕轨。数字是可以" -"通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有字幕轨道。" +#: doc/man/mkvmerge.xml:688 +msgid "Copy the subtitle tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all subtitle tracks." +msgstr "复制 <parameter>n</parameter>、<parameter>m</parameter> 等字幕轨。数字是可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有字幕轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:669 -msgid "" -"<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</" -"parameter>" -msgstr "" -"<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</" -"parameter>" +#: doc/man/mkvmerge.xml:696 +msgid "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" +msgstr "<option>-b</option>, <option>--button-tracks</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:672 -msgid "" -"Copy the button tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch. " -"They're not simply the track numbers (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Default: copy all button tracks." -msgstr "" -"复制 <parameter>n</parameter>、<parameter>m</parameter> 等按钮轨。数字是可以" -"通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有按钮轨道。" +#: doc/man/mkvmerge.xml:699 +msgid "Copy the button tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch. They're not simply the track numbers (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Default: copy all button tracks." +msgstr "复制 <parameter>n</parameter>、<parameter>m</parameter> 等按钮轨。数字是可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有按钮轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:680 +#: doc/man/mkvmerge.xml:707 msgid "<option>--track-tags</option> <parameter>n,m,...</parameter>" msgstr "<option>--track-tags</option> <parameter>n,m,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:683 -msgid "" -"Copy the tags for tracks <parameter>n</parameter>, <parameter>m</parameter> " -"etc. The numbers are track IDs which can be obtained with the <link linkend=" -"\"mkvmerge.description.identify\"><option>--identify</option></link> switch " -"(see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). " -"They're not simply the track numbers. Default: copy tags for all tracks." -msgstr "" -"复制 <parameter>n</parameter>、<parameter>m</parameter> 等轨道的标签。数字是" -"可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有轨道的标" -"签。" +#: doc/man/mkvmerge.xml:710 +msgid "Copy the tags for tracks <parameter>n</parameter>, <parameter>m</parameter> etc. The numbers are track IDs which can be obtained with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> switch (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). They're not simply the track numbers. Default: copy tags for all tracks." +msgstr "复制 <parameter>n</parameter>、<parameter>m</parameter> 等轨道的标签。数字是可以通过 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 开关获取的轨道 ID。他们不只是简单的轨道序号(参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>段落)。默认: 复制所有轨道的标签。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:691 -msgid "" -"<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:" -"all|first</optional>,m<optional>:all|first</optional>,...</parameter>" -msgstr "" -"<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:" -"all|first</optional>,m<optional>:all|first</optional>,...</parameter>" +#: doc/man/mkvmerge.xml:718 +msgid "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" +msgstr "<option>-m</option>, <option>--attachments</option> <parameter>n<optional>:all|first</optional>,m<optional>:all|first</optional>,...</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:694 -msgid "" -"Copy the attachments with the IDs <parameter>n</parameter>, <parameter>m</" -"parameter> etc to all or only the first output file. Each ID can be followed " -"by either '<literal>:all</literal>' (which is the default if neither is " -"entered) or '<literal>:first</literal>'. If splitting is active then those " -"attachments whose IDs are specified with '<literal>:all</literal>' are " -"copied to all of the resulting output files while the others are only copied " -"into the first output file. If splitting is not active then both variants " -"have the same effect." -msgstr "" -"复制 ID 为 <parameter>n</parameter>、<parameter>m</parameter> 等的附件到所有" -"或者仅首个输出文件中。各 ID 后可接 '<literal>:all</literal>'(如果两可选数值" -"均未输入,此为默认值)或者 '<literal>:first</literal>'。如果切割功能已被起" -"用,则 ID 被指定为 '<literal>:all</literal>' 的附件将被复制到所有生成的输出文" -"件中,而其他附件只被复制到首个输出文件中。如果未使用切割功能则两变量等效。" +#: doc/man/mkvmerge.xml:721 +msgid "Copy the attachments with the IDs <parameter>n</parameter>, <parameter>m</parameter> etc to all or only the first output file. Each ID can be followed by either '<literal>:all</literal>' (which is the default if neither is entered) or '<literal>:first</literal>'. If splitting is active then those attachments whose IDs are specified with '<literal>:all</literal>' are copied to all of the resulting output files while the others are only copied into the first output file. If splitting is not active then both variants have the same effect." +msgstr "复制 ID 为 <parameter>n</parameter>、<parameter>m</parameter> 等的附件到所有或者仅首个输出文件中。各 ID 后可接 '<literal>:all</literal>'(如果两可选数值均未输入,此为默认值)或者 '<literal>:first</literal>'。如果切割功能已被起用,则 ID 被指定为 '<literal>:all</literal>' 的附件将被复制到所有生成的输出文件中,而其他附件只被复制到首个输出文件中。如果未使用切割功能则两变量等效。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:702 +#: doc/man/mkvmerge.xml:729 msgid "The default is to copy all attachments to all output files." msgstr "默认复制所有附件到所有输出文件中。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:708 +#: doc/man/mkvmerge.xml:735 msgid "<option>-A</option>, <option>--no-audio</option>" msgstr "<option>-A</option>, <option>--no-audio</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:711 +#: doc/man/mkvmerge.xml:738 msgid "Don't copy any audio track from this file." msgstr "不要从此文件中复制任何音频轨。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:717 +#: doc/man/mkvmerge.xml:744 msgid "<option>-D</option>, <option>--no-video</option>" msgstr "<option>-D</option>, <option>--no-video</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:720 +#: doc/man/mkvmerge.xml:747 msgid "Don't copy any video track from this file." msgstr "不要从此文件中复制任何视频轨。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:726 +#: doc/man/mkvmerge.xml:753 msgid "<option>-S</option>, <option>--no-subtitles</option>" msgstr "<option>-S</option>, <option>--no-subtitles</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:729 +#: doc/man/mkvmerge.xml:756 msgid "Don't copy any subtitle track from this file." msgstr "不要从此文件中复制任何字幕轨。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:735 +#: doc/man/mkvmerge.xml:762 msgid "<option>-B</option>, <option>--no-buttons</option>" msgstr "<option>-B</option>, <option>--no-buttons</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:738 +#: doc/man/mkvmerge.xml:765 msgid "Don't copy any button track from this file." msgstr "不要从此文件中复制任何按钮轨。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:744 +#: doc/man/mkvmerge.xml:771 msgid "<option>-T</option>, <option>--no-track-tags</option>" msgstr "<option>-T</option>, <option>--no-track-tags</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:747 +#: doc/man/mkvmerge.xml:774 msgid "Don't copy any track specific tags from this file." msgstr "不要从此文件中复制任何轨道细节标签。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:753 +#: doc/man/mkvmerge.xml:780 msgid "<option>--no-chapters</option>" msgstr "<option>--no-chapters</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:756 +#: doc/man/mkvmerge.xml:783 msgid "Don't copy chapters from this file." msgstr "不要从此文件中复制章节。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:762 +#: doc/man/mkvmerge.xml:789 msgid "<option>-M</option>, <option>--no-attachments</option>" msgstr "<option>-M</option>, <option>--no-attachments</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:765 +#: doc/man/mkvmerge.xml:792 msgid "Don't copy attachments from this file." msgstr "不要从此文件中复制附件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:771 +#: doc/man/mkvmerge.xml:798 msgid "<option>--no-global-tags</option>" msgstr "<option>--no-global-tags</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:774 +#: doc/man/mkvmerge.xml:801 msgid "Don't copy global tags from this file." msgstr "不要从此文件中复制全局标签。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:783 -msgid "" -"Sets the charset that is used for the conversion to UTF-8 for chapter " -"information contained in the source file. See the section about <link " -"linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</" -"link> for an explanation how &mkvmerge; converts between character sets." -msgstr "" -"设置源文件中章节信息的字符集,以供转为 UTF-8 之用。关于 &mkvmerge; 如何在字符" -"集之间进行转换的说明,请参阅下文 <link linkend=\"mkvmerge." -"text_files_and_charsets\"> 文本文件与字符集</link> 段落。" +#: doc/man/mkvmerge.xml:810 +msgid "Sets the charset that is used for the conversion to UTF-8 for chapter information contained in the source file. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "设置源文件中章节信息的字符集,以供转为 UTF-8 之用。关于 &mkvmerge; 如何在字符集之间进行转换的说明,请参阅下文 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:794 -msgid "" -"Sets the ISO639-2 language code that is written for each chapter entry. " -"This option can be used for source files that contain chapters but no " -"information about the chapters' languages, e.g. for MP4 and OGM files." -msgstr "" -"选择各章节项所用的 ISO639-2 语言代码。 此选项可用于包含章节但不含关于章节语言" -"的信息的源文件,如 MP4 与 OGM 文件。" +#: doc/man/mkvmerge.xml:821 +msgid "Sets the ISO639-2 language code that is written for each chapter entry. This option can be used for source files that contain chapters but no information about the chapters' languages, e.g. for MP4 and OGM files." +msgstr "选择各章节项所用的 ISO639-2 语言代码。 此选项可用于包含章节但不含关于章节语言的信息的源文件,如 MP4 与 OGM 文件。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:801 -msgid "" -"<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>," -"o<optional>/p</optional></optional></parameter>" -msgstr "" -"<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>," -"o<optional>/p</optional></optional></parameter>" +#: doc/man/mkvmerge.xml:828 +msgid "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" +msgstr "<option>-y</option>, <option>--sync</option> <parameter>TID:d<optional>,o<optional>/p</optional></optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:804 -msgid "" -"Adjust the timecodes of the track with the id <parameter>TID</parameter> by " -"<parameter>d</parameter> ms. The track IDs are the same as the ones given " -"with <link linkend=\"mkvmerge.description.identify\"><option>--identify</" -"option></link> (see section <link linkend=\"mkvmerge.track_ids\">track IDs</" -"link>)." -msgstr "" -"将 id 为 <parameter>TID</parameter> 的轨道的时间码按 <parameter>d</" -"parameter> ms 进行调整。轨道 ID 与 <link linkend=\"mkvmerge.description." -"identify\"><option>--identify</option></link> 所给出的相同 (参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落)。" +#: doc/man/mkvmerge.xml:831 +msgid "Adjust the timecodes of the track with the id <parameter>TID</parameter> by <parameter>d</parameter> ms. The track IDs are the same as the ones given with <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>)." +msgstr "将 id 为 <parameter>TID</parameter> 的轨道的时间码按 <parameter>d</parameter> ms 进行调整。轨道 ID 与 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 所给出的相同 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:810 -msgid "" -"<parameter>o</parameter>/<parameter>p</parameter>: adjust the timestamps by " -"<parameter>o</parameter>/<parameter>p</parameter> to fix linear drifts. " -"<parameter>p</parameter> defaults to 1 if omitted. Both <parameter>o</" -"parameter> and <parameter>p</parameter> can be floating point numbers." -msgstr "" -"<parameter>o</parameter>/<parameter>p</parameter>: 按 <parameter>o</" -"parameter>/<parameter>p</parameter> 调整时间戳以修复线性偏移。如果省略 " -"<parameter>p</parameter> 则默认为 1。<parameter>o</parameter> 与 " -"<parameter>p</parameter> 均可为浮点数。" +#: doc/man/mkvmerge.xml:837 +msgid "<parameter>o</parameter>/<parameter>p</parameter>: adjust the timestamps by <parameter>o</parameter>/<parameter>p</parameter> to fix linear drifts. <parameter>p</parameter> defaults to 1 if omitted. Both <parameter>o</parameter> and <parameter>p</parameter> can be floating point numbers." +msgstr "<parameter>o</parameter>/<parameter>p</parameter>: 按 <parameter>o</parameter>/<parameter>p</parameter> 调整时间戳以修复线性偏移。如果省略 <parameter>p</parameter> 则默认为 1。<parameter>o</parameter> 与 <parameter>p</parameter> 均可为浮点数。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:816 -msgid "" -"Defaults: no manual sync correction (which is the same as <parameter>d</" -"parameter> = <constant>0</constant> and <parameter>o</parameter>/" -"<parameter>p</parameter> = <constant>1.0</constant>)." -msgstr "" -"默认: 无手动同步校正 (与 <parameter>d</parameter> = <constant>0</constant> " -"及 <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</" -"constant> 效果相同)。" +#: doc/man/mkvmerge.xml:843 +msgid "Defaults: no manual sync correction (which is the same as <parameter>d</parameter> = <constant>0</constant> and <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</constant>)." +msgstr "默认: 无手动同步校正 (与 <parameter>d</parameter> = <constant>0</constant> 及 <parameter>o</parameter>/<parameter>p</parameter> = <constant>1.0</constant> 效果相同)。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:821 doc/man/mkvmerge.xml:843 doc/man/mkvmerge.xml:860 -#: doc/man/mkvmerge.xml:874 doc/man/mkvmerge.xml:910 doc/man/mkvmerge.xml:1131 -msgid "" -"This option can be used multiple times for an input file applying to several " -"tracks by selecting different track IDs each time." -msgstr "" -"此选项可以对同一输入文件多次使用,通过每次选择不同轨道 ID 分别应用到多个轨" -"道。" +#: doc/man/mkvmerge.xml:848 +#: doc/man/mkvmerge.xml:870 +#: doc/man/mkvmerge.xml:887 +#: doc/man/mkvmerge.xml:901 +#: doc/man/mkvmerge.xml:937 +#: doc/man/mkvmerge.xml:1160 +msgid "This option can be used multiple times for an input file applying to several tracks by selecting different track IDs each time." +msgstr "此选项可以对同一输入文件多次使用,通过每次选择不同轨道 ID 分别应用到多个轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:827 +#: doc/man/mkvmerge.xml:854 msgid "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" msgstr "<option>--cues</option> <parameter>TID:none|iframes|all</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:830 -msgid "" -"Controls for which tracks cue (index) entries are created for the given " -"track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). " -"'<literal>none</literal>' inhibits the creation of cue entries. For " -"'<literal>iframes</literal>' only blocks with no backward or forward " -"references ( = I frames in video tracks) are put into the cue sheet. " -"'<literal>all</literal>' causes &mkvmerge; to create cue entries for all " -"blocks which will make the file very big." -msgstr "" -"控制为指定轨道 (参阅 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段" -"落) 创建何种 cue 索引。'<literal>none(无)</literal>' 将阻止 cue 索引的创" -"建。 而 '<literal>iframes(仅 i 帧)</literal>' 表示仅将没有前后参考的块 ( = " -"视频轨道中的 I 帧) 置于 cue 索引项中。'<literal>all(全部)</literal>' 将使 " -"&mkvmerge; 为所有区块创建索引,会使生成的文件非常大。" +#: doc/man/mkvmerge.xml:857 +msgid "Controls for which tracks cue (index) entries are created for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). '<literal>none</literal>' inhibits the creation of cue entries. For '<literal>iframes</literal>' only blocks with no backward or forward references ( = I frames in video tracks) are put into the cue sheet. '<literal>all</literal>' causes &mkvmerge; to create cue entries for all blocks which will make the file very big." +msgstr "控制为指定轨道 (参阅 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 创建何种 cue 索引。'<literal>none(无)</literal>' 将阻止 cue 索引的创建。 而 '<literal>iframes(仅 i 帧)</literal>' 表示仅将没有前后参考的块 ( = 视频轨道中的 I 帧) 置于 cue 索引项中。'<literal>all(全部)</literal>' 将使 &mkvmerge; 为所有区块创建索引,会使生成的文件非常大。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:837 -msgid "" -"The default is '<literal>iframes</literal>' for video tracks and " -"'<literal>none</literal>' for all others. See also option <link linkend=" -"\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> which " -"inhibits the creation of cue entries regardless of the <option>--cues</" -"option> options used." -msgstr "" -"默认视频轨为 '<literal>iframes(仅 i 帧)</literal>',其他所有轨道均为 " -"'<literal>none(无)</literal>'. 参见不论是否使用 <option>--cues</option> 选" -"项时都能阻止创建 cue 索引项的 <link linkend=\"mkvmerge.description.no_cues" -"\"><option>--no-cues</option></link> 选项。" +#: doc/man/mkvmerge.xml:864 +msgid "The default is '<literal>iframes</literal>' for video tracks and '<literal>none</literal>' for all others. See also option <link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> which inhibits the creation of cue entries regardless of the <option>--cues</option> options used." +msgstr "默认视频轨为 '<literal>iframes(仅 i 帧)</literal>',其他所有轨道均为 '<literal>none(无)</literal>'. 参见不论是否使用 <option>--cues</option> 选项时都能阻止创建 cue 索引项的 <link linkend=\"mkvmerge.description.no_cues\"><option>--no-cues</option></link> 选项。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:849 -msgid "" -"<option>--default-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" -msgstr "" -"<option>--default-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:876 +msgid "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--default-track</option> <parameter>TID<optional>:bool</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:852 -msgid "" -"Sets the 'default' flag for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) if the optional argument " -"<parameter>bool</parameter> is not present. If the user does not explicitly " -"select a track himself then the player should prefer the track that has his " -"'default' flag set. Only one track of each kind (audio, video, subtitles, " -"buttons) can have his 'default' flag set. If the user wants no track to " -"have the default track flag set then he has to set <parameter>bool</" -"parameter> to <constant>0</constant> for all tracks." -msgstr "" -"当为设定可选变量 <parameter>bool</parameter> 时为指定轨道 (参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 设置 '默认轨' 标记。 当用" -"户未明确选定一个轨道时,播放器将优先选用设有 '默认轨' 标记的轨道。各类 (音" -"频、视频、字幕、按钮) 轨道只能有一条设置 '默认轨' 标记。 如果用户希望所有轨道" -"都不被设置默认轨标记,可以将所有轨道的 <parameter>bool</parameter> 设为 " -"<constant>0</constant>。" +#: doc/man/mkvmerge.xml:879 +msgid "Sets the 'default' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. If the user does not explicitly select a track himself then the player should prefer the track that has his 'default' flag set. Only one track of each kind (audio, video, subtitles, buttons) can have his 'default' flag set. If the user wants no track to have the default track flag set then he has to set <parameter>bool</parameter> to <constant>0</constant> for all tracks." +msgstr "当为设定可选变量 <parameter>bool</parameter> 时为指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 设置 '默认轨' 标记。 当用户未明确选定一个轨道时,播放器将优先选用设有 '默认轨' 标记的轨道。各类 (音频、视频、字幕、按钮) 轨道只能有一条设置 '默认轨' 标记。 如果用户希望所有轨道都不被设置默认轨标记,可以将所有轨道的 <parameter>bool</parameter> 设为 <constant>0</constant>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:866 -msgid "" -"<option>--forced-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" -msgstr "" -"<option>--forced-track</option> <parameter>TID<optional>:bool</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:893 +msgid "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" +msgstr "<option>--forced-track</option> <parameter>TID<optional>:bool</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:869 -msgid "" -"Sets the 'forced' flag for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) if the optional argument " -"<parameter>bool</parameter> is not present. A player must play all tracks " -"for which this flag is set to <constant>1</constant>." -msgstr "" -"若未给出可选参数 <parameter>bool</parameter>,则为指定轨道 (参见 <link " -"linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 设置“强制轨”标记。播放器" -"必须播放“强制轨”标记为 <constant>1</constant> 的所有轨道。" +#: doc/man/mkvmerge.xml:896 +msgid "Sets the 'forced' flag for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) if the optional argument <parameter>bool</parameter> is not present. A player must play all tracks for which this flag is set to <constant>1</constant>." +msgstr "若未给出可选参数 <parameter>bool</parameter>,则为指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 设置“强制轨”标记。播放器必须播放“强制轨”标记为 <constant>1</constant> 的所有轨道。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:880 +#: doc/man/mkvmerge.xml:907 msgid "<option>--blockadd</option> <parameter>TID:level</parameter>" msgstr "<option>--blockadd</option> <parameter>TID:层级</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:883 -msgid "" -"Keep only the <classname>BlockAdditions</classname> up to the level " -"<parameter>level</parameter> for the given track. The default is to keep " -"all levels. This option only affects certain kinds of codecs like WAVPACK4." -msgstr "" -"只保留选定轨道中高达 <parameter>层级</parameter> 层级的 " -"<classname>BlockAdditions</classname> 附加块。 默认保留所有层级。 此选项只影" -"响特定类型的编解码器,如 WAVPACK4。" +#: doc/man/mkvmerge.xml:910 +msgid "Keep only the <classname>BlockAdditions</classname> up to the level <parameter>level</parameter> for the given track. The default is to keep all levels. This option only affects certain kinds of codecs like WAVPACK4." +msgstr "只保留选定轨道中高达 <parameter>层级</parameter> 层级的 <classname>BlockAdditions</classname> 附加块。 默认保留所有层级。 此选项只影响特定类型的编解码器,如 WAVPACK4。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:890 +#: doc/man/mkvmerge.xml:917 msgid "<option>--track-name</option> <parameter>TID:name</parameter>" msgstr "<option>--track-name</option> <parameter>TID:名称</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:893 -msgid "" -"Sets the track name for the given track (see section <link linkend=" -"\"mkvmerge.track_ids\">track IDs</link>) to <parameter>name</parameter>." -msgstr "" -"将指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 的" -"轨道名称设为 <parameter>名称</parameter>。" +#: doc/man/mkvmerge.xml:920 +msgid "Sets the track name for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>) to <parameter>name</parameter>." +msgstr "将指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link> 段落) 的轨道名称设为 <parameter>名称</parameter>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:900 +#: doc/man/mkvmerge.xml:927 msgid "<option>--language</option> <parameter>TID:language</parameter>" msgstr "<option>--language</option> <parameter>TID:语言</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:903 -msgid "" -"Sets the language for the given track (see section <link linkend=\"mkvmerge." -"track_ids\">track IDs</link>). Both ISO639-2 language codes and ISO639-1 " -"country codes are allowed. The country codes will be converted to language " -"codes automatically. All languages including their ISO639-2 codes can be " -"listed with the <link linkend=\"mkvmerge.description.list_languages" -"\"><option>--list-languages</option></link> option." -msgstr "" -"为指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>) 设置语" -"言。允许使用 ISO639-2 语言代码与 ISO639-1 国家代码。国家代码将被自动转换为语" -"言代码。 可以使用 <link linkend=\"mkvmerge.description.list_languages" -"\"><option>--list-languages</option></link> 选项列出所有语言以及它们的 " -"ISO639-2 代码。" +#: doc/man/mkvmerge.xml:930 +msgid "Sets the language for the given track (see section <link linkend=\"mkvmerge.track_ids\">track IDs</link>). Both ISO639-2 language codes and ISO639-1 country codes are allowed. The country codes will be converted to language codes automatically. All languages including their ISO639-2 codes can be listed with the <link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link> option." +msgstr "为指定轨道 (参见 <link linkend=\"mkvmerge.track_ids\">轨道 ID</link>) 设置语言。允许使用 ISO639-2 语言代码与 ISO639-1 国家代码。国家代码将被自动转换为语言代码。 可以使用 <link linkend=\"mkvmerge.description.list_languages\"><option>--list-languages</option></link> 选项列出所有语言以及它们的 ISO639-2 代码。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:916 -msgid "" -"<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</" -"parameter>" -msgstr "" -"<option>-t</option>, <option>--tags</option> <parameter>TID:文件名</" -"parameter>" +#: doc/man/mkvmerge.xml:943 +msgid "<option>-t</option>, <option>--tags</option> <parameter>TID:file-name</parameter>" +msgstr "<option>-t</option>, <option>--tags</option> <parameter>TID:文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:919 -msgid "" -"Read tags for the track with the number <parameter>TID</parameter> from the " -"file <parameter>file-name</parameter>. See the section about <link linkend=" -"\"mkvmerge.tags\">tags</link> below for details." -msgstr "" -"从文件 <parameter>文件名</parameter> 读取轨道号为 <parameter>TID</parameter> " -"的轨道的标签。详情参见下文 <link linkend=\"mkvmerge.tags\">标签</link> 段落。" +#: doc/man/mkvmerge.xml:946 +msgid "Read tags for the track with the number <parameter>TID</parameter> from the file <parameter>file-name</parameter>. See the section about <link linkend=\"mkvmerge.tags\">tags</link> below for details." +msgstr "从文件 <parameter>文件名</parameter> 读取轨道号为 <parameter>TID</parameter> 的轨道的标签。详情参见下文 <link linkend=\"mkvmerge.tags\">标签</link> 段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:926 -msgid "" -"<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></" -"parameter>" -msgstr "" -"<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></" -"parameter>" +#: doc/man/mkvmerge.xml:953 +msgid "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" +msgstr "<option>--aac-is-sbr</option> <parameter>TID<optional>:0|1</optional></parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:929 -msgid "" -"Tells &mkvmerge; that the track with the ID <parameter>TID</parameter> is " -"<abbrev>SBR AAC</abbrev> (also known as <abbrev>HE-AAC</abbrev> or " -"<abbrev>AAC+</abbrev>). This options is needed if a) the source file is an " -"<abbrev>AAC</abbrev> file (<emphasis>not</emphasis> for a &matroska; file) " -"and b) the <abbrev>AAC</abbrev> file contains <abbrev>SBR AAC</abbrev> " -"data. The reason for this switch is that it is technically impossible to " -"automatically tell normal <abbrev>AAC</abbrev> data from <abbrev>SBR AAC</" -"abbrev> data without decoding a complete <abbrev>AAC</abbrev> frame. As " -"there are several patent issues with <abbrev>AAC</abbrev> decoders " -"&mkvmerge; will never contain this decoding stage. So for <abbrev>SBR AAC</" -"abbrev> files this switch is mandatory. The resulting file might not play " -"back correctly or even not at all if the switch was omitted." -msgstr "" -"告诉 &mkvmerge; ID 为 <parameter>TID</parameter> 的轨道是 <abbrev>SBR AAC</" -"abbrev> (亦作 <abbrev>HE-AAC</abbrev> 或 <abbrev>AAC+</abbrev>)。下述情况下需" -"要此选项:a) 源文件是 <abbrev>AAC</abbrev> 文件 (<emphasis>不是</emphasis> " -"&matroska; 文件) 且 b) 该 <abbrev>AAC</abbrev> 文件含有 <abbrev>SBR AAC</" -"abbrev> 数据。 设置此开关的原因是目前技术上无法在不解码一个完整的 " -"<abbrev>AAC</abbrev> 帧的情况下自动分辨普通的 <abbrev>AAC</abbrev> 数据与 " -"<abbrev>SBR AAC</abbrev> 数据。由于 <abbrev>AAC</abbrev> 解码器的诸多专利问" -"题,&mkvmerge; 永远不会包含此解码层。因此此开关对于 <abbrev>SBR AAC</abbrev> " -"文件是必需的。如果忽略了此开关,生成的文件可能无法正常回放,甚至可能根本无法" -"播放。" +#: doc/man/mkvmerge.xml:956 +msgid "Tells &mkvmerge; that the track with the ID <parameter>TID</parameter> is <abbrev>SBR AAC</abbrev> (also known as <abbrev>HE-AAC</abbrev> or <abbrev>AAC+</abbrev>). This options is needed if a) the source file is an <abbrev>AAC</abbrev> file (<emphasis>not</emphasis> for a &matroska; file) and b) the <abbrev>AAC</abbrev> file contains <abbrev>SBR AAC</abbrev> data. The reason for this switch is that it is technically impossible to automatically tell normal <abbrev>AAC</abbrev> data from <abbrev>SBR AAC</abbrev> data without decoding a complete <abbrev>AAC</abbrev> frame. As there are several patent issues with <abbrev>AAC</abbrev> decoders &mkvmerge; will never contain this decoding stage. So for <abbrev>SBR AAC</abbrev> files this switch is mandatory. The resulting file might not play back correctly or even not at all if the switch was omitted." +msgstr "告诉 &mkvmerge; ID 为 <parameter>TID</parameter> 的轨道是 <abbrev>SBR AAC</abbrev> (亦作 <abbrev>HE-AAC</abbrev> 或 <abbrev>AAC+</abbrev>)。下述情况下需要此选项:a) 源文件是 <abbrev>AAC</abbrev> 文件 (<emphasis>不是</emphasis> &matroska; 文件) 且 b) 该 <abbrev>AAC</abbrev> 文件含有 <abbrev>SBR AAC</abbrev> 数据。 设置此开关的原因是目前技术上无法在不解码一个完整的 <abbrev>AAC</abbrev> 帧的情况下自动分辨普通的 <abbrev>AAC</abbrev> 数据与 <abbrev>SBR AAC</abbrev> 数据。由于 <abbrev>AAC</abbrev> 解码器的诸多专利问题,&mkvmerge; 永远不会包含此解码层。因此此开关对于 <abbrev>SBR AAC</abbrev> 文件是必需的。如果忽略了此开关,生成的文件可能无法正常回放,甚至可能根本无法播放。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:939 -msgid "" -"If the source file is a &matroska; file then the <classname>CodecID</" -"classname> should be enough to detect <abbrev>SBR AAC</abbrev>. However, if " -"the <classname>CodecID</classname> is wrong then this switch can be used to " -"correct that." -msgstr "" -"如果源文件是 &matroska; 文件,则已有足够侦测 <abbrev>SBR AAC</abbrev> 的 " -"<classname>CodecID</classname> 了。然而,如果 <classname>CodecID</classname> " -"标注错误,此开关可用于更正之。" +#: doc/man/mkvmerge.xml:966 +msgid "If the source file is a &matroska; file then the <classname>CodecID</classname> should be enough to detect <abbrev>SBR AAC</abbrev>. However, if the <classname>CodecID</classname> is wrong then this switch can be used to correct that." +msgstr "如果源文件是 &matroska; 文件,则已有足够侦测 <abbrev>SBR AAC</abbrev> 的 <classname>CodecID</classname> 了。然而,如果 <classname>CodecID</classname> 标注错误,此开关可用于更正之。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:944 -msgid "" -"If mkvmerge wrongfully detects that an <abbrev>AAC</abbrev> file is " -"<abbrev>SBR</abbrev> then you can add '<literal>:0</literal>' to the track " -"ID." -msgstr "" -"如果 mkvmerge 错将 <abbrev>AAC</abbrev> 文件侦测为 <abbrev>SBR</abbrev>,您可" -"以将 '<literal>:0</literal>' 添加到轨道 ID。" +#: doc/man/mkvmerge.xml:971 +msgid "If mkvmerge wrongfully detects that an <abbrev>AAC</abbrev> file is <abbrev>SBR</abbrev> then you can add '<literal>:0</literal>' to the track ID." +msgstr "如果 mkvmerge 错将 <abbrev>AAC</abbrev> 文件侦测为 <abbrev>SBR</abbrev>,您可以将 '<literal>:0</literal>' 添加到轨道 ID。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:951 +#: doc/man/mkvmerge.xml:978 msgid "<option>--timecodes</option> <parameter>TID:file-name</parameter>" msgstr "<option>--timecodes</option> <parameter>TID:文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:954 -msgid "" -"Read the timecodes to be used for the specific track ID from <parameter>file-" -"name</parameter>. These timecodes forcefully override the timecodes that " -"&mkvmerge; normally calculates. Read the section about <link linkend=" -"\"mkvmerge.external_timecode_files\">external timecode files</link>." -msgstr "" -"从 <parameter>文件名</parameter> 读取要应用到指定轨道 ID 的时间码。 这些时间" -"码将强制覆盖 &mkvmerge; 默认计算出的时间码。参阅关于 <link linkend=" -"\"mkvmerge.external_timecode_files\">外部时间码文件</link> 的章节。" +#: doc/man/mkvmerge.xml:981 +msgid "Read the timecodes to be used for the specific track ID from <parameter>file-name</parameter>. These timecodes forcefully override the timecodes that &mkvmerge; normally calculates. Read the section about <link linkend=\"mkvmerge.external_timecode_files\">external timecode files</link>." +msgstr "从 <parameter>文件名</parameter> 读取要应用到指定轨道 ID 的时间码。 这些时间码将强制覆盖 &mkvmerge; 默认计算出的时间码。参阅关于 <link linkend=\"mkvmerge.external_timecode_files\">外部时间码文件</link> 的章节。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:962 +#: doc/man/mkvmerge.xml:989 msgid "<option>--default-duration</option> <parameter>TID:x</parameter>" msgstr "<option>--default-duration</option> <parameter>TID:x</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:965 -msgid "" -"Forces the default duration of a given track to the specified value. Also " -"modifies the track's timecodes to match the default duration. The argument " -"<parameter>x</parameter> must be postfixed with '<literal>s</literal>', " -"'<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' or " -"'<literal>fps</literal>' to specify the default duration in seconds, " -"milliseconds, microseconds, nanoseconds or 'frames per second' " -"respectively. The number <parameter>x</parameter> itself can be a floating " -"point number or a fraction." -msgstr "" -"强制指定轨道的默认时长为指定数值。 将同时修改轨道的时间码以匹配该默认时长。 " -"变量 <parameter>x</parameter> 必须有 '<literal>s</literal>', '<literal>ms</" -"literal>', '<literal>us</literal>', '<literal>ns</literal>' 或 " -"'<literal>fps</literal>' 后缀,分别说明默认时长的单位为秒、毫秒、微秒、纳秒以" -"及帧每秒。 数字 <parameter>x</parameter> 本身可为浮点数或分数。" +#: doc/man/mkvmerge.xml:992 +msgid "Forces the default duration of a given track to the specified value. Also modifies the track's timecodes to match the default duration. The argument <parameter>x</parameter> must be postfixed with '<literal>s</literal>', '<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' or '<literal>fps</literal>' to specify the default duration in seconds, milliseconds, microseconds, nanoseconds or 'frames per second' respectively. The number <parameter>x</parameter> itself can be a floating point number or a fraction." +msgstr "强制指定轨道的默认时长为指定数值。 将同时修改轨道的时间码以匹配该默认时长。 变量 <parameter>x</parameter> 必须有 '<literal>s</literal>', '<literal>ms</literal>', '<literal>us</literal>', '<literal>ns</literal>' 或 '<literal>fps</literal>' 后缀,分别说明默认时长的单位为秒、毫秒、微秒、纳秒以及帧每秒。 数字 <parameter>x</parameter> 本身可为浮点数或分数。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:973 -msgid "" -"If the default duration is not forced then mkvmerge will try to derive the " -"track's default duration from the container and/or codec used. One case in " -"which this option is of use is when adding <foreignphrase>AVC/h.264</" -"foreignphrase> elementary streams because these do not contain information " -"about their number of frames or a default duration for each frame. For such " -"files &mkvmerge; will assume a default duration of '<literal>25fps</" -"literal>' unless overridden." -msgstr "" -"如果未强定默认时长,mkvmerge 将尝试根据使用的容器和/或编解码器推定轨道的默认" -"时长。 此选项有用的一种情况是当添加 <foreignphrase>AVC/h.264</foreignphrase> " -"基本流时,因为此类流不含关于帧数及各帧默认时长的信息。 对此类文件 &mkvmerge; " -"将假定默认时长为 '<literal>25fps</literal>',除非被(用户设置)覆盖。" +#: doc/man/mkvmerge.xml:1000 +msgid "If the default duration is not forced then mkvmerge will try to derive the track's default duration from the container and/or codec used. One case in which this option is of use is when adding <foreignphrase>AVC/h.264</foreignphrase> elementary streams because these do not contain information about their number of frames or a default duration for each frame. For such files &mkvmerge; will assume a default duration of '<literal>25fps</literal>' unless overridden." +msgstr "如果未强定默认时长,mkvmerge 将尝试根据使用的容器和/或编解码器推定轨道的默认时长。 此选项有用的一种情况是当添加 <foreignphrase>AVC/h.264</foreignphrase> 基本流时,因为此类流不含关于帧数及各帧默认时长的信息。 对此类文件 &mkvmerge; 将假定默认时长为 '<literal>25fps</literal>',除非被(用户设置)覆盖。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:980 -msgid "" -"This option can also be used to change the <abbrev>FPS</abbrev> of video " -"tracks without having to use an external timecode file." -msgstr "" -"此选项也可用于在不使用外部时间码文件的情况下更改视频轨的 <abbrev>FPS(帧率)" -"</abbrev>。" +#: doc/man/mkvmerge.xml:1007 +msgid "This option can also be used to change the <abbrev>FPS</abbrev> of video tracks without having to use an external timecode file." +msgstr "此选项也可用于在不使用外部时间码文件的情况下更改视频轨的 <abbrev>FPS(帧率)</abbrev>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:986 +#: doc/man/mkvmerge.xml:1013 msgid "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" msgstr "<option>--nalu-size-length</option> <parameter>TID:n</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:989 -msgid "" -"Forces the <abbrev>NALU</abbrev> size length to <parameter>n</parameter> " -"bytes. This parameter is only used if the <foreignphrase>AVC/h.264</" -"foreignphrase> elementary stream packetizer is used. If left out it " -"defaults to 4 bytes, but there are files that contain frames or slices that " -"are all smaller than 65536 bytes. For such files you can use this parameter " -"and decrease the size to 2." -msgstr "" -"强制 <abbrev>NALU</abbrev> 长度为 <parameter>n</parameter> 字节。 此变量仅当" -"使用 <foreignphrase>AVC/h.264</foreignphrase> 基本流分包器时使用。 如果留空," -"则默认为 4 字节,然而有的文件包含的所有帧或切片都小于 65536 字节。 对此类文件" -"您可以使用此参数并将长度降为 2。" +#: doc/man/mkvmerge.xml:1016 +msgid "Forces the <abbrev>NALU</abbrev> size length to <parameter>n</parameter> bytes. This parameter is only used if the <foreignphrase>AVC/h.264</foreignphrase> elementary stream packetizer is used. If left out it defaults to 4 bytes, but there are files that contain frames or slices that are all smaller than 65536 bytes. For such files you can use this parameter and decrease the size to 2." +msgstr "强制 <abbrev>NALU</abbrev> 长度为 <parameter>n</parameter> 字节。 此变量仅当使用 <foreignphrase>AVC/h.264</foreignphrase> 基本流分包器时使用。 如果留空,则默认为 4 字节,然而有的文件包含的所有帧或切片都小于 65536 字节。 对此类文件您可以使用此参数并将长度降为 2。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1025 +msgid "<option>--compression</option> <parameter>TID:n</parameter>" +msgstr "<option>--compression</option> <parameter>TID:n</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1028 +msgid "Selects the compression method to be used for the track. Note that the player also has to support this method. Valid values are '<literal>none</literal>', '<literal>zlib</literal>', '<literal>lzo</literal>'/'<literal>lxo1x</literal>', '<literal>bz2</literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has been compiled with support for the <productname>liblzo</productname> and <productname>bzlib</productname> compression libraries, respectively." +msgstr "选择用于该轨道的压缩方式。注意播放器也得支持该方式。有效的值有 '<literal>none(无压缩)</literal>'、'<literal>zlib</literal>'、'<literal>lzo</literal>'/'<literal>lxo1x</literal>'、'<literal>bz2</literal>'/'<literal>bzlib</literal>' 与 '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'。值 '<literal>lzo</literal>'/'<literal>lxo1x</literal>' 与 '<literal>bz2</literal>'/'<literal>bzlib</literal>' 仅当 &mkvmerge; 分别附加相应的 <productname>liblzo</productname> 和 <productname>bzlib</productname> 压缩库编译时有效。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1036 +msgid "The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' is a special compression method called '<foreignphrase>header removal</foreignphrase>' that is only available for <abbrev>MPEG4</abbrev> part 2 video tracks." +msgstr "压缩方式 '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' 是一种称为 '<foreignphrase>去头</foreignphrase>' 的特殊压缩方式,只对 <abbrev>MPEG4</abbrev> part 2 视频轨可用。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1040 +msgid "The default for some subtitle tracks is '<literal>zlib</literal>' compression. This compression method is also the one that most if not all playback applications support. Support for other compression methods other than '<literal>none</literal>' is not assured." +msgstr "部分字幕轨的默认值为 '<literal>zlib</literal>' 压缩。此压缩方式也是大部分(如果不是所有)回放应用程序都支持的压缩方式。无法保证对除 '<literal>none(无压缩)</literal>' 以外的其他压缩方式的支持。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:999 +#: doc/man/mkvmerge.xml:1048 msgid "Options that only apply to video tracks:" msgstr "仅用于视频轨的选项:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1004 -msgid "" -"<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</" -"parameter>" -msgstr "" -"<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</" -"parameter>" +#: doc/man/mkvmerge.xml:1053 +msgid "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" +msgstr "<option>-f</option>, <option>--fourcc</option> <parameter>TID:FourCC</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1007 -msgid "" -"Forces the <classname>FourCC</classname> to the specified value. Works only " -"for video tracks in the '<foreignphrase>MS compatibility mode</" -"foreignphrase>'." -msgstr "" -"强制 <classname>FourCC</classname> 为指定值。仅对 '<foreignphrase>微软兼容模" -"式</foreignphrase>' 的视频轨有效。" +#: doc/man/mkvmerge.xml:1056 +msgid "Forces the <classname>FourCC</classname> to the specified value. Works only for video tracks in the '<foreignphrase>MS compatibility mode</foreignphrase>'." +msgstr "强制 <classname>FourCC</classname> 为指定值。仅对 '<foreignphrase>微软兼容模式</foreignphrase>' 的视频轨有效。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1014 -msgid "" -"<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" -msgstr "" -"<option>--display-dimensions</option> <parameter>TID:宽度x高度</parameter>" +#: doc/man/mkvmerge.xml:1063 +msgid "<option>--display-dimensions</option> <parameter>TID:widthxheight</parameter>" +msgstr "<option>--display-dimensions</option> <parameter>TID:宽度x高度</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1017 -msgid "" -"&matroska; files contain two values that set the display properties that a " -"player should scale the image on playback to: display width and display " -"height. These values can be set with this option, e.g. '<literal>1:640x480</" -"literal>'." -msgstr "" -"&matroska; 文件含有两个设定播放器回放时应当将画面缩放到的显示属性值: 显示宽度" -"与显示高度。 可以使用本选项设定这些数值,如 '<literal>1:640x480</literal>'。" +#: doc/man/mkvmerge.xml:1066 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. These values can be set with this option, e.g. '<literal>1:640x480</literal>'." +msgstr "&matroska; 文件含有两个设定播放器回放时应当将画面缩放到的显示属性值: 显示宽度与显示高度。 可以使用本选项设定这些数值,如 '<literal>1:640x480</literal>'。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1022 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio\"><option>--aspect-ratio</option></link> or the " -"<link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-" -"ratio-factor</option></link> option (see below). These options are mutually " -"exclusive." -msgstr "" -"指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description." -"aspect_ratio\"><option>--aspect-ratio</option></link> 或 <link linkend=" -"\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</" -"option></link> 选项 (参见下文)。 这些选项是互相独立的。" +#: doc/man/mkvmerge.xml:1071 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> option (see below). These options are mutually exclusive." +msgstr "指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> 或 <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> 选项 (参见下文)。 这些选项是互相独立的。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1031 -msgid "" -"<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" -msgstr "" -"<option>--aspect-ratio</option> <parameter>TID:宽高比|宽度/高度</parameter>" +#: doc/man/mkvmerge.xml:1080 +msgid "<option>--aspect-ratio</option> <parameter>TID:ratio|width/height</parameter>" +msgstr "<option>--aspect-ratio</option> <parameter>TID:宽高比|宽度/高度</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1034 -msgid "" -"&matroska; files contain two values that set the display properties that a " -"player should scale the image on playback to: display width and display " -"height. With this option &mkvmerge; will automatically calculate the " -"display width and display height based on the image's original width and " -"height and the aspect ratio given with this option. The ratio can be given " -"either as a floating point number <parameter>ratio</parameter> or as a " -"fraction '<parameter>width</parameter>/<parameter>height</parameter>', e.g. " -"'<literal>16/9</literal>'." -msgstr "" -"&matroska; 文件含有两个设定播放器回放时应当将画面缩放到的显示属性值: 显示宽度" -"与显示高度。 通过本选项 &mkvmerge; 可自动根据画面原始宽高和本选项给定的宽高比" -"计算出显示宽度和显示高度。 宽高比可以以浮点数 <parameter>宽高比</parameter> " -"或分数 '<parameter>宽度</parameter>/<parameter>高度</parameter>' 的形式给出," -"如 '<literal>16/9</literal>'。" +#: doc/man/mkvmerge.xml:1083 +msgid "&matroska; files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. With this option &mkvmerge; will automatically calculate the display width and display height based on the image's original width and height and the aspect ratio given with this option. The ratio can be given either as a floating point number <parameter>ratio</parameter> or as a fraction '<parameter>width</parameter>/<parameter>height</parameter>', e.g. '<literal>16/9</literal>'." +msgstr "&matroska; 文件含有两个设定播放器回放时应当将画面缩放到的显示属性值: 显示宽度与显示高度。 通过本选项 &mkvmerge; 可自动根据画面原始宽高和本选项给定的宽高比计算出显示宽度和显示高度。 宽高比可以以浮点数 <parameter>宽高比</parameter> 或分数 '<parameter>宽度</parameter>/<parameter>高度</parameter>' 的形式给出,如 '<literal>16/9</literal>'。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1042 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></" -"link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--" -"display-dimensions</option></link> options (see above and below). These " -"options are mutually exclusive." -msgstr "" -"指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description." -"aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> 或 <link " -"linkend=\"mkvmerge.description.display_dimensions\"><option>--display-" -"dimensions</option></link> 选项 (参见上下文)。这些选项相互独立。" +#: doc/man/mkvmerge.xml:1091 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above and below). These options are mutually exclusive." +msgstr "指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description.aspect_ratio_factor\"><option>--aspect-ratio-factor</option></link> 或 <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> 选项 (参见上下文)。这些选项相互独立。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1051 -msgid "" -"<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" -msgstr "" -"<option>--aspect-ratio-factor</option> <parameter>TID:系数|n/d</parameter>" +#: doc/man/mkvmerge.xml:1100 +msgid "<option>--aspect-ratio-factor</option> <parameter>TID:factor|n/d</parameter>" +msgstr "<option>--aspect-ratio-factor</option> <parameter>TID:系数|n/d</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1054 -msgid "" -"Another way to set the aspect ratio is to specify a <parameter>factor</" -"parameter>. The original aspect ratio is first multiplied with this " -"<parameter>factor</parameter> and used as the target aspect ratio afterwards." -msgstr "" -"另一种设置宽高比的方法是指定一个 <parameter>系数</parameter>。将将原始宽高比" -"与 <parameter>系数</parameter> 相乘后用作目标宽高比。" +#: doc/man/mkvmerge.xml:1103 +msgid "Another way to set the aspect ratio is to specify a <parameter>factor</parameter>. The original aspect ratio is first multiplied with this <parameter>factor</parameter> and used as the target aspect ratio afterwards." +msgstr "另一种设置宽高比的方法是指定一个 <parameter>系数</parameter>。将将原始宽高比与 <parameter>系数</parameter> 相乘后用作目标宽高比。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1059 -msgid "" -"Another way to specify the values is to use the <link linkend=\"mkvmerge." -"description.aspect_ratio\"><option>--aspect-ratio</option></link> or <link " -"linkend=\"mkvmerge.description.display_dimensions\"><option>--display-" -"dimensions</option></link> options (see above). These options are mutually " -"exclusive." -msgstr "" -"指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description." -"aspect_ratio\"><option>--aspect-ratio</option></link> 或 <link linkend=" -"\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</" -"option></link> 选项 (参见上文)。这些选项互相独立。" +#: doc/man/mkvmerge.xml:1108 +msgid "Another way to specify the values is to use the <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> or <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> options (see above). These options are mutually exclusive." +msgstr "指定所用数值的其他方法是使用 <link linkend=\"mkvmerge.description.aspect_ratio\"><option>--aspect-ratio</option></link> 或 <link linkend=\"mkvmerge.description.display_dimensions\"><option>--display-dimensions</option></link> 选项 (参见上文)。这些选项互相独立。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1068 -msgid "" -"<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" +#: doc/man/mkvmerge.xml:1117 +msgid "<option>--cropping</option> <parameter>TID:left,top,right,bottom</parameter>" msgstr "<option>--cropping</option> <parameter>TID:左,上,右,下</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1071 -msgid "" -"Sets the pixel cropping parameters of a video track to the given values." +#: doc/man/mkvmerge.xml:1120 +msgid "Sets the pixel cropping parameters of a video track to the given values." msgstr "将视频轨道的像素裁减参数设为指定数值。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1077 +#: doc/man/mkvmerge.xml:1126 msgid "<option>--stereo-mode</option> <parameter>TID:n|keyword</parameter>" msgstr "<option>--stereo-mode</option> <parameter>TID:n|关键词</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1080 -msgid "" -"Sets the stereo mode for the video track with the track ID <parameter>TID</" -"parameter>. The mode can either be a number <parameter>n</parameter> " -"between <constant>0</constant> and <constant>3</constant> or one of the " -"keywords '<literal>none</literal>' (same as <parameter>n</" -"parameter>=<constant>0</constant>), '<literal>right</literal>' (same as " -"<parameter>n</parameter>=<constant>1</constant>), '<literal>left</" -"literal>' (same as <parameter>n</parameter>=<constant>2</constant>) or " -"'<literal>both</literal>' (same as <parameter>n</parameter>=<constant>3</" -"constant>)." -msgstr "" -"设置 ID 为 <parameter>TID</parameter> 的视频轨的立体视法。 模式既可以是 " -"<constant>0</constant> 到 <constant>3</constant> 之间的数字 <parameter>n</" -"parameter>,也可以是 '<literal>none(无立体视法)</literal>' (与 " -"<parameter>n</parameter>=<constant>0</constant> 相同), '<literal>right(右眼" -"视角)</literal>' (与 <parameter>n</parameter>=<constant>1</constant> 相同), " -"'<literal>left(左眼视角)</literal>' (与 <parameter>n</" -"parameter>=<constant>2</constant> 相同) or '<literal>both(双眼视角)</" -"literal>' (与 <parameter>n</parameter>=<constant>3</constant> 相同)。" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1090 -msgid "<option>--compression</option> <parameter>TID:method</parameter>" -msgstr "<option>--compression</option> <parameter>TID:压缩方式</parameter>" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1093 -msgid "" -"Selects the compression method to be used for the VobSub track. Note that " -"the player also has to support this method. Valid values are '<literal>none</" -"literal>', '<literal>zlib</literal>', '<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>', '<literal>bz2</" -"literal>'/'<literal>bzlib</literal>' and '<literal>mpeg4_p2</" -"literal>'/'<literal>mpeg4p2</literal>'. The values '<literal>lzo</" -"literal>'/'<literal>lxo1x</literal>' and '<literal>bz2</" -"literal>'/'<literal>bzlib</literal>' are only available if &mkvmerge; has " -"been compiled with support for the <productname>liblzo</productname> " -"respectively <productname>bzlib</productname> compression libraries." -msgstr "" -"选择用于 VobSub 轨道的压缩方式。注意播放器也得支持该方式。有效的值有 " -"'<literal>none(无压缩)</literal>'、'<literal>zlib</" -"literal>'、'<literal>lzo</literal>'/'<literal>lxo1x</" -"literal>'、'<literal>bz2</literal>'/'<literal>bzlib</literal>' 与 " -"'<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>'。值 " -"'<literal>lzo</literal>'/'<literal>lxo1x</literal>' 与 '<literal>bz2</" -"literal>'/'<literal>bzlib</literal>' 仅当 &mkvmerge; 附加相应的 " -"<productname>liblzo</productname> 和 <productname>bzlib</productname> 压缩库" -"编译时有效。" +#: doc/man/mkvmerge.xml:1129 +msgid "Sets the stereo mode for the video track with the track ID <parameter>TID</parameter>. The mode can either be a number <parameter>n</parameter> between <constant>0</constant> and <constant>11</constant> or one of these keywords:" +msgstr "设置轨道 ID 为 <parameter>TID</parameter> 的轨道的立体模式。 模式可以为介于 <constant>0</constant> 与 <constant>11</constant> 的数字 <parameter>n</parameter> 或这些关键词之一:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1102 -msgid "" -"The compression method '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</" -"literal>' is a special compression method called '<foreignphrase>header " -"removal</foreignphrase>' that is only available for MPEG4 part 2 video " -"tracks. The other methods are general compression methods that can be used " -"with any type of track." -msgstr "" -"压缩方式 '<literal>mpeg4_p2</literal>'/'<literal>mpeg4p2</literal>' 是一种称" -"为 '<foreignphrase>header removal</foreignphrase>' 的特殊压缩方式,只对 " -"MPEG4 part 2 视频轨可用。其他压缩方式是可用于所有类型轨道的通用压缩方式。" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1108 -msgid "" -"The default is '<literal>zlib</literal>' compression. This compression " -"method is also the one that most if not all playback applications support. " -"Support for other compression methods other than '<literal>none</literal>' " -"is not assured." -msgstr "" -"默认为 '<literal>zlib</literal>' 压缩。此压缩方式也是几乎所有回放程序都支持的" -"压缩方式。无法保证对除 '<literal>none(无压缩)</literal>' 以外的其他压缩方式" -"的支持。" +#: doc/man/mkvmerge.xml:1134 +msgid "'<literal>mono</literal>', '<literal>side_by_side_left_first</literal>', '<literal>top_bottom_right_first</literal>', '<literal>top_bottom_left_first</literal>', '<literal>checkboard_right_first</literal>', '<literal>checkboard_left_first</literal>', '<literal>row_interleaved_right_first</literal>', '<literal>row_interleaved_left_first</literal>', '<literal>column_interleaved_right_first</literal>', '<literal>column_interleaved_left_first</literal>', '<literal>anaglyph</literal>', '<literal>side_by_side_right_first</literal>'." +msgstr "'<literal>mono</literal>'、'<literal>side_by_side_left_first</literal>'、'<literal>top_bottom_right_first</literal>'、'<literal>top_bottom_left_first</literal>'、'<literal>checkboard_right_first</literal>'、'<literal>checkboard_left_first</literal>'、'<literal>row_interleaved_right_first</literal>'、'<literal>row_interleaved_left_first</literal>'、'<literal>column_interleaved_right_first</literal>'、'<literal>column_interleaved_left_first</literal>'、'<literal>anaglyph</literal>'、'<literal>side_by_side_right_first</literal>'。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1116 +#: doc/man/mkvmerge.xml:1145 msgid "Options that only apply to text subtitle tracks:" msgstr "仅适用于文本字幕轨道的选项:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1121 +#: doc/man/mkvmerge.xml:1150 msgid "<option>--sub-charset</option> <parameter>TID:character-set</parameter>" msgstr "<option>--sub-charset</option> <parameter>TID:字符集</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1124 -msgid "" -"Sets the character set for the conversion to UTF-8 for UTF-8 subtitles for " -"the given track ID. If not specified the charset will be derived from the " -"current locale settings. Note that a charset is not needed for subtitles " -"read from &matroska; files or from Kate streams, as these are always stored " -"in UTF-8. See the section about <link linkend=\"mkvmerge." -"text_files_and_charsets\"> text files and character sets</link> for an " -"explanation how &mkvmerge; converts between character sets." -msgstr "" -"为指定轨道 ID 指定所用字符集,用以转为 UTF-8 编码的 UTF-8 字幕。如果未指定字" -"符集,则将根据当前区域设置推算字符集。注意对于从 &matroska; 文件或 Kate 流中" -"读取的字幕不必指定字符集,因为在这些格式中已使用 UTF-8 编码储存。关于 " -"&mkvmerge; 如何在字符集间进行转换的说明请参见关于 <link linkend=\"mkvmerge." -"text_files_and_charsets\"> 文本文件与字符集</link> 的段落。" +#: doc/man/mkvmerge.xml:1153 +msgid "Sets the character set for the conversion to UTF-8 for UTF-8 subtitles for the given track ID. If not specified the charset will be derived from the current locale settings. Note that a charset is not needed for subtitles read from &matroska; files or from Kate streams, as these are always stored in UTF-8. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "为指定轨道 ID 指定所用字符集,用以转为 UTF-8 编码的 UTF-8 字幕。如果未指定字符集,则将根据当前区域设置推算字符集。注意对于从 &matroska; 文件或 Kate 流中读取的字幕不必指定字符集,因为在这些格式中已使用 UTF-8 编码储存。关于 &mkvmerge; 如何在字符集间进行转换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 的段落。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1138 doc/man/mkvpropedit.xml:147 +#: doc/man/mkvmerge.xml:1167 +#: doc/man/mkvpropedit.xml:151 msgid "Other options:" msgstr "其他选项:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1143 -msgid "" -"<option>-i</option>, <option>--identify</option> <parameter>file-name</" -"parameter>" -msgstr "" -"<option>-i</option>, <option>--identify</option> <parameter>文件名</" -"parameter>" +#: doc/man/mkvmerge.xml:1172 +msgid "<option>-i</option>, <option>--identify</option> <parameter>file-name</parameter>" +msgstr "<option>-i</option>, <option>--identify</option> <parameter>文件名</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1146 -msgid "" -"Will let &mkvmerge; probe the single file and report its type, the tracks " -"contained in the file and their track IDs. If this option is used then the " -"only other option allowed is the filename." -msgstr "" -"将使 &mkvmerge; 探查单个文件并报告其类型、文件中包含的轨道及其轨道 ID。如果使" -"用了本选项,唯一可用的其他选项就是文件名。" +#: doc/man/mkvmerge.xml:1175 +#: doc/man/mkvmerge.xml:1185 +msgid "Will let &mkvmerge; probe the single file and report its type, the tracks contained in the file and their track IDs. If this option is used then the only other option allowed is the filename." +msgstr "将使 &mkvmerge; 探查单个文件并报告其类型、文件中包含的轨道及其轨道 ID。如果使用了本选项,唯一可用的其他选项就是文件名。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1153 +#: doc/man/mkvmerge.xml:1182 +msgid "<option>-I</option>, <option>--identify-verbose</option> <parameter>file-name</parameter>" +msgstr "<option>-I</option>, <option>--identify-verbose</option> <parameter>文件名</parameter>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1190 +msgid "This option causes &mkvmerge; to output additional information about the container and each track within. The extra information is surronded by square brackets. It consists of space-saparated key/value pairs where keys and values are separated by a colon." +msgstr "此选项可让 &mkvmerge; 输出关于容器及其中的轨道的额外信息。额外信息由方括号围绕。它包含空格分隔的键/值对,其中键与值由冒号分隔。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1195 +msgid "Each value is escaped according to the rules described in <link linkend=\"mkvmerge.escaping\">the section about escaping special characters in text</link>." +msgstr "各值按 <link linkend=\"mkvmerge.escaping\">关于文本中特殊字符的转义的段落</link> 中描述的规则转义。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: doc/man/mkvmerge.xml:1202 msgid "<option>-l</option>, <option>--list-types</option>" msgstr "<option>-l</option>, <option>--list-types</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1156 +#: doc/man/mkvmerge.xml:1205 msgid "Lists supported input file types." msgstr "列出受支持的输入文件类型。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1162 +#: doc/man/mkvmerge.xml:1211 msgid "<option>--list-languages</option>" msgstr "<option>--list-languages</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1165 -msgid "" -"Lists all languages and their ISO639-2 code which can be used with the <link " -"linkend=\"mkvmerge.description.language\"><option>--language</option></link> " -"option." -msgstr "" -"列出所有语言及其 ISO639-2 代码,这些代码可以在 <link linkend=\"mkvmerge." -"description.language\"><option>--language</option></link> 选项中使用。" +#: doc/man/mkvmerge.xml:1214 +msgid "Lists all languages and their ISO639-2 code which can be used with the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> option." +msgstr "列出所有语言及其 ISO639-2 代码,这些代码可以在 <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> 选项中使用。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1172 +#: doc/man/mkvmerge.xml:1221 msgid "<option>--priority</option> <parameter>priority</parameter>" msgstr "<option>--priority</option> <parameter>优先级</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1175 -msgid "" -"Sets the process priority that &mkvmerge; runs with. Valid values are " -"'<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</" -"literal>', '<literal>higher</literal>' and '<literal>highest</literal>'. If " -"nothing is given then '<literal>normal</literal>' is used. On Unix like " -"systems &mkvmerge; will use the <citerefentry><refentrytitle>nice</" -"refentrytitle><manvolnum>2</manvolnum></citerefentry> function. Therefore " -"only the super user can use '<literal>higher</literal>' and " -"'<literal>highest</literal>'. On Windows all values are useable for every " -"user." -msgstr "" -"设置 &mkvmerge; 运行时的进程优先级。有效的值为 '<literal>lowest(最低)</" -"literal>', '<literal>lower(较低)</literal>', '<literal>normal(普通)</" -"literal>', '<literal>higher(较高)</literal>' 与 '<literal>highest(最高)</" -"literal>'。如果未予设定,则使用 '<literal>normal(普通优先级)</literal>'。" -"在 类-Unix 系统中 &mkvmerge; 将使用 <citerefentry><refentrytitle>nice</" -"refentrytitle><manvolnum>2</manvolnum></citerefentry> 功能。因此只有超级用户" -"才能使用 '<literal>higher(较高优先级)</literal>' 与 '<literal>highest(最高" -"优先级)</literal>'。对于 Windows 用户来说所有值都可用。" +#: doc/man/mkvmerge.xml:1224 +msgid "Sets the process priority that &mkvmerge; runs with. Valid values are '<literal>lowest</literal>', '<literal>lower</literal>', '<literal>normal</literal>', '<literal>higher</literal>' and '<literal>highest</literal>'. If nothing is given then '<literal>normal</literal>' is used. On Unix like systems &mkvmerge; will use the <citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry> function. Therefore only the super user can use '<literal>higher</literal>' and '<literal>highest</literal>'. On Windows all values are useable for every user." +msgstr "设置 &mkvmerge; 运行时的进程优先级。有效的值为 '<literal>lowest(最低)</literal>', '<literal>lower(较低)</literal>', '<literal>normal(普通)</literal>', '<literal>higher(较高)</literal>' 与 '<literal>highest(最高)</literal>'。如果未予设定,则使用 '<literal>normal(普通优先级)</literal>'。在 类-Unix 系统中 &mkvmerge; 将使用 <citerefentry><refentrytitle>nice</refentrytitle><manvolnum>2</manvolnum></citerefentry> 功能。因此只有超级用户才能使用 '<literal>higher(较高优先级)</literal>' 与 '<literal>highest(最高优先级)</literal>'。对于 Windows 用户来说所有值都可用。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1188 -msgid "" -"Sets the character set to convert strings given on the command line from. It " -"defaults to the character set given by system's current locale. This " -"settings applies to arguments of the following options: <link linkend=" -"\"mkvmerge.description.title\"><option>--title</option></link>, <link " -"linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></" -"link> and <link linkend=\"mkvmerge.description.attachment_description" -"\"><option>--attachment-description</option></link>." -msgstr "" -"设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置" -"中所给定的字符集。此设置将应用到以下选项的变量: <link linkend=\"mkvmerge." -"description.title\"><option>--title</option></link>、<link linkend=" -"\"mkvmerge.description.track_name\"><option>--track-name</option></link> 及 " -"<link linkend=\"mkvmerge.description.attachment_description\"><option>--" -"attachment-description</option></link>。" +#: doc/man/mkvmerge.xml:1237 +msgid "Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale. This settings applies to arguments of the following options: <link linkend=\"mkvmerge.description.title\"><option>--title</option></link>, <link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link> and <link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>." +msgstr "设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置中所给定的字符集。此设置将应用到以下选项的变量: <link linkend=\"mkvmerge.description.title\"><option>--title</option></link>、<link linkend=\"mkvmerge.description.track_name\"><option>--track-name</option></link> 及 <link linkend=\"mkvmerge.description.attachment_description\"><option>--attachment-description</option></link>。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1211 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"将所有信息输出至文件 <parameter>文件名</parameter> 而不是在命令行显示。 尽管" -"该操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件" -"之前重新解释(覆盖输出)时。 将优先使用通过 <link linkend=\"mkvmerge." -"description.output_charset\"><option>--output-charset</option></link> 设定的" -"字符集。" +#: doc/man/mkvmerge.xml:1260 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "将所有信息输出至文件 <parameter>文件名</parameter> 而不是在命令行显示。 尽管该操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之前重新解释(覆盖输出)时。 将优先使用通过 <link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> 设定的字符集。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1222 -msgid "" -"Forces the translations for the language <parameter>code</parameter> to be " -"used (e.g. '<literal>de_DE</literal>' for the German translations). It is " -"preferable to use the environment variables <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. " -"Entering '<literal>list</literal>' as the <parameter>code</parameter> will " -"cause &mkvmerge; to output a list of available translations." -msgstr "" -"强制使用语言代码为 <parameter>语言代码</parameter> 的翻译(如 " -"'<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>, " -"<varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更" -"好。如果在 <parameter>语言代码</parameter> 处输入 '<literal>list</literal>'," -"&mkvmerge; 将输出可用翻译列表。" +#: doc/man/mkvmerge.xml:1271 +msgid "Forces the translations for the language <parameter>code</parameter> to be used (e.g. '<literal>de_DE</literal>' for the German translations). It is preferable to use the environment variables <varname>LANG</varname>, <varname>LC_MESSAGES</varname> and <varname>LC_ALL</varname> though. Entering '<literal>list</literal>' as the <parameter>code</parameter> will cause &mkvmerge; to output a list of available translations." +msgstr "强制使用语言代码为 <parameter>语言代码</parameter> 的翻译(如 '<literal>de_DE</literal>' 对应德文翻译)。使用 <varname>LANG</varname>, <varname>LC_MESSAGES</varname> 及 <varname>LC_ALL</varname> 这些环境变量更好。如果在 <parameter>语言代码</parameter> 处输入 '<literal>list</literal>',&mkvmerge; 将输出可用翻译列表。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1240 -msgid "" -"The command line '<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" " -"sound.ogg</command>' could be converted into the following option file:" -msgstr "" -"命令行 '<command>mkvmerge -o \"我的文件.mkv\" -A \"一部影片.avi\" 声音.ogg</" -"command>' 可以转换为下述选项文件:" +#: doc/man/mkvmerge.xml:1289 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvmerge.escaping\">the section about escaping text</link>." +msgstr "有些字符可以转义,如当您需要使用 '#' 作为一个不是评论的行的开头。规则在<link linkend=\"mkvmerge.escaping\">关于转义文本的段落</link>有描述。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvmerge.xml:1294 +msgid "The command line '<command>mkvmerge -o \"my file.mkv\" -A \"a movie.avi\" sound.ogg</command>' could be converted into the following option file:" +msgstr "命令行 '<command>mkvmerge -o \"我的文件.mkv\" -A \"一部影片.avi\" 声音.ogg</command>' 可以转换为下述选项文件:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvmerge.xml:1245 +#: doc/man/mkvmerge.xml:1299 #, no-wrap msgid "" "# Write to the file \"my file.mkv\".\n" @@ -3373,134 +2312,128 @@ " " #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvmerge.xml:1257 +#: doc/man/mkvmerge.xml:1311 msgid "<option>--capabilities</option>" msgstr "<option>--capabilities</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvmerge.xml:1260 -msgid "" -"Lists information about optional features that have been compiled in and " -"exit. The first line output will be the version information. All following " -"lines contain exactly one word whose presence indicates that the feature has " -"been compiled in. These features are:" -msgstr "" -"列出编译时附加的可选功能并退出。输出信息的第一行是版本信息。接下来的每行包含" -"一个单词,各单词的出现意味着编译时附加了相应功能。这些功能包括:" +#: doc/man/mkvmerge.xml:1314 +msgid "Lists information about optional features that have been compiled in and exit. The first line output will be the version information. All following lines contain exactly one word whose presence indicates that the feature has been compiled in. These features are:" +msgstr "列出编译时附加的可选功能并退出。输出信息的第一行是版本信息。接下来的每行包含一个单词,各单词的出现意味着编译时附加了相应功能。这些功能包括:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1268 -msgid "" -"'<literal>BZ2</literal>' -- the <productname>bzlib</productname> compression " -"library. Affects the available compression methods for the <link linkend=" -"\"mkvmerge.description.compression\"><option>--compression</option></link> " -"option." -msgstr "" -"'<literal>BZ2</literal>' -- <productname>bzlib</productname> 压缩库。影响 " -"<link linkend=\"mkvmerge.description.compression\"><option>--compression</" -"option></link> 选项可用的压缩方式。" +#: doc/man/mkvmerge.xml:1322 +msgid "'<literal>BZ2</literal>' -- the <productname>bzlib</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "'<literal>BZ2</literal>' -- <productname>bzlib</productname> 压缩库。影响 <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> 选项可用的压缩方式。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1275 -msgid "" -"'<literal>LZO</literal>' -- the <productname>lzo</productname> compression " -"library. Affects the available compression methods for the <link linkend=" -"\"mkvmerge.description.compression\"><option>--compression</option></link> " -"option." -msgstr "" -"'<literal>LZO</literal>' -- <productname>lzo</productname> 压缩库。影响 " -"<link linkend=\"mkvmerge.description.compression\"><option>--compression</" -"option></link> 选项可用的压缩方式。" +#: doc/man/mkvmerge.xml:1329 +msgid "'<literal>LZO</literal>' -- the <productname>lzo</productname> compression library. Affects the available compression methods for the <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> option." +msgstr "'<literal>LZO</literal>' -- <productname>lzo</productname> 压缩库。影响 <link linkend=\"mkvmerge.description.compression\"><option>--compression</option></link> 选项可用的压缩方式。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1282 -msgid "" -"'<literal>FLAC</literal>' -- reading raw <abbrev>FLAC</abbrev> files and " -"handling <abbrev>FLAC</abbrev> tracks in other containers, e.g. " -"<productname>Ogg</productname> or &matroska;." -msgstr "" -"'<literal>FLAC</literal>' -- 读取原始 <abbrev>FLAC</abbrev> 文件,以及处理其" -"他容器中的 <abbrev>FLAC</abbrev> 轨道,例如 <productname>Ogg</productname> " -"或 &matroska; 容器中的。" +#: doc/man/mkvmerge.xml:1336 +msgid "'<literal>FLAC</literal>' -- reading raw <abbrev>FLAC</abbrev> files and handling <abbrev>FLAC</abbrev> tracks in other containers, e.g. <productname>Ogg</productname> or &matroska;." +msgstr "'<literal>FLAC</literal>' -- 读取原始 <abbrev>FLAC</abbrev> 文件,以及处理其他容器中的 <abbrev>FLAC</abbrev> 轨道,例如 <productname>Ogg</productname> 或 &matroska; 容器中的。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1311 +#: doc/man/mkvmerge.xml:1386 msgid "Usage" msgstr "用法" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1313 -msgid "" -"For each file the user can select which tracks &mkvmerge; should take. They " -"are all put into the file specified with <option>-o</option>. A list of " -"known (and supported) source formats can be obtained with the <option>-l</" -"option> option." -msgstr "" -"用户可以选择各文件中 &mkvmerge; 应该使用的轨道。它们都将被封装到 <option>-o</" -"option>所指定的文件中。可通过 <option>-l</option> 选项获取已知(且受支持的)" -"来源格式列表。" +#: doc/man/mkvmerge.xml:1388 +msgid "For each file the user can select which tracks &mkvmerge; should take. They are all put into the file specified with <option>-o</option>. A list of known (and supported) source formats can be obtained with the <option>-l</option> option." +msgstr "用户可以选择各文件中 &mkvmerge; 应该使用的轨道。它们都将被封装到 <option>-o</option>所指定的文件中。可通过 <option>-l</option> 选项获取已知(且受支持的)来源格式列表。" + +#. type: Content of: <refentry><refsect1><title> +#: doc/man/mkvmerge.xml:1401 +msgid "Option order" +msgstr "选项顺序" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1404 +msgid "The order in which options are entered is important for some options. Options fall into two categories:" +msgstr "输入选项的顺序对一些选项很重要。选项可归为两类:" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1410 +msgid "Options that affect the whole program and are not tied to any input file. These include but are not limited to <option>--command-line-charset</option>, <option>--output</option> or <option>--title</option>. These can appear anywhere on the command line." +msgstr "影响整个程序的选项不与任何输入文件有关。这些选项包括但不限于 <option>--command-line-charset</option>、<option>--output</option> 或 <option>--title</option>。这些选项可在命令行的任意位置出现。" + +#. type: Content of: <refentry><refsect1><orderedlist><listitem><para> +#: doc/man/mkvmerge.xml:1418 +msgid "Options that affect a single input file or a single track in an input file. These options all apply to the following input file on the command line. All options applying to the same input (or to tracks from the same input file) file can be written in any order as long as they all appear before that input file's name. Examples for options applying to an input file are <option>--no-chapters</option> or <option>--chapter-charset</option>. Examples for options applying to a single track are <option>--default-duration</option> or <option>--language</option>." +msgstr "影响单个输入文件或输入文件中的单个轨道的选项。这些选项均应用到命令行中接着的输入文件。所有应用到同一输入文件(或其轨道)的选项可以以任意顺序书写,只要都出现在该输入文件名之前。应用到输入文件的选项如 <option>--no-chapters</option> 或 <option>--chapter-charset</option>。应用到单个轨道的选项如 <option>--default-duration</option> 或 <option>--language</option>。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1428 +msgid "The options are processed from left to right. If an option appears multiple times within the same scope then the last occurence will be used. Therefore the title will be set to "Something else" in the following example:" +msgstr "选项从左向右处理。如果同一个选项在同一范围内出现多次,将使用最后一次给出的参数。因此在下面的例子中,标题将被设为 "其他东东":" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1432 +#, no-wrap +msgid "$ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else'" +msgstr "$ mkvmerge -o 输出.mkv --title '这个内个' input.avi --title '其他东东'" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1435 +msgid "The following example shows that using the <option>--language</option> option twice is OK because they're used in different scopes. Even though they apply to the same track ID they apply to different input files and therefore have different scopes:" +msgstr "下面的例子中可以两次使用 <option>--language</option> 选项,因为在不同范围内使用。尽管应用到同一轨道 ID,但应用到的是不同的输入文件,因此属于不同范围:" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1439 +#, no-wrap +msgid "$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg" +msgstr "$ mkvmerge -o 输出.mkv --language 0:fre 法语.ogg --language 0:deu 德语.ogg" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1319 doc/man/mkvpropedit.xml:332 +#: doc/man/mkvmerge.xml:1443 +#: doc/man/mkvpropedit.xml:366 msgid "Examples" msgstr "示例" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1321 -msgid "" -"Let's assume you have a file called MyMovie.avi and the audio track in a " -"separate file, e.g. '<literal>MyMovie.wav</literal>'. First you want to " -"encode the audio to &oggvorbis;:" -msgstr "" -"假定您有个名为 我的影片.avi 的文件,以及分开存放的音频轨如 '<literal>我的影" -"片.wav</literal>'。您希望先将音频编码为 &oggvorbis;:" +#: doc/man/mkvmerge.xml:1445 +msgid "Let's assume you have a file called MyMovie.avi and the audio track in a separate file, e.g. '<literal>MyMovie.wav</literal>'. First you want to encode the audio to &oggvorbis;:" +msgstr "假定您有个名为 我的影片.avi 的文件,以及分开存放的音频轨如 '<literal>我的影片.wav</literal>'。您希望先将音频编码为 &oggvorbis;:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1325 +#: doc/man/mkvmerge.xml:1449 #, no-wrap msgid "$ oggenc -q4 -oMyMovie.ogg MyMovie.wav" msgstr "$ oggenc -q4 -o 我的影片.ogg 我的影片.wav" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1328 +#: doc/man/mkvmerge.xml:1452 msgid "After a couple of minutes you can join video and audio:" msgstr "几分钟后您就可以合并视频和音频了:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1331 +#: doc/man/mkvmerge.xml:1455 #, no-wrap msgid "$ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg" msgstr "$ mkvmerge -o 我的有声影片.mkv 我的影片.avi 我的影片.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1334 -msgid "" -"If your <abbrev>AVI</abbrev> already contains an audio track then it will be " -"copied as well (if &mkvmerge; supports the audio format). To avoid that " -"simply do" -msgstr "" -"如果您的 <abbrev>AVI</abbrev> 文件已经含有一条音频轨,则将同时复制该轨道(只" -"要 &mkvmerge; 支持该音频格式)。要避免此状况,只需要这样" +#: doc/man/mkvmerge.xml:1458 +msgid "If your <abbrev>AVI</abbrev> already contains an audio track then it will be copied as well (if &mkvmerge; supports the audio format). To avoid that simply do" +msgstr "如果您的 <abbrev>AVI</abbrev> 文件已经含有一条音频轨,则将同时复制该轨道(只要 &mkvmerge; 支持该音频格式)。要避免此状况,只需要这样" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1338 +#: doc/man/mkvmerge.xml:1462 #, no-wrap msgid "$ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg" msgstr "$ mkvmerge -o 我的有声影片.mkv -A 我的影片.avi 我的影片.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1341 -msgid "" -"After some minutes of consideration you rip another audio track, e.g. the " -"director's comments or another language to '<literal>MyMovie-add-audio.wav</" -"literal>'. Encode it again and join it up with the other file:" -msgstr "" -"又过了几分钟,您又制作了另一条音频轨,如 导演评论或者是另一种语言的配音,您生" -"成的文件名是 '<literal>我影片的另一音轨.wav</literal>'。 再进行一次编码操作," -"然后将其合并:" +#: doc/man/mkvmerge.xml:1465 +msgid "After some minutes of consideration you rip another audio track, e.g. the director's comments or another language to '<literal>MyMovie-add-audio.wav</literal>'. Encode it again and join it up with the other file:" +msgstr "又过了几分钟,您又制作了另一条音频轨,如 导演评论或者是另一种语言的配音,您生成的文件名是 '<literal>我影片的另一音轨.wav</literal>'。 再进行一次编码操作,然后将其合并:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1346 +#: doc/man/mkvmerge.xml:1470 #, no-wrap msgid "" "$ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav\n" @@ -3512,257 +2445,195 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1351 +#: doc/man/mkvmerge.xml:1475 msgid "The same result can be achieved with" msgstr "照下面的做法结果相同" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1354 +#: doc/man/mkvmerge.xml:1478 #, no-wrap msgid "$ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg" msgstr "$ mkvmerge -o 我的影片-成品.mkv -A 我的影片.avi 我的影片.ogg 我影片的另一音轨.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1357 -msgid "" -"Now fire up <productname>mplayer</productname> and enjoy. If you have " -"multiple audio tracks (or even video tracks) then you can tell " -"<productname>mplayer</productname> which track to play with the '<option>-" -"vid</option>' and '<option>-aid</option>' options. These are 0-based and do " -"not distinguish between video and audio." -msgstr "" -"现在开启 <productname>mplayer</productname> 尽情享受吧。如果您有多条音频轨" -"(或者甚至是视频轨),那么您可以通过 '<option>-vid</option>' 与 '<option>-" -"aid</option>' 选项告诉 <productname>mplayer</productname> 应该播放哪些轨道。" -"这些是基础功能,不区分视频与音频。" +#: doc/man/mkvmerge.xml:1481 +msgid "Now fire up <productname>mplayer</productname> and enjoy. If you have multiple audio tracks (or even video tracks) then you can tell <productname>mplayer</productname> which track to play with the '<option>-vid</option>' and '<option>-aid</option>' options. These are 0-based and do not distinguish between video and audio." +msgstr "现在开启 <productname>mplayer</productname> 尽情享受吧。如果您有多条音频轨(或者甚至是视频轨),那么您可以通过 '<option>-vid</option>' 与 '<option>-aid</option>' 选项告诉 <productname>mplayer</productname> 应该播放哪些轨道。这些是基础功能,不区分视频与音频。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1363 -msgid "" -"If you need an audio track synchronized you can do that easily. First find " -"out which track ID the Vorbis track has with" +#: doc/man/mkvmerge.xml:1487 +msgid "If you need an audio track synchronized you can do that easily. First find out which track ID the Vorbis track has with" msgstr "如果您需要同步音频轨,会非常容易。首先找清 Vorbis 轨道的轨道 ID" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1366 +#: doc/man/mkvmerge.xml:1490 #, no-wrap msgid "$ mkvmerge --identify outofsync.ogg" msgstr "$ mkvmerge --identify 错开了的.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1369 +#: doc/man/mkvmerge.xml:1493 msgid "Now you can use that ID in the following command line:" msgstr "现在您可以在下述命令行中使用该 ID:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1372 +#: doc/man/mkvmerge.xml:1496 #, no-wrap msgid "$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg" msgstr "$ mkvmerge -o 同步了的.mkv -A 源.avi -y 12345:200 错开了的.ogg" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1375 -msgid "" -"This would add 200ms of silence at the beginning of the audio track with the " -"ID <constant>12345</constant> taken from '<literal>outofsync.ogg</literal>'." -msgstr "" -"这将在 '<literal>错开了的.ogg</literal>' 中 ID 为 <constant>12345</constant> " -"的音频轨的开头添加 200ms 的静音。" +#: doc/man/mkvmerge.xml:1499 +msgid "This would add 200ms of silence at the beginning of the audio track with the ID <constant>12345</constant> taken from '<literal>outofsync.ogg</literal>'." +msgstr "这将在 '<literal>错开了的.ogg</literal>' 中 ID 为 <constant>12345</constant> 的音频轨的开头添加 200ms 的静音。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1380 -msgid "" -"Some movies start synced correctly but slowly drift out of sync. For these " -"kind of movies you can specify a delay factor that is applied to all " -"timestamps -- no data is added or removed. So if you make that factor too " -"big or too small you'll get bad results. An example is that an episode I " -"transcoded was <constant>0.2</constant> seconds out of sync at the end of " -"the movie which was <constant>77340</constant> frames long. At " -"<constant>29.97fps</constant> <constant>0.2</constant> seconds correspond to " -"approx. <constant>6</constant> frames. So I did" -msgstr "" -"有些影片在开头同步正常,但音画同步会慢慢偏离开。对此类影片您可以指定延时系" -"数,该系数将被应用到所有时间戳 -- 不添加或移除任何数据。因此如果您所设定的系" -"数过大或过小会造成很糟糕的结果。例如我转码的一期节目有 <constant>77340</" -"constant> 帧长,在结尾处有 <constant>0.2</constant> 秒的同步偏离。在 " -"<constant>29.97fps</constant> 帧率下大约是每 <constant>6</constant> 帧错开 " -"<constant>0.2</constant> 秒。于是我这样操作" +#: doc/man/mkvmerge.xml:1504 +msgid "Some movies start synced correctly but slowly drift out of sync. For these kind of movies you can specify a delay factor that is applied to all timestamps -- no data is added or removed. So if you make that factor too big or too small you'll get bad results. An example is that an episode I transcoded was <constant>0.2</constant> seconds out of sync at the end of the movie which was <constant>77340</constant> frames long. At <constant>29.97fps</constant> <constant>0.2</constant> seconds correspond to approx. <constant>6</constant> frames. So I did" +msgstr "有些影片在开头同步正常,但音画同步会慢慢偏离开。对此类影片您可以指定延时系数,该系数将被应用到所有时间戳 -- 不添加或移除任何数据。因此如果您所设定的系数过大或过小会造成很糟糕的结果。例如我转码的一期节目有 <constant>77340</constant> 帧长,在结尾处有 <constant>0.2</constant> 秒的同步偏离。在 <constant>29.97fps</constant> 帧率下大约是每 <constant>6</constant> 帧错开 <constant>0.2</constant> 秒。于是我这样操作" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1387 +#: doc/man/mkvmerge.xml:1511 #, no-wrap msgid "$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv" msgstr "$ mkvmerge -o 同步了的.mkv -y 23456:0,77346/77340 错开了的.mkv" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1390 +#: doc/man/mkvmerge.xml:1514 msgid "The result was fine." msgstr "搞定了。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1394 +#: doc/man/mkvmerge.xml:1518 msgid "The sync options can also be used for subtitles in the same manner." msgstr "同步选项对字幕同样起作用。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1398 -msgid "" -"For text subtitles you can either use some Windows software (like " -"<productname>SubRipper</productname>) or the <productname>subrip</" -"productname> package found in <citerefentry><refentrytitle>transcode</" -"refentrytitle><manvolnum>1</manvolnum></citerefentry>'s sources in the " -"'<literal>contrib/subrip</literal>' directory. The general process is:" -msgstr "" -"对于文本字幕,您既可以选用一些 Windows 软件(如 <productname>SubRipper</" -"productname>)或 '<literal>contrib/subrip</literal>' 目录 " -"<citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry> 的源码中的 <productname>subrip</productname> 包。大" -"体过程是这样的:" +#: doc/man/mkvmerge.xml:1522 +msgid "For text subtitles you can either use some Windows software (like <productname>SubRipper</productname>) or the <productname>subrip</productname> package found in <citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s sources in the '<literal>contrib/subrip</literal>' directory. The general process is:" +msgstr "对于文本字幕,您既可以选用一些 Windows 软件(如 <productname>SubRipper</productname>)或 '<literal>contrib/subrip</literal>' 目录 <citerefentry><refentrytitle>transcode</refentrytitle><manvolnum>1</manvolnum></citerefentry> 的源码中的 <productname>subrip</productname> 包。大体过程是这样的:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1406 +#: doc/man/mkvmerge.xml:1530 msgid "extract a raw subtitle stream from the source:" msgstr "从源文件中提取原始字幕流:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1407 +#: doc/man/mkvmerge.xml:1531 #, no-wrap msgid "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" msgstr "$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1411 +#: doc/man/mkvmerge.xml:1535 msgid "convert the resulting PGM images to text with gocr:" msgstr "使用 gocr 将生成的 PGM 图像转为文本:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1412 +#: doc/man/mkvmerge.xml:1536 #, no-wrap msgid "$ pgm2txt mymovie" msgstr "$ pgm2txt mymovie" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1416 +#: doc/man/mkvmerge.xml:1540 msgid "spell-check the resulting text files:" msgstr "对生成的文本文件进行拼写检查:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1417 +#: doc/man/mkvmerge.xml:1541 #, no-wrap msgid "$ ispell -d american *txt" msgstr "$ ispell -d american *txt" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1421 +#: doc/man/mkvmerge.xml:1545 msgid "convert the text files to a SRT file:" msgstr "将文本文件转为 SRT 文件:" #. type: Content of: <refentry><refsect1><orderedlist><listitem><screen> -#: doc/man/mkvmerge.xml:1422 +#: doc/man/mkvmerge.xml:1546 #, no-wrap msgid "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" msgstr "$ srttool -s -w -i mymovie.srtx -o mymovie.srt" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1427 +#: doc/man/mkvmerge.xml:1551 msgid "The resulting file can be used as another input file for &mkvmerge;:" msgstr "这样生成的文件可用作 &mkvmerge; 的输入文件:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1430 +#: doc/man/mkvmerge.xml:1554 #, no-wrap msgid "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" msgstr "$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1433 -msgid "" -"If you want to specify the language for a given track then this is easily " -"done. First find out the ISO639-2 code for your language. &mkvmerge; can " -"list all of those codes for you:" -msgstr "" -"如果您希望为指定轨道指定语言,这将很容易完成。首先找到您所需语言的 ISO639-2 " -"代码。&mkvmerge; 会为您列出所有代码:" +#: doc/man/mkvmerge.xml:1557 +msgid "If you want to specify the language for a given track then this is easily done. First find out the ISO639-2 code for your language. &mkvmerge; can list all of those codes for you:" +msgstr "如果您希望为指定轨道指定语言,这将很容易完成。首先找到您所需语言的 ISO639-2 代码。&mkvmerge; 会为您列出所有代码:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1437 +#: doc/man/mkvmerge.xml:1561 #, no-wrap msgid "$ mkvmerge --list-languages" msgstr "$ mkvmerge --list-languages" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1440 -msgid "" -"Search the list for the languages you need. Let's assume you have put two " -"audio tracks into a &matroska; file and want to set their language codes and " -"that their track IDs are 2 and 3. This can be done with" -msgstr "" -"在列表中找到您所需的语言。假定您已在 &matroska; 文件中放入两条音轨,并希望设" -"置它们的语言代码,两条轨道的轨道 ID 为 2 和 3。可以这样操作" +#: doc/man/mkvmerge.xml:1564 +msgid "Search the list for the languages you need. Let's assume you have put two audio tracks into a &matroska; file and want to set their language codes and that their track IDs are 2 and 3. This can be done with" +msgstr "在列表中找到您所需的语言。假定您已在 &matroska; 文件中放入两条音轨,并希望设置它们的语言代码,两条轨道的轨道 ID 为 2 和 3。可以这样操作" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1444 +#: doc/man/mkvmerge.xml:1568 #, no-wrap msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv" msgstr "$ mkvmerge -o 含语言代码的.mkv --language 2:ger --language 3:dut 无语言代码的.mkv" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1447 -msgid "" -"As you can see you can use the <link linkend=\"mkvmerge.description.language" -"\"><option>--language</option></link> switch multiple times." -msgstr "" -"如您所见,<link linkend=\"mkvmerge.description.language\"><option>--" -"language</option></link> 开关可多次使用。" +#: doc/man/mkvmerge.xml:1571 +msgid "As you can see you can use the <link linkend=\"mkvmerge.description.language\"><option>--language</option></link> switch multiple times." +msgstr "如您所见,<link linkend=\"mkvmerge.description.language\"><option>--language</option></link> 开关可多次使用。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1451 -msgid "" -"Maybe you'd also like to have the player use the Dutch language as the " -"default language. You also have extra subtitles, e.g. in English and French, " -"and want to have the player display the French ones by default. This can be " -"done with" -msgstr "" -"或许您还想让荷兰语作为默认语言。您还有其他语言的字幕,如英语和法语的,并希望" -"让播放器默认显示法语字幕。可以这样操作" +#: doc/man/mkvmerge.xml:1575 +msgid "Maybe you'd also like to have the player use the Dutch language as the default language. You also have extra subtitles, e.g. in English and French, and want to have the player display the French ones by default. This can be done with" +msgstr "或许您还想让荷兰语作为默认语言。您还有其他语言的字幕,如英语和法语的,并希望让播放器默认显示法语字幕。可以这样操作" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1455 +#: doc/man/mkvmerge.xml:1579 #, no-wrap msgid "$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt" msgstr "$ mkvmerge -o 含语言代码的.mkv --language 2:ger --language 3:dut --default-track 3 无语言代码的.mkv --language 0:eng 英语.srt --default-track 0 --language 0:fre 法语.srt" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1458 -msgid "" -"If you do not see the language or default track flags that you've specified " -"in &mkvinfo;'s output then please read the section about <link linkend=" -"\"mkvmerge.default_values\">default values</link>." -msgstr "" -"如果您在 &mkvinfo; 的输出信息中没找到您指定的语言或默认轨标记,请参阅关于 " -"<link linkend=\"mkvmerge.default_values\">默认值</link> 的段落。" +#: doc/man/mkvmerge.xml:1582 +msgid "If you do not see the language or default track flags that you've specified in &mkvinfo;'s output then please read the section about <link linkend=\"mkvmerge.default_values\">default values</link>." +msgstr "如果您在 &mkvinfo; 的输出信息中没找到您指定的语言或默认轨标记,请参阅关于 <link linkend=\"mkvmerge.default_values\">默认值</link> 的段落。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1587 +msgid "Turn off the compression for an input file." +msgstr "关闭针对某输入文件的压缩。" + +#. type: Content of: <refentry><refsect1><screen> +#: doc/man/mkvmerge.xml:1590 +#, no-wrap +msgid "$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt" +msgstr "$ mkvmerge -o 无压缩.mkv --compression -1:none 我的影片.avi --compression -1:none 我的影片.srt" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1464 +#: doc/man/mkvmerge.xml:1595 msgid "Track IDs" msgstr "轨道 ID" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1467 -msgid "" -"Some of the options for &mkvmerge; need a track ID to specify which track " -"they should be applied to. Those track IDs are printed by the readers when " -"demuxing the current input file, or if &mkvmerge; is called with the <link " -"linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> " -"option. An example for such output:" -msgstr "" -"&mkvmerge; 的一些选项要求提供轨道 ID 以指定应应用到的轨道。 当读取器分离当前" -"输入文件时,或者使用 <link linkend=\"mkvmerge.description.identify" -"\"><option>--identify</option></link> 选项调用 &mkvmerge; 时这些轨道 ID 会被" -"显示出来。此类输出的一个示例:" +#: doc/man/mkvmerge.xml:1598 +msgid "Some of the options for &mkvmerge; need a track ID to specify which track they should be applied to. Those track IDs are printed by the readers when demuxing the current input file, or if &mkvmerge; is called with the <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> option. An example for such output:" +msgstr "&mkvmerge; 的一些选项要求提供轨道 ID 以指定应应用到的轨道。 当读取器分离当前输入文件时,或者使用 <link linkend=\"mkvmerge.description.identify\"><option>--identify</option></link> 选项调用 &mkvmerge; 时这些轨道 ID 会被显示出来。此类输出的一个示例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1473 +#: doc/man/mkvmerge.xml:1604 #, no-wrap msgid "" "$ mkvmerge -i v.mkv\n" @@ -3778,409 +2649,202 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1480 +#: doc/man/mkvmerge.xml:1611 +msgid "Do not confuse the track IDs that are assigned to the tracks that are placed in the output MKV file with the track IDs of the input files. Only the input file track IDs are used for options needing these values." +msgstr "不要混淆输出 MKV 文件时所分派的轨道 ID与输入文件的轨道 ID。只有输入文件的轨道 ID 可用于需要轨道 ID 值的选项。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1616 +msgid "Also note that each input file has its own set of track IDs. Therefore the track IDs for file '<filename>file1.ext</filename>' as reported by '<literal>mkvmerge --identify</literal>' do not change no matter how many other input files are there or in which position '<filename>file1.ext</filename>' is used." +msgstr "还需注意,每个输入文件有其自己的一组轨道 ID。因此通过 '<literal>mkvmerge --identify</literal>' 报告的文件 '<filename>文件1.扩展名</filename>' 的轨道 ID 不随其他输入文件的数量或 '<filename>文件1.扩展名</filename>' 所用到的位置变化。" + +#. type: Content of: <refentry><refsect1><para> +#: doc/man/mkvmerge.xml:1622 msgid "Track IDs are assigned like this:" msgstr "轨道 ID 通常这样分配:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1486 -msgid "" -"<abbrev>AVI</abbrev> files: The video track has the ID 0. The audio tracks " -"get IDs in ascending order starting at 1." -msgstr "" -"<abbrev>AVI</abbrev> 文件: 视频轨 ID 为 0。音频轨的 ID 由 1 开始升序分配。" +#: doc/man/mkvmerge.xml:1628 +msgid "<abbrev>AVI</abbrev> files: The video track has the ID 0. The audio tracks get IDs in ascending order starting at 1." +msgstr "<abbrev>AVI</abbrev> 文件: 视频轨 ID 为 0。音频轨的 ID 由 1 开始升序分配。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1492 -msgid "" -"<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, " -"<abbrev>SRT</abbrev> and <abbrev>WAV</abbrev> files: The one 'track' in that " -"file gets the ID 0." -msgstr "" -"<abbrev>AAC</abbrev>、<abbrev>AC3</abbrev>、<abbrev>MP3</abbrev>、" -"<abbrev>SRT</abbrev> 与 <abbrev>WAV</abbrev> 文件: 此类文件中唯一的 '轨道' " -"的 ID 为 0。" +#: doc/man/mkvmerge.xml:1634 +msgid "<abbrev>MP4</abbrev> files: As output from x264, the video track has the ID 1." +msgstr "<abbrev>MP4</abbrev> 文件: 如 x264 所输出的文件,视频轨 ID 为 1。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1499 -msgid "" -"Ogg/<abbrev>OGM</abbrev> files: The track IDs are assigned in order the " -"tracks are found in the file starting at 0." -msgstr "" -"Ogg/<abbrev>OGM</abbrev> 文件: 轨道 ID 按在文件中被找到的顺序由 0 开始分配。" +#: doc/man/mkvmerge.xml:1640 +msgid "<abbrev>AAC</abbrev>, <abbrev>AC3</abbrev>, <abbrev>MP3</abbrev>, <abbrev>SRT</abbrev> and <abbrev>WAV</abbrev> files: The one 'track' in that file gets the ID 0." +msgstr "<abbrev>AAC</abbrev>、<abbrev>AC3</abbrev>、<abbrev>MP3</abbrev>、<abbrev>SRT</abbrev> 与 <abbrev>WAV</abbrev> 文件: 此类文件中唯一的 '轨道' 的 ID 为 0。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1505 -msgid "" -"&matroska; files: The track's ID is the track number as reported by " -"&mkvinfo;. It is <emphasis>not</emphasis> the track UID." -msgstr "" -"&matroska; 文件: 轨道 ID 与 &mkvinfo; 所报告的相同。注意 <emphasis>不是</" -"emphasis> 轨道 UID。" +#: doc/man/mkvmerge.xml:1647 +msgid "Ogg/<abbrev>OGM</abbrev> files: The track IDs are assigned in order the tracks are found in the file starting at 0." +msgstr "Ogg/<abbrev>OGM</abbrev> 文件: 轨道 ID 按在文件中被找到的顺序由 0 开始分配。" + +#. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> +#: doc/man/mkvmerge.xml:1653 +msgid "&matroska; files: The track's ID is the track number as reported by &mkvinfo;. It is <emphasis>not</emphasis> the track UID." +msgstr "&matroska; 文件: 轨道 ID 与 &mkvinfo; 所报告的相同。注意 <emphasis>不是</emphasis> 轨道 UID。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1511 -msgid "" -"The special track ID '<constant>-1</constant>' is a wild card and applies " -"the given switch to all tracks that are read from an input file." -msgstr "" -"特殊的轨道 ID '<constant>-1</constant>' 是个百搭号,它将使给定的开关应用到从" -"输入文件中读到的所有轨道。" +#: doc/man/mkvmerge.xml:1659 +msgid "The special track ID '<constant>-1</constant>' is a wild card and applies the given switch to all tracks that are read from an input file." +msgstr "特殊的轨道 ID '<constant>-1</constant>' 是个百搭号,它将使给定的开关应用到从输入文件中读到的所有轨道。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1516 -msgid "" -"The options that use the track IDs are the ones whose description contains " -"'<literal>TID</literal>'. The following options use track IDs as well: " -"<option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</" -"option> and <option>--btracks</option>." -msgstr "" -"使用轨道 ID 的选项的描述中均含有 '<literal>TID</literal>'。此外下列选项也使用" -"轨道 ID: <option>--atracks</option>、<option>--vtracks</option>、<option>--" -"stracks</option> 以及 <option>--btracks</option>。" +#: doc/man/mkvmerge.xml:1664 +msgid "The options that use the track IDs are the ones whose description contains '<literal>TID</literal>'. The following options use track IDs as well: <option>--atracks</option>, <option>--vtracks</option>, <option>--stracks</option> and <option>--btracks</option>." +msgstr "使用轨道 ID 的选项的描述中均含有 '<literal>TID</literal>'。此外下列选项也使用轨道 ID: <option>--atracks</option>、<option>--vtracks</option>、<option>--stracks</option> 以及 <option>--btracks</option>。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1523 +#: doc/man/mkvmerge.xml:1671 msgid "Text files and character set conversions" msgstr "文本文件与字符集转换" #. type: Content of: <refentry><refsect1><note><para> -#: doc/man/mkvmerge.xml:1526 -msgid "" -"This section applies to all programs in MKVToolNix even if it only mentions " -"&mkvmerge;." +#: doc/man/mkvmerge.xml:1674 +msgid "This section applies to all programs in MKVToolNix even if it only mentions &mkvmerge;." msgstr "此段落可应用到 MKVToolNix 中的所有程序,尽管该段仅提及了 &mkvmerge;。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1531 -msgid "" -"All text in a &matroska; file is encoded in UTF-8. This means that " -"&mkvmerge; has to convert every text file it reads as well as every text " -"given on the command line from one character set into UTF-8. In return this " -"also means that &mkvmerge;'s output has to be converted back to that " -"character set from UTF-8, e.g. if a non-English translation is used with " -"<link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</" -"option></link> or for text originating from a &matroska; file." -msgstr "" -"&matroska; 文件中的所有文本均使用 UTF-8 编码。这意味着 &mkvmerge; 需要将读取" -"到的文本文件以及从命令行收到的文本从其他字符集转换为 UTF-8。相反,这意味着 " -"&mkvmerge; 的输出信息同样需要由 UTF-8 转回原来的字符集,例如来自 <link " -"linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></" -"link> 所选的非英语界面或来自 &matroska; 文件中的文本。" +#: doc/man/mkvmerge.xml:1679 +msgid "All text in a &matroska; file is encoded in UTF-8. This means that &mkvmerge; has to convert every text file it reads as well as every text given on the command line from one character set into UTF-8. In return this also means that &mkvmerge;'s output has to be converted back to that character set from UTF-8, e.g. if a non-English translation is used with <link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></link> or for text originating from a &matroska; file." +msgstr "&matroska; 文件中的所有文本均使用 UTF-8 编码。这意味着 &mkvmerge; 需要将读取到的文本文件以及从命令行收到的文本从其他字符集转换为 UTF-8。相反,这意味着 &mkvmerge; 的输出信息同样需要由 UTF-8 转回原来的字符集,例如来自 <link linkend=\"mkvmerge.description.ui_language\"><option>--ui-language</option></link> 所选的非英语界面或来自 &matroska; 文件中的文本。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1538 -msgid "" -"&mkvmerge; does this conversion automatically based on the presence of a " -"<foreignphrase>byte order marker</foreignphrase> (short: <abbrev>BOM</" -"abbrev>) or the system's current locale. How the character set is inferred " -"from the locale depends on the operating system that &mkvmerge; is run on." -msgstr "" -"&mkvmerge; 根据是否有 <foreignphrase>字节顺序标记</foreignphrase> (英文缩写: " -"<abbrev>BOM</abbrev>) 出现以及系统的当前区域来进行自动转换。如何根据区域推定" -"字符集取决于 &mkvmerge; 所执行在的操作系统。" +#: doc/man/mkvmerge.xml:1686 +msgid "&mkvmerge; does this conversion automatically based on the presence of a <foreignphrase>byte order marker</foreignphrase> (short: <abbrev>BOM</abbrev>) or the system's current locale. How the character set is inferred from the locale depends on the operating system that &mkvmerge; is run on." +msgstr "&mkvmerge; 根据是否有 <foreignphrase>字节顺序标记</foreignphrase> (英文缩写: <abbrev>BOM</abbrev>) 出现以及系统的当前区域来进行自动转换。如何根据区域推定字符集取决于 &mkvmerge; 所执行在的操作系统。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1544 -msgid "" -"Text files that start with a BOM are already encoded in one representation " -"of UTF. &mkvmerge; supports the following five modes: UTF-8, UTF-16 Little " -"and Big Endian, UTF-32 Little and Big Endian. Text files with a BOM are " -"automatically converted to UTF-8. Any of the parameters that would otherwise " -"set the character set for such a file (e.g. <link linkend=\"mkvmerge." -"description.sub_charset\"><option>--sub-charset</option></link>) is silently " -"ignored." -msgstr "" -"以 BOM 开头的文本文件已经使用一种 UTF 模式编码。&mkvmerge; 支持以下五种模式: " -"UTF-8、UTF-16 小端序 及 大端序、UTF-32 小端序 及 大端序。含 BOM 的文本文件将" -"被自动转换为 UTF-8。对此类文件设定字符集的参数 (如 <link linkend=\"mkvmerge." -"description.sub_charset\"><option>--sub-charset</option></link>) 将被直接忽" -"略,无通知。" +#: doc/man/mkvmerge.xml:1692 +msgid "Text files that start with a BOM are already encoded in one representation of UTF. &mkvmerge; supports the following five modes: UTF-8, UTF-16 Little and Big Endian, UTF-32 Little and Big Endian. Text files with a BOM are automatically converted to UTF-8. Any of the parameters that would otherwise set the character set for such a file (e.g. <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>) is silently ignored." +msgstr "以 BOM 开头的文本文件已经使用一种 UTF 模式编码。&mkvmerge; 支持以下五种模式: UTF-8、UTF-16 小端序 及 大端序、UTF-32 小端序 及 大端序。含 BOM 的文本文件将被自动转换为 UTF-8。对此类文件设定字符集的参数 (如 <link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link>) 将被直接忽略,无通知。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1551 -msgid "" -"On Unix-like systems &mkvmerge; uses the " -"<citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</" -"manvolnum></citerefentry> system call which in turn uses the environment " -"variables <varname>LANG</varname>, <varname>LC_ALL</varname> and " -"<varname>LC_CYPE</varname>. The resulting character set is often one of UTF-" -"8 or the ISO-8859-* family and is used for all text file operations and for " -"encoding strings on the command line and for output to the console." -msgstr "" -"在 类-Unix 系统 &mkvmerge; 将使用 <citerefentry><refentrytitle>setlocale</" -"refentrytitle><manvolnum>3</manvolnum></citerefentry> 系统指令,它将返回环境" -"变量 <varname>LANG</varname>、<varname>LC_ALL</varname> 及 <varname>LC_CYPE</" -"varname>。输出的字符集通常是 UTF-8 或 ISO-8859-* 家族之一,将被用于所有文本文" -"件操作以及编码命令行上的字符串和输出到命令行。" +#: doc/man/mkvmerge.xml:1699 +msgid "On Unix-like systems &mkvmerge; uses the <citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry> system call which in turn uses the environment variables <varname>LANG</varname>, <varname>LC_ALL</varname> and <varname>LC_CYPE</varname>. The resulting character set is often one of UTF-8 or the ISO-8859-* family and is used for all text file operations and for encoding strings on the command line and for output to the console." +msgstr "在 类-Unix 系统 &mkvmerge; 将使用 <citerefentry><refentrytitle>setlocale</refentrytitle><manvolnum>3</manvolnum></citerefentry> 系统指令,它将返回环境变量 <varname>LANG</varname>、<varname>LC_ALL</varname> 及 <varname>LC_CYPE</varname>。输出的字符集通常是 UTF-8 或 ISO-8859-* 家族之一,将被用于所有文本文件操作以及编码命令行上的字符串和输出到命令行。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1558 -msgid "" -"On Windows there are actually two different character sets that &mkvmerge; " -"uses due to the way the Windows shell program <command>cmd.exe</command> is " -"implemented. The first character set is determined by a call to the " -"<function>GetCP()</function> system call. This character set is used as the " -"default for text file conversions and for all elements displayed by the " -"<abbrev>GUI</abbrev> programs in the MKVToolNix package. <command>cmd.exe</" -"command> uses another character set which is determined by a call to the " -"<function>GetACP()</function> system call. This is the default character set " -"for all strings read from the command line and for all strings output to the " -"console." -msgstr "" -"在 Windows 上 &mkvmerge; 实际上使用两种不同的字符集,因为要执行 Windows " -"shell 程序 <command>cmd.exe</command>。第一个字符集由 <function>GetCP()</" -"function> 系统指令决定。此字符集用作文本文件转换和 MKVToolNix 工具包中 " -"<abbrev>GUI</abbrev> 程序所显示的所有元素的默认字符集。<command>cmd.exe</" -"command> 使用另一个字符集,由 <function>GetACP()</function> 系统指令决定。这" -"是命令行读入的所有字符串以及输出到命令行的所有字符串的默认字符集。" +#: doc/man/mkvmerge.xml:1706 +msgid "On Windows there are actually two different character sets that &mkvmerge; uses due to the way the Windows shell program <command>cmd.exe</command> is implemented. The first character set is determined by a call to the <function>GetCP()</function> system call. This character set is used as the default for text file conversions and for all elements displayed by the <abbrev>GUI</abbrev> programs in the MKVToolNix package. <command>cmd.exe</command> uses another character set which is determined by a call to the <function>GetACP()</function> system call. This is the default character set for all strings read from the command line and for all strings output to the console." +msgstr "在 Windows 上 &mkvmerge; 实际上使用两种不同的字符集,因为要执行 Windows shell 程序 <command>cmd.exe</command>。第一个字符集由 <function>GetCP()</function> 系统指令决定。此字符集用作文本文件转换和 MKVToolNix 工具包中 <abbrev>GUI</abbrev> 程序所显示的所有元素的默认字符集。<command>cmd.exe</command> 使用另一个字符集,由 <function>GetACP()</function> 系统指令决定。这是命令行读入的所有字符串以及输出到命令行的所有字符串的默认字符集。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1567 +#: doc/man/mkvmerge.xml:1715 msgid "The following options exist that allow specifying the character sets:" msgstr "现有下述选项支持指定字符集:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1573 -msgid "" -"<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</" -"option></link> for text subtitle files and for text subtitle tracks stored " -"in container formats for which the character set cannot be determined " -"unambiguously (e.g. Ogg files)," -msgstr "" -"<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</" -"option></link> 用于文本字幕文件以及存储于字符集含糊的容器格式(如 Ogg 文件)" -"中的文本字幕轨," +#: doc/man/mkvmerge.xml:1721 +msgid "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link> for text subtitle files and for text subtitle tracks stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files)," +msgstr "<link linkend=\"mkvmerge.description.sub_charset\"><option>--sub-charset</option></link> 用于文本字幕文件以及存储于字符集含糊的容器格式(如 Ogg 文件)中的文本字幕轨," #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1580 -msgid "" -"<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-" -"charset</option></link> for chapter text files and for chapters and file " -"titles stored in container formats for which the character set cannot be " -"determined unambiguously (e.g. Ogg files for chapter information, track and " -"file titles etc; MP4 files for chapter information)," -msgstr "" -"<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-" -"charset</option></link> 用于章节文本文件以及存储于字符集含糊的容器格式(如 " -"Ogg 文件的章节信息,轨道和文件标题等;MP4 文件的章节信息)中的章节和文件标题," +#: doc/man/mkvmerge.xml:1728 +msgid "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link> for chapter text files and for chapters and file titles stored in container formats for which the character set cannot be determined unambiguously (e.g. Ogg files for chapter information, track and file titles etc; MP4 files for chapter information)," +msgstr "<link linkend=\"mkvmerge.description.chapter_charset\"><option>--chapter-charset</option></link> 用于章节文本文件以及存储于字符集含糊的容器格式(如 Ogg 文件的章节信息,轨道和文件标题等;MP4 文件的章节信息)中的章节和文件标题," #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1588 -msgid "" -"<link linkend=\"mkvmerge.description.command_line_charset\"><option>--" -"command-line-charset</option></link> for all strings on the command line," -msgstr "" -"<link linkend=\"mkvmerge.description.command_line_charset\"><option>--" -"command-line-charset</option></link> 用于所有命令行上的字符串," +#: doc/man/mkvmerge.xml:1736 +msgid "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link> for all strings on the command line," +msgstr "<link linkend=\"mkvmerge.description.command_line_charset\"><option>--command-line-charset</option></link> 用于所有命令行上的字符串," #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1595 -msgid "" -"<link linkend=\"mkvmerge.description.output_charset\"><option>--output-" -"charset</option></link> for all strings written to the console or to a file " -"if the output has been redirected with the <link linkend=\"mkvmerge." -"description.redirect_output\"><option>--redirect-output</option></link> " -"option." -msgstr "" -"<link linkend=\"mkvmerge.description.output_charset\"><option>--output-" -"charset</option></link> 用于输出到命令行或文件(当使用 <link linkend=" -"\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></" -"link> 选项重定向输出时)的字符串。" +#: doc/man/mkvmerge.xml:1743 +msgid "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> for all strings written to the console or to a file if the output has been redirected with the <link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link> option." +msgstr "<link linkend=\"mkvmerge.description.output_charset\"><option>--output-charset</option></link> 用于输出到命令行或文件(当使用 <link linkend=\"mkvmerge.description.redirect_output\"><option>--redirect-output</option></link> 选项重定向输出时)的字符串。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1604 +#: doc/man/mkvmerge.xml:1764 msgid "Subtitles" msgstr "Subtitles" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1606 -msgid "" -"There are several text subtitle formats that can be embedded into " -"&matroska;. At the moment &mkvmerge; supports only text, VobSub and Kate " -"subtitle formats. Text subtitles must be recoded to UTF-8 so that they can " -"be displayed correctly by a player (see the section about <link linkend=" -"\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> " -"for an explanation how &mkvmerge; converts between character sets). Kate " -"subtitles are already encoded in UTF-8 and do not have to be re-encoded." -msgstr "" -"可在 &matroska; 文件中嵌入多种文本字幕格式目前 &mkvmerge; 支持纯文本、VobSub " -"以及 Kate 字幕格式。文本字幕将被重新编码为 UTF-8 以确保播放器能准确显示(关" -"于 &mkvmerge; 如何在字符集间进行转换的说明请参见关于 <link linkend=" -"\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 的段落)。Kate " -"字幕已经是 UTF-8 编码,因此不会被重新编码。" +#: doc/man/mkvmerge.xml:1766 +msgid "There are several text subtitle formats that can be embedded into &matroska;. At the moment &mkvmerge; supports only text, VobSub and Kate subtitle formats. Text subtitles must be recoded to UTF-8 so that they can be displayed correctly by a player (see the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets). Kate subtitles are already encoded in UTF-8 and do not have to be re-encoded." +msgstr "可在 &matroska; 文件中嵌入多种文本字幕格式目前 &mkvmerge; 支持纯文本、VobSub 以及 Kate 字幕格式。文本字幕将被重新编码为 UTF-8 以确保播放器能准确显示(关于 &mkvmerge; 如何在字符集间进行转换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 的段落)。Kate 字幕已经是 UTF-8 编码,因此不会被重新编码。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1613 +#: doc/man/mkvmerge.xml:1773 msgid "The following subtitle formats are supported at the moment:" msgstr "目前支持以下字幕格式:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1619 +#: doc/man/mkvmerge.xml:1779 msgid "Subtitle Ripper (SRT) files" msgstr "Subtitle Ripper (SRT) 文件" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1625 +#: doc/man/mkvmerge.xml:1785 msgid "Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)" msgstr "Substation Alpha (SSA) / 高级 Substation Alpha 脚本 (ASS)" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1631 +#: doc/man/mkvmerge.xml:1791 msgid "OggKate streams" msgstr "OggKate 流" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1637 +#: doc/man/mkvmerge.xml:1797 msgid "VobSub bitmap subtitle files" msgstr "VobSub 位图字幕文件" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1644 +#: doc/man/mkvmerge.xml:1804 msgid "File linking" msgstr "文件链接" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1646 -msgid "" -"&matroska; supports file linking which simply says that a specific file is " -"the predecessor or successor of the current file. To be precise, it's not " -"really the files that are linked but the &matroska; segments. As most files " -"will probably only contain one &matroska; segment the following explanations " -"use the term 'file linking' although 'segment linking' would be more " -"appropriate." -msgstr "" -"&matroska; 支持文件链接,即声明当前文件的前趋与后继文件是哪个文件。严谨地讲," -"被连接的不是文件而是 &matroska; 剪辑。鉴于大多数文件只含有一个 &matroska; 剪" -"辑,以下说明中将使用术语 '文件链接',尽管 '剪辑链接' 更为贴切。" +#: doc/man/mkvmerge.xml:1806 +msgid "&matroska; supports file linking which simply says that a specific file is the predecessor or successor of the current file. To be precise, it's not really the files that are linked but the &matroska; segments. As most files will probably only contain one &matroska; segment the following explanations use the term 'file linking' although 'segment linking' would be more appropriate." +msgstr "&matroska; 支持文件链接,即声明当前文件的前趋与后继文件是哪个文件。严谨地讲,被连接的不是文件而是 &matroska; 剪辑。鉴于大多数文件只含有一个 &matroska; 剪辑,以下说明中将使用术语 '文件链接',尽管 '剪辑链接' 更为贴切。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1652 -msgid "" -"Each segment is identified by a unique 128 bit wide segment UID. This UID is " -"automatically generated by &mkvmerge;. The linking is done primarily via " -"putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next " -"file into the segment header information. &mkvinfo; prints these " -"<abbrev>SIDs</abbrev> if it finds them." -msgstr "" -"各剪辑由唯一的 128 位宽的剪辑 UID 确定。此 UID 是由 &mkvmerge; 自动创建的。链" -"接主要通过将前后文件的剪辑 UID (英文缩写: <abbrev>SID</abbrev>) 置于剪辑头部" -"信息中完成。&mkvinfo; 会在找到 <abbrev>SID</abbrev> 时输出它们。" +#: doc/man/mkvmerge.xml:1812 +msgid "Each segment is identified by a unique 128 bit wide segment UID. This UID is automatically generated by &mkvmerge;. The linking is done primarily via putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next file into the segment header information. &mkvinfo; prints these <abbrev>SIDs</abbrev> if it finds them." +msgstr "各剪辑由唯一的 128 位宽的剪辑 UID 确定。此 UID 是由 &mkvmerge; 自动创建的。链接主要通过将前后文件的剪辑 UID (英文缩写: <abbrev>SID</abbrev>) 置于剪辑头部信息中完成。&mkvinfo; 会在找到 <abbrev>SID</abbrev> 时输出它们。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1658 -msgid "" -"If a file is split into several smaller ones and linking is used then the " -"timecodes will not start at 0 again but will continue where the last file " -"has left off. This way the absolute time is kept even if the previous files " -"are not available (e.g. when streaming). If no linking is used then the " -"timecodes should start at 0 for each file. By default &mkvmerge; does not " -"use file linking. If you want that you can turn it on with the <option>--" -"link</option> option. This option is only useful if splitting is activated " -"as well." -msgstr "" -"如果文件被切割为多段,且启用了链接功能,则文件的时间码不会重新从 0 开始,而是" -"会从上一个文件结束的地方继续计算。这样可以保留绝对时间,即使之前的文件不可用 " -"(如进行流式处理时)。如果未使用链接功能,各文件的时间码应从 0 开始。" -"&mkvmerge; 默认不启用文件链接。如果您希望启用,可以通过 <option>--link</" -"option> 选项打开。此选项仅当同时启用切割功能时有用。" +#: doc/man/mkvmerge.xml:1818 +msgid "If a file is split into several smaller ones and linking is used then the timecodes will not start at 0 again but will continue where the last file has left off. This way the absolute time is kept even if the previous files are not available (e.g. when streaming). If no linking is used then the timecodes should start at 0 for each file. By default &mkvmerge; does not use file linking. If you want that you can turn it on with the <option>--link</option> option. This option is only useful if splitting is activated as well." +msgstr "如果文件被切割为多段,且启用了链接功能,则文件的时间码不会重新从 0 开始,而是会从上一个文件结束的地方继续计算。这样可以保留绝对时间,即使之前的文件不可用 (如进行流式处理时)。如果未使用链接功能,各文件的时间码应从 0 开始。&mkvmerge; 默认不启用文件链接。如果您希望启用,可以通过 <option>--link</option> 选项打开。此选项仅当同时启用切割功能时有用。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1665 -msgid "" -"Regardless of whether splitting is active or not the user can tell " -"&mkvmerge; to link the produced files to specific <abbrev>SIDs</abbrev>. " -"This is achieved with the options <option>--link-to-previous</option> and " -"<option>--link-to-next</option>. These options accept a segment " -"<abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal " -"numbers between <constant>0x00</constant> and <constant>0xff</constant> " -"prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 " -"0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. " -"Alternatively a shorter form can be used: 16 hexadecimal numbers between " -"<constant>0x00</constant> and <constant>0xff</constant> without the " -"'<literal>0x</literal>' prefixes and without the spaces, e.g. " -"'<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." -msgstr "" -"无论是否开启了切割功能,用户都可以让 &mkvmerge; 将生成的文件与指定的 " -"<abbrev>SID</abbrev> 建立链接。可通过 <option>--link-to-previous</option> 与 " -"<option>--link-to-next</option> 选项实现。 这些选项只接受 &mkvinfo; 所输出的 " -"<abbrev>SID</abbrev> 格式: 16 个 <constant>0x00</constant> 与 " -"<constant>0xff</constant> 之间的十六进制数,各数字带有 '<literal>0x</" -"literal>' 前缀,如 '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae " -"0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'。还可以选用另一种较短的格式: " -"16 个 <constant>0x00</constant> 与<constant>0xff</constant> 之间的十六进制" -"数,无 '<literal>0x</literal>' 前缀,无空格,如 " -"'<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'。" +#: doc/man/mkvmerge.xml:1825 +msgid "Regardless of whether splitting is active or not the user can tell &mkvmerge; to link the produced files to specific <abbrev>SIDs</abbrev>. This is achieved with the options <option>--link-to-previous</option> and <option>--link-to-next</option>. These options accept a segment <abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Alternatively a shorter form can be used: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> without the '<literal>0x</literal>' prefixes and without the spaces, e.g. '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'." +msgstr "无论是否开启了切割功能,用户都可以让 &mkvmerge; 将生成的文件与指定的 <abbrev>SID</abbrev> 建立链接。可通过 <option>--link-to-previous</option> 与 <option>--link-to-next</option> 选项实现。 这些选项只接受 &mkvinfo; 所输出的 <abbrev>SID</abbrev> 格式: 16 个 <constant>0x00</constant> 与 <constant>0xff</constant> 之间的十六进制数,各数字带有 '<literal>0x</literal>' 前缀,如 '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'。还可以选用另一种较短的格式: 16 个 <constant>0x00</constant> 与<constant>0xff</constant> 之间的十六进制数,无 '<literal>0x</literal>' 前缀,无空格,如 '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1675 -msgid "" -"If splitting is used then the first file is linked to the <abbrev>SID</" -"abbrev> given with <option>--link-to-previous</option> and the last file is " -"linked to the <abbrev>SID</abbrev> given with <option>--link-to-next</" -"option>. If splitting is not used then the one output file will be linked to " -"both of the two <abbrev>SIDs</abbrev>." -msgstr "" -"如果启用了切割功能,第一个文件将与通过 <option>--link-to-previous</option> 给" -"定的 <abbrev>SID</abbrev> 建立链接,而最后一个文件将与通过 <option>--link-to-" -"next</option> 给定的 <abbrev>SID</abbrev> 建立链接。如果未启用切割功能,唯一" -"的输出文件将同时与给定的两个 <abbrev>SID</abbrev> 建立链接。" +#: doc/man/mkvmerge.xml:1835 +msgid "If splitting is used then the first file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-previous</option> and the last file is linked to the <abbrev>SID</abbrev> given with <option>--link-to-next</option>. If splitting is not used then the one output file will be linked to both of the two <abbrev>SIDs</abbrev>." +msgstr "如果启用了切割功能,第一个文件将与通过 <option>--link-to-previous</option> 给定的 <abbrev>SID</abbrev> 建立链接,而最后一个文件将与通过 <option>--link-to-next</option> 给定的 <abbrev>SID</abbrev> 建立链接。如果未启用切割功能,唯一的输出文件将同时与给定的两个 <abbrev>SID</abbrev> 建立链接。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1682 +#: doc/man/mkvmerge.xml:1842 msgid "Default values" msgstr "默认值" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1684 -msgid "" -"The &matroska; specification states that some elements have a default value. " -"Usually an element is not written to the file if its value is equal to its " -"default value in order to save space. The elements that the user might miss " -"in &mkvinfo;'s output are the <parameter>language</parameter> and the " -"<parameter>default track flag</parameter> elements. The default value for " -"the <parameter>language</parameter> is English ('<literal>eng</literal>'), " -"and the default value for the <parameter>default track flag</parameter> is " -"<parameter>true</parameter>. Therefore if you used <option>--language 0:eng</" -"option> for a track then it will not show up in &mkvinfo;'s output." -msgstr "" -"&matroska; 规范提到,一些元素有其默认值。通常为了节省空间,如果一个元素的值等" -"同于其默认值,它将不被写入文件。用户在 &mkvinfo; 的输出信息中可能发现缺失的元" -"素有 <parameter>语言</parameter> 和 <parameter>默认轨标记</parameter>。 " -"<parameter>语言</parameter> 的默认值是 English ('<literal>eng</literal>')," -"<parameter>默认轨标记</parameter> 的默认值是 <parameter>true</parameter>。因" -"此如果您对一条轨道应用选项 <option>--language 0:eng</option> ,它将不在 " -"&mkvinfo; 的输出信息中显示。" +#: doc/man/mkvmerge.xml:1844 +msgid "The &matroska; specification states that some elements have a default value. Usually an element is not written to the file if its value is equal to its default value in order to save space. The elements that the user might miss in &mkvinfo;'s output are the <parameter>language</parameter> and the <parameter>default track flag</parameter> elements. The default value for the <parameter>language</parameter> is English ('<literal>eng</literal>'), and the default value for the <parameter>default track flag</parameter> is <parameter>true</parameter>. Therefore if you used <option>--language 0:eng</option> for a track then it will not show up in &mkvinfo;'s output." +msgstr "&matroska; 规范提到,一些元素有其默认值。通常为了节省空间,如果一个元素的值等同于其默认值,它将不被写入文件。用户在 &mkvinfo; 的输出信息中可能发现缺失的元素有 <parameter>语言</parameter> 和 <parameter>默认轨标记</parameter>。 <parameter>语言</parameter> 的默认值是 English ('<literal>eng</literal>'),<parameter>默认轨标记</parameter> 的默认值是 <parameter>true</parameter>。因此如果您对一条轨道应用选项 <option>--language 0:eng</option> ,它将不在 &mkvinfo; 的输出信息中显示。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1696 -msgid "" -"Maybe you also want to keep some photos along with your &matroska; file, or " -"you're using <abbrev>SSA</abbrev> subtitles and need a special " -"<productname>TrueType</productname> font that's really rare. In these cases " -"you can attach those files to the &matroska; file. They will not be just " -"appended to the file but embedded in it. A player can then show those files " -"(the 'photos' case) or use them to render the subtitles (the " -"'<productname>TrueType</productname> fonts' case)." -msgstr "" -"或许您希望将一些照片与您的 &matroska; 文件一起存放,或者您正在使用 " -"<abbrev>SSA</abbrev> 字幕,需要一个非常稀有的特殊 <productname>TrueType</" -"productname> 字体。这种情况下您可以将这些文件附加到 &matroska; 文件中。它们不" -"会被追加到文件当中,而是被嵌入到文件中。然后播放器就可以显示这些文件 (如 '照" -"片' 一例) 或者用它们来渲染字幕 (如 '<productname>TrueType</productname> 字" -"体' 一例)。" +#: doc/man/mkvmerge.xml:1856 +msgid "Maybe you also want to keep some photos along with your &matroska; file, or you're using <abbrev>SSA</abbrev> subtitles and need a special <productname>TrueType</productname> font that's really rare. In these cases you can attach those files to the &matroska; file. They will not be just appended to the file but embedded in it. A player can then show those files (the 'photos' case) or use them to render the subtitles (the '<productname>TrueType</productname> fonts' case)." +msgstr "或许您希望将一些照片与您的 &matroska; 文件一起存放,或者您正在使用 <abbrev>SSA</abbrev> 字幕,需要一个非常稀有的特殊 <productname>TrueType</productname> 字体。这种情况下您可以将这些文件附加到 &matroska; 文件中。它们不会被追加到文件当中,而是被嵌入到文件中。然后播放器就可以显示这些文件 (如 '照片' 一例) 或者用它们来渲染字幕 (如 '<productname>TrueType</productname> 字体' 一例)。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1703 -msgid "" -"Here's an example how to attach a photo and a <productname>TrueType</" -"productname> font to the output file:" -msgstr "" -"这是关于如何在输出文件中附加照片和 <productname>TrueType</productname> 字体的" -"示例:" +#: doc/man/mkvmerge.xml:1863 +msgid "Here's an example how to attach a photo and a <productname>TrueType</productname> font to the output file:" +msgstr "这是关于如何在输出文件中附加照片和 <productname>TrueType</productname> 字体的示例:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1707 +#: doc/man/mkvmerge.xml:1867 #, no-wrap msgid "" "$ mkvmerge -o output.mkv -A video.avi sound.ogg --attachment-description \"Me and the band behind the stage in a small get-together\" --attachment-mime-type image/jpeg --attach-file me_and_the_band.jpg --attachment-description \"The real rare and unbelievably good looking font\" --attachment-type application/octet-stream --attach-file really_cool_font.ttf\n" @@ -4190,64 +2854,32 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1711 -msgid "" -"If a &matroska; containing attachments file is used as an input file then " -"&mkvmerge; will copy the attachments into the new file. The selection which " -"attachments are copied and which are not can be changed with the options " -"<link linkend=\"mkvmerge.description.attachments\"><option>--attachments</" -"option></link> and <link linkend=\"mkvmerge.description.no_attachments" -"\"><option>--no-attachments</option></link>." -msgstr "" -"如果含有附件的 &matroska; 文件被用作输入文件,&mkvmerge; 会将附件复制到新文件" -"中。要复制哪些文件、不复制那些文件的选择可以通过 <link linkend=\"mkvmerge." -"description.attachments\"><option>--attachments</option></link> 与 <link " -"linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</" -"option></link> 选项修改。" +#: doc/man/mkvmerge.xml:1871 +msgid "If a &matroska; containing attachments file is used as an input file then &mkvmerge; will copy the attachments into the new file. The selection which attachments are copied and which are not can be changed with the options <link linkend=\"mkvmerge.description.attachments\"><option>--attachments</option></link> and <link linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</option></link>." +msgstr "如果含有附件的 &matroska; 文件被用作输入文件,&mkvmerge; 会将附件复制到新文件中。要复制哪些文件、不复制那些文件的选择可以通过 <link linkend=\"mkvmerge.description.attachments\"><option>--attachments</option></link> 与 <link linkend=\"mkvmerge.description.no_attachments\"><option>--no-attachments</option></link> 选项修改。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1721 -msgid "" -"The &matroska; chapter system is more powerful than the old known system " -"used by <abbrev>OGM</abbrev> files. The full specifications can be found at " -"<ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." -msgstr "" -"&matroska; 章节系统比大家知道的旧系统—— <abbrev>OGM</abbrev> 中所使用的——更为" -"强大。完整的规范可以在 <ulink url=\"http://www.matroska.org/\">&matroska; 网" -"站</ulink> 找到。" +#: doc/man/mkvmerge.xml:1881 +msgid "The &matroska; chapter system is more powerful than the old known system used by <abbrev>OGM</abbrev> files. The full specifications can be found at <ulink url=\"http://www.matroska.org/\">the &matroska; website</ulink>." +msgstr "&matroska; 章节系统比大家知道的旧系统—— <abbrev>OGM</abbrev> 中所使用的——更为强大。完整的规范可以在 <ulink url=\"http://www.matroska.org/\">&matroska; 网站</ulink> 找到。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1726 -msgid "" -"&mkvmerge; supports two kinds of chapter files as its input. The first " -"format, called '<foreignphrase>simple chapter format</foreignphrase>', is " -"the same format that the <abbrev>OGM</abbrev> tools expect. The second " -"format is a &xml; based chapter format which supports all of &matroska;'s " -"chapter functionality." -msgstr "" -"&mkvmerge; 支持输入两种章节文件。第一种格式,叫作 '<foreignphrase>简单章节格" -"式</foreignphrase>',与 <abbrev>OGM</abbrev> tools 所用的相同。第二种是基于 " -"&xml; 的章节格式,它支持 &matroska; 的所有章节功能。" +#: doc/man/mkvmerge.xml:1886 +msgid "&mkvmerge; supports two kinds of chapter files as its input. The first format, called '<foreignphrase>simple chapter format</foreignphrase>', is the same format that the <abbrev>OGM</abbrev> tools expect. The second format is a &xml; based chapter format which supports all of &matroska;'s chapter functionality." +msgstr "&mkvmerge; 支持输入两种章节文件。第一种格式,叫作 '<foreignphrase>简单章节格式</foreignphrase>',与 <abbrev>OGM</abbrev> tools 所用的相同。第二种是基于 &xml; 的章节格式,它支持 &matroska; 的所有章节功能。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1732 +#: doc/man/mkvmerge.xml:1892 msgid "The simple chapter format" msgstr "简单章节格式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1735 -msgid "" -"This formmat consists of pairs of lines that start with " -"'<literal>CHAPTERxx=</literal>' and '<literal>CHAPTERxxNAME=</literal>' " -"respectively. The first one contains the start timecode while the second one " -"contains the title. Here's an example:" -msgstr "" -"此格式由成对的相继以 '<literal>CHAPTERxx=</literal>' 与 " -"'<literal>CHAPTERxxNAME=</literal>' 开头的行组成。单数行包含起始时间码,而双" -"数行包含标题。这是一个示例:" +#: doc/man/mkvmerge.xml:1895 +msgid "This formmat consists of pairs of lines that start with '<literal>CHAPTERxx=</literal>' and '<literal>CHAPTERxxNAME=</literal>' respectively. The first one contains the start timecode while the second one contains the title. Here's an example:" +msgstr "此格式由成对的相继以 '<literal>CHAPTERxx=</literal>' 与 '<literal>CHAPTERxxNAME=</literal>' 开头的行组成。单数行包含起始时间码,而双数行包含标题。这是一个示例:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1740 +#: doc/man/mkvmerge.xml:1900 #, no-wrap msgid "" "CHAPTER01=00:00:00.000\n" @@ -4267,41 +2899,27 @@ " " #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1749 -msgid "" -"&mkvmerge; will transform every pair or lines into one &matroska; " -"<classname>ChapterAtom</classname>. It does not set any " -"<classname>ChapterTrackNumber</classname> which means that the chapters all " -"apply to all tracks in the file." -msgstr "" -"&mkvmerge; 将转换每两行为一个 &matroska; <classname>章节单位(ChapterAtom)</" -"classname>。这种情况不会设定任何 <classname>章节轨道号(ChapterTrackNumber)" -"</classname>,也就是说所有章节被应用到文件的所有轨道。" +#: doc/man/mkvmerge.xml:1909 +msgid "&mkvmerge; will transform every pair or lines into one &matroska; <classname>ChapterAtom</classname>. It does not set any <classname>ChapterTrackNumber</classname> which means that the chapters all apply to all tracks in the file." +msgstr "&mkvmerge; 将转换每两行为一个 &matroska; <classname>章节单位(ChapterAtom)</classname>。这种情况不会设定任何 <classname>章节轨道号(ChapterTrackNumber)</classname>,也就是说所有章节被应用到文件的所有轨道。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1754 -msgid "" -"As this is a text file character set conversion may need to be done. See the " -"section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files " -"and character sets</link> for an explanation how &mkvmerge; converts between " -"character sets." -msgstr "" -"由于是文本文件,可能需要进行字符集转换。关于 &mkvmerge; 如何在字符集间进行转" -"换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文" -"件与字符集</link> 的段落。" +#: doc/man/mkvmerge.xml:1914 +msgid "As this is a text file character set conversion may need to be done. See the section about <link linkend=\"mkvmerge.text_files_and_charsets\"> text files and character sets</link> for an explanation how &mkvmerge; converts between character sets." +msgstr "由于是文本文件,可能需要进行字符集转换。关于 &mkvmerge; 如何在字符集间进行转换的说明请参见关于 <link linkend=\"mkvmerge.text_files_and_charsets\"> 文本文件与字符集</link> 的段落。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1761 +#: doc/man/mkvmerge.xml:1921 msgid "The &xml; based chapter format" msgstr "基于 &xml; 的章节格式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1763 +#: doc/man/mkvmerge.xml:1923 msgid "The &xml; based chapter format looks like this example:" msgstr "基于 &xml; 的章节格式看起来与这个示例类似:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1767 +#: doc/man/mkvmerge.xml:1927 #, no-wrap msgid "" "<?xml version="1.0" encoding="ISO-8859-1"?>\n" @@ -4353,181 +2971,87 @@ " " #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1792 -msgid "" -"With this format three things are possible that are not possible with the " -"simple chapter format:" +#: doc/man/mkvmerge.xml:1952 +msgid "With this format three things are possible that are not possible with the simple chapter format:" msgstr "使用此格式可以做到三件简单章节格式做不到的事:" #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1796 +#: doc/man/mkvmerge.xml:1956 msgid "The timestamp for the end of the chapter can be set," msgstr "可以设置章节终止处的时间戳," #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1797 +#: doc/man/mkvmerge.xml:1957 msgid "chapters can be nested," msgstr "章节可以嵌套," #. type: Content of: <refentry><refsect1><refsect2><orderedlist><listitem><para> -#: doc/man/mkvmerge.xml:1798 +#: doc/man/mkvmerge.xml:1958 msgid "the language and country can be set." msgstr "可以设置语言与国家。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1802 -msgid "" -"The mkvtoolnix distribution contains some sample files in the <filename>doc</" -"filename> subdirectory which can be used as a basis." -msgstr "" -"mkvtoolnix 分发包的 <filename>doc</filename> 子目录包含了一些典型示例文件。" +#: doc/man/mkvmerge.xml:1962 +msgid "The mkvtoolnix distribution contains some sample files in the <filename>doc</filename> subdirectory which can be used as a basis." +msgstr "mkvtoolnix 分发包的 <filename>doc</filename> 子目录包含了一些典型示例文件。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1807 +#: doc/man/mkvmerge.xml:1967 msgid "General notes" msgstr "一般性备注" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1809 -msgid "" -"When splitting files &mkvmerge; will correctly adjust the chapters as well. " -"This means that each file only includes the chapter entries that apply to " -"it, and that the timecodes will be offset to match the new timecodes of each " -"output file." -msgstr "" -"&mkvmerge; 切割文件时会同时适当调整章节。这意味着每个文件只包含应用到该文件的" -"章节项,时间码也将被调整到与各输出文件相匹配。" +#: doc/man/mkvmerge.xml:1969 +msgid "When splitting files &mkvmerge; will correctly adjust the chapters as well. This means that each file only includes the chapter entries that apply to it, and that the timecodes will be offset to match the new timecodes of each output file." +msgstr "&mkvmerge; 切割文件时会同时适当调整章节。这意味着每个文件只包含应用到该文件的章节项,时间码也将被调整到与各输出文件相匹配。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1814 -msgid "" -"&mkvmerge; is able to copy chapters from &matroska; source files unless this " -"is explicitly disabled with the <link linkend=\"mkvmerge.description." -"no_chapters\"><option>--no-chapters</option></link> option. The chapters " -"from all sources (&matroska; files, Ogg files, <abbrev>MP4</abbrev> files, " -"chapter text files) are usually not merged but end up in separate " -"<classname>ChapterEditions</classname>. Only if chapters are read from " -"several &matroska; or &xml; files that share the same edition UIDs will " -"chapters be merged into a single <classname>ChapterEdition</classname>. If " -"such a merge is desired in other situations as well then the user has to " -"extract the chapters from all sources with &mkvextract; first, merge the " -"&xml; files manually and mux them afterwards." -msgstr "" -"&mkvmerge; 能够从 &matroska; 源文件中复制章节,除非使用 <link linkend=" -"\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> 选" -"项明令禁用。来自各类来源 (&matroska; 文件、Ogg 文件、<abbrev>MP4</abbrev> 文" -"件、章节文本文件) 的章节通常不被合并,而是分成多个 <classname>ChapterEditions" -"(章节版本)</classname>。仅当从多个 &matroska; 或 &xml; 文件读取的章节具有相" -"同的版本 UID 时,章节才会被合并为单个 <classname>ChapterEdition</classname>。" -"如果在其他情况下需要此类合并,用户需要先用 &mkvextract; 从所有来源提取章节," -"手动合并 &xml; 文件然后再混流。" +#: doc/man/mkvmerge.xml:1974 +msgid "&mkvmerge; is able to copy chapters from &matroska; source files unless this is explicitly disabled with the <link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> option. The chapters from all sources (&matroska; files, Ogg files, <abbrev>MP4</abbrev> files, chapter text files) are usually not merged but end up in separate <classname>ChapterEditions</classname>. Only if chapters are read from several &matroska; or &xml; files that share the same edition UIDs will chapters be merged into a single <classname>ChapterEdition</classname>. If such a merge is desired in other situations as well then the user has to extract the chapters from all sources with &mkvextract; first, merge the &xml; files manually and mux them afterwards." +msgstr "&mkvmerge; 能够从 &matroska; 源文件中复制章节,除非使用 <link linkend=\"mkvmerge.description.no_chapters\"><option>--no-chapters</option></link> 选项明令禁用。来自各类来源 (&matroska; 文件、Ogg 文件、<abbrev>MP4</abbrev> 文件、章节文本文件) 的章节通常不被合并,而是分成多个 <classname>ChapterEditions(章节版本)</classname>。仅当从多个 &matroska; 或 &xml; 文件读取的章节具有相同的版本 UID 时,章节才会被合并为单个 <classname>ChapterEdition</classname>。如果在其他情况下需要此类合并,用户需要先用 &mkvextract; 从所有来源提取章节,手动合并 &xml; 文件然后再混流。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1829 +#: doc/man/mkvmerge.xml:1989 msgid "Introduction" msgstr "介绍" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1832 -msgid "" -"&matroska; supports an extensive set of tags that is deprecated and a new, " -"simpler system like it is is used in most other containers: " -"<parameter>KEY=VALUE</parameter>. However, in &matroska; these tags can also " -"be nested, and both the <parameter>KEY</parameter> and the <parameter>VALUE</" -"parameter> are elements of their own. The example file <filename>example-" -"tags-2.xml</filename> shows how to use this new system." -msgstr "" -"&matroska; 广泛支持废弃标签,还支持一种新式的、类似其他大多数容器使用的较简单" -"的标签系统: <parameter>KEY=VALUE</parameter>。然而,在 &matroska; 中这些标签" -"也可以嵌套,<parameter>KEY</parameter> 与 <parameter>VALUE</parameter> 都是属" -"于它们自身的元素。示例文件 <filename>example-tags-2.xml</filename> 展示了如何" -"使用这个新系统。" +#: doc/man/mkvmerge.xml:1992 +msgid "&matroska; supports an extensive set of tags that is deprecated and a new, simpler system like it is is used in most other containers: <parameter>KEY=VALUE</parameter>. However, in &matroska; these tags can also be nested, and both the <parameter>KEY</parameter> and the <parameter>VALUE</parameter> are elements of their own. The example file <filename>example-tags-2.xml</filename> shows how to use this new system." +msgstr "&matroska; 广泛支持废弃标签,还支持一种新式的、类似其他大多数容器使用的较简单的标签系统: <parameter>KEY=VALUE</parameter>。然而,在 &matroska; 中这些标签也可以嵌套,<parameter>KEY</parameter> 与 <parameter>VALUE</parameter> 都是属于它们自身的元素。示例文件 <filename>example-tags-2.xml</filename> 展示了如何使用这个新系统。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1840 +#: doc/man/mkvmerge.xml:2000 msgid "Scope of the tags" msgstr "标签细述" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1843 -msgid "" -"&matroska; tags do not automatically apply to the complete file. They can, " -"but they also may apply to different parts of the file: to one or more " -"tracks, to one or more chapters, or even to a combination of both. The " -"<ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; " -"specification</ulink> gives more details about this fact." -msgstr "" -"&matroska; 标签不会自动应用到整个文件上。它们可以应用到整个文件,还可以应用到" -"文件的不同部分: 一个或多个轨道, 一个或多个章节, 甚至是两者的组合。<ulink url=" -"\"http://matroska.org/technical/specs/index.html\">&matroska; 规范</ulink> 有" -"这方面的更多详情。" +#: doc/man/mkvmerge.xml:2003 +msgid "&matroska; tags do not automatically apply to the complete file. They can, but they also may apply to different parts of the file: to one or more tracks, to one or more chapters, or even to a combination of both. The <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink> gives more details about this fact." +msgstr "&matroska; 标签不会自动应用到整个文件上。它们可以应用到整个文件,还可以应用到文件的不同部分: 一个或多个轨道, 一个或多个章节, 甚至是两者的组合。<ulink url=\"http://matroska.org/technical/specs/index.html\">&matroska; 规范</ulink> 有这方面的更多详情。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1849 -msgid "" -"One important fact is that tags are linked to tracks or chapters with the " -"<classname>Targets</classname> &matroska; tag element, and that the UIDs " -"used for this linking are <emphasis>not</emphasis> the track IDs &mkvmerge; " -"uses everywhere. Instead the numbers used are the UIDs which &mkvmerge; " -"calculates automatically (if the track is taken from a file format other " -"than &matroska;) or which are copied from the source file if the track's " -"source file is a &matroska; file. Therefore it is difficult to know which " -"UIDs to use in the tag file before the file is handed over to &mkvmerge;." -msgstr "" -"重要的一点是标签通过 <classname>Targets</classname> &matroska; 标签元素与轨道" -"或章节相连,而用于此链接的 UID <emphasis>并非</emphasis> &mkvmerge; 常用的轨" -"道 ID。而是 &mkvmerge; 自动计算而来 (当轨道来自非 &matroska; 文件时) 或当轨道" -"源文件是 &matroska; 文件时复制而来的 的 UID。因此在文件被 &mkvmerge; 处理过之" -"前很难知道应该在标签文件中使用哪些 UID。" +#: doc/man/mkvmerge.xml:2009 +msgid "One important fact is that tags are linked to tracks or chapters with the <classname>Targets</classname> &matroska; tag element, and that the UIDs used for this linking are <emphasis>not</emphasis> the track IDs &mkvmerge; uses everywhere. Instead the numbers used are the UIDs which &mkvmerge; calculates automatically (if the track is taken from a file format other than &matroska;) or which are copied from the source file if the track's source file is a &matroska; file. Therefore it is difficult to know which UIDs to use in the tag file before the file is handed over to &mkvmerge;." +msgstr "重要的一点是标签通过 <classname>Targets</classname> &matroska; 标签元素与轨道或章节相连,而用于此链接的 UID <emphasis>并非</emphasis> &mkvmerge; 常用的轨道 ID。而是 &mkvmerge; 自动计算而来 (当轨道来自非 &matroska; 文件时) 或当轨道源文件是 &matroska; 文件时复制而来的 的 UID。因此在文件被 &mkvmerge; 处理过之前很难知道应该在标签文件中使用哪些 UID。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1857 -msgid "" -"&mkvmerge; knows two options with which you can add tags to &matroska; " -"files: The <link linkend=\"mkvmerge.description.global_tags\"><option>--" -"global-tags</option></link> and the <link linkend=\"mkvmerge.description.tags" -"\"><option>--tags</option></link> options. The difference is that the former " -"option, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-" -"tags</option></link>, will make the tags apply to the complete file by " -"removing any of those <classname>Targets</classname> elements mentioned " -"above. The latter option, <link linkend=\"mkvmerge.description.tags" -"\"><option>--tags</option></link>, automatically inserts the UID that " -"&mkvmerge; generates for the tag specified with the <parameter>TID</" -"parameter> part of the <link linkend=\"mkvmerge.description.tags\"><option>--" -"tags</option></link> option." -msgstr "" -"&mkvmerge; 支持两个为 &matroska; 文件添加标签的选项: <link linkend=" -"\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> " -"与 the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></" -"link> 选项。不同之处在于前者,<link linkend=\"mkvmerge.description." -"global_tags\"><option>--global-tags</option></link>,将通过移除所有上文提到" -"的 <classname>Targets</classname> 元素使标签应用到整个文件。 而后者,<link " -"linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>,将使 " -"&mkvmerge; 为通过 <link linkend=\"mkvmerge.description.tags\"><option>--" -"tags</option></link> 选项的 <parameter>TID</parameter> 部分指定的标签自动插" -"入 UID。" +#: doc/man/mkvmerge.xml:2017 +msgid "&mkvmerge; knows two options with which you can add tags to &matroska; files: The <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> and the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> options. The difference is that the former option, <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>, will make the tags apply to the complete file by removing any of those <classname>Targets</classname> elements mentioned above. The latter option, <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>, automatically inserts the UID that &mkvmerge; generates for the tag specified with the <parameter>TID</parameter> part of the <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> option." +msgstr "&mkvmerge; 支持两个为 &matroska; 文件添加标签的选项: <link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link> 与 <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> 选项。不同之处在于前者,<link linkend=\"mkvmerge.description.global_tags\"><option>--global-tags</option></link>,将通过移除上文提到的所有 <classname>Targets</classname> 元素使标签应用到整个文件。 而后者,<link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link>,将使 &mkvmerge; 为通过 <link linkend=\"mkvmerge.description.tags\"><option>--tags</option></link> 选项的 <parameter>TID</parameter> 部分指定的标签自动插入 UID。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1869 +#: doc/man/mkvmerge.xml:2029 msgid "Example" msgstr "示例" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1871 -msgid "" -"Let's say that you want to add tags to a video track read from an " -"<abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> tells " -"you that the video track's ID (do not mix this ID with the UID!) is 0. So " -"you create your tag file, leave out all <classname>Targets</classname> " -"elements and call &mkvmerge;:" -msgstr "" -"假定您希望为从一个 <abbrev>AVI</abbrev> 文件读取的视频轨道添加标签。" -"<command>mkvmerge --identify 文件.avi</command> 告诉您该视频轨道的 ID (不要将" -"此 ID 与 UID 混淆!) 为 0。于是您创建了一个标签文件,省去了所有 " -"<classname>Targets</classname> 元素,然后这样调用 &mkvmerge;:" +#: doc/man/mkvmerge.xml:2031 +msgid "Let's say that you want to add tags to a video track read from an <abbrev>AVI</abbrev>. <command>mkvmerge --identify file.avi</command> tells you that the video track's ID (do not mix this ID with the UID!) is 0. So you create your tag file, leave out all <classname>Targets</classname> elements and call &mkvmerge;:" +msgstr "假定您希望为从一个 <abbrev>AVI</abbrev> 文件读取的视频轨道添加标签。<command>mkvmerge --identify 文件.avi</command> 告诉您该视频轨道的 ID (不要将此 ID 与 UID 混淆!) 为 0。于是您创建了一个标签文件,省去了所有 <classname>Targets</classname> 元素,然后这样调用 &mkvmerge;:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:1877 +#: doc/man/mkvmerge.xml:2037 #, no-wrap msgid "" "$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi\n" @@ -4537,206 +3061,122 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1882 +#: doc/man/mkvmerge.xml:2042 msgid "Tag file format" msgstr "标签文件格式" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1884 -msgid "" -"&mkvmerge; supports a &xml; based tag file format. The format is very " -"closely modeled after <ulink url=\"http://matroska.org/technical/specs/index." -"html\">the &matroska; specification</ulink>. Both the binary and the source " -"distributions of MKVToolNix come with a sample file called <filename>example-" -"tags-2.xml</filename> which simply lists all known tags and which can be " -"used as a basis for real life tag files." -msgstr "" -"&mkvmerge; 支持基于 &xml; 的标签文件格式。此格式是以 <ulink url=\"http://" -"matroska.org/technical/specs/index.html\">&matroska; 规范</ulink> 为依据严格" -"制定的。MKVToolNix 的程序以及源码分发包都含有名为 <filename>example-tags-2." -"xml</filename> 的示例文件,该文件已简明地列出了所有已知的可用作实际处理的基本" -"标签。" +#: doc/man/mkvmerge.xml:2044 +msgid "&mkvmerge; supports a &xml; based tag file format. The format is very closely modeled after <ulink url=\"http://matroska.org/technical/specs/index.html\">the &matroska; specification</ulink>. Both the binary and the source distributions of MKVToolNix come with a sample file called <filename>example-tags-2.xml</filename> which simply lists all known tags and which can be used as a basis for real life tag files." +msgstr "&mkvmerge; 支持基于 &xml; 的标签文件格式。此格式是以 <ulink url=\"http://matroska.org/technical/specs/index.html\">&matroska; 规范</ulink> 为依据严格制定的。MKVToolNix 的程序以及源码分发包都含有名为 <filename>example-tags-2.xml</filename> 的示例文件,该文件已简明地列出了所有已知的可用作实际处理的基本标签。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1891 +#: doc/man/mkvmerge.xml:2051 msgid "The basics are:" msgstr "基本要点有:" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1895 +#: doc/man/mkvmerge.xml:2055 msgid "The outermost element must be <classname><Tags></classname>." msgstr "最外层的元素必须为 <classname><Tags></classname>。" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1897 -msgid "" -"One logical tag is contained inside one pair of <classname><Tag></" -"classname> &xml; tags." -msgstr "" -"实际意义上的标签放在 <classname><Tag></classname> &xml; 标签对中。" +#: doc/man/mkvmerge.xml:2057 +msgid "One logical tag is contained inside one pair of <classname><Tag></classname> &xml; tags." +msgstr "实际意义上的标签放在 <classname><Tag></classname> &xml; 标签对中。" #. type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1899 +#: doc/man/mkvmerge.xml:2059 msgid "White spaces directly before and after tag contents are ignored." msgstr "标签内容前后的空白将被忽略。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1904 +#: doc/man/mkvmerge.xml:2064 msgid "Data types" msgstr "数据类型" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1906 -msgid "" -"The new &matroska; tagging system only knows two data types, a UTF-8 string " -"and a binary type. The first is used for the tag's name and the " -"<classname><String></classname> element while the binary type is used " -"for the <classname><Binary></classname> element." -msgstr "" -"新的 &matroska; 标签系统只识别两种数据类型,UTF-8 字串与二进制类型。前者用于" -"标签名称和 <classname><String></classname> 元素,而二进制类型用于 " -"<classname><Binary></classname> 元素。" +#: doc/man/mkvmerge.xml:2066 +msgid "The new &matroska; tagging system only knows two data types, a UTF-8 string and a binary type. The first is used for the tag's name and the <classname><String></classname> element while the binary type is used for the <classname><Binary></classname> element." +msgstr "新的 &matroska; 标签系统只识别两种数据类型,UTF-8 字串与二进制类型。前者用于标签名称和 <classname><String></classname> 元素,而二进制类型用于 <classname><Binary></classname> 元素。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1911 -msgid "" -"As binary data itself would not fit into a &xml; file &mkvmerge; supports " -"two other methods of storing binary data. If the contents of a &xml; tag " -"starts with '<literal>@</literal>' then the following text is treated as a " -"file name. The corresponding file's content is copied into the &matroska; " -"element." -msgstr "" -"由于二进制数据自身与 &xml; 文件不相容,&mkvmerge; 支持另两种储存二进制数据的" -"方法。如果 &xml; 标签的内容以 '<literal>@</literal>' 开头,则后续文本将被作为" -"文件名对待。相应文件的内容将被复制到 &matroska; 元素中。" +#: doc/man/mkvmerge.xml:2071 +msgid "As binary data itself would not fit into a &xml; file &mkvmerge; supports two other methods of storing binary data. If the contents of a &xml; tag starts with '<literal>@</literal>' then the following text is treated as a file name. The corresponding file's content is copied into the &matroska; element." +msgstr "由于二进制数据自身与 &xml; 文件不相容,&mkvmerge; 支持另两种储存二进制数据的方法。如果 &xml; 标签的内容以 '<literal>@</literal>' 开头,则后续文本将被作为文件名对待。相应文件的内容将被复制到 &matroska; 元素中。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1917 -msgid "" -"Otherwise the data is expected to be <foreignphrase>Base64</foreignphrase> " -"encoded. This is an encoding that transforms binary data into a limited set " -"of <abbrev>ASCII</abbrev> characters and is used e.g. in email programs. " -"&mkvextract; will output <foreignphrase>Base64</foreignphrase> encoded data " -"for binary elements." -msgstr "" -"还有一种可能,即数据经 <foreignphrase>Base64</foreignphrase> 编码。这是将二进" -"制数据转换为一定的 <abbrev>ASCII</abbrev> 字集字符,在电子邮件等程序中有所应" -"用。&mkvextract; 将将二进制元素以 <foreignphrase>Base64</foreignphrase> 编码" -"的数据的形式输出。" +#: doc/man/mkvmerge.xml:2077 +msgid "Otherwise the data is expected to be <foreignphrase>Base64</foreignphrase> encoded. This is an encoding that transforms binary data into a limited set of <abbrev>ASCII</abbrev> characters and is used e.g. in email programs. &mkvextract; will output <foreignphrase>Base64</foreignphrase> encoded data for binary elements." +msgstr "还有一种可能,即数据经 <foreignphrase>Base64</foreignphrase> 编码。这是将二进制数据转换为一定的 <abbrev>ASCII</abbrev> 字集字符,在电子邮件等程序中有所应用。&mkvextract; 将将二进制元素以 <foreignphrase>Base64</foreignphrase> 编码的数据的形式输出。" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1923 -msgid "" -"The deprecated tagging system knows some more data types which can be found " -"in the official &matroska; tag specs. As &mkvmerge; does not support this " -"system anymore these types aren't described here." -msgstr "" -"已被废弃的标签系统可识别更多的数据类型,这在 &matroska; 官方的标签规范中可以" -"找到。由于 &mkvmerge; 不再支持此系统,此处不对这些类型作多余说明。" +#: doc/man/mkvmerge.xml:2083 +msgid "The deprecated tagging system knows some more data types which can be found in the official &matroska; tag specs. As &mkvmerge; does not support this system anymore these types aren't described here." +msgstr "已被废弃的标签系统可识别更多的数据类型,这在 &matroska; 官方的标签规范中可以找到。由于 &mkvmerge; 不再支持此系统,此处不对这些类型作多余说明。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1930 +#: doc/man/mkvmerge.xml:2090 msgid "&matroska; file layout" msgstr "&matroska; 文件规划" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1932 -msgid "" -"The &matroska; file layout is quite flexible. &mkvmerge; will render a file " -"in a predefined way. The resulting file looks like this:" -msgstr "" -"&matroska; 文件规划非常灵活。&mkvmerge; 将按预先定义的方式渲染文件。生成的文" -"件是这样的:" +#: doc/man/mkvmerge.xml:2092 +msgid "The &matroska; file layout is quite flexible. &mkvmerge; will render a file in a predefined way. The resulting file looks like this:" +msgstr "&matroska; 文件规划非常灵活。&mkvmerge; 将按预先定义的方式渲染文件。生成的文件是这样的:" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1936 -msgid "" -"[EBML head] [segment {meta seek #1} [segment information] [track " -"information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster " -"n} {cues} {meta seek #2} {tags}]" -msgstr "" -"[EBML 头] [剪辑 {元定位 #1} [剪辑信息] [轨道信息] {附件} {章节} [簇 1] {簇 " -"2} ... {簇 n} {索引} {元定位 #2} {标签}]" +#: doc/man/mkvmerge.xml:2096 +msgid "[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]" +msgstr "[EBML 头] [剪辑 {元定位 #1} [剪辑信息] [轨道信息] {附件} {章节} [簇 1] {簇 2} ... {簇 n} {索引} {元定位 #2} {标签}]" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1941 -msgid "" -"The elements in curly braces are optional and depend on the contents and " -"options used. A couple of notes:" +#: doc/man/mkvmerge.xml:2101 +msgid "The elements in curly braces are optional and depend on the contents and options used. A couple of notes:" msgstr "大括号中的元素是可选的,依所用的内容和选项而定。有两点要注意的:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1947 -msgid "" -"meta seek #1 includes only a small number of level 1 elements, and only if " -"they actually exist: attachments, chapters, cues, tags, meta seek #2. Older " -"versions of &mkvmerge; used to put the clusters into this meta seek element " -"as well. Therefore some imprecise guessing was necessary to reserve enough " -"space. It often failed. Now only the clusters are stored in meta seek #2, " -"and meta seek #1 refers to the meta seek element #2." -msgstr "" -"元定位 #1 只包含很少量的 level 1 元素,且仅当它们存在时才包含:附件、章节、索" -"引、标签以及元定位 #2。较早版本的 &mkvmerge; 亦曾将簇放置在元定位元素中。因此" -"应留给不精确的传言一些空间——真相总会大白。 现在只有簇才被储存在元定位 #2 中," -"元定位 #1 将引用元定位元素 #2。" +#: doc/man/mkvmerge.xml:2107 +msgid "meta seek #1 includes only a small number of level 1 elements, and only if they actually exist: attachments, chapters, cues, tags, meta seek #2. Older versions of &mkvmerge; used to put the clusters into this meta seek element as well. Therefore some imprecise guessing was necessary to reserve enough space. It often failed. Now only the clusters are stored in meta seek #2, and meta seek #1 refers to the meta seek element #2." +msgstr "元定位 #1 只包含很少量的 level 1 元素,且仅当它们存在时才包含:附件、章节、索引、标签以及元定位 #2。较早版本的 &mkvmerge; 亦曾将簇放置在元定位元素中。因此应留给不精确的传言一些空间——真相总会大白。 现在只有簇才被储存在元定位 #2 中,元定位 #1 将引用元定位元素 #2。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:1955 -msgid "" -"Attachment, chapter and tag elements are only present if they were added." +#: doc/man/mkvmerge.xml:2115 +msgid "Attachment, chapter and tag elements are only present if they were added." msgstr "附件、章节和标签元素仅当被添加后才会出现。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1960 +#: doc/man/mkvmerge.xml:2120 msgid "The shortest possible Matroska file would look like this:" msgstr "允许的最短小的 Matroska 文件是像这样的:" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1964 -msgid "" -"[EBML head] [segment [segment information] [track information] [cluster 1]]" +#: doc/man/mkvmerge.xml:2124 +msgid "[EBML head] [segment [segment information] [track information] [cluster 1]]" msgstr "[EBML 头] [剪辑 [剪辑信息] [轨道信息] [簇 1]]" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1968 +#: doc/man/mkvmerge.xml:2128 msgid "This might be the case for audio-only files." msgstr "这也是纯音频文件的样子。" #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvmerge.xml:1973 +#: doc/man/mkvmerge.xml:2133 msgid "External timecode files" msgstr "外部时间码文件" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1975 -msgid "" -"&mkvmerge; allows the user to chose the timecodes for a specific track " -"himself. This can be used in order to create files with variable frame rate " -"video or include gaps in audio. A frame in this case is the unit that " -"&mkvmerge; creates separately per &matroska; block. For video this is " -"exactly one frame, for audio this is one packet of the specific audio type. " -"E.g. for <abbrev>AC3</abbrev> this would be a packet containing " -"<constant>1536</constant> samples." -msgstr "" -"&mkvmerge; 允许用户为各轨道选择特定的时间码。这可用来创建包含可变帧率视频或音" -"频中有空隙的文件。这种情况下的帧是 &mkvmerge; 创建各 &matroska; 块的单位。对" -"视频来说恰好是一帧,对音频来说是相应音频类型的一个数据包。例如对 " -"<abbrev>AC3</abbrev> 来说是包含 <constant>1536</constant> 采样的一个数据包。" +#: doc/man/mkvmerge.xml:2135 +msgid "&mkvmerge; allows the user to chose the timecodes for a specific track himself. This can be used in order to create files with variable frame rate video or include gaps in audio. A frame in this case is the unit that &mkvmerge; creates separately per &matroska; block. For video this is exactly one frame, for audio this is one packet of the specific audio type. E.g. for <abbrev>AC3</abbrev> this would be a packet containing <constant>1536</constant> samples." +msgstr "&mkvmerge; 允许用户为各轨道选择特定的时间码。这可用来创建包含可变帧率视频或音频中有空隙的文件。这种情况下的帧是 &mkvmerge; 创建各 &matroska; 块的单位。对视频来说恰好是一帧,对音频来说是相应音频类型的一个数据包。例如对 <abbrev>AC3</abbrev> 来说是包含 <constant>1536</constant> 采样的一个数据包。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1982 -msgid "" -"Timecode files that are used when tracks are appended to each other must " -"only be specified for the first part in a chain of tracks. For example if " -"you append two files, v1.avi and v2.avi, and want to use timecodes then your " -"command line must look something like this:" -msgstr "" -"用于轨道追加合并的时间码必须只指定给一系列(同一)轨道的第一部分。例如当您追" -"加合并两个文件,v1.avi 与 v2.avi,且希望使用时间码时,您的命令行必须像这样组" -"织:" +#: doc/man/mkvmerge.xml:2142 +msgid "Timecode files that are used when tracks are appended to each other must only be specified for the first part in a chain of tracks. For example if you append two files, v1.avi and v2.avi, and want to use timecodes then your command line must look something like this:" +msgstr "用于轨道追加合并的时间码必须只指定给一系列(同一)轨道的第一部分。例如当您追加合并两个文件,v1.avi 与 v2.avi,且希望使用时间码时,您的命令行必须像这样组织:" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvmerge.xml:1987 +#: doc/man/mkvmerge.xml:2147 #, no-wrap msgid "" "mkvmerge ... --timecodes 0:my_timecodes.txt v1.avi +v2.avi\n" @@ -4746,39 +3186,22 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:1991 -msgid "" -"There are four formats that are recognized by &mkvmerge;. The first line " -"always contains the version number. Empty lines, lines containing only " -"whitespace and lines beginning with '<literal>#</literal>' are ignored." -msgstr "" -"&mkvmerge; 可识别四种格式的时间码。版本号在时间码文件的第一行内。空行,只含有" -"空格的行,以及以 '<literal>#</literal>' 开头的行在处理时将被忽略。" +#: doc/man/mkvmerge.xml:2151 +msgid "There are four formats that are recognized by &mkvmerge;. The first line always contains the version number. Empty lines, lines containing only whitespace and lines beginning with '<literal>#</literal>' are ignored." +msgstr "&mkvmerge; 可识别四种格式的时间码。版本号在时间码文件的第一行内。空行,只含有空格的行,以及以 '<literal>#</literal>' 开头的行在处理时将被忽略。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:1996 +#: doc/man/mkvmerge.xml:2156 msgid "Timecode file format v1" msgstr "时间码文件格式 v1" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:1998 -msgid "" -"This format starts with the version line. The second line declares the " -"default number of frames per second. All following lines contain three " -"numbers separated by commas: the start frame (<constant>0</constant> is the " -"first frame), the end frame and the number of frames in this range. The " -"<abbrev>FPS</abbrev> is a floating point number with the dot '<literal>.</" -"literal>' as the decimal point. The ranges can contain gaps for which the " -"default <abbrev>FPS</abbrev> is used. An example:" -msgstr "" -"此格式的第一行是版本声明。第二行则声明默认的帧率。 接下来的各行包含由逗号分隔" -"的三个数字: 起始帧(<constant>0</constant> 代表第一帧)、终止帧以及此范围内的" -"帧率。<abbrev>FPS(帧率)</abbrev> 为浮点数,小数点用 '<literal>.</literal>' " -"表示。各行定义的范围间可以有间隔,间隔内将使用默认的 <abbrev>FPS</abbrev>。一" -"个示例:" +#: doc/man/mkvmerge.xml:2158 +msgid "This format starts with the version line. The second line declares the default number of frames per second. All following lines contain three numbers separated by commas: the start frame (<constant>0</constant> is the first frame), the end frame and the number of frames in this range. The <abbrev>FPS</abbrev> is a floating point number with the dot '<literal>.</literal>' as the decimal point. The ranges can contain gaps for which the default <abbrev>FPS</abbrev> is used. An example:" +msgstr "此格式的第一行是版本声明。第二行则声明默认的帧率。 接下来的各行包含由逗号分隔的三个数字: 起始帧(<constant>0</constant> 代表第一帧)、终止帧以及此范围内的帧率。<abbrev>FPS(帧率)</abbrev> 为浮点数,小数点用 '<literal>.</literal>' 表示。各行定义的范围间可以有间隔,间隔内将使用默认的 <abbrev>FPS</abbrev>。一个示例:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2005 +#: doc/man/mkvmerge.xml:2165 #, no-wrap msgid "" "# timecode format v1\n" @@ -4794,25 +3217,17 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2013 +#: doc/man/mkvmerge.xml:2173 msgid "Timecode file format v2" msgstr "时间码文件格式 v2" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2016 -msgid "" -"In this format each line contains a timecode for the corresponding frame. " -"This timecode must be given in millisecond precision. It can be a floating " -"point number, but it doesn't have to be. You <emphasis>have to</emphasis> " -"give at least as many timecode lines as there are frames in the track. The " -"timecodes in this file must be sorted. Example for 25fps:" -msgstr "" -"此格式中每行包含相应帧的时间码。此时间码必须以毫秒为精度。可以使浮点数,但不" -"强求。您指定的时间码行数 <emphasis>必须</emphasis> 不少于对应轨道的帧数。此类" -"文件中的时间码必须经过排序。 以 25fps 为例:" +#: doc/man/mkvmerge.xml:2176 +msgid "In this format each line contains a timecode for the corresponding frame. This timecode must be given in millisecond precision. It can be a floating point number, but it doesn't have to be. You <emphasis>have to</emphasis> give at least as many timecode lines as there are frames in the track. The timecodes in this file must be sorted. Example for 25fps:" +msgstr "此格式中每行包含相应帧的时间码。此时间码必须以毫秒为精度。可以使浮点数,但不强求。您指定的时间码行数 <emphasis>必须</emphasis> 不少于对应轨道的帧数。此类文件中的时间码必须经过排序。 以 25fps 为例:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2022 +#: doc/man/mkvmerge.xml:2182 #, no-wrap msgid "" "# timecode format v2\n" @@ -4828,29 +3243,17 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2030 +#: doc/man/mkvmerge.xml:2190 msgid "Timecode file format v3" msgstr "时间码文件格式 v3" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2032 -msgid "" -"In this format each line contains a duration in seconds followed by an " -"optional number of frames per second. Both can be floating point numbers. " -"If the number of frames per second is not present the default one is used. " -"For audio you should let the codec calculate the frame timecodes itself. " -"For that you should be using <constant>0.0</constant> as the number of " -"frames per second. You can also create gaps in the stream by using the " -"'<literal>gap</literal>' keyword followed by the duration of the gap. " -"Example for an audio file:" -msgstr "" -"此格式中各行包含时长(秒数),后接(可选)帧率。 二者均可为浮点数。 如果未提" -"供帧率,则采用默认的帧率。 对于音频,您应当让编解码器自行计算各帧的时间码。 " -"这样您应当使用 <constant>0.0</constant> 作为帧率。 您可以使用 '<literal>gap</" -"literal>' 关键词后接空隙时长在流中创建空隙。 以音频文件为例:" +#: doc/man/mkvmerge.xml:2192 +msgid "In this format each line contains a duration in seconds followed by an optional number of frames per second. Both can be floating point numbers. If the number of frames per second is not present the default one is used. For audio you should let the codec calculate the frame timecodes itself. For that you should be using <constant>0.0</constant> as the number of frames per second. You can also create gaps in the stream by using the '<literal>gap</literal>' keyword followed by the duration of the gap. Example for an audio file:" +msgstr "此格式中各行包含时长(秒数),后接(可选)帧率。 二者均可为浮点数。 如果未提供帧率,则采用默认的帧率。 对于音频,您应当让编解码器自行计算各帧的时间码。 这样您应当使用 <constant>0.0</constant> 作为帧率。 您可以使用 '<literal>gap</literal>' 关键词后接空隙时长在流中创建空隙。 以音频文件为例:" #. type: Content of: <refentry><refsect1><refsect2><screen> -#: doc/man/mkvmerge.xml:2039 +#: doc/man/mkvmerge.xml:2199 #, no-wrap msgid "" "# timecode format v3\n" @@ -4870,59 +3273,37 @@ " " #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvmerge.xml:2049 +#: doc/man/mkvmerge.xml:2209 msgid "Timecode file format v4" msgstr "时间码文件格式 v4" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvmerge.xml:2051 -msgid "" -"This format is identical to the v2 format. The only difference is that the " -"timecodes do not have to be sorted. This format should almost never be used." -msgstr "" -"此格式与 v2 格式相似。 唯一的不同在于时间码不必经过排序。 通常不应使用此格" -"式。" +#: doc/man/mkvmerge.xml:2211 +msgid "This format is identical to the v2 format. The only difference is that the timecodes do not have to be sorted. This format should almost never be used." +msgstr "此格式与 v2 格式相似。 唯一的不同在于时间码不必经过排序。 通常不应使用此格式。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:2061 +#: doc/man/mkvmerge.xml:2221 msgid "&mkvmerge; exits with one of three exit codes:" msgstr "&mkvmerge; 退出时会返回以下三个退出代码中的一个:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2067 -msgid "" -"<constant>0</constant> -- This exit codes means that muxing has completed " -"successfully." +#: doc/man/mkvmerge.xml:2227 +msgid "<constant>0</constant> -- This exit codes means that muxing has completed successfully." msgstr "<constant>0</constant> -- 此退出代码说明已成功完成混流。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2073 -msgid "" -"<constant>1</constant> -- In this case &mkvmerge; has output at least one " -"warning, but muxing did continue. A warning is prefixed with the text " -"'<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting file might be ok or not. The user is urged to check both the " -"warning and the resulting file." -msgstr "" -"<constant>1</constant> -- 这种情况下 &mkvmerge; 至少输出了一条警告信息,但混" -"流并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题的" -"不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的文" -"件。" +#: doc/man/mkvmerge.xml:2233 +msgid "<constant>1</constant> -- In this case &mkvmerge; has output at least one warning, but muxing did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting file might be ok or not. The user is urged to check both the warning and the resulting file." +msgstr "<constant>1</constant> -- 这种情况下 &mkvmerge; 至少输出了一条警告信息,但混流并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的文件。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvmerge.xml:2081 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvmerge; aborts right after outputting the error message. Error messages " -"range from wrong command line arguments over read/write errors to broken " -"files." -msgstr "" -"<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvmerge; 在输出错误" -"信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入" -"错误。" +#: doc/man/mkvmerge.xml:2241 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvmerge; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvmerge; 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvmerge.xml:2091 +#: doc/man/mkvmerge.xml:2251 msgid "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" msgstr "&mkvinfo;, &mkvextract;, &mkvpropedit;, &mmg;" @@ -4938,25 +3319,13 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mkvpropedit.xml:51 -msgid "" -"<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-" -"filename</arg> <arg choice=\"req\">actions</arg>" -msgstr "" -"<command>mkvpropedit</command> <arg>选项</arg> <arg choice=\"req\">源文件名</" -"arg> <arg choice=\"req\">操作</arg>" +msgid "<command>mkvpropedit</command> <arg>options</arg> <arg choice=\"req\">source-filename</arg> <arg choice=\"req\">actions</arg>" +msgstr "<command>mkvpropedit</command> <arg>选项</arg> <arg choice=\"req\">源文件名</arg> <arg choice=\"req\">操作</arg>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:61 -msgid "" -"This program analyses an existing &matroska; file and modifies some of its " -"properties. Then it writes those modifications to the existing file. Among " -"the properties that can be changed are the segment information elements (e." -"g. the title) and the track headers (e.g. the language code, 'default track' " -"flag or the name)." -msgstr "" -"此程序可分析现有 &matroska; 文件,并修改其部分属性。然后它将将变更写入现有文" -"件。可修改的属性包括剪辑信息元素(如标题)和轨道头部(如语言代码、'默认轨' 标" -"记或轨道名称)。" +msgid "This program analyses an existing &matroska; file and modifies some of its properties. Then it writes those modifications to the existing file. Among the properties that can be changed are the segment information elements (e.g. the title) and the track headers (e.g. the language code, 'default track' flag or the name)." +msgstr "此程序可分析现有 &matroska; 文件,并修改其部分属性。然后它将将变更写入现有文件。可修改的属性包括剪辑信息元素(如标题)和轨道头部(如语言代码、'默认轨' 标记或轨道名称)。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:67 @@ -4970,43 +3339,18 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:75 -msgid "" -"Lists all known and editable property names, their type (string, integer, " -"boolean etc) and a short description. The program exits afterwards. " -"Therefore the <parameter>source-filename</parameter> parameter does not have " -"to be supplied." -msgstr "" -"列出所有已知的可编辑的属性名称、它们的类型(字符串型、整数型、布尔型等等)及" -"简短说明。程序随后将退出执行。因此不必提供 <parameter>source-filename</" -"parameter> 参数。" +msgid "Lists all known and editable property names, their type (string, integer, boolean etc) and a short description. The program exits afterwards. Therefore the <parameter>source-filename</parameter> parameter does not have to be supplied." +msgstr "列出所有已知的可编辑的属性名称、它们的类型(字符串型、整数型、布尔型等等)及简短说明。程序随后将退出执行。因此不必提供 <parameter>source-filename</parameter> 参数。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvpropedit.xml:82 -msgid "" -"<option>-p</option>, <option>--parse-mode</option> <parameter>mode</" -"parameter>" -msgstr "" -"<option>-p</option>, <option>--parse-mode</option> <parameter>模式</" -"parameter>" +msgid "<option>-p</option>, <option>--parse-mode</option> <parameter>mode</parameter>" +msgstr "<option>-p</option>, <option>--parse-mode</option> <parameter>模式</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:85 -msgid "" -"Sets the parse mode. The parameter '<parameter>mode</parameter>' can either " -"be '<literal>fast</literal>' (which is also the default) or '<literal>full</" -"literal>'. The '<literal>fast</literal>' mode does not parse the whole file " -"but uses the meta seek elements for locating the required elements of a " -"source file. In 99% of all cases this is enough. But for files that do not " -"contain meta seek elements or which are damaged the user might have to set " -"the '<literal>full</literal>' parse mode. A full scan of a file can take a " -"couple of minutes while a fast scan only takes seconds." -msgstr "" -"设置解析模式。参数 '<parameter>模式</parameter>' 可以为 '<literal>fast(快" -"速)</literal>'(此项为默认值)或 '<literal>full(完整)</" -"literal>'。'<literal>fast(快速)</literal>'模式不解析整个文件,而是使用元定" -"位元素确定源文件中所需元素的位置。99% 的情况下这就足够了。但如果碰到不含元定" -"位元素或者元定位元素损坏的文件,用户可能得考虑 '<literal>full(完整)</" -"literal>' 解析模式。完整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。" +msgid "Sets the parse mode. The parameter '<parameter>mode</parameter>' can either be '<literal>fast</literal>' (which is also the default) or '<literal>full</literal>'. The '<literal>fast</literal>' mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file. In 99% of all cases this is enough. But for files that do not contain meta seek elements or which are damaged the user might have to set the '<literal>full</literal>' parse mode. A full scan of a file can take a couple of minutes while a fast scan only takes seconds." +msgstr "设置解析模式。参数 '<parameter>模式</parameter>' 可以为 '<literal>fast(快速)</literal>'(此项为默认值)或 '<literal>full(完整)</literal>'。'<literal>fast(快速)</literal>'模式不解析整个文件,而是使用元定位元素确定源文件中所需元素的位置。99% 的情况下这就足够了。但如果碰到不含元定位元素或者元定位元素损坏的文件,用户可能得考虑 '<literal>full(完整)</literal>' 解析模式。完整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:96 @@ -5015,118 +3359,72 @@ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: doc/man/mkvpropedit.xml:101 -msgid "" -"<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" -msgstr "" -"<option>-e</option>, <option>--edit</option> <parameter>选择器</parameter>" +msgid "<option>-e</option>, <option>--edit</option> <parameter>selector</parameter>" +msgstr "<option>-e</option>, <option>--edit</option> <parameter>选择器</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: doc/man/mkvpropedit.xml:104 -msgid "" -"Sets the &matroska; file section (segment information or a certain track's " -"headers) that all following <link linkend=\"mkvpropedit.description.add" -"\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and " -"<link linkend=\"mkvpropedit.description.delete\">delete</link> actions " -"operate on. This option can be used multiple times in order to make " -"modifications to more than one element." -msgstr "" -"设置后续的 <link linkend=\"mkvpropedit.description.add\">添加</link>、<link " -"linkend=\"mkvpropedit.description.set\">设置</link> 或 <link linkend=" -"\"mkvpropedit.description.delete\">删除</link> 操作所针对的 &matroska; 文件区" -"域(即剪辑信息或某个轨道的头部)。此选项可多次使用,以同时修改多个元素。" +msgid "Sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This option can be used multiple times in order to make modifications to more than one element." +msgstr "设置后续的 <link linkend=\"mkvpropedit.description.add\">添加</link>、<link linkend=\"mkvpropedit.description.set\">设置</link> 或 <link linkend=\"mkvpropedit.description.delete\">删除</link> 操作所针对的 &matroska; 文件区域(即剪辑信息或某个轨道的头部)。此选项可多次使用,以同时修改多个元素。" -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#. type: Content of: <refentry><refsect1><para> #: doc/man/mkvpropedit.xml:111 -msgid "" -"See the section about <link linkend=\"mkvpropedit.edit_selectors\">edit " -"selectors</link> for a full description of the syntax." -msgstr "" -"关于完整的语法说明请参见关于 <link linkend=\"mkvpropedit.edit_selectors\">编" -"辑选择器</link> 的段落。" +#: doc/man/mkvpropedit.xml:292 +msgid "By default &mkvpropedit; will edit the segment information section." +msgstr "默认情况下,&mkvpropedit; 将编辑剪辑信息区段。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:115 +msgid "See the section about <link linkend=\"mkvpropedit.edit_selectors\">edit selectors</link> for a full description of the syntax." +msgstr "关于完整的语法说明请参见关于 <link linkend=\"mkvpropedit.edit_selectors\">编辑选择器</link> 的段落。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:117 -msgid "" -"<option>-a</option>, <option>--add</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" -msgstr "" -"<option>-a</option>, <option>--add</option> <parameter>名称</" -"parameter>=<parameter>数值</parameter>" +#: doc/man/mkvpropedit.xml:121 +msgid "<option>-a</option>, <option>--add</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-a</option>, <option>--add</option> <parameter>名称</parameter>=<parameter>数值</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:120 -msgid "" -"Adds a property <parameter>name</parameter> with the value <parameter>value</" -"parameter>. The property will be added even if such a property exists " -"already. Note that most properties are unique and cannot occur more than " -"once." -msgstr "" -"添加名为 <parameter>名称</parameter>、值为 <parameter>数值</parameter> 的属" -"性。即使已存在这样的属性,也将执行添加属性操作。注意大多数属性是唯一的,不能" -"出现多个。" +#: doc/man/mkvpropedit.xml:124 +msgid "Adds a property <parameter>name</parameter> with the value <parameter>value</parameter>. The property will be added even if such a property exists already. Note that most properties are unique and cannot occur more than once." +msgstr "添加名为 <parameter>名称</parameter>、值为 <parameter>数值</parameter> 的属性。即使已存在这样的属性,也将执行添加属性操作。注意大多数属性是唯一的,不能出现多个。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:127 -msgid "" -"<option>-s</option>, <option>--set</option> <parameter>name</" -"parameter>=<parameter>value</parameter>" -msgstr "" -"<option>-s</option>, <option>--set</option> <parameter>名称</" -"parameter>=<parameter>数值</parameter>" +#: doc/man/mkvpropedit.xml:131 +msgid "<option>-s</option>, <option>--set</option> <parameter>name</parameter>=<parameter>value</parameter>" +msgstr "<option>-s</option>, <option>--set</option> <parameter>名称</parameter>=<parameter>数值</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:130 -msgid "" -"Sets all occurrences of the property <parameter>name</parameter> to the " -"value <parameter>value</parameter>. If no such property exists then it will " -"be added." -msgstr "" -"设置所有名为 <parameter>名称</parameter> 的属性的数值为 <parameter>数值</" -"parameter>。如果不存在这样的属性,则将添加该属性。" +#: doc/man/mkvpropedit.xml:134 +msgid "Sets all occurrences of the property <parameter>name</parameter> to the value <parameter>value</parameter>. If no such property exists then it will be added." +msgstr "设置所有名为 <parameter>名称</parameter> 的属性的数值为 <parameter>数值</parameter>。如果不存在这样的属性,则将添加该属性。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:137 -msgid "" -"<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" -msgstr "" -"<option>-d</option>, <option>--delete</option> <parameter>名称</parameter>" +#: doc/man/mkvpropedit.xml:141 +msgid "<option>-d</option>, <option>--delete</option> <parameter>name</parameter>" +msgstr "<option>-d</option>, <option>--delete</option> <parameter>名称</parameter>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:140 -msgid "" -"Deletes all occurrences of the property <parameter>name</parameter>. Note " -"that some properties are required and cannot be deleted." -msgstr "" -"删除所有名为 <parameter>名称</parameter> 的属性。注意部分属性是必需的,不能删" -"除。" +#: doc/man/mkvpropedit.xml:144 +msgid "Deletes all occurrences of the property <parameter>name</parameter>. Note that some properties are required and cannot be deleted." +msgstr "删除所有名为 <parameter>名称</parameter> 的属性。注意部分属性是必需的,不能删除。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:175 -msgid "" -"Writes all messages to the file <parameter>file-name</parameter> instead of " -"to the console. While this can be done easily with output redirection there " -"are cases in which this option is needed: when the terminal reinterprets the " -"output before writing it to a file. The character set set with <link " -"linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</" -"option></link> is honored." -msgstr "" -"将所有信息写入文件 <parameter>文件名</parameter> 而不是输出到命令行。 尽管该" -"操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之" -"前重新解释(覆盖输出)时。将优先使用通过 <link linkend=\"mkvpropedit." -"description.output_charset\"><option>--output-charset</option></link> 设定的" -"字符集。" +#: doc/man/mkvpropedit.xml:179 +msgid "Writes all messages to the file <parameter>file-name</parameter> instead of to the console. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file. The character set set with <link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link> is honored." +msgstr "将所有信息写入文件 <parameter>文件名</parameter> 而不是输出到命令行。 尽管该操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之前重新解释(覆盖输出)时。将优先使用通过 <link linkend=\"mkvpropedit.description.output_charset\"><option>--output-charset</option></link> 设定的字符集。" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:232 -msgid "" -"The command line '<command>mkvpropedit source.mkv --edit track:a2 --set " -"name=Comments</command>' could be converted into the following option file:" -msgstr "" -"命令行 '<command>mkvpropedit 源.mkv --edit track:a2 --set name=注释</" -"command>' 可以转换为下述选项文件:" +#: doc/man/mkvpropedit.xml:257 +msgid "Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in <link linkend=\"mkvpropedit.escaping\">the section about escaping text</link>." +msgstr "有些字符可以转义,如当您需要使用 '#' 作为一个不是评论的行的开头。规则在<link linkend=\"mkvpropedit.escaping\">关于转义文本的段落</link>有描述。" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: doc/man/mkvpropedit.xml:262 +msgid "The command line '<command>mkvpropedit source.mkv --edit track:a2 --set name=Comments</command>' could be converted into the following option file:" +msgstr "命令行 '<command>mkvpropedit 源.mkv --edit track:a2 --set name=注释</command>' 可以转换为下述选项文件:" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><programlisting> -#: doc/man/mkvpropedit.xml:237 +#: doc/man/mkvpropedit.xml:267 #, no-wrap msgid "" "# Modify source.mkv\n" @@ -5150,174 +3448,92 @@ " " #. type: Content of: <refentry><refsect1><title> -#: doc/man/mkvpropedit.xml:252 +#: doc/man/mkvpropedit.xml:282 msgid "Edit selectors" msgstr "编辑选择器" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:254 -msgid "" -"The <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></" -"link> option sets the &matroska; file section (segment information or a " -"certain track's headers) that all following <link linkend=\"mkvpropedit." -"description.add\">add</link>, <link linkend=\"mkvpropedit.description.set" -"\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</" -"link> actions operate on. This stays valid until the next <link linkend=" -"\"mkvpropedit.description.edit\"><option>--edit</option></link> option is " -"found. The argument to this option is called the edit selector." -msgstr "" -"<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></" -"link> 选项设置后续的 <link linkend=\"mkvpropedit.description.add\">添加</" -"link>, <link linkend=\"mkvpropedit.description.set\">设置</link> 或 <link " -"linkend=\"mkvpropedit.description.delete\">删除</link> 操作所影响的 " -"&matroska; 文件区域(剪辑信息或者特定轨道的头部)。在出现另一个 <link " -"linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> 选项" -"之前,此选项将一直有效。此选项的参数就叫做编辑选择器。" +#: doc/man/mkvpropedit.xml:284 +msgid "The <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option sets the &matroska; file section (segment information or a certain track's headers) that all following <link linkend=\"mkvpropedit.description.add\">add</link>, <link linkend=\"mkvpropedit.description.set\">set</link> and <link linkend=\"mkvpropedit.description.delete\">delete</link> actions operate on. This stays valid until the next <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option is found. The argument to this option is called the edit selector." +msgstr "<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> 选项设置后续的 <link linkend=\"mkvpropedit.description.add\">添加</link>, <link linkend=\"mkvpropedit.description.set\">设置</link> 或 <link linkend=\"mkvpropedit.description.delete\">删除</link> 操作所影响的 &matroska; 文件区域(剪辑信息或者特定轨道的头部)。在出现另一个 <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> 选项之前,此选项将一直有效。此选项的参数就叫做编辑选择器。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:262 +#: doc/man/mkvpropedit.xml:296 msgid "Segment information" msgstr "剪辑信息" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:264 -msgid "" -"The segment information can be selected with one of these three words: " -"'<literal>info</literal>', '<literal>segment_info</literal>' or " -"'<literal>segmentinfo</literal>'. It contains properties like the segment " -"title or the segment <abbrev>UID</abbrev>." -msgstr "" -"可以通过这三个词中的任意一个选择剪辑信息: '<literal>info</" -"literal>'、'<literal>segment_info</literal>' 或 '<literal>segmentinfo</" -"literal>'。剪辑信息包含的属性包括剪辑标题、剪辑 <abbrev>UID</abbrev> 等。" +#: doc/man/mkvpropedit.xml:298 +msgid "The segment information can be selected with one of these three words: '<literal>info</literal>', '<literal>segment_info</literal>' or '<literal>segmentinfo</literal>'. It contains properties like the segment title or the segment <abbrev>UID</abbrev>." +msgstr "可以通过这三个词中的任意一个选择剪辑信息: '<literal>info</literal>'、'<literal>segment_info</literal>' 或 '<literal>segmentinfo</literal>'。剪辑信息包含的属性包括剪辑标题、剪辑 <abbrev>UID</abbrev> 等。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:270 +#: doc/man/mkvpropedit.xml:304 msgid "Track headers" msgstr "轨道头部" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:272 -msgid "" -"Track headers can be selected with a slightly more complex selector. All " -"variations start with '<literal>track:</literal>'. The track header " -"properties include elements like the language code, 'default track' flag or " -"the track's name." -msgstr "" -"可用于选择轨道头部的选择器稍显复杂:所有以 '<literal>track:</literal>' 开头的" -"变体。轨道头部属性包括如语言代码、'默认轨' 标记、轨道名称等属性。" +#: doc/man/mkvpropedit.xml:306 +msgid "Track headers can be selected with a slightly more complex selector. All variations start with '<literal>track:</literal>'. The track header properties include elements like the language code, 'default track' flag or the track's name." +msgstr "可用于选择轨道头部的选择器稍显复杂:所有以 '<literal>track:</literal>' 开头的变体。轨道头部属性包括如语言代码、'默认轨' 标记、轨道名称等属性。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:278 +#: doc/man/mkvpropedit.xml:312 msgid "<option>track:</option><parameter>n</parameter>" msgstr "<option>track:</option><parameter>n</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:281 -msgid "" -"If the parameter <parameter>n</parameter> is a number then the <parameter>n</" -"parameter>th track will be selected. The track order is the same that " -"&mkvmerge;'s <option>--identify</option> option outputs." -msgstr "" -"如果参数 <parameter>n</parameter> 为数字,则将选择第 <parameter>n</" -"parameter> 条轨道。轨道顺序与 &mkvmerge; 的 <option>--identify</option> 选项" -"所输出的相同。" +#: doc/man/mkvpropedit.xml:315 +msgid "If the parameter <parameter>n</parameter> is a number then the <parameter>n</parameter>th track will be selected. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "如果参数 <parameter>n</parameter> 为数字,则将选择第 <parameter>n</parameter> 条轨道。轨道顺序与 &mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:288 +#: doc/man/mkvpropedit.xml:322 msgid "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" -msgstr "" -"<option>track:</option><parameter>t</parameter><parameter>n</parameter>" +msgstr "<option>track:</option><parameter>t</parameter><parameter>n</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:291 -msgid "" -"If the parameter starts with a single character <parameter>t</parameter> " -"followed by a <parameter>n</parameter> then the <parameter>n</parameter>th " -"track of a specific track type will be selected. The track type parameter " -"<parameter>t</parameter> must be one of these four characters: '<literal>a</" -"literal>' for an audio track, '<literal>b</literal>' for a button track, " -"'<literal>s</literal>' for a subtitle track and '<literal>v</literal>' for a " -"video track. The track order is the same that &mkvmerge;'s <option>--" -"identify</option> option outputs." -msgstr "" -"如果参数以字母 <parameter>t</parameter> 后接 <parameter>n</parameter> 开头," -"则将选择选定轨道类型中的第 <parameter>n</parameter> 条轨道。轨道类型参数 " -"<parameter>t</parameter> 必须为下述四个字母中的一个: '<literal>a</literal>' " -"代表音频轨道,'<literal>b</literal>' 代表按钮轨道,'<literal>s</literal>' 代" -"表字幕轨道,'<literal>v</literal>' 代表视频轨道。轨道顺序与 &mkvmerge; 的 " -"<option>--identify</option> 选项所输出的相同。" +#: doc/man/mkvpropedit.xml:325 +msgid "If the parameter starts with a single character <parameter>t</parameter> followed by a <parameter>n</parameter> then the <parameter>n</parameter>th track of a specific track type will be selected. The track type parameter <parameter>t</parameter> must be one of these four characters: '<literal>a</literal>' for an audio track, '<literal>b</literal>' for a button track, '<literal>s</literal>' for a subtitle track and '<literal>v</literal>' for a video track. The track order is the same that &mkvmerge;'s <option>--identify</option> option outputs." +msgstr "如果参数以字母 <parameter>t</parameter> 后接 <parameter>n</parameter> 开头,则将选择选定轨道类型中的第 <parameter>n</parameter> 条轨道。轨道类型参数 <parameter>t</parameter> 必须为下述四个字母中的一个: '<literal>a</literal>' 代表音频轨道,'<literal>b</literal>' 代表按钮轨道,'<literal>s</literal>' 代表字幕轨道,'<literal>v</literal>' 代表视频轨道。轨道顺序与 &mkvmerge; 的 <option>--identify</option> 选项所输出的相同。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:301 +#: doc/man/mkvpropedit.xml:335 msgid "<option>track:</option>=<parameter>uid</parameter>" msgstr "<option>track:</option>=<parameter>uid</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:304 -msgid "" -"If the parameter starts with a '<literal>=</literal>' followed by a number " -"<parameter>uid</parameter> then the track whose track <abbrev>UID</abbrev> " -"element equals this <parameter>uid</parameter>. Track <abbrev>UIDs</abbrev> " -"can be obtained with &mkvinfo;." -msgstr "" -"如果参数以 '<literal>=</literal>' 后接 <parameter>uid</parameter> 开头,则将" -"选择轨道 <abbrev>UID</abbrev> 元素等于此 <parameter>uid</parameter> 的轨道。" -"轨道 <abbrev>UID</abbrev> 可通过 &mkvinfo; 获取。" +#: doc/man/mkvpropedit.xml:338 +msgid "If the parameter starts with a '<literal>=</literal>' followed by a number <parameter>uid</parameter> then the track whose track <abbrev>UID</abbrev> element equals this <parameter>uid</parameter>. Track <abbrev>UIDs</abbrev> can be obtained with &mkvinfo;." +msgstr "如果参数以 '<literal>=</literal>' 后接 <parameter>uid</parameter> 开头,则将选择轨道 <abbrev>UID</abbrev> 元素等于此 <parameter>uid</parameter> 的轨道。轨道 <abbrev>UID</abbrev> 可通过 &mkvinfo; 获取。" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> -#: doc/man/mkvpropedit.xml:311 +#: doc/man/mkvpropedit.xml:345 msgid "<option>track:</option>@<parameter>number</parameter>" msgstr "<option>track:</option>@<parameter>数字</parameter>" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> -#: doc/man/mkvpropedit.xml:314 -msgid "" -"If the parameter starts with a '<literal>@</literal>' followed by a number " -"<parameter>number</parameter> then the track whose track number element " -"equals this <parameter>number</parameter>. Track number can be obtained with " -"&mkvinfo;." -msgstr "" -"如果参数以 '<literal>@</literal>' 后接 <parameter>数字</parameter> 开头,则选" -"择轨道号元素等于 <parameter>数字</parameter> 的轨道。轨道号可以通过 " -"&mkvinfo; 获取。" +#: doc/man/mkvpropedit.xml:348 +msgid "If the parameter starts with a '<literal>@</literal>' followed by a number <parameter>number</parameter> then the track whose track number element equals this <parameter>number</parameter>. Track number can be obtained with &mkvinfo;." +msgstr "如果参数以 '<literal>@</literal>' 后接 <parameter>数字</parameter> 开头,则选择轨道号元素等于 <parameter>数字</parameter> 的轨道。轨道号可以通过 &mkvinfo; 获取。" #. type: Content of: <refentry><refsect1><refsect2><title> -#: doc/man/mkvpropedit.xml:323 +#: doc/man/mkvpropedit.xml:357 msgid "Notes" msgstr "注" #. type: Content of: <refentry><refsect1><refsect2><para> -#: doc/man/mkvpropedit.xml:325 -msgid "" -"Due to the nature of the track edit selectors it is possible that several " -"selectors actually match the same track headers. In such cases all actions " -"for those edit selectors will be combined and executed in the order in which " -"they're given on the command line." -msgstr "" -"由于轨道编辑选择器的特性,一些选择器所匹配的轨道头部可能是相同的。在此情况" -"下,这些编辑选择器的所有操作将被按照在命令行给出的顺序合并运行。" +#: doc/man/mkvpropedit.xml:359 +msgid "Due to the nature of the track edit selectors it is possible that several selectors actually match the same track headers. In such cases all actions for those edit selectors will be combined and executed in the order in which they're given on the command line." +msgstr "由于轨道编辑选择器的特性,一些选择器所匹配的轨道头部可能是相同的。在此情况下,这些编辑选择器的所有操作将被按照在命令行给出的顺序合并运行。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:334 -msgid "" -"The following example edits a file called '<literal>movie.mkv</literal>'. It " -"sets the segment title and modifies the language code of an audio and a " -"subtitle track. Note that this example can be shortened by leaving out the " -"first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</" -"option></link> option because editing the segment information element is the " -"default for all options found before the first <link linkend=\"mkvpropedit." -"description.edit\"><option>--edit</option></link> option anyway." -msgstr "" -"下面的示例将编辑一个名为 '<literal>电影.mkv</literal>' 的文件。示例中将设置剪" -"辑标题并修改一条音频轨和一条字幕轨的语言代码。附注,本示例可以简写,即省去 " -"<link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></" -"link> 选项,因为在第一个 <link linkend=\"mkvpropedit.description.edit" -"\"><option>--edit</option></link> 选项之前的所有选项默认编辑的就是剪辑信息元" -"素。" +#: doc/man/mkvpropedit.xml:368 +msgid "The following example edits a file called '<literal>movie.mkv</literal>'. It sets the segment title and modifies the language code of an audio and a subtitle track. Note that this example can be shortened by leaving out the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option because editing the segment information element is the default for all options found before the first <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> option anyway." +msgstr "下面的示例将编辑一个名为 '<literal>电影.mkv</literal>' 的文件。示例中将设置剪辑标题并修改一条音频轨和一条字幕轨的语言代码。附注,本示例可以简写,即省去 <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> 选项,因为在第一个 <link linkend=\"mkvpropedit.description.edit\"><option>--edit</option></link> 选项之前的所有选项默认编辑的就是剪辑信息元素。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvpropedit.xml:341 +#: doc/man/mkvpropedit.xml:375 #, no-wrap msgid "" "$ mkvpropedit movie.mkv --edit info --set \"title=The movie\" --edit track:a1 --set language=fre --edit track:a2 --set language=ita\n" @@ -5327,67 +3543,42 @@ " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:345 -msgid "" -"The second example removes the 'default track flag' from the first subtitle " -"track and sets it for the second one. Note that &mkvpropedit;, unlike " -"&mkvmerge;, does not set the 'default track flag' of other tracks to '0' if " -"it is set to '1' for a different track automatically." -msgstr "" -"第二个示例,将 '默认轨标记' 从第一条字幕轨移除并设置到第二条字幕轨上。注意 " -"&mkvpropedit; 与 &mkvmerge; 不同,不会在将另一个轨道的 '默认轨标记'设为 '1' " -"的时候自动将其他轨道的标记设为 '0'。" +#: doc/man/mkvpropedit.xml:379 +msgid "The second example removes the 'default track flag' from the first subtitle track and sets it for the second one. Note that &mkvpropedit;, unlike &mkvmerge;, does not set the 'default track flag' of other tracks to '0' if it is set to '1' for a different track automatically." +msgstr "第二个示例,将 '默认轨标记' 从第一条字幕轨移除并设置到第二条字幕轨上。注意 &mkvpropedit; 与 &mkvmerge; 不同,不会在将另一个轨道的 '默认轨标记'设为 '1' 的时候自动将其他轨道的标记设为 '0'。" #. type: Content of: <refentry><refsect1><screen> -#: doc/man/mkvpropedit.xml:351 +#: doc/man/mkvpropedit.xml:385 #, no-wrap msgid "" -"$ mkvpropedit movie.mkv --edit tracks:s1 --set flag-default=0 --edit tracks:s2 --set flag-default=1\n" +"$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" " " msgstr "" -"$ mkvpropedit 影片.mkv --edit tracks:s1 --set flag-default=0 --edit tracks:s2 --set flag-default=1\n" +"$ mkvpropedit 影片.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1\n" " " #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:359 +#: doc/man/mkvpropedit.xml:393 msgid "&mkvpropedit; exits with one of three exit codes:" msgstr "&mkvpropedit; 退出时会返回以下三个退出代码中的一个:" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:365 -msgid "" -"<constant>0</constant> -- This exit codes means that the modification has " -"completed successfully." +#: doc/man/mkvpropedit.xml:399 +msgid "<constant>0</constant> -- This exit codes means that the modification has completed successfully." msgstr "<constant>0</constant> -- 此退出代码说明已成功完成修改。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:371 -msgid "" -"<constant>1</constant> -- In this case &mkvpropedit; has output at least one " -"warning, but the modification did continue. A warning is prefixed with the " -"text '<literal>Warning:</literal>'. Depending on the issues involved the " -"resulting files might be ok or not. The user is urged to check both the " -"warning and the resulting files." -msgstr "" -"<constant>1</constant> -- 这种情况下 &mkvpropedit; 至少输出了一条警告信息,但" -"修改并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题" -"的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的" -"文件。" +#: doc/man/mkvpropedit.xml:405 +msgid "<constant>1</constant> -- In this case &mkvpropedit; has output at least one warning, but the modification did continue. A warning is prefixed with the text '<literal>Warning:</literal>'. Depending on the issues involved the resulting files might be ok or not. The user is urged to check both the warning and the resulting files." +msgstr "<constant>1</constant> -- 这种情况下 &mkvpropedit; 至少输出了一条警告信息,但修改并未因之中止。 警告信息以文字 '<literal>警告:</literal>' 为前缀。根据问题的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的文件。" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> -#: doc/man/mkvpropedit.xml:379 -msgid "" -"<constant>2</constant> -- This exit code is used after an error occurred. " -"&mkvpropedit; aborts right after outputting the error message. Error " -"messages range from wrong command line arguments over read/write errors to " -"broken files." -msgstr "" -"<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvpropedit; 在输出错" -"误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写" -"入错误。" +#: doc/man/mkvpropedit.xml:413 +msgid "<constant>2</constant> -- This exit code is used after an error occurred. &mkvpropedit; aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files." +msgstr "<constant>2</constant> -- 此退出代码用于错误发生之后。 &mkvpropedit; 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。" #. type: Content of: <refentry><refsect1><para> -#: doc/man/mkvpropedit.xml:389 +#: doc/man/mkvpropedit.xml:435 msgid "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" msgstr "&mkvmerge;, &mkvinfo;, &mkvextract;, &mmg;" @@ -5403,71 +3594,81 @@ #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: doc/man/mmg.xml:51 -msgid "" -"<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</" -"arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file." -"mmg</arg> <arg>source-file.ext</arg> </group>" -msgstr "" -"<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</" -"arg> <arg choice=\"req\">文件名.mkv</arg> </arg> <arg>配置文件.mmg</arg> " -"<arg>源文件.扩展名</arg> </group>" +msgid "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">filename.mkv</arg> </arg> <arg>preferences-file.mmg</arg> <arg>source-file.ext</arg> </group>" +msgstr "<command>mmg</command> <group> <arg> <arg choice=\"req\">--edit-headers</arg> <arg choice=\"req\">文件名.mkv</arg> </arg> <arg>配置文件.mmg</arg> <arg>源文件.扩展名</arg> </group>" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:66 -msgid "" -"&mmg; is a <productname>wxWindows</productname> based <abbrev>GUI</abbrev> " -"for &mkvmerge;. It offers easy access to all of &mkvmerge;'s options. All " -"settings (e.g. source files, track options etc) can be saved and restored. " -"Included is a chapter editor that can read <abbrev>OGM</abbrev> style and " -"&xml; style chapter files, write &xml; style chapter files and even read " -"chapters from &matroska; files and write chapters directly to &matroska; " -"files. Included is also a header editor that can be used to quickly change " -"properties of existing &matroska; files without needing a complete remux." -msgstr "" -"&mmg; 是 &mkvmerge; 的 <abbrev>GUI</abbrev>,它基于 <productname>wxWindows</" -"productname>。它提供了 &mkvmerge; 所有选项的简易使用途径。所有配置(例如源文" -"件,轨道选项等)都可以保存和复原。它还包含了可以读取类似 <abbrev>OGM</" -"abbrev> 中的简单章节与 &xml; 格式章节,输出 &xml; 格式章节文件,甚至还可以从 " -"&matroska; 文件中读取章节,也可以将章节直接写入 &matroska; 文件。它还包含了一" -"个头部编辑器,可用于快速修改现有 &matroska; 文件的属性,且无须进行完整的重新" -"混流。" +msgid "&mmg; is a <productname>wxWindows</productname> based <abbrev>GUI</abbrev> for &mkvmerge;. It offers easy access to all of &mkvmerge;'s options. All settings (e.g. source files, track options etc) can be saved and restored. Included is a chapter editor that can read <abbrev>OGM</abbrev> style and &xml; style chapter files, write &xml; style chapter files and even read chapters from &matroska; files and write chapters directly to &matroska; files. Included is also a header editor that can be used to quickly change properties of existing &matroska; files without needing a complete remux." +msgstr "&mmg; 是 &mkvmerge; 的 <abbrev>GUI</abbrev>,它基于 <productname>wxWindows</productname>。它提供了 &mkvmerge; 所有选项的简易使用途径。所有配置(例如源文件,轨道选项等)都可以保存和复原。它还包含了可以读取类似 <abbrev>OGM</abbrev> 中的简单章节与 &xml; 格式章节,输出 &xml; 格式章节文件,甚至还可以从 &matroska; 文件中读取章节,也可以将章节直接写入 &matroska; 文件。它还包含了一个头部编辑器,可用于快速修改现有 &matroska; 文件的属性,且无须进行完整的重新混流。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:74 -msgid "" -"&mmg; knows few options. The first possibility is to start it with a single " -"file name. If that file name's extenion is '<literal>.mmg</literal>' then it " -"will be treated as a preferences file and &mmg; will load its setting when " -"it starts. Otherwise the name is interpreted as being the name of an input " -"file which will be added." -msgstr "" -"&mmg; 需要的选项很少。最可能的情况是附带一个文件名启动它。如果文件的扩展名为 " -"'<literal>.mmg</literal>',则该文件将被当作配置文件处理,&mmg; 启动时将载入其" -"中的配置。如果文件名包含其他扩展名,则将被理解为即将添加的输入文件名。" +msgid "&mmg; knows few options. The first possibility is to start it with a single file name. If that file name's extenion is '<literal>.mmg</literal>' then it will be treated as a preferences file and &mmg; will load its setting when it starts. Otherwise the name is interpreted as being the name of an input file which will be added." +msgstr "&mmg; 需要的选项很少。最可能的情况是附带一个文件名启动它。如果文件的扩展名为 '<literal>.mmg</literal>',则该文件将被当作配置文件处理,&mmg; 启动时将载入其中的配置。如果文件名包含其他扩展名,则将被理解为即将添加的输入文件名。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:80 -msgid "" -"The second operation mode is invoked with the option <option>--edit-headers</" -"option> and a file name. This lets &mmg; run its header editor and load the " -"file." -msgstr "" -"第二个操作模式是附带选项 <option>--edit-headers</option> 与一个文件名调用。这" -"将使 &mmg; 运行它的头部字段编辑器并载入指定文件。" +msgid "The second operation mode is invoked with the option <option>--edit-headers</option> and a file name. This lets &mmg; run its header editor and load the file." +msgstr "第二个操作模式是附带选项 <option>--edit-headers</option> 与一个文件名调用。这将使 &mmg; 运行它的头部字段编辑器并载入指定文件。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:85 -msgid "" -"The full documentation is available in HTML form (<filename>doc/mkvmerge-gui." -"html</filename>)." -msgstr "" -"另有完整的 HTML 格式的文档(<filename>doc/mkvmerge-gui.html</filename>)。" +msgid "The full documentation is available in HTML form (<filename>doc/mkvmerge-gui.html</filename>)." +msgstr "另有完整的 HTML 格式的文档(<filename>doc/mkvmerge-gui.html</filename>)。" #. type: Content of: <refentry><refsect1><para> #: doc/man/mmg.xml:92 msgid "&mkvmerge;, &mkvextract;, &mkvinfo;, &mkvpropedit;" msgstr "&mkvmerge;, &mkvextract;, &mkvinfo;, &mkvpropedit;" +#~ msgid "--title" +#~ msgstr "--title" + +#~ msgid "--no-chapters" +#~ msgstr "--no-chapters" + +#~ msgid "" +#~ "Sets the stereo mode for the video track with the track ID " +#~ "<parameter>TID</parameter>. The mode can either be a number " +#~ "<parameter>n</parameter> between <constant>0</constant> and <constant>3</" +#~ "constant> or one of the keywords '<literal>none</literal>' (same as " +#~ "<parameter>n</parameter>=<constant>0</constant>), '<literal>right</" +#~ "literal>' (same as <parameter>n</parameter>=<constant>1</constant>), " +#~ "'<literal>left</literal>' (same as <parameter>n</parameter>=<constant>2</" +#~ "constant>) or '<literal>both</literal>' (same as <parameter>n</" +#~ "parameter>=<constant>3</constant>)." +#~ msgstr "" +#~ "设置 ID 为 <parameter>TID</parameter> 的视频轨的立体视法。 模式既可以是 " +#~ "<constant>0</constant> 到 <constant>3</constant> 之间的数字 <parameter>n</" +#~ "parameter>,也可以是 '<literal>none(无立体视法)</literal>' (与 " +#~ "<parameter>n</parameter>=<constant>0</constant> 相同), '<literal>right(右" +#~ "眼视角)</literal>' (与 <parameter>n</parameter>=<constant>1</constant> 相" +#~ "同), '<literal>left(左眼视角)</literal>' (与 <parameter>n</" +#~ "parameter>=<constant>2</constant> 相同) or '<literal>both(双眼视角)</" +#~ "literal>' (与 <parameter>n</parameter>=<constant>3</constant> 相同)。" + +#~ msgid "" +#~ "Syntax: <command>mkvextract</command> <option>timecodes_v2</option> " +#~ "<parameter>source-filename</parameter> <optional><parameter>options</" +#~ "parameter></optional>" +#~ msgstr "" +#~ "语法: <command>mkvextract</command> <option>timecodes_v2</option> " +#~ "<parameter>源文件名</parameter> <optional><parameter>选项</parameter></" +#~ "optional>" + +#~ msgid "" +#~ "Reads additional command line arguments from the file <parameter>options-" +#~ "file</parameter>. Lines whose first non-whitespace character is a hash " +#~ "mark ('<literal>#</literal>') are treated as comments and ignored. White " +#~ "spaces at the start and end of a line will be stripped. Each line must " +#~ "contain exactly one option. There is no meta character escaping." +#~ msgstr "" +#~ "从文件 <parameter>选项文件</parameter> 中读取额外的命令行参数。首个非空白" +#~ "字符为井号 ('<literal>#</literal>') 的行将被当作注释对待,在处理过程中将被" +#~ "忽略。各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转" +#~ "义。" + #~ msgid "<option>--no-ogg</option>" #~ msgstr "<option>--no-ogg</option>" @@ -5489,3 +3690,18 @@ #~ msgid "December 2009" #~ msgstr "2009 年 12 月" + +#~ msgid "--command-line-charset" +#~ msgstr "--command-line-charset" + +#~ msgid "--output" +#~ msgstr "--output" + +#~ msgid "--chapter-charset" +#~ msgstr "--chapter-charset" + +#~ msgid "--default-duration" +#~ msgstr "--default-duration" + +#~ msgid "--language" +#~ msgstr "--language" diff -Nru mkvtoolnix-4.0.0/doc/man/po4a/po4a.cfg mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po4a.cfg --- mkvtoolnix-4.0.0/doc/man/po4a/po4a.cfg 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/po4a/po4a.cfg 2011-01-31 20:34:09.000000000 +0000 @@ -1,7 +1,7 @@ -[po4a_paths] doc/man/po4a/po/mkvtoolnix.pot ja:doc/man/po4a/po/ja.po zh_CN:doc/man/po4a/po/zh_CN.po +[po4a_paths] doc/man/po4a/po/mkvtoolnix.pot ja:doc/man/po4a/po/ja.po nl:doc/man/po4a/po/nl.po zh_CN:doc/man/po4a/po/zh_CN.po -[type: docbook] doc/man/mkvextract.xml ja:doc/man/ja/mkvextract.xml zh_CN:doc/man/zh_CN/mkvextract.xml -[type: docbook] doc/man/mkvinfo.xml ja:doc/man/ja/mkvinfo.xml zh_CN:doc/man/zh_CN/mkvinfo.xml -[type: docbook] doc/man/mkvmerge.xml ja:doc/man/ja/mkvmerge.xml zh_CN:doc/man/zh_CN/mkvmerge.xml -[type: docbook] doc/man/mkvpropedit.xml ja:doc/man/ja/mkvpropedit.xml zh_CN:doc/man/zh_CN/mkvpropedit.xml -[type: docbook] doc/man/mmg.xml ja:doc/man/ja/mmg.xml zh_CN:doc/man/zh_CN/mmg.xml +[type: docbook] doc/man/mkvextract.xml $lang:doc/man/$lang/mkvextract.xml +[type: docbook] doc/man/mkvinfo.xml $lang:doc/man/$lang/mkvinfo.xml +[type: docbook] doc/man/mkvmerge.xml $lang:doc/man/$lang/mkvmerge.xml +[type: docbook] doc/man/mkvpropedit.xml $lang:doc/man/$lang/mkvpropedit.xml +[type: docbook] doc/man/mmg.xml $lang:doc/man/$lang/mmg.xml diff -Nru mkvtoolnix-4.0.0/doc/man/Rakefile mkvtoolnix-4.5.0+dfsg/doc/man/Rakefile --- mkvtoolnix-4.0.0/doc/man/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/doc/man/zh_CN/mkvextract.1 mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvextract.1 --- mkvtoolnix-4.0.0/doc/man/zh_CN/mkvextract.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvextract.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvextract .\" Author: Moritz Bunkus <moritz@bunkus.org> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: 用户命令 -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Chinese .\" -.TH "MKVEXTRACT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "用户命令" +.TH "MKVEXTRACT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -102,11 +102,30 @@ 显示版本信息并退出。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +联机下载 URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml +检查新版本。将以 +键=值 +的样式输出四行: 检索信息的 URL(键 +version_check_url),当前运行的版本(键 +running_version),最新版本(键 +available_version)及其下载 URL(键 +download_url)。 +.sp +若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。 +.sp +此选项仅当程序附带 libcurl 支持编译时可用。 +.RE +.PP \fB@\fR选项文件 .RS 4 从文件 \fI选项文件\fR -中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转义。 +中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。 +.sp +有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。 .sp 命令行 \*(Aq\fBmkvextract tracks 源\&.mkv \-\-raw 1:目标\&.raw\fR\*(Aq 可以转换为下面所示选项文件: .sp @@ -279,10 +298,37 @@ \fBtimecodes_v2\fR \fI源文件名\fR [\fI选项\fR] +\fITID1:目标文件名1\fR +[\fITID2:目标文件名2\fR \&.\&.\&.] .PP 提取出的时间码将被输出到命令行,除非输出被重定向(详情参见关于 输出重定向 的章节)。 +.PP +\fITID:输出文件名\fR +.RS 4 +如果源文件中存在 ID 为 +\fITID\fR +的轨道,则将其时间码提取为文件 +\fI输出文件名\fR。本选项可多次给出。轨道 ID 与 +\fBmkvmerge\fR(1) +的 +\fB\-\-identify\fR +选项所输出的相同。 +.sp +示例: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvextract timecodes_v2 input\&.mkv 1:tc\-track1\&.txt 2:tc\-track2\&.txt + +.fi +.if n \{\ +.RE +.\} +.RE .SH "输出重定向" .PP 有些提取模式会使 @@ -543,6 +589,11 @@ \fBmkvextract\fR(1) 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。 .RE +.SH "文本中特殊字符的转义" +.PP +有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。 +.PP +规则为: \*(Aq \*(Aq 变为 \*(Aq\es\*(Aq,\*(Aq"\*(Aq 变为 \*(Aq\e2\*(Aq,\*(Aq:\*(Aq 变为 \*(Aq\ec\*(Aq,\*(Aq#\*(Aq 变为 \*(Aq\eh\*(Aq,而 \*(Aq\e\*(Aq 自己则变为 \*(Aq\e\e\*(Aq。 .SH "参阅" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/zh_CN/mkvinfo.1 mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvinfo.1 --- mkvtoolnix-4.0.0/doc/man/zh_CN/mkvinfo.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvinfo.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvinfo .\" Author: Moritz Bunkus <moritz@bunkus.org> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: 用户命令 -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Chinese .\" -.TH "MKVINFO" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "用户命令" +.TH "MKVINFO" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -59,6 +59,11 @@ 所获取信息的简要概述,而非各元素。 .RE .PP +\fB\-t\fR, \fB\-\-track\-info\fR +.RS 4 +在\(lq详细\(rq模式下为各轨道显示统计信息。如果\(lq详细\(rq程度为 0 级,则将同时将级别设为 1。 +.RE +.PP \fB\-x\fR, \fB\-\-hexdump\fR .RS 4 以十六进制转储形式显示各帧的前 16 字节。 @@ -123,11 +128,30 @@ 显示版本信息并退出。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +联机下载 URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml +检查新版本。将以 +键=值 +的样式输出四行: 检索信息的 URL(键 +version_check_url),当前运行的版本(键 +running_version),最新版本(键 +available_version)及其下载 URL(键 +download_url)。 +.sp +若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。 +.sp +此选项仅当程序附带 libcurl 支持编译时可用。 +.RE +.PP \fB@\fR选项文件 .RS 4 从文件 \fI选项文件\fR -中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转义。 +中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。 +.sp +有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。 .sp 命令行 \*(Aq\fBmkvinfo \-v \-v 输入\&.mkv \-\-redirect\-output 信息\&.txt\fR\*(Aq 可以转换为下面所示的选项文件: .sp @@ -228,6 +252,11 @@ \fBmkvinfo\fR(1) 在输出错误信息后即中断运行。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。 .RE +.SH "文本中特殊字符的转义" +.PP +有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。 +.PP +规则为: \*(Aq \*(Aq 变为 \*(Aq\es\*(Aq,\*(Aq"\*(Aq 变为 \*(Aq\e2\*(Aq,\*(Aq:\*(Aq 变为 \*(Aq\ec\*(Aq,\*(Aq#\*(Aq 变为 \*(Aq\eh\*(Aq,而 \*(Aq\e\*(Aq 自己则变为 \*(Aq\e\e\*(Aq。 .SH "参阅" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/zh_CN/mkvmerge.1 mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvmerge.1 --- mkvtoolnix-4.0.0/doc/man/zh_CN/mkvmerge.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvmerge.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvmerge .\" Author: Moritz Bunkus <moritz@bunkus.org> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: 用户命令 -.\" Source: MKVToolNix 4.0.0 +.\" Source: MKVToolNix 4.5.0 .\" Language: Chinese .\" -.TH "MKVMERGE" "1" "2010\-06\-05" "MKVToolNix 4\&.0\&.0" "用户命令" +.TH "MKVMERGE" "1" "2011\-01\-31" "MKVToolNix 4\&.5\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,6 +38,24 @@ Matroska(TM) 文件中去;参见 \m[blue]\fBMatroska(TM) 网站\fR\m[]\&\s-2\u[1]\d\s+2。 +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB重要\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE .PP 全局选项: .PP @@ -249,7 +267,7 @@ .sp \fBmkvmerge\fR(1) -默认每簇最多放置 65535 个数据块或 2000ms 的数据。 +默认每簇最多放置 65535 个数据块或 5000ms 的数据。 .sp 尝试定位到特定帧的程序只能直接定位到簇,然后需要读取整个簇(来完成定位)。因此创建较大的簇将导致定位不精确或缓慢。 .RE @@ -471,6 +489,25 @@ .\} .RE .PP +\fB=\fR +.RS 4 +通常情况下 mkvmerge 将在输入文件所在的目录中查找基本名称相同,仅在连续的数字方面有差异的文件 (如 \*(AqVTS_01_1\&.VOB\*(Aq, \*(AqVTS_01_2\&.VOB\*(Aq, \*(AqVTS_01_3\&.VOB\*(Aq 等等)。此选项,单个 \*(Aq=\*(Aq,将令 mkvmerge 不查找这些额外的文件。 +.sp +\*(Aq=\*(Aq 也可以放在下一个文件名的前面。因此以下两条命令等效: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o 完整\&.mkv = 文件1\&.mkv +$ mkvmerge \-o 完整\&.mkv =文件1\&.mkv + +.fi +.if n \{\ +.RE +.\} +.RE +.PP 附件支持(其他全局选项): .PP \fB\-\-attachment\-description\fR \fI描述\fR @@ -844,6 +881,23 @@ 基本流分包器时使用。 如果留空,则默认为 4 字节,然而有的文件包含的所有帧或切片都小于 65536 字节。 对此类文件您可以使用此参数并将长度降为 2。 .RE .PP +\fB\-\-compression\fR \fITID:n\fR +.RS 4 +选择用于该轨道的压缩方式。注意播放器也得支持该方式。有效的值有 \*(Aqnone(无压缩)\*(Aq、\*(Aqzlib\*(Aq、\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq、\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq 与 \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq。值 \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq 与 \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq 仅当 +\fBmkvmerge\fR(1) +分别附加相应的 +liblzo(TM) +和 +bzlib(TM) +压缩库编译时有效。 +.sp +压缩方式 \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq 是一种称为 \*(Aq去头\*(Aq 的特殊压缩方式,只对 +MPEG4 +part 2 视频轨可用。 +.sp +部分字幕轨的默认值为 \*(Aqzlib\*(Aq 压缩。此压缩方式也是大部分(如果不是所有)回放应用程序都支持的压缩方式。无法保证对除 \*(Aqnone(无压缩)\*(Aq 以外的其他压缩方式的支持。 +.RE +.PP 仅用于视频轨的选项: .PP \fB\-f\fR, \fB\-\-fourcc\fR \fITID:FourCC\fR @@ -904,37 +958,17 @@ .PP \fB\-\-stereo\-mode\fR \fITID:n|关键词\fR .RS 4 -设置 ID 为 +设置轨道 ID 为 \fITID\fR -的视频轨的立体视法。 模式既可以是 +的轨道的立体模式。 模式可以为介于 \fB0\fR -到 -\fB3\fR -之间的数字 -\fIn\fR,也可以是 \*(Aqnone(无立体视法)\*(Aq (与 -\fIn\fR=\fB0\fR -相同), \*(Aqright(右眼视角)\*(Aq (与 -\fIn\fR=\fB1\fR -相同), \*(Aqleft(左眼视角)\*(Aq (与 -\fIn\fR=\fB2\fR -相同) or \*(Aqboth(双眼视角)\*(Aq (与 -\fIn\fR=\fB3\fR -相同)。 -.RE -.PP -\fB\-\-compression\fR \fITID:压缩方式\fR -.RS 4 -选择用于 VobSub 轨道的压缩方式。注意播放器也得支持该方式。有效的值有 \*(Aqnone(无压缩)\*(Aq、\*(Aqzlib\*(Aq、\*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq、\*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq 与 \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq。值 \*(Aqlzo\*(Aq/\*(Aqlxo1x\*(Aq 与 \*(Aqbz2\*(Aq/\*(Aqbzlib\*(Aq 仅当 -\fBmkvmerge\fR(1) -附加相应的 -liblzo(TM) -和 -bzlib(TM) -压缩库编译时有效。 -.sp -压缩方式 \*(Aqmpeg4_p2\*(Aq/\*(Aqmpeg4p2\*(Aq 是一种称为 \*(Aqheader removal\*(Aq 的特殊压缩方式,只对 MPEG4 part 2 视频轨可用。其他压缩方式是可用于所有类型轨道的通用压缩方式。 +与 +\fB11\fR +的数字 +\fIn\fR +或这些关键词之一: .sp -默认为 \*(Aqzlib\*(Aq 压缩。此压缩方式也是几乎所有回放程序都支持的压缩方式。无法保证对除 \*(Aqnone(无压缩)\*(Aq 以外的其他压缩方式的支持。 +\*(Aqmono\*(Aq、\*(Aqside_by_side_left_first\*(Aq、\*(Aqtop_bottom_right_first\*(Aq、\*(Aqtop_bottom_left_first\*(Aq、\*(Aqcheckboard_right_first\*(Aq、\*(Aqcheckboard_left_first\*(Aq、\*(Aqrow_interleaved_right_first\*(Aq、\*(Aqrow_interleaved_left_first\*(Aq、\*(Aqcolumn_interleaved_right_first\*(Aq、\*(Aqcolumn_interleaved_left_first\*(Aq、\*(Aqanaglyph\*(Aq、\*(Aqside_by_side_right_first\*(Aq。 .RE .PP 仅适用于文本字幕轨道的选项: @@ -961,6 +995,21 @@ 探查单个文件并报告其类型、文件中包含的轨道及其轨道 ID。如果使用了本选项,唯一可用的其他选项就是文件名。 .RE .PP +\fB\-I\fR, \fB\-\-identify\-verbose\fR \fI文件名\fR +.RS 4 +将使 +\fBmkvmerge\fR(1) +探查单个文件并报告其类型、文件中包含的轨道及其轨道 ID。如果使用了本选项,唯一可用的其他选项就是文件名。 +.sp +此选项可让 +\fBmkvmerge\fR(1) +输出关于容器及其中的轨道的额外信息。额外信息由方括号围绕。它包含空格分隔的键/值对,其中键与值由冒号分隔。 +.sp +各值按 +关于文本中特殊字符的转义的段落 +中描述的规则转义。 +.RE +.PP \fB\-l\fR, \fB\-\-list\-types\fR .RS 4 列出受支持的输入文件类型。 @@ -1025,7 +1074,9 @@ .RS 4 从文件 \fI选项文件\fR -中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转义。 +中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。 +.sp +有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。 .sp 命令行 \*(Aq\fBmkvmerge \-o "我的文件\&.mkv" \-A "一部影片\&.avi" 声音\&.ogg\fR\*(Aq 可以转换为下述选项文件: .sp @@ -1110,6 +1161,23 @@ .RS 4 显示版本信息并退出。 .RE +.PP +\fB\-\-check\-for\-updates\fR +.RS 4 +联机下载 URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml +检查新版本。将以 +键=值 +的样式输出四行: 检索信息的 URL(键 +version_check_url),当前运行的版本(键 +running_version),最新版本(键 +available_version)及其下载 URL(键 +download_url)。 +.sp +若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。 +.sp +此选项仅当程序附带 libcurl 支持编译时可用。 +.RE .SH "用法" .PP 用户可以选择各文件中 @@ -1118,6 +1186,84 @@ \fB\-o\fR所指定的文件中。可通过 \fB\-l\fR 选项获取已知(且受支持的)来源格式列表。 +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB重要\fR +.ps -1 +.br +.PP +The order of command line options is important\&. Please read the section +"Option order" +if you\*(Aqre new to the program\&. +.sp .5v +.RE +.SH "选项顺序" +.PP +输入选项的顺序对一些选项很重要。选项可归为两类: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +影响整个程序的选项不与任何输入文件有关。这些选项包括但不限于 +\fB\-\-command\-line\-charset\fR、\fB\-\-output\fR +或 +\fB\-\-title\fR。这些选项可在命令行的任意位置出现。 +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +影响单个输入文件或输入文件中的单个轨道的选项。这些选项均应用到命令行中接着的输入文件。所有应用到同一输入文件(或其轨道)的选项可以以任意顺序书写,只要都出现在该输入文件名之前。应用到输入文件的选项如 +\fB\-\-no\-chapters\fR +或 +\fB\-\-chapter\-charset\fR。应用到单个轨道的选项如 +\fB\-\-default\-duration\fR +或 +\fB\-\-language\fR。 +.RE +.PP +选项从左向右处理。如果同一个选项在同一范围内出现多次,将使用最后一次给出的参数。因此在下面的例子中,标题将被设为 "其他东东": +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o 输出\&.mkv \-\-title \*(Aq这个内个\*(Aq input\&.avi \-\-title \*(Aq其他东东\*(Aq +.fi +.if n \{\ +.RE +.\} +.PP +下面的例子中可以两次使用 +\fB\-\-language\fR +选项,因为在不同范围内使用。尽管应用到同一轨道 ID,但应用到的是不同的输入文件,因此属于不同范围: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o 输出\&.mkv \-\-language 0:fre 法语\&.ogg \-\-language 0:deu 德语\&.ogg +.fi +.if n \{\ +.RE +.\} .SH "示例" .PP 假定您有个名为 我的影片\&.avi 的文件,以及分开存放的音频轨如 \*(Aq我的影片\&.wav\*(Aq。您希望先将音频编码为 @@ -1399,6 +1545,18 @@ 的输出信息中没找到您指定的语言或默认轨标记,请参阅关于 默认值 的段落。 +.PP +关闭针对某输入文件的压缩。 +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ mkvmerge \-o 无压缩\&.mkv \-\-compression \-1:none 我的影片\&.avi \-\-compression \-1:none 我的影片\&.srt +.fi +.if n \{\ +.RE +.\} .SH "轨道 ID" .PP @@ -1423,6 +1581,10 @@ .RE .\} .PP +不要混淆输出 MKV 文件时所分派的轨道 ID与输入文件的轨道 ID。只有输入文件的轨道 ID 可用于需要轨道 ID 值的选项。 +.PP +还需注意,每个输入文件有其自己的一组轨道 ID。因此通过 \*(Aqmkvmerge \-\-identify\*(Aq 报告的文件 \*(Aq文件1\&.扩展名\*(Aq 的轨道 ID 不随其他输入文件的数量或 \*(Aq文件1\&.扩展名\*(Aq 所用到的位置变化。 +.PP 轨道 ID 通常这样分配: .sp .RS 4 @@ -1447,6 +1609,19 @@ .IP \(bu 2.3 .\} +MP4 +文件: 如 x264 所输出的文件,视频轨 ID 为 1。 +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} + AAC、AC3、MP3、SRT 与 WAV @@ -1608,6 +1783,11 @@ \fB\-\-redirect\-output\fR 选项重定向输出时)的字符串。 .RE +.SH "文本中特殊字符的转义" +.PP +有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。 +.PP +规则为: \*(Aq \*(Aq 变为 \*(Aq\es\*(Aq,\*(Aq"\*(Aq 变为 \*(Aq\e2\*(Aq,\*(Aq:\*(Aq 变为 \*(Aq\ec\*(Aq,\*(Aq#\*(Aq 变为 \*(Aq\eh\*(Aq,而 \*(Aq\e\*(Aq 自己则变为 \*(Aq\e\e\*(Aq。 .SH "SUBTITLES" .PP 可在 @@ -1969,9 +2149,9 @@ Matroska(TM) 文件添加标签的选项: \fB\-\-global\-tags\fR -与 the +与 \fB\-\-tags\fR -选项。不同之处在于前者,\fB\-\-global\-tags\fR,将通过移除所有上文提到的 +选项。不同之处在于前者,\fB\-\-global\-tags\fR,将通过移除上文提到的所有 Targets 元素使标签应用到整个文件。 而后者,\fB\-\-tags\fR,将使 \fBmkvmerge\fR(1) diff -Nru mkvtoolnix-4.0.0/doc/man/zh_CN/mkvpropedit.1 mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvpropedit.1 --- mkvtoolnix-4.0.0/doc/man/zh_CN/mkvpropedit.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mkvpropedit.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mkvpropedit .\" Author: Moritz Bunkus <moritz@bunkus.org> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: 用户命令 -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Chinese .\" -.TH "MKVPROPEDIT" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "用户命令" +.TH "MKVPROPEDIT" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -64,6 +64,9 @@ Matroska(TM) 文件区域(即剪辑信息或某个轨道的头部)。此选项可多次使用,以同时修改多个元素。 .sp +默认情况下,\fBmkvpropedit\fR(1) +将编辑剪辑信息区段。 +.sp 关于完整的语法说明请参见关于 编辑选择器 的段落。 @@ -145,11 +148,30 @@ 显示版本信息并退出。 .RE .PP +\fB\-\-check\-for\-updates\fR +.RS 4 +联机下载 URL +http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml +检查新版本。将以 +键=值 +的样式输出四行: 检索信息的 URL(键 +version_check_url),当前运行的版本(键 +running_version),最新版本(键 +available_version)及其下载 URL(键 +download_url)。 +.sp +若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。 +.sp +此选项仅当程序附带 libcurl 支持编译时可用。 +.RE +.PP \fB@\fR选项文件 .RS 4 从文件 \fI选项文件\fR -中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好含有一个选项。没有元字符转义。 +中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。 +.sp +有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。 .sp 命令行 \*(Aq\fBmkvpropedit 源\&.mkv \-\-edit track:a2 \-\-set name=注释\fR\*(Aq 可以转换为下述选项文件: .sp @@ -185,6 +207,9 @@ 文件区域(剪辑信息或者特定轨道的头部)。在出现另一个 \fB\-\-edit\fR 选项之前,此选项将一直有效。此选项的参数就叫做编辑选择器。 +.PP +默认情况下,\fBmkvpropedit\fR(1) +将编辑剪辑信息区段。 .SS "剪辑信息" .PP 可以通过这三个词中的任意一个选择剪辑信息: \*(Aqinfo\*(Aq、\*(Aqsegment_info\*(Aq 或 \*(Aqsegmentinfo\*(Aq。剪辑信息包含的属性包括剪辑标题、剪辑 @@ -281,7 +306,7 @@ .RS 4 .\} .nf -$ mkvpropedit 影片\&.mkv \-\-edit tracks:s1 \-\-set flag\-default=0 \-\-edit tracks:s2 \-\-set flag\-default=1 +$ mkvpropedit 影片\&.mkv \-\-edit track:s1 \-\-set flag\-default=0 \-\-edit track:s2 \-\-set flag\-default=1 .fi .if n \{\ @@ -335,6 +360,11 @@ \fBmkvpropedit\fR(1) 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。 .RE +.SH "文本中特殊字符的转义" +.PP +有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。 +.PP +规则为: \*(Aq \*(Aq 变为 \*(Aq\es\*(Aq,\*(Aq"\*(Aq 变为 \*(Aq\e2\*(Aq,\*(Aq:\*(Aq 变为 \*(Aq\ec\*(Aq,\*(Aq#\*(Aq 变为 \*(Aq\eh\*(Aq,而 \*(Aq\e\*(Aq 自己则变为 \*(Aq\e\e\*(Aq。 .SH "参阅" .PP diff -Nru mkvtoolnix-4.0.0/doc/man/zh_CN/mmg.1 mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mmg.1 --- mkvtoolnix-4.0.0/doc/man/zh_CN/mmg.1 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/man/zh_CN/mmg.1 2011-01-31 20:34:09.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: mmg .\" Author: Moritz Bunkus <moritz@bunkus.org> .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 2010-06-05 +.\" Date: 2011-01-31 .\" Manual: 用户命令 -.\" Source: MkvToolNix 4.0.0 +.\" Source: MkvToolNix 4.5.0 .\" Language: Chinese .\" -.TH "MMG" "1" "2010\-06\-05" "MkvToolNix 4\&.0\&.0" "用户命令" +.TH "MMG" "1" "2011\-01\-31" "MkvToolNix 4\&.5\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mkvtoolnix-4.0.0/doc/Rakefile mkvtoolnix-4.5.0+dfsg/doc/Rakefile --- mkvtoolnix-4.0.0/doc/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/doc/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/drake mkvtoolnix-4.5.0+dfsg/drake --- mkvtoolnix-4.0.0/drake 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/drake 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby + +#-- +# Copyright (c) 2003, 2004, 2005, 2006, 2007 Jim Weirich +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +#++ + +$: << '.' + +Dir.glob(File.dirname(File.dirname(File.dirname(__FILE__))) + "/*/lib").each { |dir| $:.unshift dir } +Dir.glob(File.dirname(__FILE__) + "/rake.d/vendor/*/lib").each { |dir| $:.unshift dir } + +begin + require 'rake' +rescue LoadError + require 'rubygems' + require 'rake' +end +Rake.application.run diff -Nru mkvtoolnix-4.0.0/.gitignore mkvtoolnix-4.5.0+dfsg/.gitignore --- mkvtoolnix-4.0.0/.gitignore 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/.gitignore 2011-01-31 20:34:09.000000000 +0000 @@ -34,4 +34,9 @@ /src/common/common.h.gch /Debug /Release - +/src/info/*.moc.cpp +/src/info/ui/mainwindow.h +/po/mkvtoolnix.pot +/build-config +/rake.d/dependecy.d +/src/common/common_pch.h.gch diff -Nru mkvtoolnix-4.0.0/handle_deps mkvtoolnix-4.5.0+dfsg/handle_deps --- mkvtoolnix-4.0.0/handle_deps 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/handle_deps 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -#!/bin/sh - -obj="$1" -exitcode="$2" - -dep="`echo "$obj" | sed -e 's:\.o$:.d:' -e 's:\.gch$:.d:'`" -test -f "$dep" || exit $exitcode - -test -f .deps && rm -f .deps -test -d .deps || mkdir .deps 2> /dev/null -if test ! -d .deps; then - rm -f "$dep" - exit 1 -fi - -target="`echo "$dep" | sed -e 's:/:_:g'`" -mv "$dep" ".deps/$target" || rm -f "$dep" - -exit $exitcode diff -Nru mkvtoolnix-4.0.0/INSTALL mkvtoolnix-4.5.0+dfsg/INSTALL --- mkvtoolnix-4.0.0/INSTALL 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/INSTALL 2011-01-31 20:34:09.000000000 +0000 @@ -11,7 +11,7 @@ The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. +those values to create a `build-config' file It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a @@ -47,19 +47,16 @@ Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. - 2. Type `make' to compile the package. + 2. Type `rake' to compile the package. - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and + 3. Type `rake install' to install the programs and any data files and documentation. - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the + 4. You can remove the program binaries and object files from the + source code directory by typing `rake clean'. To also remove the files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly + a different kind of computer), type `rake clean:dist'. There is + also a `rake clean:maintainer' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. @@ -79,27 +76,10 @@ *Note Defining Variables::, for more details. -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - Installation Names ================== - By default, `make install' will install the package's files in + By default, `rake install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/installer/header_image.bmp and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/installer/header_image.bmp differ diff -Nru mkvtoolnix-4.0.0/installer/mkvtoolnix-unicode.nsi mkvtoolnix-4.5.0+dfsg/installer/mkvtoolnix-unicode.nsi --- mkvtoolnix-4.0.0/installer/mkvtoolnix-unicode.nsi 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/installer/mkvtoolnix-unicode.nsi 2011-01-31 20:34:09.000000000 +0000 @@ -1,5 +1,5 @@ !define PRODUCT_NAME "MKVtoolnix" -!define PRODUCT_VERSION "4.0.0" +!define PRODUCT_VERSION "4.5.0" !define PRODUCT_VERSION_BUILD "" # Intentionally left empty for releases !define PRODUCT_PUBLISHER "Moritz Bunkus" !define PRODUCT_WEB_SITE "http://www.bunkus.org/videotools/mkvtoolnix/" @@ -18,7 +18,7 @@ # MUI Settings !define MUI_ABORTWARNING -!define MUI_ICON "matroskalogo_big.ico" +!define MUI_ICON "mkvmergeGUI.ico" # Language Selection Dialog Settings !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" @@ -57,9 +57,11 @@ # Language files !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Russian" +!insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "Ukrainian" @@ -110,6 +112,7 @@ SetShellVarContext all SetOutPath "$INSTDIR" + File "libcurl-4.dll" ; File "libebml.dll" File "libiconv-2.dll" File "libintl-8.dll" @@ -124,6 +127,7 @@ File "mkvpropedit.exe" File "mmg.exe" File "wxbase28u_gcc_custom.dll" + File "wxmsw28u_adv_gcc_custom.dll" File "wxmsw28u_core_gcc_custom.dll" File "wxmsw28u_html_gcc_custom.dll" SetOutPath "$INSTDIR\data" @@ -205,8 +209,10 @@ File "examples\matroskatags.dtd" SetOutPath "$INSTDIR\locale\de\LC_MESSAGES" File "/oname=mkvtoolnix.mo" "po\de.mo" - SetOutPath "$INSTDIR\locale\ja\LC_MESSAGES" - File "/oname=mkvtoolnix.mo" "po\ja.mo" + SetOutPath "$INSTDIR\locale\es\LC_MESSAGES" + File "/oname=mkvtoolnix.mo" "po\es.mo" + SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES" + File "/oname=mkvtoolnix.mo" "po\fr.mo" SetOutPath "$INSTDIR\locale\ja\LC_MESSAGES" File "/oname=mkvtoolnix.mo" "po\ja.mo" SetOutPath "$INSTDIR\locale\nl\LC_MESSAGES" @@ -385,6 +391,7 @@ Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\libcharset.dll" + Delete "$INSTDIR\libcurl-4.dll" Delete "$INSTDIR\libebml.dll" Delete "$INSTDIR\libiconv-2.dll" Delete "$INSTDIR\libintl-8.dll" @@ -398,6 +405,7 @@ Delete "$INSTDIR\mingwm10.dll" Delete "$INSTDIR\regex2.dll" Delete "$INSTDIR\wxbase28u_gcc_custom.dll" + Delete "$INSTDIR\wxmsw28u_adv_gcc_custom.dll" Delete "$INSTDIR\wxmsw28u_core_gcc_custom.dll" Delete "$INSTDIR\wxmsw28u_html_gcc_custom.dll" Delete "$INSTDIR\zlib1.dll" @@ -434,6 +442,14 @@ RMDir "$INSTDIR\locale\de\LC_MESSAGES" RMDir "$INSTDIR\locale\de" + Delete "$INSTDIR\locale\es\LC_MESSAGES\mkvtoolnix.mo" + RMDir "$INSTDIR\locale\es\LC_MESSAGES" + RMDir "$INSTDIR\locale\es" + + Delete "$INSTDIR\locale\fr\LC_MESSAGES\mkvtoolnix.mo" + RMDir "$INSTDIR\locale\fr\LC_MESSAGES" + RMDir "$INSTDIR\locale\fr" + Delete "$INSTDIR\locale\ja\LC_MESSAGES\mkvtoolnix.mo" RMDir "$INSTDIR\locale\ja\LC_MESSAGES" RMDir "$INSTDIR\locale\ja" Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/installer/welcome_finish_page.bmp and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/installer/welcome_finish_page.bmp differ diff -Nru mkvtoolnix-4.0.0/lib/avilib-0.6.10/Makefile.in mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/Makefile.in --- mkvtoolnix-4.0.0/lib/avilib-0.6.10/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C .. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/lib/avilib-0.6.10/Rakefile mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/Rakefile --- mkvtoolnix-4.0.0/lib/avilib-0.6.10/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/lib/avilib-0.6.10/xio.cpp mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/xio.cpp --- mkvtoolnix-4.0.0/lib/avilib-0.6.10/xio.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/avilib-0.6.10/xio.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -4,20 +4,20 @@ * Copyright (C) Lukas Hejtmanek - January 2004 * * This file is part of transcode, a linux video stream processing tool - * + * * transcode is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. - * + * * transcode is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with GNU Make; see the file COPYING. If not, write to - * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * */ @@ -110,7 +110,7 @@ xio_lseek(int fd, int64_t offset, int whence) { - int64_t expected_pos; + uint64_t expected_pos; seek_mode smode; if ((fd < 0) || (fd >= MAX_INSTANCES) || (instances[fd] == NULL)) diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/all.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/all.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/all.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/all.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,36 @@ +//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_316FDA946C0D11DEA9CBAE5255D89593 +#define UUID_316FDA946C0D11DEA9CBAE5255D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/diagnostic_information.hpp> +#include <boost/exception/error_info.hpp> +#include <boost/exception/exception.hpp> +#include <boost/exception/get_error_info.hpp> +#include <boost/exception/info.hpp> +#include <boost/exception/info_tuple.hpp> +#include <boost/exception/errinfo_api_function.hpp> +#include <boost/exception/errinfo_at_line.hpp> +#include <boost/exception/errinfo_errno.hpp> +#include <boost/exception/errinfo_file_handle.hpp> +#include <boost/exception/errinfo_file_name.hpp> +#include <boost/exception/errinfo_file_open_mode.hpp> +#include <boost/exception/errinfo_type_info_name.hpp> +#ifndef BOOST_NO_EXCEPTIONS +#include <boost/exception/errinfo_nested_exception.hpp> +#include <boost/exception_ptr.hpp> +#endif + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/current_exception_cast.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/current_exception_cast.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/current_exception_cast.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/current_exception_cast.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,43 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_7E83C166200811DE885E826156D89593 +#define UUID_7E83C166200811DE885E826156D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +namespace +boost + { + template <class E> + inline + E * + current_exception_cast() + { + try + { + throw; + } + catch( + E & e ) + { + return &e; + } + catch( + ...) + { + return 0; + } + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/attribute_noreturn.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/attribute_noreturn.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/attribute_noreturn.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/attribute_noreturn.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,17 @@ +//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_61531AB0680611DEADD5846855D89593 +#define UUID_61531AB0680611DEADD5846855D89593 + +#if defined(_MSC_VER) +#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn) +#elif defined(__GNUC__) +#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#else +#define BOOST_ATTRIBUTE_NORETURN +#endif + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/error_info_impl.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/error_info_impl.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/error_info_impl.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/error_info_impl.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,75 @@ +//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_CE6983AC753411DDA764247956D89593 +#define UUID_CE6983AC753411DDA764247956D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <string> + +namespace +boost + { + namespace + exception_detail + { + class + error_info_base + { + public: + + virtual std::string tag_typeid_name() const = 0; + virtual std::string value_as_string() const = 0; + + protected: + + ~error_info_base() throw() + { + } + }; + } + + template <class Tag,class T> + class + error_info: + public exception_detail::error_info_base + { + public: + + typedef T value_type; + + error_info( value_type const & value ); + ~error_info() throw(); + + value_type const & + value() const + { + return value_; + } + + value_type & + value() + { + return value_; + } + + private: + + std::string tag_typeid_name() const; + std::string value_as_string() const; + + value_type value_; + }; + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/exception_ptr.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/exception_ptr.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/exception_ptr.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/exception_ptr.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,431 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_618474C2DE1511DEB74A388C56D89593 +#define UUID_618474C2DE1511DEB74A388C56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/config.hpp> +#ifdef BOOST_NO_EXCEPTIONS +#error This header requires exception handling to be enabled. +#endif +#include <boost/exception/exception.hpp> +#include <boost/exception/info.hpp> +#include <boost/exception/diagnostic_information.hpp> +#include <boost/exception/detail/type_info.hpp> +#include <boost/shared_ptr.hpp> +#include <stdexcept> +#include <new> +#include <ios> + +namespace +boost + { + typedef shared_ptr<exception_detail::clone_base const> exception_ptr; + + exception_ptr current_exception(); + + template <class T> + inline + exception_ptr + copy_exception( T const & e ) + { + try + { + throw enable_current_exception(e); + } + catch( + ... ) + { + return current_exception(); + } + } + +#ifndef BOOST_NO_RTTI + typedef error_info<struct tag_original_exception_type,std::type_info const *> original_exception_type; + + inline + std::string + to_string( original_exception_type const & x ) + { + return x.value()->name(); + } +#endif + + namespace + exception_detail + { + struct + bad_alloc_: + boost::exception, + std::bad_alloc + { + }; + + template <int Dummy> + exception_ptr + get_bad_alloc() + { + bad_alloc_ ba; + exception_detail::clone_impl<bad_alloc_> c(ba); + c << + throw_function(BOOST_CURRENT_FUNCTION) << + throw_file(__FILE__) << + throw_line(__LINE__); + static exception_ptr ep(new exception_detail::clone_impl<bad_alloc_>(c)); + return ep; + } + + template <int Dummy> + struct + exception_ptr_bad_alloc + { + static exception_ptr const e; + }; + + template <int Dummy> + exception_ptr const + exception_ptr_bad_alloc<Dummy>:: + e = get_bad_alloc<Dummy>(); + } + + class + unknown_exception: + public boost::exception, + public std::exception + { + public: + + unknown_exception() + { + } + + explicit + unknown_exception( std::exception const & e ) + { + add_original_type(e); + } + + explicit + unknown_exception( boost::exception const & e ): + boost::exception(e) + { + add_original_type(e); + } + + ~unknown_exception() throw() + { + } + + private: + + template <class E> + void + add_original_type( E const & e ) + { +#ifndef BOOST_NO_RTTI + (*this) << original_exception_type(&typeid(e)); +#endif + } + }; + + namespace + exception_detail + { + template <class T> + class + current_exception_std_exception_wrapper: + public T, + public boost::exception + { + public: + + explicit + current_exception_std_exception_wrapper( T const & e1 ): + T(e1) + { + add_original_type(e1); + } + + current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ): + T(e1), + boost::exception(e2) + { + add_original_type(e1); + } + + ~current_exception_std_exception_wrapper() throw() + { + } + + private: + + template <class E> + void + add_original_type( E const & e ) + { +#ifndef BOOST_NO_RTTI + (*this) << original_exception_type(&typeid(e)); +#endif + } + }; + +#ifdef BOOST_NO_RTTI + template <class T> + boost::exception const * + get_boost_exception( T const * ) + { + try + { + throw; + } + catch( + boost::exception & x ) + { + return &x; + } + catch(...) + { + return 0; + } + } +#else + template <class T> + boost::exception const * + get_boost_exception( T const * x ) + { + return dynamic_cast<boost::exception const *>(x); + } +#endif + + template <class T> + inline + exception_ptr + current_exception_std_exception( T const & e1 ) + { + if( boost::exception const * e2 = get_boost_exception(&e1) ) + return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1,*e2)); + else + return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1)); + } + + inline + exception_ptr + current_exception_unknown_exception() + { + return boost::copy_exception(unknown_exception()); + } + + inline + exception_ptr + current_exception_unknown_boost_exception( boost::exception const & e ) + { + return boost::copy_exception(unknown_exception(e)); + } + + inline + exception_ptr + current_exception_unknown_std_exception( std::exception const & e ) + { + if( boost::exception const * be = get_boost_exception(&e) ) + return current_exception_unknown_boost_exception(*be); + else + return boost::copy_exception(unknown_exception(e)); + } + + inline + exception_ptr + current_exception_impl() + { + try + { + throw; + } + catch( + exception_detail::clone_base & e ) + { + return exception_ptr(e.clone()); + } + catch( + std::domain_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::invalid_argument & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::length_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::out_of_range & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::logic_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::range_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::overflow_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::underflow_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::ios_base::failure & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::runtime_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::bad_alloc & e ) + { + return exception_detail::current_exception_std_exception(e); + } +#ifndef BOOST_NO_TYPEID + catch( + std::bad_cast & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::bad_typeid & e ) + { + return exception_detail::current_exception_std_exception(e); + } +#endif + catch( + std::bad_exception & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::exception & e ) + { + return exception_detail::current_exception_unknown_std_exception(e); + } + catch( + boost::exception & e ) + { + return exception_detail::current_exception_unknown_boost_exception(e); + } + catch( + ... ) + { + return exception_detail::current_exception_unknown_exception(); + } + } + } + + inline + exception_ptr + current_exception() + { + exception_ptr ret; + BOOST_ASSERT(!ret); + try + { + ret=exception_detail::current_exception_impl(); + } + catch( + std::bad_alloc & ) + { + ret=exception_detail::exception_ptr_bad_alloc<42>::e; + } + catch( + ... ) + { + try + { + ret=exception_detail::current_exception_std_exception(std::bad_exception()); + } + catch( + std::bad_alloc & ) + { + ret=exception_detail::exception_ptr_bad_alloc<42>::e; + } + catch( + ... ) + { + BOOST_ASSERT(0); + } + } + BOOST_ASSERT(ret); + return ret; + } + + inline + void + rethrow_exception( exception_ptr const & p ) + { + BOOST_ASSERT(p); + p->rethrow(); + } + + inline + std::string + diagnostic_information( exception_ptr const & p ) + { + if( p ) + try + { + rethrow_exception(p); + } + catch( + ... ) + { + return current_exception_diagnostic_information(); + } + return "<empty>"; + } + + inline + std::string + to_string( exception_ptr const & p ) + { + std::string s='\n'+diagnostic_information(p); + std::string padding(" "); + std::string r; + bool f=false; + for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i ) + { + if( f ) + r+=padding; + char c=*i; + r+=c; + f=(c=='\n'); + } + return r; + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/is_output_streamable.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/is_output_streamable.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/is_output_streamable.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/is_output_streamable.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,60 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_898984B4076411DD973EDFA055D89593 +#define UUID_898984B4076411DD973EDFA055D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <ostream> + +namespace +boost + { + namespace + to_string_detail + { + struct + partial_ordering_helper1 + { + template <class CharT,class Traits> + partial_ordering_helper1( std::basic_ostream<CharT,Traits> & ); + }; + + struct + partial_ordering_helper2 + { + template <class T> + partial_ordering_helper2( T const & ); + }; + + char operator<<( partial_ordering_helper1, partial_ordering_helper2 ); + + template <class T,class CharT,class Traits> + struct + is_output_streamable_impl + { + static std::basic_ostream<CharT,Traits> & f(); + static T const & g(); + enum e { value=1!=(sizeof(f()<<g())) }; + }; + } + + template <class T, class CharT=char, class Traits=std::char_traits<CharT> > + struct + is_output_streamable + { + enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value }; + }; + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/object_hex_dump.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/object_hex_dump.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/object_hex_dump.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/object_hex_dump.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,50 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_6F463AC838DF11DDA3E6909F56D89593 +#define UUID_6F463AC838DF11DDA3E6909F56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/detail/type_info.hpp> +#include <iomanip> +#include <ios> +#include <string> +#include <sstream> +#include <cstdlib> + +namespace +boost + { + namespace + exception_detail + { + template <class T> + inline + std::string + object_hex_dump( T const & x, std::size_t max_size=16 ) + { + std::ostringstream s; + s << "type: " << type_name<T>() << ", size: " << sizeof(T) << ", dump: "; + std::size_t n=sizeof(T)>max_size?max_size:sizeof(T); + s.fill('0'); + s.width(2); + unsigned char const * b=reinterpret_cast<unsigned char const *>(&x); + s << std::setw(2) << std::hex << (unsigned int)*b; + for( unsigned char const * e=b+n; ++b!=e; ) + s << " " << std::setw(2) << std::hex << (unsigned int)*b; + return s.str(); + } + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/type_info.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/type_info.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/detail/type_info.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/detail/type_info.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,83 @@ +//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_C3E1741C754311DDB2834CCA55D89593 +#define UUID_C3E1741C754311DDB2834CCA55D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/detail/sp_typeinfo.hpp> +#include <boost/current_function.hpp> +#include <boost/config.hpp> +#ifndef BOOST_NO_TYPEID +#include <boost/units/detail/utility.hpp> +#endif +#include <string> + +namespace +boost + { + template <class T> + inline + std::string + tag_type_name() + { +#ifdef BOOST_NO_TYPEID + return BOOST_CURRENT_FUNCTION; +#else + return units::detail::demangle(typeid(T*).name()); +#endif + } + + template <class T> + inline + std::string + type_name() + { +#ifdef BOOST_NO_TYPEID + return BOOST_CURRENT_FUNCTION; +#else + return units::detail::demangle(typeid(T).name()); +#endif + } + + namespace + exception_detail + { + struct + type_info_ + { + detail::sp_typeinfo const & type_; + + explicit + type_info_( detail::sp_typeinfo const & type ): + type_(type) + { + } + + friend + bool + operator<( type_info_ const & a, type_info_ const & b ) + { + return 0!=(a.type_.before(b.type_)); + } + }; + } + } + +#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T)) + +#ifndef BOOST_NO_RTTI +#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x)) +#endif + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/diagnostic_information.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/diagnostic_information.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/diagnostic_information.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/diagnostic_information.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,184 @@ +//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_0552D49838DD11DD90146B8956D89593 +#define UUID_0552D49838DD11DD90146B8956D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/config.hpp> +#include <boost/exception/get_error_info.hpp> +#include <boost/utility/enable_if.hpp> +#ifndef BOOST_NO_RTTI +#include <boost/units/detail/utility.hpp> +#endif +#include <exception> +#include <sstream> +#include <string> + +#ifndef BOOST_NO_EXCEPTIONS +#include <boost/exception/current_exception_cast.hpp> +namespace +boost + { + namespace + exception_detail + { + std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool ); + } + + inline + std::string + current_exception_diagnostic_information() + { + boost::exception const * be=current_exception_cast<boost::exception const>(); + std::exception const * se=current_exception_cast<std::exception const>(); + if( be || se ) + return exception_detail::diagnostic_information_impl(be,se,true); + else + return "No diagnostic information available."; + } + } +#endif + +namespace +boost + { + namespace + exception_detail + { + inline + exception const * + get_boost_exception( exception const * e ) + { + return e; + } + + inline + exception const * + get_boost_exception( ... ) + { + return 0; + } + + inline + std::exception const * + get_std_exception( std::exception const * e ) + { + return e; + } + + inline + std::exception const * + get_std_exception( ... ) + { + return 0; + } + + inline + char const * + get_diagnostic_information( exception const & x, char const * header ) + { + if( error_info_container * c=x.data_.get() ) +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + return c->diagnostic_information(header); +#ifndef BOOST_NO_EXCEPTIONS + } + catch(...) + { + } +#endif + return 0; + } + + inline + std::string + diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what ) + { + if( !be && !se ) + return "Unknown exception."; +#ifndef BOOST_NO_RTTI + if( !be ) + be=dynamic_cast<boost::exception const *>(se); + if( !se ) + se=dynamic_cast<std::exception const *>(be); +#endif + char const * wh=0; + if( with_what && se ) + { + wh=se->what(); + if( be && exception_detail::get_diagnostic_information(*be,0)==wh ) + return wh; + } + std::ostringstream tmp; + if( be ) + { + if( char const * const * f=get_error_info<throw_file>(*be) ) + { + tmp << *f; + if( int const * l=get_error_info<throw_line>(*be) ) + tmp << '(' << *l << "): "; + } + tmp << "Throw in function "; + if( char const * const * fn=get_error_info<throw_function>(*be) ) + tmp << *fn; + else + tmp << "(unknown)"; + tmp << '\n'; + } +#ifndef BOOST_NO_RTTI + tmp << std::string("Dynamic exception type: ") << + units::detail::demangle((be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name()) << '\n'; +#endif + if( with_what && se ) + tmp << "std::exception::what: " << wh << '\n'; + if( be ) + if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) ) + if( *s ) + return s; + return tmp.str(); + } + } + + template <class T> + std::string + diagnostic_information( T const & e ) + { + return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true); + } + + inline + char const * + diagnostic_information_what( exception const & e ) throw() + { + char const * w=0; +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + (void) exception_detail::diagnostic_information_impl(&e,0,false); + return exception_detail::get_diagnostic_information(e,0); +#ifndef BOOST_NO_EXCEPTIONS + } + catch( + ... ) + { + } +#endif + return w; + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/enable_current_exception.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/enable_current_exception.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/enable_current_exception.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/enable_current_exception.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include <boost/exception/exception.hpp> diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/enable_error_info.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/enable_error_info.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/enable_error_info.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/enable_error_info.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include <boost/exception/exception.hpp> diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_api_function.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_api_function.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_api_function.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_api_function.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,22 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_DDFBB4546C1211DEA4659E9055D89593 +#define UUID_DDFBB4546C1211DEA4659E9055D89593 + +#include "boost/exception/error_info.hpp" + +namespace +boost + { + //Usage hint: + //if( api_function(....)!=0 ) + // BOOST_THROW_EXCEPTION( + // failure() << + // errinfo_api_function("api_function") ); + typedef error_info<struct errinfo_api_function_,char const *> errinfo_api_function; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_at_line.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_at_line.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_at_line.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_at_line.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,18 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_E7255CE26C1211DE85800C9155D89593 +#define UUID_E7255CE26C1211DE85800C9155D89593 + +namespace +boost + { + template <class Tag,class T> class error_info; + + //Use with parsing errors exceptions, for example in a XML file parser. + typedef error_info<struct errinfo_at_line_,int> errinfo_at_line; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_errno.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_errno.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_errno.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_errno.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,44 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_F0EE17BE6C1211DE87FF459155D89593 +#define UUID_F0EE17BE6C1211DE87FF459155D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include "boost/exception/info.hpp" +#include <errno.h> +#include <string.h> + +namespace +boost + { + typedef error_info<struct errinfo_errno_,int> errinfo_errno; + + //Usage hint: + //if( c_function(....)!=0 ) + // BOOST_THROW_EXCEPTION( + // failure() << + // errinfo_errno(errno) << + // errinfo_api_function("c_function") ); + inline + std::string + to_string( errinfo_errno const & e ) + { + std::ostringstream tmp; + int v=e.value(); + tmp << v << ", \"" << strerror(v) << "\""; + return tmp.str(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_handle.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_handle.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_handle.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_handle.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,20 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_F79E6EE26C1211DEB26E929155D89593 +#define UUID_F79E6EE26C1211DEB26E929155D89593 + +#include <stdio.h> + +namespace +boost + { + template <class> class weak_ptr; + template <class Tag,class T> class error_info; + + typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_name.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_name.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_name.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_name.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,26 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_FEE5120A6C1211DE94E8BC9155D89593 +#define UUID_FEE5120A6C1211DE94E8BC9155D89593 + +#include <string> + +namespace +boost + { + template <class Tag,class T> class error_info; + + //Usage hint: + //FILE * f=fopen(name,mode); + //if( !f ) + // BOOST_THROW_EXCEPTION( + // file_open_error() << + // errinfo_file_name(name) << + // errinfo_file_open_mode(mode) ); + typedef error_info<struct errinfo_file_name_,std::string> errinfo_file_name; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_open_mode.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_open_mode.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_file_open_mode.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_file_open_mode.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,26 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_056F1F266C1311DE8E74299255D89593 +#define UUID_056F1F266C1311DE8E74299255D89593 + +#include <string> + +namespace +boost + { + template <class Tag,class T> class error_info; + + //Usage hint: + //FILE * f=fopen(name,mode); + //if( !f ) + // BOOST_THROW_EXCEPTION( + // file_open_error() << + // errinfo_file_name(name) << + // errinfo_file_open_mode(mode) ); + typedef error_info<struct errinfo_file_open_mode_,std::string> errinfo_file_open_mode; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_nested_exception.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_nested_exception.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_nested_exception.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_nested_exception.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,19 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_45CC9A82B77511DEB330FC4956D89593 +#define UUID_45CC9A82B77511DEB330FC4956D89593 + +namespace +boost + { + namespace exception_detail { class clone_base; }; + template <class Tag,class T> class error_info; + template <class T> class shared_ptr; + typedef shared_ptr<exception_detail::clone_base const> exception_ptr; + typedef error_info<struct errinfo_nested_exception_,exception_ptr> errinfo_nested_exception; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_type_info_name.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_type_info_name.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/errinfo_type_info_name.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/errinfo_type_info_name.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,23 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_0E11109E6C1311DEB7EA649255D89593 +#define UUID_0E11109E6C1311DEB7EA649255D89593 + +#include <string> + +namespace +boost + { + template <class Tag,class T> class error_info; + + //Usage hint: + //BOOST_THROW_EXCEPTION( + // bad_type() << + // errinfo_type_info_name(typeid(x).name()) ); + typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name; + } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/error_info.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/error_info.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/error_info.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/error_info.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +namespace boost { template <class Tag,class T> class error_info; } diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/exception.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/exception.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/exception.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/exception.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,436 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593 +#define UUID_274DA366004E11DCB1DDFE2E56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +namespace +boost + { + namespace + exception_detail + { + template <class T> + class + refcount_ptr + { + public: + + refcount_ptr(): + px_(0) + { + } + + ~refcount_ptr() + { + release(); + } + + refcount_ptr( refcount_ptr const & x ): + px_(x.px_) + { + add_ref(); + } + + refcount_ptr & + operator=( refcount_ptr const & x ) + { + adopt(x.px_); + return *this; + } + + void + adopt( T * px ) + { + release(); + px_=px; + add_ref(); + } + + T * + get() const + { + return px_; + } + + private: + + T * px_; + + void + add_ref() + { + if( px_ ) + px_->add_ref(); + } + + void + release() + { + if( px_ && px_->release() ) + px_=0; + } + }; + } + + //////////////////////////////////////////////////////////////////////// + + template <class Tag,class T> + class error_info; + + typedef error_info<struct throw_function_,char const *> throw_function; + typedef error_info<struct throw_file_,char const *> throw_file; + typedef error_info<struct throw_line_,int> throw_line; + + template <> + class + error_info<throw_function_,char const *> + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info<throw_file_,char const *> + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info<throw_line_,int> + { + public: + typedef int value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + class exception; + + template <class T> + class shared_ptr; + + namespace + exception_detail + { + class error_info_base; + struct type_info_; + + struct + error_info_container + { + virtual char const * diagnostic_information( char const * ) const = 0; + virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0; + virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0; + virtual void add_ref() const = 0; + virtual bool release() const = 0; + virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0; + + protected: + + ~error_info_container() throw() + { + } + }; + + template <class> + struct get_info; + + template <> + struct get_info<throw_function>; + + template <> + struct get_info<throw_file>; + + template <> + struct get_info<throw_line>; + + char const * get_diagnostic_information( exception const &, char const * ); + + void copy_boost_exception( exception *, exception const * ); + + template <class E,class Tag,class T> + E const & set_info( E const &, error_info<Tag,T> const & ); + + template <class E> + E const & set_info( E const &, throw_function const & ); + + template <class E> + E const & set_info( E const &, throw_file const & ); + + template <class E> + E const & set_info( E const &, throw_line const & ); + } + + class + exception + { + protected: + + exception(): + throw_function_(0), + throw_file_(0), + throw_line_(-1) + { + } + +#ifdef __HP_aCC + //On HP aCC, this protected copy constructor prevents throwing boost::exception. + //On all other platforms, the same effect is achieved by the pure virtual destructor. + exception( exception const & x ) throw(): + data_(x.data_), + throw_function_(x.throw_function_), + throw_file_(x.throw_file_), + throw_line_(x.throw_line_) + { + } +#endif + + virtual ~exception() throw() +#ifndef __HP_aCC + = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. +#endif + ; + +#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310) + public: +#else + private: + + template <class E> + friend E const & exception_detail::set_info( E const &, throw_function const & ); + + template <class E> + friend E const & exception_detail::set_info( E const &, throw_file const & ); + + template <class E> + friend E const & exception_detail::set_info( E const &, throw_line const & ); + + template <class E,class Tag,class T> + friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & ); + + friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); + + template <class> + friend struct exception_detail::get_info; + friend struct exception_detail::get_info<throw_function>; + friend struct exception_detail::get_info<throw_file>; + friend struct exception_detail::get_info<throw_line>; + friend void exception_detail::copy_boost_exception( exception *, exception const * ); +#endif + mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_; + mutable char const * throw_function_; + mutable char const * throw_file_; + mutable int throw_line_; + }; + + inline + exception:: + ~exception() throw() + { + } + + namespace + exception_detail + { + template <class E> + E const & + set_info( E const & x, throw_function const & y ) + { + x.throw_function_=y.v_; + return x; + } + + template <class E> + E const & + set_info( E const & x, throw_file const & y ) + { + x.throw_file_=y.v_; + return x; + } + + template <class E> + E const & + set_info( E const & x, throw_line const & y ) + { + x.throw_line_=y.v_; + return x; + } + } + + //////////////////////////////////////////////////////////////////////// + + namespace + exception_detail + { + template <class T> + struct + error_info_injector: + public T, + public exception + { + explicit + error_info_injector( T const & x ): + T(x) + { + } + + ~error_info_injector() throw() + { + } + }; + + struct large_size { char c[256]; }; + large_size dispatch_boost_exception( exception const * ); + + struct small_size { }; + small_size dispatch_boost_exception( void const * ); + + template <class,int> + struct enable_error_info_helper; + + template <class T> + struct + enable_error_info_helper<T,sizeof(large_size)> + { + typedef T type; + }; + + template <class T> + struct + enable_error_info_helper<T,sizeof(small_size)> + { + typedef error_info_injector<T> type; + }; + + template <class T> + struct + enable_error_info_return_type + { + typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception((T*)0))>::type type; + }; + } + + template <class T> + inline + typename + exception_detail::enable_error_info_return_type<T>::type + enable_error_info( T const & x ) + { + typedef typename exception_detail::enable_error_info_return_type<T>::type rt; + return rt(x); + } + + //////////////////////////////////////////////////////////////////////// + + namespace + exception_detail + { + class + clone_base + { + public: + + virtual clone_base const * clone() const = 0; + virtual void rethrow() const = 0; + + virtual + ~clone_base() throw() + { + } + }; + + inline + void + copy_boost_exception( exception * a, exception const * b ) + { + refcount_ptr<error_info_container> data; + if( error_info_container * d=b->data_.get() ) + data = d->clone(); + a->throw_file_ = b->throw_file_; + a->throw_line_ = b->throw_line_; + a->throw_function_ = b->throw_function_; + a->data_ = data; + } + + inline + void + copy_boost_exception( void *, void const * ) + { + } + + template <class T> + class + clone_impl: + public T, + public clone_base + { + public: + + explicit + clone_impl( T const & x ): + T(x) + { + copy_boost_exception(this,&x); + } + + ~clone_impl() throw() + { + } + + private: + + clone_base const * + clone() const + { + return new clone_impl(*this); + } + + void + rethrow() const + { + throw*this; + } + }; + } + + template <class T> + inline + exception_detail::clone_impl<T> + enable_current_exception( T const & x ) + { + return exception_detail::clone_impl<T>(x); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/get_error_info.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/get_error_info.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/get_error_info.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/get_error_info.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,130 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_1A590226753311DD9E4CCF6156D89593 +#define UUID_1A590226753311DD9E4CCF6156D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/exception.hpp> +#include <boost/exception/detail/error_info_impl.hpp> +#include <boost/exception/detail/type_info.hpp> +#include <boost/shared_ptr.hpp> + +namespace +boost + { + namespace + exception_detail + { + template <class ErrorInfo> + struct + get_info + { + static + typename ErrorInfo::value_type * + get( exception const & x ) + { + if( exception_detail::error_info_container * c=x.data_.get() ) + if( shared_ptr<exception_detail::error_info_base> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) ) + { +#ifndef BOOST_NO_RTTI + BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) ); +#endif + ErrorInfo * w = static_cast<ErrorInfo *>(eib.get()); + return &w->value(); + } + return 0; + } + }; + + template <> + struct + get_info<throw_function> + { + static + char const * * + get( exception const & x ) + { + return x.throw_function_ ? &x.throw_function_ : 0; + } + }; + + template <> + struct + get_info<throw_file> + { + static + char const * * + get( exception const & x ) + { + return x.throw_file_ ? &x.throw_file_ : 0; + } + }; + + template <> + struct + get_info<throw_line> + { + static + int * + get( exception const & x ) + { + return x.throw_line_!=-1 ? &x.throw_line_ : 0; + } + }; + + template <class T,class R> + struct + get_error_info_return_type + { + typedef R * type; + }; + + template <class T,class R> + struct + get_error_info_return_type<T const,R> + { + typedef R const * type; + }; + } + +#ifdef BOOST_NO_RTTI + template <class ErrorInfo> + inline + typename ErrorInfo::value_type const * + get_error_info( boost::exception const & x ) + { + return exception_detail::get_info<ErrorInfo>::get(x); + } + template <class ErrorInfo> + inline + typename ErrorInfo::value_type * + get_error_info( boost::exception & x ) + { + return exception_detail::get_info<ErrorInfo>::get(x); + } +#else + template <class ErrorInfo,class E> + inline + typename exception_detail::get_error_info_return_type<E,typename ErrorInfo::value_type>::type + get_error_info( E & some_exception ) + { + if( exception const * x = dynamic_cast<exception const *>(&some_exception) ) + return exception_detail::get_info<ErrorInfo>::get(*x); + else + return 0; + } +#endif + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/info.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/info.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/info.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/info.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,200 @@ +//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593 +#define UUID_8D22C4CA9CC811DCAA9133D256D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/exception.hpp> +#include <boost/exception/to_string_stub.hpp> +#include <boost/exception/detail/error_info_impl.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/config.hpp> +#include <map> + +namespace +boost + { + template <class Tag,class T> + inline + typename enable_if<has_to_string<T>,std::string>::type + to_string( error_info<Tag,T> const & x ) + { + return to_string(x.value()); + } + + template <class Tag,class T> + inline + error_info<Tag,T>:: + error_info( value_type const & value ): + value_(value) + { + } + + template <class Tag,class T> + inline + error_info<Tag,T>:: + ~error_info() throw() + { + } + + template <class Tag,class T> + inline + std::string + error_info<Tag,T>:: + tag_typeid_name() const + { + return tag_type_name<Tag>(); + } + + template <class Tag,class T> + inline + std::string + error_info<Tag,T>:: + value_as_string() const + { + return to_string_stub(*this); + } + + namespace + exception_detail + { + class + error_info_container_impl: + public error_info_container + { + public: + + error_info_container_impl(): + count_(0) + { + } + + ~error_info_container_impl() throw() + { + } + + void + set( shared_ptr<error_info_base> const & x, type_info_ const & typeid_ ) + { + BOOST_ASSERT(x); + info_[typeid_] = x; + diagnostic_info_str_.clear(); + } + + shared_ptr<error_info_base> + get( type_info_ const & ti ) const + { + error_info_map::const_iterator i=info_.find(ti); + if( info_.end()!=i ) + { + shared_ptr<error_info_base> const & p = i->second; +#ifndef BOOST_NO_RTTI + BOOST_ASSERT( BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==ti.type_ ); +#endif + return p; + } + return shared_ptr<error_info_base>(); + } + + char const * + diagnostic_information( char const * header ) const + { + if( header ) + { + BOOST_ASSERT(*header!=0); + std::ostringstream tmp; + tmp << header; + for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) + { + error_info_base const & x = *i->second; + tmp << '[' << x.tag_typeid_name() << "] = " << x.value_as_string() << '\n'; + } + tmp.str().swap(diagnostic_info_str_); + } + return diagnostic_info_str_.c_str(); + } + + private: + + friend class boost::exception; + + typedef std::map< type_info_, shared_ptr<error_info_base> > error_info_map; + error_info_map info_; + mutable std::string diagnostic_info_str_; + mutable int count_; + + error_info_container_impl( error_info_container_impl const & ); + error_info_container_impl & operator=( error_info_container const & ); + + void + add_ref() const + { + ++count_; + } + + bool + release() const + { + if( --count_ ) + return false; + else + { + delete this; + return true; + } + } + + refcount_ptr<error_info_container> + clone() const + { + refcount_ptr<error_info_container> p; + error_info_container_impl * c=new error_info_container_impl; + p.adopt(c); + c->info_ = info_; + return p; + } + }; + + template <class E,class Tag,class T> + inline + E const & + set_info( E const & x, error_info<Tag,T> const & v ) + { + typedef error_info<Tag,T> error_info_tag_t; + shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) ); + exception_detail::error_info_container * c=x.data_.get(); + if( !c ) + x.data_.adopt(c=new exception_detail::error_info_container_impl); + c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); + return x; + } + + template <class T> + struct + derives_boost_exception + { + enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) }; + }; + } + + template <class E,class Tag,class T> + inline + typename enable_if<exception_detail::derives_boost_exception<E>,E const &>::type + operator<<( E const & x, error_info<Tag,T> const & v ) + { + return exception_detail::set_info(x,v); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/info_tuple.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/info_tuple.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/info_tuple.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/info_tuple.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,76 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_63EE924290FB11DC87BB856555D89593 +#define UUID_63EE924290FB11DC87BB856555D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/info.hpp> +#include <boost/tuple/tuple.hpp> + +namespace +boost + { + template < + class E, + class Tag1,class T1, + class Tag2,class T2 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info<Tag1,T1>, + error_info<Tag2,T2> > const & v ) + { + return x << v.template get<0>() << v.template get<1>(); + } + + template < + class E, + class Tag1,class T1, + class Tag2,class T2, + class Tag3,class T3 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info<Tag1,T1>, + error_info<Tag2,T2>, + error_info<Tag3,T3> > const & v ) + { + return x << v.template get<0>() << v.template get<1>() << v.template get<2>(); + } + + template < + class E, + class Tag1,class T1, + class Tag2,class T2, + class Tag3,class T3, + class Tag4,class T4 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info<Tag1,T1>, + error_info<Tag2,T2>, + error_info<Tag3,T3>, + error_info<Tag4,T4> > const & v ) + { + return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/to_string.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/to_string.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/to_string.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/to_string.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,83 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_7E48761AD92811DC9011477D56D89593 +#define UUID_7E48761AD92811DC9011477D56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/utility/enable_if.hpp> +#include <boost/exception/detail/is_output_streamable.hpp> +#include <sstream> + +namespace +boost + { + namespace + to_string_detail + { + template <class T> + typename disable_if<is_output_streamable<T>,char>::type to_string( T const & ); + + template <class,bool IsOutputStreamable> + struct has_to_string_impl; + + template <class T> + struct + has_to_string_impl<T,true> + { + enum e { value=1 }; + }; + + template <class T> + struct + has_to_string_impl<T,false> + { + static T const & f(); + enum e { value=1!=sizeof(to_string(f())) }; + }; + } + + template <class T> + inline + typename enable_if<is_output_streamable<T>,std::string>::type + to_string( T const & x ) + { + std::ostringstream out; + out << x; + return out.str(); + } + + template <class T> + struct + has_to_string + { + enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value }; + }; + + template <class T,class U> + inline + std::string + to_string( std::pair<T,U> const & x ) + { + return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')'; + } + + inline + std::string + to_string( std::exception const & x ) + { + return x.what(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/to_string_stub.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/to_string_stub.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception/to_string_stub.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception/to_string_stub.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,109 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_E788439ED9F011DCB181F25B55D89593 +#define UUID_E788439ED9F011DCB181F25B55D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include <boost/exception/to_string.hpp> +#include <boost/exception/detail/object_hex_dump.hpp> +#include <boost/assert.hpp> + +namespace +boost + { + namespace + exception_detail + { + template <bool ToStringAvailable> + struct + to_string_dispatcher + { + template <class T,class Stub> + static + std::string + convert( T const & x, Stub ) + { + return to_string(x); + } + }; + + template <> + struct + to_string_dispatcher<false> + { + template <class T,class Stub> + static + std::string + convert( T const & x, Stub s ) + { + return s(x); + } + + template <class T> + static + std::string + convert( T const & x, std::string s ) + { + return s; + } + + template <class T> + static + std::string + convert( T const & x, char const * s ) + { + BOOST_ASSERT(s!=0); + return s; + } + }; + + namespace + to_string_dispatch + { + template <class T,class Stub> + inline + std::string + dispatch( T const & x, Stub s ) + { + return to_string_dispatcher<has_to_string<T>::value>::convert(x,s); + } + } + + template <class T> + inline + std::string + string_stub_dump( T const & x ) + { + return "[ " + exception_detail::object_hex_dump(x) + " ]"; + } + } + + template <class T> + inline + std::string + to_string_stub( T const & x ) + { + return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump<T>); + } + + template <class T,class Stub> + inline + std::string + to_string_stub( T const & x, Stub s ) + { + return exception_detail::to_string_dispatch::dispatch(x,s); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,11 @@ +//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_1D94A7C6054E11DB9804B622A1EF5492 +#define UUID_1D94A7C6054E11DB9804B622A1EF5492 + +#error The header <boost/exception.hpp> has been deprecated. Please #include <boost/exception/all.hpp> instead. + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/exception_ptr.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception_ptr.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/exception_ptr.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/exception_ptr.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,11 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_FA5836A2CADA11DC8CD47C8555D89593 +#define UUID_FA5836A2CADA11DC8CD47C8555D89593 + +#include <boost/exception/detail/exception_ptr.hpp> + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/exception/boost/throw_exception.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/throw_exception.hpp --- mkvtoolnix-4.0.0/lib/boost/exception/boost/throw_exception.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/exception/boost/throw_exception.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,91 @@ +#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED +#define BOOST_THROW_EXCEPTION_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/throw_exception.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// http://www.boost.org/libs/utility/throw_exception.html +// + +#include <boost/exception/detail/attribute_noreturn.hpp> +#include <boost/detail/workaround.hpp> +#include <boost/config.hpp> +#include <exception> + +#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) ) +# define BOOST_EXCEPTION_DISABLE +#endif + +#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 ) +# define BOOST_EXCEPTION_DISABLE +#endif + +#if !defined( BOOST_EXCEPTION_DISABLE ) +# include <boost/exception/exception.hpp> +# include <boost/current_function.hpp> +# define BOOST_THROW_EXCEPTION(x) ::boost::exception_detail::throw_exception_(x,BOOST_CURRENT_FUNCTION,__FILE__,__LINE__) +#else +# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x) +#endif + +namespace boost +{ +#ifdef BOOST_NO_EXCEPTIONS + +void throw_exception( std::exception const & e ); // user defined + +#else + +inline void throw_exception_assert_compatibility( std::exception const & ) { } + +template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e ) +{ + //All boost exceptions are required to derive from std::exception, + //to ensure compatibility with BOOST_NO_EXCEPTIONS. + throw_exception_assert_compatibility(e); + +#ifndef BOOST_EXCEPTION_DISABLE + throw enable_current_exception(enable_error_info(e)); +#else + throw e; +#endif +} + +#endif + +#if !defined( BOOST_EXCEPTION_DISABLE ) + namespace + exception_detail + { + template <class E> + BOOST_ATTRIBUTE_NORETURN + void + throw_exception_( E const & x, char const * current_function, char const * file, int line ) + { + boost::throw_exception( + set_info( + set_info( + set_info( + enable_error_info(x), + throw_function(current_function)), + throw_file(file)), + throw_line(line))); + } + } +#endif +} // namespace boost + +#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED diff -Nru mkvtoolnix-4.0.0/lib/boost/foreach/boost/foreach_fwd.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/foreach/boost/foreach_fwd.hpp --- mkvtoolnix-4.0.0/lib/boost/foreach/boost/foreach_fwd.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/foreach/boost/foreach_fwd.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,51 @@ +/////////////////////////////////////////////////////////////////////////////// +// foreach.hpp header file +// +// Copyright 2010 Eric Niebler. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// See http://www.boost.org/libs/foreach for documentation +// +// Credits: +// Kazutoshi Satoda: for suggesting the need for a _fwd header for foreach's +// customization points. + +#ifndef BOOST_FOREACH_FWD_HPP +#define BOOST_FOREACH_FWD_HPP + +// This must be at global scope, hence the uglified name +enum boost_foreach_argument_dependent_lookup_hack +{ + boost_foreach_argument_dependent_lookup_hack_value +}; + +namespace boost +{ + +namespace foreach +{ + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::tag + // + typedef boost_foreach_argument_dependent_lookup_hack tag; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_lightweight_proxy + // Specialize this for user-defined collection types if they are inexpensive to copy. + // This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. + template<typename T> + struct is_lightweight_proxy; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_noncopyable + // Specialize this for user-defined collection types if they cannot be copied. + // This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. + template<typename T> + struct is_noncopyable; + +} // namespace foreach + +} // namespace boost + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/foreach/boost/foreach.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/foreach/boost/foreach.hpp --- mkvtoolnix-4.0.0/lib/boost/foreach/boost/foreach.hpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/foreach/boost/foreach.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -1,812 +1,1104 @@ -/////////////////////////////////////////////////////////////////////////////// -// foreach.hpp header file -// -// Copyright 2004 Eric Niebler. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// Credits: -// Anson Tsao - for the initial inspiration and several good suggestions. -// Thorsten Ottosen - for Boost.Range, and for suggesting a way to detect -// const-qualified rvalues at compile time on VC7.1+ -// Russell Hind - For help porting to Borland -// Alisdair Meredith - For help porting to Borland -// Stefan Slapeta - For help porting to Intel - -#ifndef BOOST_FOREACH - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include <cstddef> -#include <utility> // for std::pair - -#include <boost/config.hpp> -#include <boost/detail/workaround.hpp> - -// Some compilers let us detect even const-qualified rvalues at compile-time -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) \ - || (BOOST_WORKAROUND(__GNUC__, >= 4) && !defined(BOOST_INTEL)) \ - || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4) && !defined(BOOST_INTEL)) -# define BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION -#else -// Some compilers allow temporaries to be bound to non-const references. -// These compilers make it impossible to for BOOST_FOREACH to detect -// temporaries and avoid reevaluation of the collection expression. -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) \ - || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570)) \ - || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) -# define BOOST_FOREACH_NO_RVALUE_DETECTION -# endif -// Some compilers do not correctly implement the lvalue/rvalue conversion -// rules of the ternary conditional operator. -# if defined(BOOST_FOREACH_NO_RVALUE_DETECTION) \ - || defined(BOOST_NO_SFINAE) \ - || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(BOOST_INTEL_WIN, <= 810) \ - || BOOST_WORKAROUND(__GNUC__, < 3) \ - || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 2)) \ - || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 3) && defined(__APPLE_CC__)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) -# define BOOST_FOREACH_NO_CONST_RVALUE_DETECTION -# else -# define BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION -# endif -#endif - -#include <boost/mpl/if.hpp> -#include <boost/mpl/logical.hpp> -#include <boost/mpl/eval_if.hpp> -#include <boost/noncopyable.hpp> -#include <boost/range/end.hpp> -#include <boost/range/begin.hpp> -#include <boost/range/result_iterator.hpp> -#include <boost/type_traits/is_array.hpp> -#include <boost/type_traits/is_const.hpp> -#include <boost/type_traits/is_abstract.hpp> -#include <boost/type_traits/is_base_and_derived.hpp> -#include <boost/iterator/iterator_traits.hpp> -#include <boost/utility/addressof.hpp> - -#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION -# include <new> -# include <boost/aligned_storage.hpp> -# include <boost/utility/enable_if.hpp> -# include <boost/type_traits/remove_const.hpp> -#endif - -// This must be at global scope, hence the uglified name -enum boost_foreach_argument_dependent_lookup_hack -{ - boost_foreach_argument_dependent_lookup_hack_value -}; - -namespace boost -{ - -// forward declarations for iterator_range -template<typename T> -class iterator_range; - -// forward declarations for sub_range -template<typename T> -class sub_range; - -namespace foreach -{ - /////////////////////////////////////////////////////////////////////////////// - // in_range - // - template<typename T> - inline std::pair<T, T> in_range(T begin, T end) - { - return std::make_pair(begin, end); - } - - /////////////////////////////////////////////////////////////////////////////// - // boost::foreach::tag - // - typedef boost_foreach_argument_dependent_lookup_hack tag; - - /////////////////////////////////////////////////////////////////////////////// - // boost::foreach::is_lightweight_proxy - // Specialize this for user-defined collection types if they are inexpensive to copy. - // This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. - template<typename T> - struct is_lightweight_proxy - : boost::mpl::false_ - { - }; - - /////////////////////////////////////////////////////////////////////////////// - // boost::foreach::is_noncopyable - // Specialize this for user-defined collection types if they cannot be copied. - // This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. - template<typename T> - struct is_noncopyable - #if !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) && !defined(BOOST_NO_IS_ABSTRACT) - : boost::mpl::or_< - boost::is_abstract<T> - , boost::is_base_and_derived<boost::noncopyable, T> - > - #elif !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) - : boost::is_base_and_derived<boost::noncopyable, T> - #elif !defined(BOOST_NO_IS_ABSTRACT) - : boost::is_abstract<T> - #else - : boost::mpl::false_ - #endif - { - }; - -} // namespace foreach - -} // namespace boost - -// vc6/7 needs help ordering the following overloads -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_FOREACH_TAG_DEFAULT ... -#else -# define BOOST_FOREACH_TAG_DEFAULT boost::foreach::tag -#endif - -/////////////////////////////////////////////////////////////////////////////// -// boost_foreach_is_lightweight_proxy -// Another customization point for the is_lightweight_proxy optimization, -// this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy -// at the global namespace for your type. -template<typename T> -inline boost::foreach::is_lightweight_proxy<T> * -boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } - -template<typename T> -inline boost::mpl::true_ * -boost_foreach_is_lightweight_proxy(std::pair<T, T> *&, boost::foreach::tag) { return 0; } - -template<typename T> -inline boost::mpl::true_ * -boost_foreach_is_lightweight_proxy(boost::iterator_range<T> *&, boost::foreach::tag) { return 0; } - -template<typename T> -inline boost::mpl::true_ * -boost_foreach_is_lightweight_proxy(boost::sub_range<T> *&, boost::foreach::tag) { return 0; } - -template<typename T> -inline boost::mpl::true_ * -boost_foreach_is_lightweight_proxy(T **&, boost::foreach::tag) { return 0; } - -/////////////////////////////////////////////////////////////////////////////// -// boost_foreach_is_noncopyable -// Another customization point for the is_noncopyable trait, -// this one works on legacy compilers. Overload boost_foreach_is_noncopyable -// at the global namespace for your type. -template<typename T> -inline boost::foreach::is_noncopyable<T> * -boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } - -namespace boost -{ - -namespace foreach_detail_ -{ - -/////////////////////////////////////////////////////////////////////////////// -// Define some utilities for assessing the properties of expressions -// -typedef char yes_type; -typedef char (&no_type)[2]; -yes_type is_true(boost::mpl::true_ *); -no_type is_true(boost::mpl::false_ *); - -// Extracts the desired property from the expression without evaluating it -#define BOOST_FOREACH_PROTECT(expr) \ - (static_cast<boost::mpl::bool_<1 == sizeof(boost::foreach_detail_::is_true(expr))> *>(0)) - -template<typename Bool1, typename Bool2> -inline boost::mpl::and_<Bool1, Bool2> *and_(Bool1 *, Bool2 *) { return 0; } - -template<typename Bool1, typename Bool2, typename Bool3> -inline boost::mpl::and_<Bool1, Bool2, Bool3> *and_(Bool1 *, Bool2 *, Bool3 *) { return 0; } - -template<typename Bool1, typename Bool2> -inline boost::mpl::or_<Bool1, Bool2> *or_(Bool1 *, Bool2 *) { return 0; } - -template<typename Bool1, typename Bool2, typename Bool3> -inline boost::mpl::or_<Bool1, Bool2, Bool3> *or_(Bool1 *, Bool2 *, Bool3 *) { return 0; } - -template<typename Bool> -inline boost::mpl::not_<Bool> *not_(Bool *) { return 0; } - -template<typename T> -inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; } - -template<typename T> -inline boost::mpl::true_ *is_rvalue_(T const &, ...) { return 0; } - -template<typename T> -inline boost::is_array<T> *is_array_(T const &) { return 0; } - -template<typename T> -inline boost::is_const<T> *is_const_(T &) { return 0; } - -#ifndef BOOST_FOREACH_NO_RVALUE_DETECTION -template<typename T> -inline boost::mpl::true_ *is_const_(T const &) { return 0; } -#endif - -/////////////////////////////////////////////////////////////////////////////// -// auto_any_t/auto_any -// General utility for putting an object of any type into automatic storage -struct auto_any_base -{ - // auto_any_base must evaluate to false in boolean context so that - // they can be declared in if() statements. - operator bool() const - { - return false; - } -}; - -template<typename T> -struct auto_any : auto_any_base -{ - auto_any(T const &t) - : item(t) - { - } - - // temporaries of type auto_any will be bound to const auto_any_base - // references, but we still want to be able to mutate the stored - // data, so declare it as mutable. - mutable T item; -}; - -typedef auto_any_base const &auto_any_t; - -template<typename T, typename C> -inline BOOST_DEDUCED_TYPENAME boost::mpl::if_<C, T const, T>::type &auto_any_cast(auto_any_t a) -{ - return static_cast<auto_any<T> const &>(a).item; -} - -typedef boost::mpl::true_ const_; - -/////////////////////////////////////////////////////////////////////////////// -// type2type -// -template<typename T, typename C = boost::mpl::false_> -struct type2type - : boost::mpl::if_<C, T const, T> -{ -}; - -template<typename T, typename C = boost::mpl::false_> -struct foreach_iterator -{ - typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if< - C - , range_const_iterator<T> - , range_iterator<T> - >::type type; -}; - -template<typename T, typename C = boost::mpl::false_> -struct foreach_reference - : iterator_reference<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> -{ -}; - -/////////////////////////////////////////////////////////////////////////////// -// encode_type -// -template<typename T> -inline type2type<T> *encode_type(T &, boost::mpl::false_ *) { return 0; } - -template<typename T> -inline type2type<T, const_> *encode_type(T const &, boost::mpl::true_ *) { return 0; } - -/////////////////////////////////////////////////////////////////////////////// -// set_false -// -inline bool set_false(bool &b) { return b = false; } - -/////////////////////////////////////////////////////////////////////////////// -// to_ptr -// -template<typename T> -inline T *&to_ptr(T const &) -{ - static T *t = 0; - return t; -} - -// Borland needs a little extra help with arrays -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template<typename T,std::size_t N> -inline T (*&to_ptr(T (&)[N]))[N] -{ - static T (*t)[N] = 0; - return t; -} -#endif - -/////////////////////////////////////////////////////////////////////////////// -// derefof -// -template<typename T> -inline T &derefof(T *t) -{ - // This is a work-around for a compiler bug in Borland. If T* is a pointer to array type U(*)[N], - // then dereferencing it results in a U* instead of U(&)[N]. The cast forces the issue. - return reinterpret_cast<T &>( - *const_cast<char *>( - reinterpret_cast<char const volatile *>(t) - ) - ); -} - -#ifdef BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION -/////////////////////////////////////////////////////////////////////////////// -// Detect at compile-time whether an expression yields an rvalue or -// an lvalue. This is rather non-standard, but some popular compilers -// accept it. -/////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -// rvalue_probe -// -template<typename T> -struct rvalue_probe -{ - struct private_type_ {}; - // can't ever return an array by value - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T - >::type value_type; - operator value_type(); - operator T &() const; -}; - -template<typename T> -rvalue_probe<T> const make_probe(T const &t); - -# define BOOST_FOREACH_IS_RVALUE(COL) \ - boost::foreach_detail_::and_( \ - boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(COL)) \ - , BOOST_FOREACH_PROTECT(boost::foreach_detail_::is_rvalue_( \ - (true ? boost::foreach_detail_::make_probe(COL) : (COL)), 0))) - -#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) -/////////////////////////////////////////////////////////////////////////////// -// Detect at run-time whether an expression yields an rvalue -// or an lvalue. This is 100% standard C++, but not all compilers -// accept it. Also, it causes FOREACH to break when used with non- -// copyable collection types. -/////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -// rvalue_probe -// -template<typename T> -struct rvalue_probe -{ - rvalue_probe(T &t, bool &b) - : value(t) - , is_rvalue(b) - { - } - - struct private_type_ {}; - // can't ever return an array or an abstract type by value - #ifdef BOOST_NO_IS_ABSTRACT - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::is_array<T>, private_type_, T - >::type value_type; - #else - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T - >::type value_type; - #endif - - operator value_type() - { - this->is_rvalue = true; - return this->value; - } - - operator T &() const - { - return this->value; - } - -private: - T &value; - bool &is_rvalue; -}; - -template<typename T> -rvalue_probe<T> make_probe(T &t, bool &b) { return rvalue_probe<T>(t, b); } - -template<typename T> -rvalue_probe<T const> make_probe(T const &t, bool &b) { return rvalue_probe<T const>(t, b); } - -/////////////////////////////////////////////////////////////////////////////// -// simple_variant -// holds either a T or a T const* -template<typename T> -struct simple_variant -{ - simple_variant(T const *t) - : is_rvalue(false) - { - *static_cast<T const **>(this->data.address()) = t; - } - - simple_variant(T const &t) - : is_rvalue(true) - { - ::new(this->data.address()) T(t); - } - - simple_variant(simple_variant const &that) - : is_rvalue(that.is_rvalue) - { - if(this->is_rvalue) - ::new(this->data.address()) T(*that.get()); - else - *static_cast<T const **>(this->data.address()) = that.get(); - } - - ~simple_variant() - { - if(this->is_rvalue) - this->get()->~T(); - } - - T const *get() const - { - if(this->is_rvalue) - return static_cast<T const *>(this->data.address()); - else - return *static_cast<T const * const *>(this->data.address()); - } - -private: - enum size_type { size = sizeof(T) > sizeof(T*) ? sizeof(T) : sizeof(T*) }; - simple_variant &operator =(simple_variant const &); - bool const is_rvalue; - aligned_storage<size> data; -}; - -// If the collection is an array or is noncopyable, it must be an lvalue. -// If the collection is a lightweight proxy, treat it as an rvalue -// BUGBUG what about a noncopyable proxy? -template<typename LValue, typename IsProxy> -inline BOOST_DEDUCED_TYPENAME boost::enable_if<boost::mpl::or_<LValue, IsProxy>, IsProxy>::type * -should_copy_impl(LValue *, IsProxy *, bool *) -{ - return 0; -} - -// Otherwise, we must determine at runtime whether it's an lvalue or rvalue -inline bool * -should_copy_impl(boost::mpl::false_ *, boost::mpl::false_ *, bool *is_rvalue) -{ - return is_rvalue; -} - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// contain -// -template<typename T> -inline auto_any<T> contain(T const &t, boost::mpl::true_ *) // rvalue -{ - return t; -} - -template<typename T> -inline auto_any<T *> contain(T &t, boost::mpl::false_ *) // lvalue -{ - // Cannot seem to get sunpro to handle addressof() with array types. - #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570)) - return &t; - #else - return boost::addressof(t); - #endif -} - -#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION -template<typename T> -auto_any<simple_variant<T> > -contain(T const &t, bool *rvalue) -{ - return *rvalue ? simple_variant<T>(t) : simple_variant<T>(&t); -} -#endif - -///////////////////////////////////////////////////////////////////////////// -// begin -// -template<typename T, typename C> -inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> -begin(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue -{ - return boost::begin(auto_any_cast<T, C>(col)); -} - -template<typename T, typename C> -inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> -begin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue -{ - typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; - typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator; - return iterator(boost::begin(derefof(auto_any_cast<type *, boost::mpl::false_>(col)))); -} - -#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION -template<typename T> -auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type> -begin(auto_any_t col, type2type<T, const_> *, bool *) -{ - return boost::begin(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()); -} -#endif - -/////////////////////////////////////////////////////////////////////////////// -// end -// -template<typename T, typename C> -inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> -end(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue -{ - return boost::end(auto_any_cast<T, C>(col)); -} - -template<typename T, typename C> -inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> -end(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue -{ - typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; - typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator; - return iterator(boost::end(derefof(auto_any_cast<type *, boost::mpl::false_>(col)))); -} - -#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION -template<typename T> -auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type> -end(auto_any_t col, type2type<T, const_> *, bool *) -{ - return boost::end(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()); -} -#endif - -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -template<typename T, typename C> -inline auto_any<int> -end(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings -{ - return 0; // not used -} -#endif - -/////////////////////////////////////////////////////////////////////////////// -// done -// -template<typename T, typename C> -inline bool done(auto_any_t cur, auto_any_t end, type2type<T, C> *) -{ - typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; - return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end); -} - -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -template<typename T, typename C> -inline bool done(auto_any_t cur, auto_any_t, type2type<T *, C> *) // null-terminated C-style strings -{ - return ! *auto_any_cast<T *, boost::mpl::false_>(cur); -} -#endif - -/////////////////////////////////////////////////////////////////////////////// -// next -// -template<typename T, typename C> -inline void next(auto_any_t cur, type2type<T, C> *) -{ - typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; - ++auto_any_cast<iter_t, boost::mpl::false_>(cur); -} - -/////////////////////////////////////////////////////////////////////////////// -// deref -// -template<typename T, typename C> -inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type -deref(auto_any_t cur, type2type<T, C> *) -{ - typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; - return *auto_any_cast<iter_t, boost::mpl::false_>(cur); -} - -} // namespace foreach_detail_ -} // namespace boost - -// A sneaky way to get the type of the collection without evaluating the expression -#define BOOST_FOREACH_TYPEOF(COL) \ - (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) - -// returns true_* if the type is noncopyable -#define BOOST_FOREACH_IS_NONCOPYABLE(COL) \ - boost_foreach_is_noncopyable( \ - boost::foreach_detail_::to_ptr(COL) \ - , boost_foreach_argument_dependent_lookup_hack_value) - -// returns true_* if the type is a lightweight proxy (and is not noncopyable) -#define BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ - boost::foreach_detail_::and_( \ - boost::foreach_detail_::not_(BOOST_FOREACH_IS_NONCOPYABLE(COL)) \ - , boost_foreach_is_lightweight_proxy( \ - boost::foreach_detail_::to_ptr(COL) \ - , boost_foreach_argument_dependent_lookup_hack_value)) - -#ifdef BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION -/////////////////////////////////////////////////////////////////////////////// -// R-values and const R-values supported here with zero runtime overhead -/////////////////////////////////////////////////////////////////////////////// - -// No variable is needed to track the rvalue-ness of the collection expression -# define BOOST_FOREACH_PREAMBLE() \ - /**/ - -// Evaluate the collection expression -# define BOOST_FOREACH_EVALUATE(COL) \ - (COL) - -# define BOOST_FOREACH_SHOULD_COPY(COL) \ - (true ? 0 : boost::foreach_detail_::or_( \ - BOOST_FOREACH_IS_RVALUE(COL) \ - , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) - -#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) -/////////////////////////////////////////////////////////////////////////////// -// R-values and const R-values supported here -/////////////////////////////////////////////////////////////////////////////// - -// Declare a variable to track the rvalue-ness of the collection expression -# define BOOST_FOREACH_PREAMBLE() \ - if (bool _foreach_is_rvalue = false) {} else - -// Evaluate the collection expression, and detect if it is an lvalue or and rvalue -# define BOOST_FOREACH_EVALUATE(COL) \ - (true ? boost::foreach_detail_::make_probe((COL), _foreach_is_rvalue) : (COL)) - -// The rvalue/lvalue-ness of the collection expression is determined dynamically, unless -// type type is an array or is noncopyable or is non-const, in which case we know it's an lvalue. -// If the type happens to be a lightweight proxy, always make a copy. -# define BOOST_FOREACH_SHOULD_COPY(COL) \ - (boost::foreach_detail_::should_copy_impl( \ - true ? 0 : boost::foreach_detail_::or_( \ - boost::foreach_detail_::is_array_(COL) \ - , BOOST_FOREACH_IS_NONCOPYABLE(COL) \ - , boost::foreach_detail_::not_(boost::foreach_detail_::is_const_(COL))) \ - , true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ - , &_foreach_is_rvalue)) - -#elif !defined(BOOST_FOREACH_NO_RVALUE_DETECTION) -/////////////////////////////////////////////////////////////////////////////// -// R-values supported here, const R-values NOT supported here -/////////////////////////////////////////////////////////////////////////////// - -// No variable is needed to track the rvalue-ness of the collection expression -# define BOOST_FOREACH_PREAMBLE() \ - /**/ - -// Evaluate the collection expression -# define BOOST_FOREACH_EVALUATE(COL) \ - (COL) - -// Determine whether the collection expression is an lvalue or an rvalue. -// NOTE: this gets the answer wrong for const rvalues. -# define BOOST_FOREACH_SHOULD_COPY(COL) \ - (true ? 0 : boost::foreach_detail_::or_( \ - boost::foreach_detail_::is_rvalue_((COL), 0) \ - , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) - -#else -/////////////////////////////////////////////////////////////////////////////// -// R-values NOT supported here -/////////////////////////////////////////////////////////////////////////////// - -// No variable is needed to track the rvalue-ness of the collection expression -# define BOOST_FOREACH_PREAMBLE() \ - /**/ - -// Evaluate the collection expression -# define BOOST_FOREACH_EVALUATE(COL) \ - (COL) - -// Can't use rvalues with BOOST_FOREACH (unless they are lightweight proxies) -# define BOOST_FOREACH_SHOULD_COPY(COL) \ - (true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)) - -#endif - -#define BOOST_FOREACH_CONTAIN(COL) \ - boost::foreach_detail_::contain( \ - BOOST_FOREACH_EVALUATE(COL) \ - , BOOST_FOREACH_SHOULD_COPY(COL)) - -#define BOOST_FOREACH_BEGIN(COL) \ - boost::foreach_detail_::begin( \ - _foreach_col \ - , BOOST_FOREACH_TYPEOF(COL) \ - , BOOST_FOREACH_SHOULD_COPY(COL)) - -#define BOOST_FOREACH_END(COL) \ - boost::foreach_detail_::end( \ - _foreach_col \ - , BOOST_FOREACH_TYPEOF(COL) \ - , BOOST_FOREACH_SHOULD_COPY(COL)) - -#define BOOST_FOREACH_DONE(COL) \ - boost::foreach_detail_::done( \ - _foreach_cur \ - , _foreach_end \ - , BOOST_FOREACH_TYPEOF(COL)) - -#define BOOST_FOREACH_NEXT(COL) \ - boost::foreach_detail_::next( \ - _foreach_cur \ - , BOOST_FOREACH_TYPEOF(COL)) - -#define BOOST_FOREACH_DEREF(COL) \ - boost::foreach_detail_::deref( \ - _foreach_cur \ - , BOOST_FOREACH_TYPEOF(COL)) - -/////////////////////////////////////////////////////////////////////////////// -// BOOST_FOREACH -// -// For iterating over collections. Collections can be -// arrays, null-terminated strings, or STL containers. -// The loop variable can be a value or reference. For -// example: -// -// std::list<int> int_list(/*stuff*/); -// BOOST_FOREACH(int &i, int_list) -// { -// /* -// * loop body goes here. -// * i is a reference to the int in int_list. -// */ -// } -// -// Alternately, you can declare the loop variable first, -// so you can access it after the loop finishes. Obviously, -// if you do it this way, then the loop variable cannot be -// a reference. -// -// int i; -// BOOST_FOREACH(i, int_list) -// { ... } -// -#define BOOST_FOREACH(VAR, COL) \ - BOOST_FOREACH_PREAMBLE() \ - if (boost::foreach_detail_::auto_any_t _foreach_col = BOOST_FOREACH_CONTAIN(COL)) {} else \ - if (boost::foreach_detail_::auto_any_t _foreach_cur = BOOST_FOREACH_BEGIN(COL)) {} else \ - if (boost::foreach_detail_::auto_any_t _foreach_end = BOOST_FOREACH_END(COL)) {} else \ - for (bool _foreach_continue = true; \ - _foreach_continue && !BOOST_FOREACH_DONE(COL); \ - _foreach_continue ? BOOST_FOREACH_NEXT(COL) : (void)0) \ - if (boost::foreach_detail_::set_false(_foreach_continue)) {} else \ - for (VAR = BOOST_FOREACH_DEREF(COL); !_foreach_continue; _foreach_continue = true) - -#endif +/////////////////////////////////////////////////////////////////////////////// +// foreach.hpp header file +// +// Copyright 2004 Eric Niebler. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// See http://www.boost.org/libs/foreach for documentation +// +// Credits: +// Anson Tsao - for the initial inspiration and several good suggestions. +// Thorsten Ottosen - for Boost.Range, and for suggesting a way to detect +// const-qualified rvalues at compile time on VC7.1+ +// Russell Hind - For help porting to Borland +// Alisdair Meredith - For help porting to Borland +// Stefan Slapeta - For help porting to Intel +// David Jenkins - For help finding a Microsoft Code Analysis bug + +#ifndef BOOST_FOREACH + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <cstddef> +#include <utility> // for std::pair + +#include <boost/config.hpp> +#include <boost/detail/workaround.hpp> + +// Some compilers let us detect even const-qualified rvalues at compile-time +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) && !defined(_PREFAST_) \ + || (BOOST_WORKAROUND(__GNUC__, >= 4) && !defined(BOOST_INTEL) && !defined(BOOST_CLANG)) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4) && !defined(BOOST_INTEL) && \ + !defined(BOOST_CLANG)) +# define BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION +#else +// Some compilers allow temporaries to be bound to non-const references. +// These compilers make it impossible to for BOOST_FOREACH to detect +// temporaries and avoid reevaluation of the collection expression. +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__BORLANDC__, < 0x593) \ + || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5100) \ + || BOOST_WORKAROUND(__DECCXX_VER, <= 60590042) +# define BOOST_FOREACH_NO_RVALUE_DETECTION +# endif +// Some compilers do not correctly implement the lvalue/rvalue conversion +// rules of the ternary conditional operator. +# if defined(BOOST_FOREACH_NO_RVALUE_DETECTION) \ + || defined(BOOST_NO_SFINAE) \ + || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__GNUC__, < 3) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 2)) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 3) && defined(__APPLE_CC__)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, >= 0x5100) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590)) +# define BOOST_FOREACH_NO_CONST_RVALUE_DETECTION +# else +# define BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +# endif +#endif + +#include <boost/mpl/if.hpp> +#include <boost/mpl/assert.hpp> +#include <boost/mpl/logical.hpp> +#include <boost/mpl/eval_if.hpp> +#include <boost/noncopyable.hpp> +#include <boost/range/end.hpp> +#include <boost/range/begin.hpp> +#include <boost/range/rend.hpp> +#include <boost/range/rbegin.hpp> +#include <boost/range/iterator.hpp> +#include <boost/range/reverse_iterator.hpp> +#include <boost/type_traits/is_array.hpp> +#include <boost/type_traits/is_const.hpp> +#include <boost/type_traits/is_abstract.hpp> +#include <boost/type_traits/is_base_and_derived.hpp> +#include <boost/iterator/iterator_traits.hpp> +#include <boost/utility/addressof.hpp> +#include <boost/foreach_fwd.hpp> + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +# include <new> +# include <boost/aligned_storage.hpp> +# include <boost/utility/enable_if.hpp> +# include <boost/type_traits/remove_const.hpp> +#endif + +namespace boost +{ + +// forward declarations for iterator_range +template<typename T> +class iterator_range; + +// forward declarations for sub_range +template<typename T> +class sub_range; + +namespace foreach +{ + /////////////////////////////////////////////////////////////////////////////// + // in_range + // + template<typename T> + inline std::pair<T, T> in_range(T begin, T end) + { + return std::make_pair(begin, end); + } + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_lightweight_proxy + // Specialize this for user-defined collection types if they are inexpensive to copy. + // This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. + template<typename T> + struct is_lightweight_proxy + : boost::mpl::false_ + { + }; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_noncopyable + // Specialize this for user-defined collection types if they cannot be copied. + // This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. + template<typename T> + struct is_noncopyable + #if !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) && !defined(BOOST_NO_IS_ABSTRACT) + : boost::mpl::or_< + boost::is_abstract<T> + , boost::is_base_and_derived<boost::noncopyable, T> + > + #elif !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) + : boost::is_base_and_derived<boost::noncopyable, T> + #elif !defined(BOOST_NO_IS_ABSTRACT) + : boost::is_abstract<T> + #else + : boost::mpl::false_ + #endif + { + }; + +} // namespace foreach + +} // namespace boost + +// vc6/7 needs help ordering the following overloads +#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_FOREACH_TAG_DEFAULT ... +#else +# define BOOST_FOREACH_TAG_DEFAULT boost::foreach::tag +#endif + +/////////////////////////////////////////////////////////////////////////////// +// boost_foreach_is_lightweight_proxy +// Another customization point for the is_lightweight_proxy optimization, +// this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy +// at the global namespace for your type. +template<typename T> +inline boost::foreach::is_lightweight_proxy<T> * +boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + +template<typename T> +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(std::pair<T, T> *&, boost::foreach::tag) { return 0; } + +template<typename T> +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(boost::iterator_range<T> *&, boost::foreach::tag) { return 0; } + +template<typename T> +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(boost::sub_range<T> *&, boost::foreach::tag) { return 0; } + +template<typename T> +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(T **&, boost::foreach::tag) { return 0; } + +/////////////////////////////////////////////////////////////////////////////// +// boost_foreach_is_noncopyable +// Another customization point for the is_noncopyable trait, +// this one works on legacy compilers. Overload boost_foreach_is_noncopyable +// at the global namespace for your type. +template<typename T> +inline boost::foreach::is_noncopyable<T> * +boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + +namespace boost +{ + +namespace foreach_detail_ +{ + +/////////////////////////////////////////////////////////////////////////////// +// Define some utilities for assessing the properties of expressions +// +template<typename Bool1, typename Bool2> +inline boost::mpl::and_<Bool1, Bool2> *and_(Bool1 *, Bool2 *) { return 0; } + +template<typename Bool1, typename Bool2, typename Bool3> +inline boost::mpl::and_<Bool1, Bool2, Bool3> *and_(Bool1 *, Bool2 *, Bool3 *) { return 0; } + +template<typename Bool1, typename Bool2> +inline boost::mpl::or_<Bool1, Bool2> *or_(Bool1 *, Bool2 *) { return 0; } + +template<typename Bool1, typename Bool2, typename Bool3> +inline boost::mpl::or_<Bool1, Bool2, Bool3> *or_(Bool1 *, Bool2 *, Bool3 *) { return 0; } + +template<typename Bool1> +inline boost::mpl::not_<Bool1> *not_(Bool1 *) { return 0; } + +template<typename T> +inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; } + +template<typename T> +inline boost::mpl::true_ *is_rvalue_(T const &, ...) { return 0; } + +template<typename T> +inline boost::is_array<T> *is_array_(T const &) { return 0; } + +template<typename T> +inline boost::is_const<T> *is_const_(T &) { return 0; } + +#ifndef BOOST_FOREACH_NO_RVALUE_DETECTION +template<typename T> +inline boost::mpl::true_ *is_const_(T const &) { return 0; } +#endif + +/////////////////////////////////////////////////////////////////////////////// +// auto_any_t/auto_any +// General utility for putting an object of any type into automatic storage +struct auto_any_base +{ + // auto_any_base must evaluate to false in boolean context so that + // they can be declared in if() statements. + operator bool() const + { + return false; + } +}; + +template<typename T> +struct auto_any : auto_any_base +{ + explicit auto_any(T const &t) + : item(t) + { + } + + // temporaries of type auto_any will be bound to const auto_any_base + // references, but we still want to be able to mutate the stored + // data, so declare it as mutable. + mutable T item; +}; + +typedef auto_any_base const &auto_any_t; + +template<typename T, typename C> +inline BOOST_DEDUCED_TYPENAME boost::mpl::if_<C, T const, T>::type &auto_any_cast(auto_any_t a) +{ + return static_cast<auto_any<T> const &>(a).item; +} + +typedef boost::mpl::true_ const_; + +/////////////////////////////////////////////////////////////////////////////// +// type2type +// +template<typename T, typename C = boost::mpl::false_> +struct type2type + : boost::mpl::if_<C, T const, T> +{ +}; + +template<typename T> +struct wrap_cstr +{ + typedef T type; +}; + +template<> +struct wrap_cstr<char *> +{ + typedef wrap_cstr<char *> type; + typedef char *iterator; + typedef char *const_iterator; +}; + +template<> +struct wrap_cstr<char const *> +{ + typedef wrap_cstr<char const *> type; + typedef char const *iterator; + typedef char const *const_iterator; +}; + +template<> +struct wrap_cstr<wchar_t *> +{ + typedef wrap_cstr<wchar_t *> type; + typedef wchar_t *iterator; + typedef wchar_t *const_iterator; +}; + +template<> +struct wrap_cstr<wchar_t const *> +{ + typedef wrap_cstr<wchar_t const *> type; + typedef wchar_t const *iterator; + typedef wchar_t const *const_iterator; +}; + +template<typename T> +struct is_char_array + : mpl::and_< + is_array<T> + , mpl::or_< + is_convertible<T, char const *> + , is_convertible<T, wchar_t const *> + > + > +{}; + +template<typename T, typename C = boost::mpl::false_> +struct foreach_iterator +{ + // **** READ THIS IF YOUR COMPILE BREAKS HERE **** + // + // There is an ambiguity about how to iterate over arrays of char and wchar_t. + // Should the last array element be treated as a null terminator to be skipped, or + // is it just like any other element in the array? To fix the problem, you must + // say which behavior you want. + // + // To treat the container as a null-terminated string, merely cast it to a + // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ... + // + // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>, + // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ... + #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 + BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) ); + #endif + + // If the type is a pointer to a null terminated string (as opposed + // to an array type), there is no ambiguity. + typedef BOOST_DEDUCED_TYPENAME wrap_cstr<T>::type container; + + typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if< + C + , range_const_iterator<container> + , range_mutable_iterator<container> + >::type type; +}; + + +template<typename T, typename C = boost::mpl::false_> +struct foreach_reverse_iterator +{ + // **** READ THIS IF YOUR COMPILE BREAKS HERE **** + // + // There is an ambiguity about how to iterate over arrays of char and wchar_t. + // Should the last array element be treated as a null terminator to be skipped, or + // is it just like any other element in the array? To fix the problem, you must + // say which behavior you want. + // + // To treat the container as a null-terminated string, merely cast it to a + // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ... + // + // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>, + // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ... + #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 + BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) ); + #endif + + // If the type is a pointer to a null terminated string (as opposed + // to an array type), there is no ambiguity. + typedef BOOST_DEDUCED_TYPENAME wrap_cstr<T>::type container; + + typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if< + C + , range_reverse_iterator<container const> + , range_reverse_iterator<container> + >::type type; +}; + +template<typename T, typename C = boost::mpl::false_> +struct foreach_reference + : iterator_reference<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> +{ +}; + +/////////////////////////////////////////////////////////////////////////////// +// encode_type +// +template<typename T> +inline type2type<T> *encode_type(T &, boost::mpl::false_ *) { return 0; } + +template<typename T> +inline type2type<T, const_> *encode_type(T const &, boost::mpl::true_ *) { return 0; } + +/////////////////////////////////////////////////////////////////////////////// +// set_false +// +inline bool set_false(bool &b) +{ + b = false; + return false; +} + +/////////////////////////////////////////////////////////////////////////////// +// to_ptr +// +template<typename T> +inline T *&to_ptr(T const &) +{ + static T *t = 0; + return t; +} + +// Borland needs a little extra help with arrays +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +template<typename T,std::size_t N> +inline T (*&to_ptr(T (&)[N]))[N] +{ + static T (*t)[N] = 0; + return t; +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// derefof +// +template<typename T> +inline T &derefof(T *t) +{ + // This is a work-around for a compiler bug in Borland. If T* is a pointer to array type U(*)[N], + // then dereferencing it results in a U* instead of U(&)[N]. The cast forces the issue. + return reinterpret_cast<T &>( + *const_cast<char *>( + reinterpret_cast<char const volatile *>(t) + ) + ); +} + +#ifdef BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION +/////////////////////////////////////////////////////////////////////////////// +// Detect at compile-time whether an expression yields an rvalue or +// an lvalue. This is rather non-standard, but some popular compilers +// accept it. +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +// rvalue_probe +// +template<typename T> +struct rvalue_probe +{ + struct private_type_ {}; + // can't ever return an array by value + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T + >::type value_type; + operator value_type() { return *reinterpret_cast<value_type *>(this); } // never called + operator T &() const { return *reinterpret_cast<T *>(const_cast<rvalue_probe *>(this)); } // never called +}; + +template<typename T> +rvalue_probe<T> const make_probe(T const &) +{ + return rvalue_probe<T>(); +} + +# define BOOST_FOREACH_IS_RVALUE(COL) \ + boost::foreach_detail_::and_( \ + boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(COL)) \ + , (true ? 0 : boost::foreach_detail_::is_rvalue_( \ + (true ? boost::foreach_detail_::make_probe(COL) : (COL)), 0))) + +#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// Detect at run-time whether an expression yields an rvalue +// or an lvalue. This is 100% standard C++, but not all compilers +// accept it. Also, it causes FOREACH to break when used with non- +// copyable collection types. +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +// rvalue_probe +// +template<typename T> +struct rvalue_probe +{ + rvalue_probe(T &t, bool &b) + : value(t) + , is_rvalue(b) + { + } + + struct private_type_ {}; + // can't ever return an array or an abstract type by value + #ifdef BOOST_NO_IS_ABSTRACT + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::is_array<T>, private_type_, T + >::type value_type; + #else + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T + >::type value_type; + #endif + + operator value_type() + { + this->is_rvalue = true; + return this->value; + } + + operator T &() const + { + return this->value; + } + +private: + T &value; + bool &is_rvalue; +}; + +template<typename T> +rvalue_probe<T> make_probe(T &t, bool &b) { return rvalue_probe<T>(t, b); } + +template<typename T> +rvalue_probe<T const> make_probe(T const &t, bool &b) { return rvalue_probe<T const>(t, b); } + +/////////////////////////////////////////////////////////////////////////////// +// simple_variant +// holds either a T or a T const* +template<typename T> +struct simple_variant +{ + simple_variant(T const *t) + : is_rvalue(false) + { + *static_cast<T const **>(this->data.address()) = t; + } + + simple_variant(T const &t) + : is_rvalue(true) + { + ::new(this->data.address()) T(t); + } + + simple_variant(simple_variant const &that) + : is_rvalue(that.is_rvalue) + { + if(this->is_rvalue) + ::new(this->data.address()) T(*that.get()); + else + *static_cast<T const **>(this->data.address()) = that.get(); + } + + ~simple_variant() + { + if(this->is_rvalue) + this->get()->~T(); + } + + T const *get() const + { + if(this->is_rvalue) + return static_cast<T const *>(this->data.address()); + else + return *static_cast<T const * const *>(this->data.address()); + } + +private: + enum size_type { size = sizeof(T) > sizeof(T*) ? sizeof(T) : sizeof(T*) }; + simple_variant &operator =(simple_variant const &); + bool const is_rvalue; + aligned_storage<size> data; +}; + +// If the collection is an array or is noncopyable, it must be an lvalue. +// If the collection is a lightweight proxy, treat it as an rvalue +// BUGBUG what about a noncopyable proxy? +template<typename LValue, typename IsProxy> +inline BOOST_DEDUCED_TYPENAME boost::enable_if<boost::mpl::or_<LValue, IsProxy>, IsProxy>::type * +should_copy_impl(LValue *, IsProxy *, bool *) +{ + return 0; +} + +// Otherwise, we must determine at runtime whether it's an lvalue or rvalue +inline bool * +should_copy_impl(boost::mpl::false_ *, boost::mpl::false_ *, bool *is_rvalue) +{ + return is_rvalue; +} + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// contain +// +template<typename T> +inline auto_any<T> contain(T const &t, boost::mpl::true_ *) // rvalue +{ + return auto_any<T>(t); +} + +template<typename T> +inline auto_any<T *> contain(T &t, boost::mpl::false_ *) // lvalue +{ + // Cannot seem to get sunpro to handle addressof() with array types. + #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570)) + return auto_any<T *>(&t); + #else + return auto_any<T *>(boost::addressof(t)); + #endif +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template<typename T> +inline auto_any<simple_variant<T> > +contain(T const &t, bool *rvalue) +{ + return auto_any<simple_variant<T> >(*rvalue ? simple_variant<T>(t) : simple_variant<T>(&t)); +} +#endif + +///////////////////////////////////////////////////////////////////////////// +// begin +// +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> +begin(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>( + boost::begin(auto_any_cast<T, C>(col))); +} + +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> +begin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator; + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>( + iterator(boost::begin(derefof(auto_any_cast<type *, boost::mpl::false_>(col))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template<typename T> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type> +begin(auto_any_t col, type2type<T, const_> *, bool *) +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>( + boost::begin(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template<typename T, typename C> +inline auto_any<T *> +begin(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any<T *>(auto_any_cast<T *, boost::mpl::false_>(col)); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// end +// +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> +end(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>( + boost::end(auto_any_cast<T, C>(col))); +} + +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type> +end(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator; + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>( + iterator(boost::end(derefof(auto_any_cast<type *, boost::mpl::false_>(col))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template<typename T> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type> +end(auto_any_t col, type2type<T, const_> *, bool *) +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>( + boost::end(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template<typename T, typename C> +inline auto_any<int> +end(auto_any_t, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any<int>(0); // not used +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// done +// +template<typename T, typename C> +inline bool done(auto_any_t cur, auto_any_t end, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; + return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end); +} + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template<typename T, typename C> +inline bool done(auto_any_t cur, auto_any_t, type2type<T *, C> *) // null-terminated C-style strings +{ + return ! *auto_any_cast<T *, boost::mpl::false_>(cur); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// next +// +template<typename T, typename C> +inline void next(auto_any_t cur, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; + ++auto_any_cast<iter_t, boost::mpl::false_>(cur); +} + +/////////////////////////////////////////////////////////////////////////////// +// deref +// +template<typename T, typename C> +inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type +deref(auto_any_t cur, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t; + return *auto_any_cast<iter_t, boost::mpl::false_>(cur); +} + +///////////////////////////////////////////////////////////////////////////// +// rbegin +// +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type> +rbegin(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>( + boost::rbegin(auto_any_cast<T, C>(col))); +} + +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type> +rbegin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iterator; + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>( + iterator(boost::rbegin(derefof(auto_any_cast<type *, boost::mpl::false_>(col))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template<typename T> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type> +rbegin(auto_any_t col, type2type<T, const_> *, bool *) +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>( + boost::rbegin(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template<typename T, typename C> +inline auto_any<reverse_iterator<T *> > +rbegin(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings +{ + T *p = auto_any_cast<T *, boost::mpl::false_>(col); + while(0 != *p) + ++p; + return auto_any<reverse_iterator<T *> >(reverse_iterator<T *>(p)); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// rend +// +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type> +rend(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>( + boost::rend(auto_any_cast<T, C>(col))); +} + +template<typename T, typename C> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type> +rend(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iterator; + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>( + iterator(boost::rend(derefof(auto_any_cast<type *, boost::mpl::false_>(col))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template<typename T> +inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type> +rend(auto_any_t col, type2type<T, const_> *, bool *) +{ + return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>( + boost::rend(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template<typename T, typename C> +inline auto_any<reverse_iterator<T *> > +rend(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any<reverse_iterator<T *> >( + reverse_iterator<T *>(auto_any_cast<T *, boost::mpl::false_>(col))); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// rdone +// +template<typename T, typename C> +inline bool rdone(auto_any_t cur, auto_any_t end, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t; + return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end); +} + +/////////////////////////////////////////////////////////////////////////////// +// rnext +// +template<typename T, typename C> +inline void rnext(auto_any_t cur, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t; + ++auto_any_cast<iter_t, boost::mpl::false_>(cur); +} + +/////////////////////////////////////////////////////////////////////////////// +// rderef +// +template<typename T, typename C> +inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type +rderef(auto_any_t cur, type2type<T, C> *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t; + return *auto_any_cast<iter_t, boost::mpl::false_>(cur); +} + +} // namespace foreach_detail_ +} // namespace boost + +// Suppress a bogus code analysis warning on vc8+ +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# define BOOST_FOREACH_SUPPRESS_WARNINGS() __pragma(warning(suppress:6001)) +#else +# define BOOST_FOREACH_SUPPRESS_WARNINGS() +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Define a macro for giving hidden variables a unique name. Not strictly +// needed, but eliminates some warnings on some compilers. +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500)) +// With some versions of MSVC, use of __LINE__ to create unique identifiers +// can fail when the Edit-and-Continue debug flag is used. +# define BOOST_FOREACH_ID(x) x +#else +# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__) +#endif + +// A sneaky way to get the type of the collection without evaluating the expression +#define BOOST_FOREACH_TYPEOF(COL) \ + (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) + +// returns true_* if the type is noncopyable +#define BOOST_FOREACH_IS_NONCOPYABLE(COL) \ + boost_foreach_is_noncopyable( \ + boost::foreach_detail_::to_ptr(COL) \ + , boost_foreach_argument_dependent_lookup_hack_value) + +// returns true_* if the type is a lightweight proxy (and is not noncopyable) +#define BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ + boost::foreach_detail_::and_( \ + boost::foreach_detail_::not_(BOOST_FOREACH_IS_NONCOPYABLE(COL)) \ + , boost_foreach_is_lightweight_proxy( \ + boost::foreach_detail_::to_ptr(COL) \ + , boost_foreach_argument_dependent_lookup_hack_value)) + +#ifdef BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION +/////////////////////////////////////////////////////////////////////////////// +// R-values and const R-values supported here with zero runtime overhead +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? 0 : boost::foreach_detail_::or_( \ + BOOST_FOREACH_IS_RVALUE(COL) \ + , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) + +#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// R-values and const R-values supported here +/////////////////////////////////////////////////////////////////////////////// + +// Declare a variable to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() \ + if (bool BOOST_FOREACH_ID(_foreach_is_rvalue) = false) {} else + +// Evaluate the collection expression, and detect if it is an lvalue or and rvalue +# define BOOST_FOREACH_EVALUATE(COL) \ + (true ? boost::foreach_detail_::make_probe((COL), BOOST_FOREACH_ID(_foreach_is_rvalue)) : (COL)) + +// The rvalue/lvalue-ness of the collection expression is determined dynamically, unless +// type type is an array or is noncopyable or is non-const, in which case we know it's an lvalue. +// If the type happens to be a lightweight proxy, always make a copy. +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (boost::foreach_detail_::should_copy_impl( \ + true ? 0 : boost::foreach_detail_::or_( \ + boost::foreach_detail_::is_array_(COL) \ + , BOOST_FOREACH_IS_NONCOPYABLE(COL) \ + , boost::foreach_detail_::not_(boost::foreach_detail_::is_const_(COL))) \ + , true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ + , &BOOST_FOREACH_ID(_foreach_is_rvalue))) + +#elif !defined(BOOST_FOREACH_NO_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// R-values supported here, const R-values NOT supported here +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +// Determine whether the collection expression is an lvalue or an rvalue. +// NOTE: this gets the answer wrong for const rvalues. +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? 0 : boost::foreach_detail_::or_( \ + boost::foreach_detail_::is_rvalue_((COL), 0) \ + , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) + +#else +/////////////////////////////////////////////////////////////////////////////// +// R-values NOT supported here +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +// Can't use rvalues with BOOST_FOREACH (unless they are lightweight proxies) +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)) + +#endif + +#define BOOST_FOREACH_CONTAIN(COL) \ + boost::foreach_detail_::contain( \ + BOOST_FOREACH_EVALUATE(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_BEGIN(COL) \ + boost::foreach_detail_::begin( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_END(COL) \ + boost::foreach_detail_::end( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_DONE(COL) \ + boost::foreach_detail_::done( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_ID(_foreach_end) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_NEXT(COL) \ + boost::foreach_detail_::next( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_DEREF(COL) \ + boost::foreach_detail_::deref( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RBEGIN(COL) \ + boost::foreach_detail_::rbegin( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_REND(COL) \ + boost::foreach_detail_::rend( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_RDONE(COL) \ + boost::foreach_detail_::rdone( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_ID(_foreach_end) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RNEXT(COL) \ + boost::foreach_detail_::rnext( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RDEREF(COL) \ + boost::foreach_detail_::rderef( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +/////////////////////////////////////////////////////////////////////////////// +// BOOST_FOREACH +// +// For iterating over collections. Collections can be +// arrays, null-terminated strings, or STL containers. +// The loop variable can be a value or reference. For +// example: +// +// std::list<int> int_list(/*stuff*/); +// BOOST_FOREACH(int &i, int_list) +// { +// /* +// * loop body goes here. +// * i is a reference to the int in int_list. +// */ +// } +// +// Alternately, you can declare the loop variable first, +// so you can access it after the loop finishes. Obviously, +// if you do it this way, then the loop variable cannot be +// a reference. +// +// int i; +// BOOST_FOREACH(i, int_list) +// { ... } +// +#define BOOST_FOREACH(VAR, COL) \ + BOOST_FOREACH_PREAMBLE() \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else \ + for (bool BOOST_FOREACH_ID(_foreach_continue) = true; \ + BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL); \ + BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0) \ + if (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else \ + for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true) + +/////////////////////////////////////////////////////////////////////////////// +// BOOST_REVERSE_FOREACH +// +// For iterating over collections in reverse order. In +// all other respects, BOOST_REVERSE_FOREACH is like +// BOOST_FOREACH. +// +#define BOOST_REVERSE_FOREACH(VAR, COL) \ + BOOST_FOREACH_PREAMBLE() \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_RBEGIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_REND(COL)) {} else \ + for (bool BOOST_FOREACH_ID(_foreach_continue) = true; \ + BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_RDONE(COL); \ + BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_RNEXT(COL) : (void)0) \ + if (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else \ + for (VAR = BOOST_FOREACH_RDEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true) + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/LICENSE_1_0.txt mkvtoolnix-4.5.0+dfsg/lib/boost/LICENSE_1_0.txt --- mkvtoolnix-4.0.0/lib/boost/LICENSE_1_0.txt 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/LICENSE_1_0.txt 2011-01-31 20:34:09.000000000 +0000 @@ -1,65 +1,8 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> - <title>Boost C++ Libraries - LICENSE_1_0.txt - - - - - - -

    -
    - -

    Boost - C++ Libraries

    - -

    “...one of the most highly - regarded and expertly designed C++ library projects in the - world.” Herb Sutter and Andrei - Alexandrescu, C++ - Coding Standards

    - - -
    - -
    -
    -
    -
    -
    -
    -

    LICENSE_1_0.txt

    -
     Boost Software License - Version 1.0 - August 17th, 2003
     
     Permission is hereby granted, free of charge, to any person or organization
     obtaining a copy of the software and accompanying documentation covered by
    -this license (the "Software") to use, reproduce, display, distribute,
    +this license (the "Software") to use, reproduce, display, distribute,
     execute, and transmit the Software, and to prepare derivative works of the
     Software, and to permit third-parties to whom the Software is furnished to
     do so, all subject to the following:
    @@ -71,55 +14,10 @@
     works are solely in the form of machine-executable object code generated by
     a source language processor.
     
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
     SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
     FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
     ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     DEALINGS IN THE SOFTWARE.
    -
    -
    -
    -
    -
    - -
    -
    -
    - - - - diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/exception_implementation.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/exception_implementation.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/exception_implementation.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/exception_implementation.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,83 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_EXCEPTIONS_IMPLEMENTATION_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_EXCEPTIONS_IMPLEMENTATION_HPP_INCLUDED + +namespace boost { namespace property_tree +{ + + namespace detail + { + + // Helper for preparing what string in ptree_bad_path exception + template inline + std::string prepare_bad_path_what(const std::string &what, + const P &path) + { + return what + " (" + path.dump() + ")"; + } + + } + + /////////////////////////////////////////////////////////////////////////// + // ptree_error + + inline ptree_error::ptree_error(const std::string &w): + std::runtime_error(w) + { + } + + inline ptree_error::~ptree_error() throw() + { + } + + /////////////////////////////////////////////////////////////////////////// + // ptree_bad_data + + template inline + ptree_bad_data::ptree_bad_data(const std::string &w, const D &d): + ptree_error(w), m_data(d) + { + } + + inline ptree_bad_data::~ptree_bad_data() throw() + { + } + + template inline + D ptree_bad_data::data() + { + return boost::any_cast(m_data); + } + + /////////////////////////////////////////////////////////////////////////// + // ptree_bad_path + + template inline + ptree_bad_path::ptree_bad_path(const std::string &w, const P &p): + ptree_error(detail::prepare_bad_path_what(w, p)), m_path(p) + { + + } + + inline ptree_bad_path::~ptree_bad_path() throw() + { + } + + template inline + P ptree_bad_path::path() + { + return boost::any_cast

    (m_path); + } + +}} + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/file_parser_error.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/file_parser_error.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/file_parser_error.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/file_parser_error.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,88 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_FILE_PARSER_ERROR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_FILE_PARSER_ERROR_HPP_INCLUDED + +#include +#include + +namespace boost { namespace property_tree +{ + + //! File parse error + class file_parser_error: public ptree_error + { + + public: + + /////////////////////////////////////////////////////////////////////// + // Construction & destruction + + // Construct error + file_parser_error(const std::string &msg, + const std::string &file, + unsigned long l) : + ptree_error(format_what(msg, file, l)), + m_message(msg), m_filename(file), m_line(l) + { + } + + ~file_parser_error() throw() + // gcc 3.4.2 complains about lack of throw specifier on compiler + // generated dtor + { + } + + /////////////////////////////////////////////////////////////////////// + // Data access + + // Get error message (without line and file - use what() to get + // full message) + std::string message() const + { + return m_message; + } + + // Get error filename + std::string filename() const + { + return m_filename; + } + + // Get error line number + unsigned long line() const + { + return m_line; + } + + private: + + std::string m_message; + std::string m_filename; + unsigned long m_line; + + // Format error message to be returned by std::runtime_error::what() + static std::string format_what(const std::string &msg, + const std::string &file, + unsigned long l) + { + std::stringstream stream; + stream << (file.empty() ? "" : file.c_str()); + if (l > 0) + stream << '(' << l << ')'; + stream << ": " << msg; + return stream.str(); + } + + }; + +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_error.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_error.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_error.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_error.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,32 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_ERROR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_ERROR_HPP_INCLUDED + +#include +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + + class info_parser_error: public file_parser_error + { + public: + info_parser_error(const std::string &message, + const std::string &filename, + unsigned long line) : + file_parser_error(message, filename, line) + { + } + }; + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_read.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_read.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_read.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_read.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,380 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_READ_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_READ_HPP_INCLUDED + +#include "boost/property_tree/ptree.hpp" +#include "boost/property_tree/detail/info_parser_error.hpp" +#include "boost/property_tree/detail/info_parser_utils.hpp" +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + + // Expand known escape sequences + template + std::basic_string::value_type> + expand_escapes(It b, It e) + { + typedef typename std::iterator_traits::value_type Ch; + std::basic_string result; + while (b != e) + { + if (*b == Ch('\\')) + { + ++b; + if (b == e) + { + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "character expected after backslash", "", 0)); + } + else if (*b == Ch('0')) result += Ch('\0'); + else if (*b == Ch('a')) result += Ch('\a'); + else if (*b == Ch('b')) result += Ch('\b'); + else if (*b == Ch('f')) result += Ch('\f'); + else if (*b == Ch('n')) result += Ch('\n'); + else if (*b == Ch('r')) result += Ch('\r'); + else if (*b == Ch('t')) result += Ch('\t'); + else if (*b == Ch('v')) result += Ch('\v'); + else if (*b == Ch('"')) result += Ch('"'); + else if (*b == Ch('\'')) result += Ch('\''); + else if (*b == Ch('\\')) result += Ch('\\'); + else + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "unknown escape sequence", "", 0)); + } + else + result += *b; + ++b; + } + return result; + } + + // Advance pointer past whitespace + template + void skip_whitespace(const Ch *&text) + { + using namespace std; + while (isspace(*text)) + ++text; + } + + // Extract word (whitespace delimited) and advance pointer accordingly + template + std::basic_string read_word(const Ch *&text) + { + using namespace std; + skip_whitespace(text); + const Ch *start = text; + while (!isspace(*text) && *text != Ch(';') && *text != Ch('\0')) + ++text; + return expand_escapes(start, text); + } + + // Extract line (eol delimited) and advance pointer accordingly + template + std::basic_string read_line(const Ch *&text) + { + using namespace std; + skip_whitespace(text); + const Ch *start = text; + while (*text != Ch('\0') && *text != Ch(';')) + ++text; + while (text > start && isspace(*(text - 1))) + --text; + return expand_escapes(start, text); + } + + // Extract string (inside ""), and advance pointer accordingly + // Set need_more_lines to true if \ continuator found + template + std::basic_string read_string(const Ch *&text, bool *need_more_lines) + { + skip_whitespace(text); + if (*text == Ch('\"')) + { + + // Skip " + ++text; + + // Find end of string, but skip escaped " + bool escaped = false; + const Ch *start = text; + while ((escaped || *text != Ch('\"')) && *text != Ch('\0')) + { + escaped = (!escaped && *text == Ch('\\')); + ++text; + } + + // If end of string found + if (*text == Ch('\"')) + { + std::basic_string result = expand_escapes(start, text++); + skip_whitespace(text); + if (*text == Ch('\\')) + { + if (!need_more_lines) + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "unexpected \\", "", 0)); + ++text; + skip_whitespace(text); + if (*text == Ch('\0') || *text == Ch(';')) + *need_more_lines = true; + else + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "expected end of line after \\", "", 0)); + } + else + if (need_more_lines) + *need_more_lines = false; + return result; + } + else + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "unexpected end of line", "", 0)); + + } + else + BOOST_PROPERTY_TREE_THROW(info_parser_error("expected \"", "", 0)); + } + + // Extract key + template + std::basic_string read_key(const Ch *&text) + { + skip_whitespace(text); + if (*text == Ch('\"')) + return read_string(text, NULL); + else + return read_word(text); + } + + // Extract data + template + std::basic_string read_data(const Ch *&text, bool *need_more_lines) + { + skip_whitespace(text); + if (*text == Ch('\"')) + return read_string(text, need_more_lines); + else + { + *need_more_lines = false; + return read_word(text); + } + } + + // Build ptree from info stream + template + void read_info_internal(std::basic_istream &stream, + Ptree &pt, + const std::string &filename, + int include_depth) + { + typedef std::basic_string str_t; + // Possible parser states + enum state_t { + s_key, // Parser expects key + s_data, // Parser expects data + s_data_cont // Parser expects data continuation + }; + + unsigned long line_no = 0; + state_t state = s_key; // Parser state + Ptree *last = NULL; // Pointer to last created ptree + // Define line here to minimize reallocations + str_t line; + + // Initialize ptree stack (used to handle nesting) + std::stack stack; + stack.push(&pt); // Push root ptree on stack initially + + try { + // While there are characters in the stream + while (stream.good()) { + // Read one line from stream + ++line_no; + std::getline(stream, line); + if (!stream.good() && !stream.eof()) + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "read error", filename, line_no)); + const Ch *text = line.c_str(); + + // If directive found + skip_whitespace(text); + if (*text == Ch('#')) { + // Determine directive type + ++text; // skip # + std::basic_string directive = read_word(text); + if (directive == convert_chtype("include")) { + // #include + if (include_depth > 100) { + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "include depth too large, " + "probably recursive include", + filename, line_no)); + } + str_t s = read_string(text, NULL); + std::string inc_name = + convert_chtype(s.c_str()); + std::basic_ifstream inc_stream(inc_name.c_str()); + if (!inc_stream.good()) + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "cannot open include file " + inc_name, + filename, line_no)); + read_info_internal(inc_stream, *stack.top(), + inc_name, include_depth + 1); + } else { // Unknown directive + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "unknown directive", filename, line_no)); + } + + // Directive must be followed by end of line + skip_whitespace(text); + if (*text != Ch('\0')) { + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "expected end of line", filename, line_no)); + } + + // Go to next line + continue; + } + + // While there are characters left in line + while (1) { + + // Stop parsing on end of line or comment + skip_whitespace(text); + if (*text == Ch('\0') || *text == Ch(';')) { + if (state == s_data) // If there was no data set state to s_key + state = s_key; + break; + } + + // Process according to current parser state + switch (state) + { + + // Parser expects key + case s_key: + { + + if (*text == Ch('{')) // Brace opening found + { + if (!last) + BOOST_PROPERTY_TREE_THROW(info_parser_error("unexpected {", "", 0)); + stack.push(last); + last = NULL; + ++text; + } + else if (*text == Ch('}')) // Brace closing found + { + if (stack.size() <= 1) + BOOST_PROPERTY_TREE_THROW(info_parser_error("unmatched }", "", 0)); + stack.pop(); + last = NULL; + ++text; + } + else // Key text found + { + std::basic_string key = read_key(text); + last = &stack.top()->push_back( + std::make_pair(key, Ptree()))->second; + state = s_data; + } + + }; break; + + // Parser expects data + case s_data: + { + + // Last ptree must be defined because we are going to add data to it + BOOST_ASSERT(last); + + if (*text == Ch('{')) // Brace opening found + { + stack.push(last); + last = NULL; + ++text; + state = s_key; + } + else if (*text == Ch('}')) // Brace closing found + { + if (stack.size() <= 1) + BOOST_PROPERTY_TREE_THROW(info_parser_error("unmatched }", "", 0)); + stack.pop(); + last = NULL; + ++text; + state = s_key; + } + else // Data text found + { + bool need_more_lines; + std::basic_string data = read_data(text, &need_more_lines); + last->data() = data; + state = need_more_lines ? s_data_cont : s_key; + } + + + }; break; + + // Parser expects continuation of data after \ on previous line + case s_data_cont: + { + + // Last ptree must be defined because we are going to update its data + BOOST_ASSERT(last); + + if (*text == Ch('\"')) // Continuation must start with " + { + bool need_more_lines; + std::basic_string data = read_string(text, &need_more_lines); + last->put_value(last->template get_value >() + data); + state = need_more_lines ? s_data_cont : s_key; + } + else + BOOST_PROPERTY_TREE_THROW(info_parser_error("expected \" after \\ in previous line", "", 0)); + + }; break; + + // Should never happen + default: + BOOST_ASSERT(0); + + } + } + } + + // Check if stack has initial size, otherwise some {'s have not been closed + if (stack.size() != 1) + BOOST_PROPERTY_TREE_THROW(info_parser_error("unmatched {", "", 0)); + + } + catch (info_parser_error &e) + { + // If line undefined rethrow error with correct filename and line + if (e.line() == 0) + { + BOOST_PROPERTY_TREE_THROW(info_parser_error(e.message(), filename, line_no)); + } + else + BOOST_PROPERTY_TREE_THROW(e); + + } + + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_utils.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_utils.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_utils.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_utils.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,32 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_CHCONV_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_CHCONV_HPP_INCLUDED + +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + + template + std::basic_string convert_chtype(const ChSrc *text) + { + std::basic_string result; + while (*text) + { + result += ChDest(*text); + ++text; + } + return result; + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_write.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_write.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_write.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_write.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,147 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_WRITE_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_WRITE_HPP_INCLUDED + +#include "boost/property_tree/ptree.hpp" +#include "boost/property_tree/detail/info_parser_utils.hpp" +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + template + void write_info_indent(std::basic_ostream &stream, + int indent, + const info_writer_settings &settings + ) + { + stream << std::basic_string(indent * settings.indent_count, settings.indent_char); + } + + // Create necessary escape sequences from illegal characters + template + std::basic_string create_escapes(const std::basic_string &s) + { + std::basic_string result; + typename std::basic_string::const_iterator b = s.begin(); + typename std::basic_string::const_iterator e = s.end(); + while (b != e) + { + if (*b == Ch('\0')) result += Ch('\\'), result += Ch('0'); + else if (*b == Ch('\a')) result += Ch('\\'), result += Ch('a'); + else if (*b == Ch('\b')) result += Ch('\\'), result += Ch('b'); + else if (*b == Ch('\f')) result += Ch('\\'), result += Ch('f'); + else if (*b == Ch('\n')) result += Ch('\\'), result += Ch('n'); + else if (*b == Ch('\r')) result += Ch('\\'), result += Ch('r'); + else if (*b == Ch('\v')) result += Ch('\\'), result += Ch('v'); + else if (*b == Ch('"')) result += Ch('\\'), result += Ch('"'); + else if (*b == Ch('\\')) result += Ch('\\'), result += Ch('\\'); + else + result += *b; + ++b; + } + return result; + } + + template + bool is_simple_key(const std::basic_string &key) + { + const static std::basic_string chars = convert_chtype(" \t{};\n\""); + return !key.empty() && key.find_first_of(chars) == key.npos; + } + + template + bool is_simple_data(const std::basic_string &data) + { + const static std::basic_string chars = convert_chtype(" \t{};\n\""); + return !data.empty() && data.find_first_of(chars) == data.npos; + } + + template + void write_info_helper(std::basic_ostream &stream, + const Ptree &pt, + int indent, + const info_writer_settings &settings) + { + + // Character type + typedef typename Ptree::key_type::value_type Ch; + + // Write data + if (indent >= 0) + { + if (!pt.data().empty()) + { + std::basic_string data = create_escapes(pt.template get_value >()); + if (is_simple_data(data)) + stream << Ch(' ') << data << Ch('\n'); + else + stream << Ch(' ') << Ch('\"') << data << Ch('\"') << Ch('\n'); + } + else if (pt.empty()) + stream << Ch(' ') << Ch('\"') << Ch('\"') << Ch('\n'); + else + stream << Ch('\n'); + } + + // Write keys + if (!pt.empty()) + { + + // Open brace + if (indent >= 0) + { + write_info_indent( stream, indent, settings); + stream << Ch('{') << Ch('\n'); + } + + // Write keys + typename Ptree::const_iterator it = pt.begin(); + for (; it != pt.end(); ++it) + { + + // Output key + std::basic_string key = create_escapes(it->first); + write_info_indent( stream, indent+1, settings); + if (is_simple_key(key)) + stream << key; + else + stream << Ch('\"') << key << Ch('\"'); + + // Output data and children + write_info_helper(stream, it->second, indent + 1, settings); + + } + + // Close brace + if (indent >= 0) + { + write_info_indent( stream, indent, settings); + stream << Ch('}') << Ch('\n'); + } + + } + } + + // Write ptree to info stream + template + void write_info_internal(std::basic_ostream &stream, + const Ptree &pt, + const std::string &filename, + const info_writer_settings &settings) + { + write_info_helper(stream, pt, -1, settings); + if (!stream.good()) + BOOST_PROPERTY_TREE_THROW(info_parser_error("write error", filename, 0)); + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_writer_settings.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_writer_settings.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/info_parser_writer_settings.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/info_parser_writer_settings.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,40 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2007 Alexey Baskakov +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_WRITER_SETTINGS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_INFO_PARSER_WRITER_SETTINGS_HPP_INCLUDED + +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + + template + class info_writer_settings + { + public: + info_writer_settings(Ch indent_char = Ch(' '), unsigned indent_count = 4): + indent_char(indent_char), + indent_count(indent_count) + { + } + Ch indent_char; + int indent_count; + }; + + template + info_writer_settings info_writer_make_settings(Ch indent_char = Ch(' '), unsigned indent_count = 4) + { + return info_writer_settings(indent_char, indent_count); + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_error.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_error.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_error.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_error.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,33 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_ERROR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_ERROR_HPP_INCLUDED + +#include +#include + +namespace boost { namespace property_tree { namespace json_parser +{ + + //! Json parser error + class json_parser_error: public file_parser_error + { + public: + json_parser_error(const std::string &message, + const std::string &filename, + unsigned long line): + file_parser_error(message, filename, line) + { + } + }; + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_read.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_read.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_read.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_read.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,328 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_READ_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_READ_HPP_INCLUDED + +//#define BOOST_SPIRIT_DEBUG + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace json_parser +{ + + /////////////////////////////////////////////////////////////////////// + // Json parser context + + template + struct context + { + + typedef typename Ptree::key_type::value_type Ch; + typedef std::basic_string Str; + typedef typename std::vector::iterator It; + + Str string; + Str name; + Ptree root; + std::vector stack; + + struct a_object_s + { + context &c; + a_object_s(context &c): c(c) { } + void operator()(Ch) const + { + if (c.stack.empty()) + c.stack.push_back(&c.root); + else + { + Ptree *parent = c.stack.back(); + Ptree *child = &parent->push_back(std::make_pair(c.name, Ptree()))->second; + c.stack.push_back(child); + c.name.clear(); + } + } + }; + + struct a_object_e + { + context &c; + a_object_e(context &c): c(c) { } + void operator()(Ch) const + { + BOOST_ASSERT(c.stack.size() >= 1); + c.stack.pop_back(); + } + }; + + struct a_name + { + context &c; + a_name(context &c): c(c) { } + void operator()(It, It) const + { + c.name.swap(c.string); + c.string.clear(); + } + }; + + struct a_string_val + { + context &c; + a_string_val(context &c): c(c) { } + void operator()(It, It) const + { + BOOST_ASSERT(c.stack.size() >= 1); + c.stack.back()->push_back(std::make_pair(c.name, Ptree(c.string))); + c.name.clear(); + c.string.clear(); + } + }; + + struct a_literal_val + { + context &c; + a_literal_val(context &c): c(c) { } + void operator()(It b, It e) const + { + BOOST_ASSERT(c.stack.size() >= 1); + c.stack.back()->push_back(std::make_pair(c.name, Str(b, e))); + c.name.clear(); + c.string.clear(); + } + }; + + struct a_char + { + context &c; + a_char(context &c): c(c) { } + void operator()(It b, It e) const + { + c.string += *b; + } + }; + + struct a_escape + { + context &c; + a_escape(context &c): c(c) { } + void operator()(Ch ch) const + { + switch (ch) + { + case Ch('\"'): c.string += Ch('\"'); break; + case Ch('\\'): c.string += Ch('\\'); break; + case Ch('/'): c.string += Ch('/'); break; + case Ch('b'): c.string += Ch('\b'); break; + case Ch('f'): c.string += Ch('\f'); break; + case Ch('n'): c.string += Ch('\n'); break; + case Ch('r'): c.string += Ch('\r'); break; + case Ch('t'): c.string += Ch('\t'); break; + default: BOOST_ASSERT(0); + } + } + }; + + struct a_unicode + { + context &c; + a_unicode(context &c): c(c) { } + void operator()(unsigned long u) const + { + u = (std::min)(u, static_cast((std::numeric_limits::max)())); + c.string += Ch(u); + } + }; + + }; + + /////////////////////////////////////////////////////////////////////// + // Json grammar + + template + struct json_grammar : + public boost::spirit::classic::grammar > + { + + typedef context Context; + typedef typename Ptree::key_type::value_type Ch; + + mutable Context c; + + template + struct definition + { + + boost::spirit::classic::rule + root, object, member, array, item, value, string, number; + boost::spirit::classic::rule< + typename boost::spirit::classic::lexeme_scanner::type> + character, escape; + + definition(const json_grammar &self) + { + + using namespace boost::spirit::classic; + + // Assertions + assertion expect_object("expected object"); + assertion expect_eoi("expected end of input"); + assertion expect_objclose("expected ',' or '}'"); + assertion expect_arrclose("expected ',' or ']'"); + assertion expect_name("expected object name"); + assertion expect_colon("expected ':'"); + assertion expect_value("expected value"); + assertion expect_escape("invalid escape sequence"); + + // JSON grammar rules + root + = expect_object(object) + >> expect_eoi(end_p) + ; + + object + = ch_p('{')[typename Context::a_object_s(self.c)] + >> (ch_p('}')[typename Context::a_object_e(self.c)] + | (list_p(member, ch_p(',')) + >> expect_objclose(ch_p('}')[typename Context::a_object_e(self.c)]) + ) + ) + ; + + member + = expect_name(string[typename Context::a_name(self.c)]) + >> expect_colon(ch_p(':')) + >> expect_value(value) + ; + + array + = ch_p('[')[typename Context::a_object_s(self.c)] + >> (ch_p(']')[typename Context::a_object_e(self.c)] + | (list_p(item, ch_p(',')) + >> expect_arrclose(ch_p(']')[typename Context::a_object_e(self.c)]) + ) + ) + ; + + item + = expect_value(value) + ; + + value + = string[typename Context::a_string_val(self.c)] + | (number | str_p("true") | "false" | "null")[typename Context::a_literal_val(self.c)] + | object + | array + ; + + number + = !ch_p("-") >> + (ch_p("0") | (range_p(Ch('1'), Ch('9')) >> *digit_p)) >> + !(ch_p(".") >> +digit_p) >> + !(chset_p(detail::widen("eE").c_str()) >> + !chset_p(detail::widen("-+").c_str()) >> + +digit_p) + ; + + string + = +(lexeme_d[confix_p('\"', *character, '\"')]) + ; + + character + = (anychar_p - "\\" - "\"") + [typename Context::a_char(self.c)] + | ch_p("\\") >> expect_escape(escape) + ; + + escape + = chset_p(detail::widen("\"\\/bfnrt").c_str()) + [typename Context::a_escape(self.c)] + | 'u' >> uint_parser() + [typename Context::a_unicode(self.c)] + ; + + // Debug + BOOST_SPIRIT_DEBUG_RULE(root); + BOOST_SPIRIT_DEBUG_RULE(object); + BOOST_SPIRIT_DEBUG_RULE(member); + BOOST_SPIRIT_DEBUG_RULE(array); + BOOST_SPIRIT_DEBUG_RULE(item); + BOOST_SPIRIT_DEBUG_RULE(value); + BOOST_SPIRIT_DEBUG_RULE(string); + BOOST_SPIRIT_DEBUG_RULE(number); + BOOST_SPIRIT_DEBUG_RULE(escape); + BOOST_SPIRIT_DEBUG_RULE(character); + + } + + const boost::spirit::classic::rule &start() const + { + return root; + } + + }; + + }; + + template + unsigned long count_lines(It begin, It end) + { + return static_cast(std::count(begin, end, Ch('\n')) + 1); + } + + template + void read_json_internal(std::basic_istream &stream, + Ptree &pt, + const std::string &filename) + { + + using namespace boost::spirit::classic; + typedef typename Ptree::key_type::value_type Ch; + typedef typename std::vector::iterator It; + + // Load data into vector + std::vector v(std::istreambuf_iterator(stream.rdbuf()), + std::istreambuf_iterator()); + if (!stream.good()) + BOOST_PROPERTY_TREE_THROW(json_parser_error("read error", filename, 0)); + + // Prepare grammar + json_grammar g; + + // Parse + try + { + parse_info pi = parse(v.begin(), v.end(), g, + space_p | comment_p("//") | comment_p("/*", "*/")); + if (!pi.hit || !pi.full) + BOOST_PROPERTY_TREE_THROW((parser_error(v.begin(), "syntax error"))); + } + catch (parser_error &e) + { + BOOST_PROPERTY_TREE_THROW(json_parser_error(e.descriptor, filename, count_lines(v.begin(), e.where))); + } + + // Swap grammar context root and pt + pt.swap(g.c.root); + + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_write.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_write.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/json_parser_write.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/json_parser_write.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,170 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_WRITE_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_JSON_PARSER_WRITE_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace json_parser +{ + + // Create necessary escape sequences from illegal characters + template + std::basic_string create_escapes(const std::basic_string &s) + { + std::basic_string result; + typename std::basic_string::const_iterator b = s.begin(); + typename std::basic_string::const_iterator e = s.end(); + while (b != e) + { + // This assumes an ASCII superset. But so does everything in PTree. + // We escape everything outside ASCII, because this code can't + // handle high unicode characters. + if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) || + (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF)) + result += *b; + else if (*b == Ch('\b')) result += Ch('\\'), result += Ch('b'); + else if (*b == Ch('\f')) result += Ch('\\'), result += Ch('f'); + else if (*b == Ch('\n')) result += Ch('\\'), result += Ch('n'); + else if (*b == Ch('\r')) result += Ch('\\'), result += Ch('r'); + else if (*b == Ch('/')) result += Ch('\\'), result += Ch('/'); + else if (*b == Ch('"')) result += Ch('\\'), result += Ch('"'); + else if (*b == Ch('\\')) result += Ch('\\'), result += Ch('\\'); + else + { + const char *hexdigits = "0123456789ABCDEF"; + typedef typename make_unsigned::type UCh; + unsigned long u = (std::min)(static_cast( + static_cast(*b)), + 0xFFFFul); + int d1 = u / 4096; u -= d1 * 4096; + int d2 = u / 256; u -= d2 * 256; + int d3 = u / 16; u -= d3 * 16; + int d4 = u; + result += Ch('\\'); result += Ch('u'); + result += Ch(hexdigits[d1]); result += Ch(hexdigits[d2]); + result += Ch(hexdigits[d3]); result += Ch(hexdigits[d4]); + } + ++b; + } + return result; + } + + template + void write_json_helper(std::basic_ostream &stream, + const Ptree &pt, + int indent, bool pretty) + { + + typedef typename Ptree::key_type::value_type Ch; + typedef typename std::basic_string Str; + + // Value or object or array + if (indent > 0 && pt.empty()) + { + // Write value + Str data = create_escapes(pt.template get_value()); + stream << Ch('"') << data << Ch('"'); + + } + else if (indent > 0 && pt.count(Str()) == pt.size()) + { + // Write array + stream << Ch('['); + if (pretty) stream << Ch('\n'); + typename Ptree::const_iterator it = pt.begin(); + for (; it != pt.end(); ++it) + { + if (pretty) stream << Str(4 * (indent + 1), Ch(' ')); + write_json_helper(stream, it->second, indent + 1, pretty); + if (boost::next(it) != pt.end()) + stream << Ch(','); + if (pretty) stream << Ch('\n'); + } + stream << Str(4 * indent, Ch(' ')) << Ch(']'); + + } + else + { + // Write object + stream << Ch('{'); + if (pretty) stream << Ch('\n'); + typename Ptree::const_iterator it = pt.begin(); + for (; it != pt.end(); ++it) + { + if (pretty) stream << Str(4 * (indent + 1), Ch(' ')); + stream << Ch('"') << create_escapes(it->first) << Ch('"') << Ch(':'); + if (pretty) { + if (it->second.empty()) + stream << Ch(' '); + else + stream << Ch('\n') << Str(4 * (indent + 1), Ch(' ')); + } + write_json_helper(stream, it->second, indent + 1, pretty); + if (boost::next(it) != pt.end()) + stream << Ch(','); + if (pretty) stream << Ch('\n'); + } + if (pretty) stream << Str(4 * indent, Ch(' ')); + stream << Ch('}'); + } + + } + + // Verify if ptree does not contain information that cannot be written to json + template + bool verify_json(const Ptree &pt, int depth) + { + + typedef typename Ptree::key_type::value_type Ch; + typedef typename std::basic_string Str; + + // Root ptree cannot have data + if (depth == 0 && !pt.template get_value().empty()) + return false; + + // Ptree cannot have both children and data + if (!pt.template get_value().empty() && !pt.empty()) + return false; + + // Check children + typename Ptree::const_iterator it = pt.begin(); + for (; it != pt.end(); ++it) + if (!verify_json(it->second, depth + 1)) + return false; + + // Success + return true; + + } + + // Write ptree to json stream + template + void write_json_internal(std::basic_ostream &stream, + const Ptree &pt, + const std::string &filename, + bool pretty) + { + if (!verify_json(pt, 0)) + BOOST_PROPERTY_TREE_THROW(json_parser_error("ptree contains data that cannot be represented in JSON format", filename, 0)); + write_json_helper(stream, pt, 0, pretty); + stream << std::endl; + if (!stream.good()) + BOOST_PROPERTY_TREE_THROW(json_parser_error("write error", filename, 0)); + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/ptree_implementation.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/ptree_implementation.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/ptree_implementation.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/ptree_implementation.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,905 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_PTREE_IMPLEMENTATION_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_PTREE_IMPLEMENTATION_HPP_INCLUDED + +#include +#include +#include +#include + +#if defined(BOOST_MSVC) && \ + (_MSC_FULL_VER >= 160000000 && _MSC_FULL_VER < 170000000) +#define BOOST_PROPERTY_TREE_PAIR_BUG +#endif + +namespace boost { namespace property_tree +{ + template + struct basic_ptree::subs + { + struct by_name {}; + // The actual child container. +#if defined(BOOST_PROPERTY_TREE_PAIR_BUG) + // MSVC 10 has moved std::pair's members to a base + // class. Unfortunately this does break the interface. + BOOST_STATIC_CONSTANT(unsigned, + first_offset = offsetof(value_type, first)); + typedef multi_index_container, + multi_index::ordered_non_unique, + multi_index::member_offset, + key_compare + > + > + > base_container; +#else + typedef multi_index_container, + multi_index::ordered_non_unique, + multi_index::member, + key_compare + > + > + > base_container; +#endif + // The by-name lookup index. + typedef typename base_container::template index::type + by_name_index; + + // Access functions for getting to the children of a tree. + static base_container& ch(self_type *s) { + return *static_cast(s->m_children); + } + static const base_container& ch(const self_type *s) { + return *static_cast(s->m_children); + } + static by_name_index& assoc(self_type *s) { + return ch(s).BOOST_NESTED_TEMPLATE get(); + } + static const by_name_index& assoc(const self_type *s) { + return ch(s).BOOST_NESTED_TEMPLATE get(); + } + }; + template + class basic_ptree::iterator : public boost::iterator_adaptor< + iterator, typename subs::base_container::iterator, value_type> + { + friend class boost::iterator_core_access; + typedef boost::iterator_adaptor< + iterator, typename subs::base_container::iterator, value_type> + baset; + public: + typedef typename baset::reference reference; + iterator() {} + explicit iterator(typename iterator::base_type b) + : iterator::iterator_adaptor_(b) + {} + reference dereference() const + { + // multi_index doesn't allow modification of its values, because + // indexes could sort by anything, and modification screws that up. + // However, we only sort by the key, and it's protected against + // modification in the value_type, so this const_cast is safe. + return const_cast(*this->base_reference()); + } + }; + template + class basic_ptree::const_iterator : public boost::iterator_adaptor< + const_iterator, typename subs::base_container::const_iterator> + { + public: + const_iterator() {} + explicit const_iterator(typename const_iterator::base_type b) + : const_iterator::iterator_adaptor_(b) + {} + const_iterator(iterator b) + : const_iterator::iterator_adaptor_(b.base()) + {} + }; + template + class basic_ptree::reverse_iterator + : public boost::reverse_iterator + { + public: + reverse_iterator() {} + explicit reverse_iterator(iterator b) + : boost::reverse_iterator(b) + {} + }; + template + class basic_ptree::const_reverse_iterator + : public boost::reverse_iterator + { + public: + const_reverse_iterator() {} + explicit const_reverse_iterator(const_iterator b) + : boost::reverse_iterator(b) + {} + const_reverse_iterator( + typename basic_ptree::reverse_iterator b) + : boost::reverse_iterator(b) + {} + }; + template + class basic_ptree::assoc_iterator + : public boost::iterator_adaptor + { + friend class boost::iterator_core_access; + typedef boost::iterator_adaptor + baset; + public: + typedef typename baset::reference reference; + assoc_iterator() {} + explicit assoc_iterator(typename assoc_iterator::base_type b) + : assoc_iterator::iterator_adaptor_(b) + {} + reference dereference() const + { + return const_cast(*this->base_reference()); + } + }; + template + class basic_ptree::const_assoc_iterator + : public boost::iterator_adaptor + { + public: + const_assoc_iterator() {} + explicit const_assoc_iterator( + typename const_assoc_iterator::base_type b) + : const_assoc_iterator::iterator_adaptor_(b) + {} + const_assoc_iterator(assoc_iterator b) + : const_assoc_iterator::iterator_adaptor_(b.base()) + {} + }; + + + // Big five + + // Perhaps the children collection could be created on-demand only, to + // reduce heap traffic. But that's a lot more work to implement. + + template inline + basic_ptree::basic_ptree() + : m_children(new typename subs::base_container) + { + } + + template inline + basic_ptree::basic_ptree(const data_type &d) + : m_data(d), m_children(new typename subs::base_container) + { + } + + template inline + basic_ptree::basic_ptree(const basic_ptree &rhs) + : m_data(rhs.m_data), + m_children(new typename subs::base_container(subs::ch(&rhs))) + { + } + + template + basic_ptree & + basic_ptree::operator =(const basic_ptree &rhs) + { + self_type(rhs).swap(*this); + return *this; + } + + template + basic_ptree::~basic_ptree() + { + delete &subs::ch(this); + } + + template inline + void basic_ptree::swap(basic_ptree &rhs) + { + m_data.swap(rhs.m_data); + // Void pointers, no ADL necessary + std::swap(m_children, rhs.m_children); + } + + // Container view + + template inline + typename basic_ptree::size_type + basic_ptree::size() const + { + return subs::ch(this).size(); + } + + template inline + typename basic_ptree::size_type + basic_ptree::max_size() const + { + return subs::ch(this).max_size(); + } + + template inline + bool basic_ptree::empty() const + { + return subs::ch(this).empty(); + } + + template inline + typename basic_ptree::iterator + basic_ptree::begin() + { + return iterator(subs::ch(this).begin()); + } + + template inline + typename basic_ptree::const_iterator + basic_ptree::begin() const + { + return const_iterator(subs::ch(this).begin()); + } + + template inline + typename basic_ptree::iterator + basic_ptree::end() + { + return iterator(subs::ch(this).end()); + } + + template inline + typename basic_ptree::const_iterator + basic_ptree::end() const + { + return const_iterator(subs::ch(this).end()); + } + + template inline + typename basic_ptree::reverse_iterator + basic_ptree::rbegin() + { + return reverse_iterator(this->end()); + } + + template inline + typename basic_ptree::const_reverse_iterator + basic_ptree::rbegin() const + { + return const_reverse_iterator(this->end()); + } + + template inline + typename basic_ptree::reverse_iterator + basic_ptree::rend() + { + return reverse_iterator(this->begin()); + } + + template inline + typename basic_ptree::const_reverse_iterator + basic_ptree::rend() const + { + return const_reverse_iterator(this->begin()); + } + + template inline + typename basic_ptree::value_type & + basic_ptree::front() + { + return const_cast(subs::ch(this).front()); + } + + template inline + const typename basic_ptree::value_type & + basic_ptree::front() const + { + return subs::ch(this).front(); + } + + template inline + typename basic_ptree::value_type & + basic_ptree::back() + { + return const_cast(subs::ch(this).back()); + } + + template inline + const typename basic_ptree::value_type & + basic_ptree::back() const + { + return subs::ch(this).back(); + } + + template inline + typename basic_ptree::iterator + basic_ptree::insert(iterator where, const value_type &value) + { + return iterator(subs::ch(this).insert(where.base(), value).first); + } + + template + template inline + void basic_ptree::insert(iterator where, It first, It last) + { + subs::ch(this).insert(where.base(), first, last); + } + + template inline + typename basic_ptree::iterator + basic_ptree::erase(iterator where) + { + return iterator(subs::ch(this).erase(where.base())); + } + + template inline + typename basic_ptree::iterator + basic_ptree::erase(iterator first, iterator last) + { + return iterator(subs::ch(this).erase(first.base(), last.base())); + } + + template inline + typename basic_ptree::iterator + basic_ptree::push_front(const value_type &value) + { + return iterator(subs::ch(this).push_front(value).first); + } + + template inline + typename basic_ptree::iterator + basic_ptree::push_back(const value_type &value) + { + return iterator(subs::ch(this).push_back(value).first); + } + + template inline + void basic_ptree::pop_front() + { + subs::ch(this).pop_front(); + } + + template inline + void basic_ptree::pop_back() + { + subs::ch(this).pop_back(); + } + + template inline + void basic_ptree::reverse() + { + subs::ch(this).reverse(); + } + + template inline + void basic_ptree::sort() + { + subs::ch(this).sort(); + } + + template + template inline + void basic_ptree::sort(Compare comp) + { + subs::ch(this).sort(comp); + } + + // Equality + + template inline + bool basic_ptree::operator ==( + const basic_ptree &rhs) const + { + // The size test is cheap, so add it as an optimization + return size() == rhs.size() && data() == rhs.data() && + subs::ch(this) == subs::ch(&rhs); + } + + template inline + bool basic_ptree::operator !=( + const basic_ptree &rhs) const + { + return !(*this == rhs); + } + + // Associative view + + template inline + typename basic_ptree::assoc_iterator + basic_ptree::ordered_begin() + { + return assoc_iterator(subs::assoc(this).begin()); + } + + template inline + typename basic_ptree::const_assoc_iterator + basic_ptree::ordered_begin() const + { + return const_assoc_iterator(subs::assoc(this).begin()); + } + + template inline + typename basic_ptree::assoc_iterator + basic_ptree::not_found() + { + return assoc_iterator(subs::assoc(this).end()); + } + + template inline + typename basic_ptree::const_assoc_iterator + basic_ptree::not_found() const + { + return const_assoc_iterator(subs::assoc(this).end()); + } + + template inline + typename basic_ptree::assoc_iterator + basic_ptree::find(const key_type &key) + { + return assoc_iterator(subs::assoc(this).find(key)); + } + + template inline + typename basic_ptree::const_assoc_iterator + basic_ptree::find(const key_type &key) const + { + return const_assoc_iterator(subs::assoc(this).find(key)); + } + + template inline + std::pair< + typename basic_ptree::assoc_iterator, + typename basic_ptree::assoc_iterator + > basic_ptree::equal_range(const key_type &key) + { + std::pair r( + subs::assoc(this).equal_range(key)); + return std::pair( + assoc_iterator(r.first), assoc_iterator(r.second)); + } + + template inline + std::pair< + typename basic_ptree::const_assoc_iterator, + typename basic_ptree::const_assoc_iterator + > basic_ptree::equal_range(const key_type &key) const + { + std::pair r( + subs::assoc(this).equal_range(key)); + return std::pair( + const_assoc_iterator(r.first), const_assoc_iterator(r.second)); + } + + template inline + typename basic_ptree::size_type + basic_ptree::count(const key_type &key) const + { + return subs::assoc(this).count(key); + } + + template inline + typename basic_ptree::size_type + basic_ptree::erase(const key_type &key) + { + return subs::assoc(this).erase(key); + } + + template inline + typename basic_ptree::iterator + basic_ptree::to_iterator(assoc_iterator ai) + { + return iterator(subs::ch(this). + BOOST_NESTED_TEMPLATE project<0>(ai.base())); + } + + template inline + typename basic_ptree::const_iterator + basic_ptree::to_iterator(const_assoc_iterator ai) const + { + return const_iterator(subs::ch(this). + BOOST_NESTED_TEMPLATE project<0>(ai.base())); + } + + // Property tree view + + template inline + typename basic_ptree::data_type & + basic_ptree::data() + { + return m_data; + } + + template inline + const typename basic_ptree::data_type & + basic_ptree::data() const + { + return m_data; + } + + template inline + void basic_ptree::clear() + { + m_data = data_type(); + subs::ch(this).clear(); + } + + template + basic_ptree & + basic_ptree::get_child(const path_type &path) + { + path_type p(path); + self_type *n = walk_path(p); + if (!n) { + BOOST_PROPERTY_TREE_THROW(ptree_bad_path("No such node", path)); + } + return *n; + } + + template inline + const basic_ptree & + basic_ptree::get_child(const path_type &path) const + { + return const_cast(this)->get_child(path); + } + + template inline + basic_ptree & + basic_ptree::get_child(const path_type &path, + self_type &default_value) + { + path_type p(path); + self_type *n = walk_path(p); + return n ? *n : default_value; + } + + template inline + const basic_ptree & + basic_ptree::get_child(const path_type &path, + const self_type &default_value) const + { + return const_cast(this)->get_child(path, + const_cast(default_value)); + } + + + template + optional &> + basic_ptree::get_child_optional(const path_type &path) + { + path_type p(path); + self_type *n = walk_path(p); + if (!n) { + return optional(); + } + return *n; + } + + template + optional &> + basic_ptree::get_child_optional(const path_type &path) const + { + path_type p(path); + self_type *n = walk_path(p); + if (!n) { + return optional(); + } + return *n; + } + + template + basic_ptree & + basic_ptree::put_child(const path_type &path, + const self_type &value) + { + path_type p(path); + self_type &parent = force_path(p); + // Got the parent. Now get the correct child. + key_type fragment = p.reduce(); + assoc_iterator el = parent.find(fragment); + // If the new child exists, replace it. + if(el != parent.not_found()) { + return el->second = value; + } else { + return parent.push_back(value_type(fragment, value))->second; + } + } + + template + basic_ptree & + basic_ptree::add_child(const path_type &path, + const self_type &value) + { + path_type p(path); + self_type &parent = force_path(p); + // Got the parent. + key_type fragment = p.reduce(); + return parent.push_back(value_type(fragment, value))->second; + } + + template + template + typename boost::enable_if, Type>::type + basic_ptree::get_value(Translator tr) const + { + if(boost::optional o = get_value_optional(tr)) { + return *o; + } + BOOST_PROPERTY_TREE_THROW(ptree_bad_data( + std::string("conversion of data to type \"") + + typeid(Type).name() + "\" failed", data())); + } + + template + template inline + Type basic_ptree::get_value() const + { + return get_value( + typename translator_between::type()); + } + + template + template inline + Type basic_ptree::get_value(const Type &default_value, + Translator tr) const + { + return get_value_optional(tr).get_value_or(default_value); + } + + template + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + basic_ptree::get_value(const Ch *default_value, Translator tr)const + { + return get_value, Translator>(default_value, tr); + } + + template + template inline + typename boost::disable_if, Type>::type + basic_ptree::get_value(const Type &default_value) const + { + return get_value(default_value, + typename translator_between::type()); + } + + template + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + basic_ptree::get_value(const Ch *default_value) const + { + return get_value< std::basic_string >(default_value); + } + + template + template inline + optional basic_ptree::get_value_optional( + Translator tr) const + { + return tr.get_value(data()); + } + + template + template inline + optional basic_ptree::get_value_optional() const + { + return get_value_optional( + typename translator_between::type()); + } + + template + template inline + typename boost::enable_if, Type>::type + basic_ptree::get(const path_type &path, + Translator tr) const + { + return get_child(path).BOOST_NESTED_TEMPLATE get_value(tr); + } + + template + template inline + Type basic_ptree::get(const path_type &path) const + { + return get_child(path).BOOST_NESTED_TEMPLATE get_value(); + } + + template + template inline + Type basic_ptree::get(const path_type &path, + const Type &default_value, + Translator tr) const + { + return get_optional(path, tr).get_value_or(default_value); + } + + template + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + basic_ptree::get( + const path_type &path, const Ch *default_value, Translator tr) const + { + return get, Translator>(path, default_value, tr); + } + + template + template inline + typename boost::disable_if, Type>::type + basic_ptree::get(const path_type &path, + const Type &default_value) const + { + return get_optional(path).get_value_or(default_value); + } + + template + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + basic_ptree::get( + const path_type &path, const Ch *default_value) const + { + return get< std::basic_string >(path, default_value); + } + + template + template + optional basic_ptree::get_optional(const path_type &path, + Translator tr) const + { + if (optional child = get_child_optional(path)) + return child.get(). + BOOST_NESTED_TEMPLATE get_value_optional(tr); + else + return optional(); + } + + template + template + optional basic_ptree::get_optional( + const path_type &path) const + { + if (optional child = get_child_optional(path)) + return child.get().BOOST_NESTED_TEMPLATE get_value_optional(); + else + return optional(); + } + + template + template + void basic_ptree::put_value(const Type &value, Translator tr) + { + if(optional o = tr.put_value(value)) { + data() = *o; + } else { + BOOST_PROPERTY_TREE_THROW(ptree_bad_data( + std::string("conversion of type \"") + typeid(Type).name() + + "\" to data failed", boost::any())); + } + } + + template + template inline + void basic_ptree::put_value(const Type &value) + { + put_value(value, typename translator_between::type()); + } + + template + template + basic_ptree & basic_ptree::put( + const path_type &path, const Type &value, Translator tr) + { + if(optional child = get_child_optional(path)) { + child.get().put_value(value, tr); + return *child; + } else { + self_type &child2 = put_child(path, self_type()); + child2.put_value(value, tr); + return child2; + } + } + + template + template inline + basic_ptree & basic_ptree::put( + const path_type &path, const Type &value) + { + return put(path, value, + typename translator_between::type()); + } + + template + template inline + basic_ptree & basic_ptree::add( + const path_type &path, const Type &value, Translator tr) + { + self_type &child = add_child(path, self_type()); + child.put_value(value, tr); + return child; + } + + template + template inline + basic_ptree & basic_ptree::add( + const path_type &path, const Type &value) + { + return add(path, value, + typename translator_between::type()); + } + + + template + basic_ptree * + basic_ptree::walk_path(path_type &p) const + { + if(p.empty()) { + // I'm the child we're looking for. + return const_cast(this); + } + // Recurse down the tree to find the path. + key_type fragment = p.reduce(); + const_assoc_iterator el = find(fragment); + if(el == not_found()) { + // No such child. + return 0; + } + // Not done yet, recurse. + return el->second.walk_path(p); + } + + template + basic_ptree & basic_ptree::force_path(path_type &p) + { + assert(!p.empty() && "Empty path not allowed for put_child."); + if(p.single()) { + // I'm the parent we're looking for. + return *this; + } + key_type fragment = p.reduce(); + assoc_iterator el = find(fragment); + // If we've found an existing child, go down that path. Else + // create a new one. + self_type& child = el == not_found() ? + push_back(value_type(fragment, self_type()))->second : el->second; + return child.force_path(p); + } + + // Free functions + + template + inline void swap(basic_ptree &pt1, basic_ptree &pt2) + { + pt1.swap(pt2); + } + +} } + +#if defined(BOOST_PROPERTY_TREE_PAIR_BUG) +#undef BOOST_PROPERTY_TREE_PAIR_BUG +#endif + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/ptree_utils.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/ptree_utils.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/ptree_utils.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/ptree_utils.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,106 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_PTREE_UTILS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_PTREE_UTILS_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace detail +{ + + template + struct less_nocase + { + typedef typename T::value_type Ch; + std::locale m_locale; + inline bool operator()(Ch c1, Ch c2) const + { + return std::toupper(c1, m_locale) < std::toupper(c2, m_locale); + } + inline bool operator()(const T &t1, const T &t2) const + { + return std::lexicographical_compare(t1.begin(), t1.end(), + t2.begin(), t2.end(), *this); + } + }; + + template + struct is_character : public boost::false_type {}; + template <> + struct is_character : public boost::true_type {}; + template <> + struct is_character : public boost::true_type {}; + + + BOOST_MPL_HAS_XXX_TRAIT_DEF(internal_type) + BOOST_MPL_HAS_XXX_TRAIT_DEF(external_type) + template + struct is_translator : public boost::mpl::and_< + has_internal_type, has_external_type > {}; + + + + // Naively convert narrow string to another character type + template + std::basic_string widen(const char *text) + { + std::basic_string result; + while (*text) + { + result += Ch(*text); + ++text; + } + return result; + } + + // Naively convert string to narrow character type + template + std::string narrow(const Ch *text) + { + std::string result; + while (*text) + { + if (*text < 0 || *text > (std::numeric_limits::max)()) + result += '*'; + else + result += char(*text); + ++text; + } + return result; + } + + // Remove trailing and leading spaces + template + std::basic_string trim(const std::basic_string &s, + const std::locale &loc = std::locale()) + { + typename std::basic_string::const_iterator first = s.begin(); + typename std::basic_string::const_iterator end = s.end(); + while (first != end && std::isspace(*first, loc)) + ++first; + if (first == end) + return std::basic_string(); + typename std::basic_string::const_iterator last = end; + do --last; while (std::isspace(*last, loc)); + if (first != s.begin() || last + 1 != end) + return std::basic_string(first, last + 1); + else + return s; + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/rapidxml.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/rapidxml.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/rapidxml.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/rapidxml.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,2582 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2006, 2009 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_RAPIDXML_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_RAPIDXML_HPP_INCLUDED + +//! \file rapidxml.hpp This file contains rapidxml parser and DOM implementation + +#include // For std::size_t +#include // For assert +#include // For placement new + +// On MSVC, disable "conditional expression is constant" warning (level 4). +// This warning is almost impossible to avoid with certain types of templated code +#ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable:4127) // Conditional expression is constant +#endif + +/////////////////////////////////////////////////////////////////////////// +// BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR + +#include // For std::exception + +#define BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where) + +namespace boost { namespace property_tree { namespace detail {namespace rapidxml +{ + + //! Parse error exception. + //! This exception is thrown by the parser when an error occurs. + //! Use what() function to get human-readable error message. + //! Use where() function to get a pointer to position within source text where error was detected. + //!

    + //! If throwing exceptions by the parser is undesirable, + //! it can be disabled by defining RAPIDXML_NO_EXCEPTIONS macro before rapidxml.hpp is included. + //! This will cause the parser to call rapidxml::parse_error_handler() function instead of throwing an exception. + //! This function must be defined by the user. + //!

    + //! This class derives from std::exception class. + class parse_error: public std::exception + { + + public: + + //! Constructs parse error + parse_error(const char *wa, void *we) + : m_what(wa) + , m_where(we) + { + } + + //! Gets human readable description of error. + //! \return Pointer to null terminated description of the error. + virtual const char *what() const throw() + { + return m_what; + } + + //! Gets pointer to character data where error happened. + //! Ch should be the same as char type of xml_document that produced the error. + //! \return Pointer to location within the parsed string where error occured. + template + Ch *where() const + { + return reinterpret_cast(m_where); + } + + private: + + const char *m_what; + void *m_where; + + }; +}}}} + +/////////////////////////////////////////////////////////////////////////// +// Pool sizes + +#ifndef BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE + // Size of static memory block of memory_pool. + // Define BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE before including rapidxml.hpp if you want to override the default value. + // No dynamic memory allocations are performed by memory_pool until static memory is exhausted. + #define BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE (64 * 1024) +#endif + +#ifndef BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE + // Size of dynamic memory block of memory_pool. + // Define BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE before including rapidxml.hpp if you want to override the default value. + // After the static block is exhausted, dynamic blocks with approximately this size are allocated by memory_pool. + #define BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE (64 * 1024) +#endif + +#ifndef BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT + // Memory allocation alignment. + // Define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT before including rapidxml.hpp if you want to override the default value, which is the size of pointer. + // All memory allocations for nodes, attributes and strings will be aligned to this value. + // This must be a power of 2 and at least 1, otherwise memory_pool will not work. + #define BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT sizeof(void *) +#endif + +namespace boost { namespace property_tree { namespace detail {namespace rapidxml +{ + // Forward declarations + template class xml_node; + template class xml_attribute; + template class xml_document; + + //! Enumeration listing all node types produced by the parser. + //! Use xml_node::type() function to query node type. + enum node_type + { + node_document, //!< A document node. Name and value are empty. + node_element, //!< An element node. Name contains element name. Value contains text of first data node. + node_data, //!< A data node. Name is empty. Value contains data text. + node_cdata, //!< A CDATA node. Name is empty. Value contains data text. + node_comment, //!< A comment node. Name is empty. Value contains comment text. + node_declaration, //!< A declaration node. Name and value are empty. Declaration parameters (version, encoding and standalone) are in node attributes. + node_doctype, //!< A DOCTYPE node. Name is empty. Value contains DOCTYPE text. + node_pi //!< A PI node. Name contains target. Value contains instructions. + }; + + /////////////////////////////////////////////////////////////////////// + // Parsing flags + + //! Parse flag instructing the parser to not create data nodes. + //! Text of first data node will still be placed in value of parent element, unless rapidxml::parse_no_element_values flag is also specified. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_no_data_nodes = 0x1; + + //! Parse flag instructing the parser to not use text of first data node as a value of parent element. + //! Can be combined with other flags by use of | operator. + //! Note that child data nodes of element node take precendence over its value when printing. + //! That is, if element has one or more child data nodes and a value, the value will be ignored. + //! Use rapidxml::parse_no_data_nodes flag to prevent creation of data nodes if you want to manipulate data using values of elements. + //!

    + //! See xml_document::parse() function. + const int parse_no_element_values = 0x2; + + //! Parse flag instructing the parser to not place zero terminators after strings in the source text. + //! By default zero terminators are placed, modifying source text. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_no_string_terminators = 0x4; + + //! Parse flag instructing the parser to not translate entities in the source text. + //! By default entities are translated, modifying source text. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_no_entity_translation = 0x8; + + //! Parse flag instructing the parser to disable UTF-8 handling and assume plain 8 bit characters. + //! By default, UTF-8 handling is enabled. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_no_utf8 = 0x10; + + //! Parse flag instructing the parser to create XML declaration node. + //! By default, declaration node is not created. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_declaration_node = 0x20; + + //! Parse flag instructing the parser to create comments nodes. + //! By default, comment nodes are not created. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_comment_nodes = 0x40; + + //! Parse flag instructing the parser to create DOCTYPE node. + //! By default, doctype node is not created. + //! Although W3C specification allows at most one DOCTYPE node, RapidXml will silently accept documents with more than one. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_doctype_node = 0x80; + + //! Parse flag instructing the parser to create PI nodes. + //! By default, PI nodes are not created. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_pi_nodes = 0x100; + + //! Parse flag instructing the parser to validate closing tag names. + //! If not set, name inside closing tag is irrelevant to the parser. + //! By default, closing tags are not validated. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_validate_closing_tags = 0x200; + + //! Parse flag instructing the parser to trim all leading and trailing whitespace of data nodes. + //! By default, whitespace is not trimmed. + //! This flag does not cause the parser to modify source text. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_trim_whitespace = 0x400; + + //! Parse flag instructing the parser to condense all whitespace runs of data nodes to a single space character. + //! Trimming of leading and trailing whitespace of data is controlled by rapidxml::parse_trim_whitespace flag. + //! By default, whitespace is not normalized. + //! If this flag is specified, source text will be modified. + //! Can be combined with other flags by use of | operator. + //!

    + //! See xml_document::parse() function. + const int parse_normalize_whitespace = 0x800; + + // Compound flags + + //! Parse flags which represent default behaviour of the parser. + //! This is always equal to 0, so that all other flags can be simply ored together. + //! Normally there is no need to inconveniently disable flags by anding with their negated (~) values. + //! This also means that meaning of each flag is a negation of the default setting. + //! For example, if flag name is rapidxml::parse_no_utf8, it means that utf-8 is enabled by default, + //! and using the flag will disable it. + //!

    + //! See xml_document::parse() function. + const int parse_default = 0; + + //! A combination of parse flags that forbids any modifications of the source text. + //! This also results in faster parsing. However, note that the following will occur: + //!

      + //!
    • names and values of nodes will not be zero terminated, you have to use xml_base::name_size() and xml_base::value_size() functions to determine where name and value ends
    • + //!
    • entities will not be translated
    • + //!
    • whitespace will not be normalized
    • + //!
    + //! See xml_document::parse() function. + const int parse_non_destructive = parse_no_string_terminators | parse_no_entity_translation; + + //! A combination of parse flags resulting in fastest possible parsing, without sacrificing important data. + //!

    + //! See xml_document::parse() function. + const int parse_fastest = parse_non_destructive | parse_no_data_nodes; + + //! A combination of parse flags resulting in largest amount of data being extracted. + //! This usually results in slowest parsing. + //!

    + //! See xml_document::parse() function. + const int parse_full = parse_declaration_node | parse_comment_nodes | parse_doctype_node | parse_pi_nodes | parse_validate_closing_tags; + + /////////////////////////////////////////////////////////////////////// + // Internals + + //! \cond internal + namespace internal + { + + // Struct that contains lookup tables for the parser + // It must be a template to allow correct linking (because it has static data members, which are defined in a header file). + template + struct lookup_tables + { + static const unsigned char lookup_whitespace[256]; // Whitespace table + static const unsigned char lookup_node_name[256]; // Node name table + static const unsigned char lookup_text[256]; // Text table + static const unsigned char lookup_text_pure_no_ws[256]; // Text table + static const unsigned char lookup_text_pure_with_ws[256]; // Text table + static const unsigned char lookup_attribute_name[256]; // Attribute name table + static const unsigned char lookup_attribute_data_1[256]; // Attribute data table with single quote + static const unsigned char lookup_attribute_data_1_pure[256]; // Attribute data table with single quote + static const unsigned char lookup_attribute_data_2[256]; // Attribute data table with double quotes + static const unsigned char lookup_attribute_data_2_pure[256]; // Attribute data table with double quotes + static const unsigned char lookup_digits[256]; // Digits + static const unsigned char lookup_upcase[256]; // To uppercase conversion table for ASCII characters + }; + + // Find length of the string + template + inline std::size_t measure(const Ch *p) + { + const Ch *tmp = p; + while (*tmp) + ++tmp; + return tmp - p; + } + + // Compare strings for equality + template + inline bool compare(const Ch *p1, std::size_t size1, const Ch *p2, std::size_t size2, bool case_sensitive) + { + if (size1 != size2) + return false; + if (case_sensitive) + { + for (const Ch *end = p1 + size1; p1 < end; ++p1, ++p2) + if (*p1 != *p2) + return false; + } + else + { + for (const Ch *end = p1 + size1; p1 < end; ++p1, ++p2) + if (lookup_tables<0>::lookup_upcase[static_cast(*p1)] != lookup_tables<0>::lookup_upcase[static_cast(*p2)]) + return false; + } + return true; + } + + template + inline size_t get_index(const Ch c) + { + // If not ASCII char, its sematic is same as plain 'z' + if (c > 255) + { + return 'z'; + } + return c; + } + } + //! \endcond + + /////////////////////////////////////////////////////////////////////// + // Memory pool + + //! This class is used by the parser to create new nodes and attributes, without overheads of dynamic memory allocation. + //! In most cases, you will not need to use this class directly. + //! However, if you need to create nodes manually or modify names/values of nodes, + //! you are encouraged to use memory_pool of relevant xml_document to allocate the memory. + //! Not only is this faster than allocating them by using new operator, + //! but also their lifetime will be tied to the lifetime of document, + //! possibly simplyfing memory management. + //!

    + //! Call allocate_node() or allocate_attribute() functions to obtain new nodes or attributes from the pool. + //! You can also call allocate_string() function to allocate strings. + //! Such strings can then be used as names or values of nodes without worrying about their lifetime. + //! Note that there is no free() function -- all allocations are freed at once when clear() function is called, + //! or when the pool is destroyed. + //!

    + //! It is also possible to create a standalone memory_pool, and use it + //! to allocate nodes, whose lifetime will not be tied to any document. + //!

    + //! Pool maintains BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE bytes of statically allocated memory. + //! Until static memory is exhausted, no dynamic memory allocations are done. + //! When static memory is exhausted, pool allocates additional blocks of memory of size BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE each, + //! by using global new[] and delete[] operators. + //! This behaviour can be changed by setting custom allocation routines. + //! Use set_allocator() function to set them. + //!

    + //! Allocations for nodes, attributes and strings are aligned at BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT bytes. + //! This value defaults to the size of pointer on target architecture. + //!

    + //! To obtain absolutely top performance from the parser, + //! it is important that all nodes are allocated from a single, contiguous block of memory. + //! Otherwise, cache misses when jumping between two (or more) disjoint blocks of memory can slow down parsing quite considerably. + //! If required, you can tweak BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE, BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE and BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT + //! to obtain best wasted memory to performance compromise. + //! To do it, define their values before rapidxml.hpp file is included. + //! \param Ch Character type of created nodes. + template + class memory_pool + { + + public: + + //! \cond internal + typedef void *(alloc_func)(std::size_t); // Type of user-defined function used to allocate memory + typedef void (free_func)(void *); // Type of user-defined function used to free memory + //! \endcond + + //! Constructs empty pool with default allocator functions. + memory_pool() + : m_alloc_func(0) + , m_free_func(0) + { + init(); + } + + //! Destroys pool and frees all the memory. + //! This causes memory occupied by nodes allocated by the pool to be freed. + //! Nodes allocated from the pool are no longer valid. + ~memory_pool() + { + clear(); + } + + //! Allocates a new node from the pool, and optionally assigns name and value to it. + //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. + //! If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function + //! will call rapidxml::parse_error_handler() function. + //! \param type Type of node to create. + //! \param name Name to assign to the node, or 0 to assign no name. + //! \param value Value to assign to the node, or 0 to assign no value. + //! \param name_size Size of name to assign, or 0 to automatically calculate size from name string. + //! \param value_size Size of value to assign, or 0 to automatically calculate size from value string. + //! \return Pointer to allocated node. This pointer will never be NULL. + xml_node *allocate_node(node_type type, + const Ch *name = 0, const Ch *value = 0, + std::size_t name_size = 0, std::size_t value_size = 0) + { + void *memory = allocate_aligned(sizeof(xml_node)); + xml_node *node = new(memory) xml_node(type); + if (name) + { + if (name_size > 0) + node->name(name, name_size); + else + node->name(name); + } + if (value) + { + if (value_size > 0) + node->value(value, value_size); + else + node->value(value); + } + return node; + } + + //! Allocates a new attribute from the pool, and optionally assigns name and value to it. + //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. + //! If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function + //! will call rapidxml::parse_error_handler() function. + //! \param name Name to assign to the attribute, or 0 to assign no name. + //! \param value Value to assign to the attribute, or 0 to assign no value. + //! \param name_size Size of name to assign, or 0 to automatically calculate size from name string. + //! \param value_size Size of value to assign, or 0 to automatically calculate size from value string. + //! \return Pointer to allocated attribute. This pointer will never be NULL. + xml_attribute *allocate_attribute(const Ch *name = 0, const Ch *value = 0, + std::size_t name_size = 0, std::size_t value_size = 0) + { + void *memory = allocate_aligned(sizeof(xml_attribute)); + xml_attribute *attribute = new(memory) xml_attribute; + if (name) + { + if (name_size > 0) + attribute->name(name, name_size); + else + attribute->name(name); + } + if (value) + { + if (value_size > 0) + attribute->value(value, value_size); + else + attribute->value(value); + } + return attribute; + } + + //! Allocates a char array of given size from the pool, and optionally copies a given string to it. + //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. + //! If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function + //! will call rapidxml::parse_error_handler() function. + //! \param source String to initialize the allocated memory with, or 0 to not initialize it. + //! \param size Number of characters to allocate, or zero to calculate it automatically from source string length; if size is 0, source string must be specified and null terminated. + //! \return Pointer to allocated char array. This pointer will never be NULL. + Ch *allocate_string(const Ch *source = 0, std::size_t size = 0) + { + assert(source || size); // Either source or size (or both) must be specified + if (size == 0) + size = internal::measure(source) + 1; + Ch *result = static_cast(allocate_aligned(size * sizeof(Ch))); + if (source) + for (std::size_t i = 0; i < size; ++i) + result[i] = source[i]; + return result; + } + + //! Clones an xml_node and its hierarchy of child nodes and attributes. + //! Nodes and attributes are allocated from this memory pool. + //! Names and values are not cloned, they are shared between the clone and the source. + //! Result node can be optionally specified as a second parameter, + //! in which case its contents will be replaced with cloned source node. + //! This is useful when you want to clone entire document. + //! \param source Node to clone. + //! \param result Node to put results in, or 0 to automatically allocate result node + //! \return Pointer to cloned node. This pointer will never be NULL. + xml_node *clone_node(const xml_node *source, xml_node *result = 0) + { + // Prepare result node + if (result) + { + result->remove_all_attributes(); + result->remove_all_nodes(); + result->type(source->type()); + } + else + result = allocate_node(source->type()); + + // Clone name and value + result->name(source->name(), source->name_size()); + result->value(source->value(), source->value_size()); + + // Clone child nodes and attributes + for (xml_node *child = source->first_node(); child; child = child->next_sibling()) + result->append_node(clone_node(child)); + for (xml_attribute *attr = source->first_attribute(); attr; attr = attr->next_attribute()) + result->append_attribute(allocate_attribute(attr->name(), attr->value(), attr->name_size(), attr->value_size())); + + return result; + } + + //! Clears the pool. + //! This causes memory occupied by nodes allocated by the pool to be freed. + //! Any nodes or strings allocated from the pool will no longer be valid. + void clear() + { + while (m_begin != m_static_memory) + { + char *previous_begin = reinterpret_cast
    (align(m_begin))->previous_begin; + if (m_free_func) + m_free_func(m_begin); + else + delete[] m_begin; + m_begin = previous_begin; + } + init(); + } + + //! Sets or resets the user-defined memory allocation functions for the pool. + //! This can only be called when no memory is allocated from the pool yet, otherwise results are undefined. + //! Allocation function must not return invalid pointer on failure. It should either throw, + //! stop the program, or use longjmp() function to pass control to other place of program. + //! If it returns invalid pointer, results are undefined. + //!

    + //! User defined allocation functions must have the following forms: + //!
    + //!
    void *allocate(std::size_t size); + //!
    void free(void *pointer); + //!

    + //! \param af Allocation function, or 0 to restore default function + //! \param ff Free function, or 0 to restore default function + void set_allocator(alloc_func *af, free_func *ff) + { + assert(m_begin == m_static_memory && m_ptr == align(m_begin)); // Verify that no memory is allocated yet + m_alloc_func = af; + m_free_func = ff; + } + + private: + + struct header + { + char *previous_begin; + }; + + void init() + { + m_begin = m_static_memory; + m_ptr = align(m_begin); + m_end = m_static_memory + sizeof(m_static_memory); + } + + char *align(char *ptr) + { + std::size_t alignment = ((BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - (std::size_t(ptr) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1))) & (BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 1)); + return ptr + alignment; + } + + char *allocate_raw(std::size_t size) + { + // Allocate + void *memory; + if (m_alloc_func) // Allocate memory using either user-specified allocation function or global operator new[] + { + memory = m_alloc_func(size); + assert(memory); // Allocator is not allowed to return 0, on failure it must either throw, stop the program or use longjmp + } + else + { + memory = new char[size]; + } + return static_cast(memory); + } + + void *allocate_aligned(std::size_t size) + { + // Calculate aligned pointer + char *result = align(m_ptr); + + // If not enough memory left in current pool, allocate a new pool + if (result + size > m_end) + { + // Calculate required pool size (may be bigger than BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE) + std::size_t pool_size = BOOST_PROPERTY_TREE_RAPIDXML_DYNAMIC_POOL_SIZE; + if (pool_size < size) + pool_size = size; + + // Allocate + std::size_t alloc_size = sizeof(header) + (2 * BOOST_PROPERTY_TREE_RAPIDXML_ALIGNMENT - 2) + pool_size; // 2 alignments required in worst case: one for header, one for actual allocation + char *raw_memory = allocate_raw(alloc_size); + + // Setup new pool in allocated memory + char *pool = align(raw_memory); + header *new_header = reinterpret_cast
    (pool); + new_header->previous_begin = m_begin; + m_begin = raw_memory; + m_ptr = pool + sizeof(header); + m_end = raw_memory + alloc_size; + + // Calculate aligned pointer again using new pool + result = align(m_ptr); + } + + // Update pool and return aligned pointer + m_ptr = result + size; + return result; + } + + char *m_begin; // Start of raw memory making up current pool + char *m_ptr; // First free byte in current pool + char *m_end; // One past last available byte in current pool + char m_static_memory[BOOST_PROPERTY_TREE_RAPIDXML_STATIC_POOL_SIZE]; // Static raw memory + alloc_func *m_alloc_func; // Allocator function, or 0 if default is to be used + free_func *m_free_func; // Free function, or 0 if default is to be used + }; + + /////////////////////////////////////////////////////////////////////////// + // XML base + + //! Base class for xml_node and xml_attribute implementing common functions: + //! name(), name_size(), value(), value_size() and parent(). + //! \param Ch Character type to use + template + class xml_base + { + + public: + + /////////////////////////////////////////////////////////////////////////// + // Construction & destruction + + // Construct a base with empty name, value and parent + xml_base() + : m_name(0) + , m_value(0) + , m_parent(0) + { + } + + /////////////////////////////////////////////////////////////////////////// + // Node data access + + //! Gets name of the node. + //! Interpretation of name depends on type of node. + //! Note that name will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse. + //!

    + //! Use name_size() function to determine length of the name. + //! \return Name of node, or empty string if node has no name. + Ch *name() const + { + return m_name ? m_name : nullstr(); + } + + //! Gets size of node name, not including terminator character. + //! This function works correctly irrespective of whether name is or is not zero terminated. + //! \return Size of node name, in characters. + std::size_t name_size() const + { + return m_name ? m_name_size : 0; + } + + //! Gets value of node. + //! Interpretation of value depends on type of node. + //! Note that value will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse. + //!

    + //! Use value_size() function to determine length of the value. + //! \return Value of node, or empty string if node has no value. + Ch *value() const + { + return m_value ? m_value : nullstr(); + } + + //! Gets size of node value, not including terminator character. + //! This function works correctly irrespective of whether value is or is not zero terminated. + //! \return Size of node value, in characters. + std::size_t value_size() const + { + return m_value ? m_value_size : 0; + } + + /////////////////////////////////////////////////////////////////////////// + // Node modification + + //! Sets name of node to a non zero-terminated string. + //! See \ref ownership_of_strings. + //!

    + //! Note that node does not own its name or value, it only stores a pointer to it. + //! It will not delete or otherwise free the pointer on destruction. + //! It is reponsibility of the user to properly manage lifetime of the string. + //! The easiest way to achieve it is to use memory_pool of the document to allocate the string - + //! on destruction of the document the string will be automatically freed. + //!

    + //! Size of name must be specified separately, because name does not have to be zero terminated. + //! Use name(const Ch *) function to have the length automatically calculated (string must be zero terminated). + //! \param n Name of node to set. Does not have to be zero terminated. + //! \param size Size of name, in characters. This does not include zero terminator, if one is present. + void name(const Ch *n, std::size_t size) + { + m_name = const_cast(n); + m_name_size = size; + } + + //! Sets name of node to a zero-terminated string. + //! See also \ref ownership_of_strings and xml_node::name(const Ch *, std::size_t). + //! \param n Name of node to set. Must be zero terminated. + void name(const Ch *n) + { + name(n, internal::measure(n)); + } + + //! Sets value of node to a non zero-terminated string. + //! See \ref ownership_of_strings. + //!

    + //! Note that node does not own its name or value, it only stores a pointer to it. + //! It will not delete or otherwise free the pointer on destruction. + //! It is reponsibility of the user to properly manage lifetime of the string. + //! The easiest way to achieve it is to use memory_pool of the document to allocate the string - + //! on destruction of the document the string will be automatically freed. + //!

    + //! Size of value must be specified separately, because it does not have to be zero terminated. + //! Use value(const Ch *) function to have the length automatically calculated (string must be zero terminated). + //!

    + //! If an element has a child node of type node_data, it will take precedence over element value when printing. + //! If you want to manipulate data of elements using values, use parser flag rapidxml::parse_no_data_nodes to prevent creation of data nodes by the parser. + //! \param val value of node to set. Does not have to be zero terminated. + //! \param size Size of value, in characters. This does not include zero terminator, if one is present. + void value(const Ch *val, std::size_t size) + { + m_value = const_cast(val); + m_value_size = size; + } + + //! Sets value of node to a zero-terminated string. + //! See also \ref ownership_of_strings and xml_node::value(const Ch *, std::size_t). + //! \param val Vame of node to set. Must be zero terminated. + void value(const Ch *val) + { + this->value(val, internal::measure(val)); + } + + /////////////////////////////////////////////////////////////////////////// + // Related nodes access + + //! Gets node parent. + //! \return Pointer to parent node, or 0 if there is no parent. + xml_node *parent() const + { + return m_parent; + } + + protected: + + // Return empty string + static Ch *nullstr() + { + static Ch zero = Ch('\0'); + return &zero; + } + + Ch *m_name; // Name of node, or 0 if no name + Ch *m_value; // Value of node, or 0 if no value + std::size_t m_name_size; // Length of node name, or undefined of no name + std::size_t m_value_size; // Length of node value, or undefined if no value + xml_node *m_parent; // Pointer to parent node, or 0 if none + + }; + + //! Class representing attribute node of XML document. + //! Each attribute has name and value strings, which are available through name() and value() functions (inherited from xml_base). + //! Note that after parse, both name and value of attribute will point to interior of source text used for parsing. + //! Thus, this text must persist in memory for the lifetime of attribute. + //! \param Ch Character type to use. + template + class xml_attribute: public xml_base + { + + friend class xml_node; + + public: + + /////////////////////////////////////////////////////////////////////////// + // Construction & destruction + + //! Constructs an empty attribute with the specified type. + //! Consider using memory_pool of appropriate xml_document if allocating attributes manually. + xml_attribute() + { + } + + /////////////////////////////////////////////////////////////////////////// + // Related nodes access + + //! Gets document of which attribute is a child. + //! \return Pointer to document that contains this attribute, or 0 if there is no parent document. + xml_document *document() const + { + if (xml_node *node = this->parent()) + { + while (node->parent()) + node = node->parent(); + return node->type() == node_document ? static_cast *>(node) : 0; + } + else + return 0; + } + + //! Gets previous attribute, optionally matching attribute name. + //! \param n Name of attribute to find, or 0 to return previous attribute regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found attribute, or 0 if not found. + xml_attribute *previous_attribute(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_attribute *attribute = m_prev_attribute; attribute; attribute = attribute->m_prev_attribute) + if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive)) + return attribute; + return 0; + } + else + return this->m_parent ? m_prev_attribute : 0; + } + + //! Gets next attribute, optionally matching attribute name. + //! \param n Name of attribute to find, or 0 to return next attribute regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found attribute, or 0 if not found. + xml_attribute *next_attribute(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_attribute *attribute = m_next_attribute; attribute; attribute = attribute->m_next_attribute) + if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive)) + return attribute; + return 0; + } + else + return this->m_parent ? m_next_attribute : 0; + } + + private: + + xml_attribute *m_prev_attribute; // Pointer to previous sibling of attribute, or 0 if none; only valid if parent is non-zero + xml_attribute *m_next_attribute; // Pointer to next sibling of attribute, or 0 if none; only valid if parent is non-zero + + }; + + /////////////////////////////////////////////////////////////////////////// + // XML node + + //! Class representing a node of XML document. + //! Each node may have associated name and value strings, which are available through name() and value() functions. + //! Interpretation of name and value depends on type of the node. + //! Type of node can be determined by using type() function. + //!

    + //! Note that after parse, both name and value of node, if any, will point interior of source text used for parsing. + //! Thus, this text must persist in the memory for the lifetime of node. + //! \param Ch Character type to use. + template + class xml_node: public xml_base + { + + public: + + /////////////////////////////////////////////////////////////////////////// + // Construction & destruction + + //! Constructs an empty node with the specified type. + //! Consider using memory_pool of appropriate document to allocate nodes manually. + //! \param t Type of node to construct. + xml_node(node_type t) + : m_type(t) + , m_first_node(0) + , m_first_attribute(0) + { + } + + /////////////////////////////////////////////////////////////////////////// + // Node data access + + //! Gets type of node. + //! \return Type of node. + node_type type() const + { + return m_type; + } + + /////////////////////////////////////////////////////////////////////////// + // Related nodes access + + //! Gets document of which node is a child. + //! \return Pointer to document that contains this node, or 0 if there is no parent document. + xml_document *document() const + { + xml_node *node = const_cast *>(this); + while (node->parent()) + node = node->parent(); + return node->type() == node_document ? static_cast *>(node) : 0; + } + + //! Gets first child node, optionally matching node name. + //! \param n Name of child to find, or 0 to return first child regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found child, or 0 if not found. + xml_node *first_node(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_node *child = m_first_node; child; child = child->next_sibling()) + if (internal::compare(child->name(), child->name_size(), n, nsize, case_sensitive)) + return child; + return 0; + } + else + return m_first_node; + } + + //! Gets last child node, optionally matching node name. + //! Behaviour is undefined if node has no children. + //! Use first_node() to test if node has children. + //! \param n Name of child to find, or 0 to return last child regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found child, or 0 if not found. + xml_node *last_node(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + assert(m_first_node); // Cannot query for last child if node has no children + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_node *child = m_last_node; child; child = child->previous_sibling()) + if (internal::compare(child->name(), child->name_size(), n, nsize, case_sensitive)) + return child; + return 0; + } + else + return m_last_node; + } + + //! Gets previous sibling node, optionally matching node name. + //! Behaviour is undefined if node has no parent. + //! Use parent() to test if node has a parent. + //! \param n Name of sibling to find, or 0 to return previous sibling regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found sibling, or 0 if not found. + xml_node *previous_sibling(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + assert(this->m_parent); // Cannot query for siblings if node has no parent + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_node *sibling = m_prev_sibling; sibling; sibling = sibling->m_prev_sibling) + if (internal::compare(sibling->name(), sibling->name_size(), n, nsize, case_sensitive)) + return sibling; + return 0; + } + else + return m_prev_sibling; + } + + //! Gets next sibling node, optionally matching node name. + //! Behaviour is undefined if node has no parent. + //! Use parent() to test if node has a parent. + //! \param n Name of sibling to find, or 0 to return next sibling regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found sibling, or 0 if not found. + xml_node *next_sibling(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + assert(this->m_parent); // Cannot query for siblings if node has no parent + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_node *sibling = m_next_sibling; sibling; sibling = sibling->m_next_sibling) + if (internal::compare(sibling->name(), sibling->name_size(), n, nsize, case_sensitive)) + return sibling; + return 0; + } + else + return m_next_sibling; + } + + //! Gets first attribute of node, optionally matching attribute name. + //! \param n Name of attribute to find, or 0 to return first attribute regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found attribute, or 0 if not found. + xml_attribute *first_attribute(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_attribute *attribute = m_first_attribute; attribute; attribute = attribute->m_next_attribute) + if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive)) + return attribute; + return 0; + } + else + return m_first_attribute; + } + + //! Gets last attribute of node, optionally matching attribute name. + //! \param n Name of attribute to find, or 0 to return last attribute regardless of its name; this string doesn't have to be zero-terminated if nsize is non-zero + //! \param nsize Size of name, in characters, or 0 to have size calculated automatically from string + //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters + //! \return Pointer to found attribute, or 0 if not found. + xml_attribute *last_attribute(const Ch *n = 0, std::size_t nsize = 0, bool case_sensitive = true) const + { + if (n) + { + if (nsize == 0) + nsize = internal::measure(n); + for (xml_attribute *attribute = m_last_attribute; attribute; attribute = attribute->m_prev_attribute) + if (internal::compare(attribute->name(), attribute->name_size(), n, nsize, case_sensitive)) + return attribute; + return 0; + } + else + return m_first_attribute ? m_last_attribute : 0; + } + + /////////////////////////////////////////////////////////////////////////// + // Node modification + + //! Sets type of node. + //! \param t Type of node to set. + void type(node_type t) + { + m_type = t; + } + + /////////////////////////////////////////////////////////////////////////// + // Node manipulation + + //! Prepends a new child node. + //! The prepended child becomes the first child, and all existing children are moved one position back. + //! \param child Node to prepend. + void prepend_node(xml_node *child) + { + assert(child && !child->parent() && child->type() != node_document); + if (first_node()) + { + child->m_next_sibling = m_first_node; + m_first_node->m_prev_sibling = child; + } + else + { + child->m_next_sibling = 0; + m_last_node = child; + } + m_first_node = child; + child->m_parent = this; + child->m_prev_sibling = 0; + } + + //! Appends a new child node. + //! The appended child becomes the last child. + //! \param child Node to append. + void append_node(xml_node *child) + { + assert(child && !child->parent() && child->type() != node_document); + if (first_node()) + { + child->m_prev_sibling = m_last_node; + m_last_node->m_next_sibling = child; + } + else + { + child->m_prev_sibling = 0; + m_first_node = child; + } + m_last_node = child; + child->m_parent = this; + child->m_next_sibling = 0; + } + + //! Inserts a new child node at specified place inside the node. + //! All children after and including the specified node are moved one position back. + //! \param where Place where to insert the child, or 0 to insert at the back. + //! \param child Node to insert. + void insert_node(xml_node *where, xml_node *child) + { + assert(!where || where->parent() == this); + assert(child && !child->parent() && child->type() != node_document); + if (where == m_first_node) + prepend_node(child); + else if (where == 0) + append_node(child); + else + { + child->m_prev_sibling = where->m_prev_sibling; + child->m_next_sibling = where; + where->m_prev_sibling->m_next_sibling = child; + where->m_prev_sibling = child; + child->m_parent = this; + } + } + + //! Removes first child node. + //! If node has no children, behaviour is undefined. + //! Use first_node() to test if node has children. + void remove_first_node() + { + assert(first_node()); + xml_node *child = m_first_node; + m_first_node = child->m_next_sibling; + if (child->m_next_sibling) + child->m_next_sibling->m_prev_sibling = 0; + else + m_last_node = 0; + child->m_parent = 0; + } + + //! Removes last child of the node. + //! If node has no children, behaviour is undefined. + //! Use first_node() to test if node has children. + void remove_last_node() + { + assert(first_node()); + xml_node *child = m_last_node; + if (child->m_prev_sibling) + { + m_last_node = child->m_prev_sibling; + child->m_prev_sibling->m_next_sibling = 0; + } + else + m_first_node = 0; + child->m_parent = 0; + } + + //! Removes specified child from the node + // \param where Pointer to child to be removed. + void remove_node(xml_node *where) + { + assert(where && where->parent() == this); + assert(first_node()); + if (where == m_first_node) + remove_first_node(); + else if (where == m_last_node) + remove_last_node(); + else + { + where->m_prev_sibling->m_next_sibling = where->m_next_sibling; + where->m_next_sibling->m_prev_sibling = where->m_prev_sibling; + where->m_parent = 0; + } + } + + //! Removes all child nodes (but not attributes). + void remove_all_nodes() + { + for (xml_node *node = first_node(); node; node = node->m_next_sibling) + node->m_parent = 0; + m_first_node = 0; + } + + //! Prepends a new attribute to the node. + //! \param attribute Attribute to prepend. + void prepend_attribute(xml_attribute *attribute) + { + assert(attribute && !attribute->parent()); + if (first_attribute()) + { + attribute->m_next_attribute = m_first_attribute; + m_first_attribute->m_prev_attribute = attribute; + } + else + { + attribute->m_next_attribute = 0; + m_last_attribute = attribute; + } + m_first_attribute = attribute; + attribute->m_parent = this; + attribute->m_prev_attribute = 0; + } + + //! Appends a new attribute to the node. + //! \param attribute Attribute to append. + void append_attribute(xml_attribute *attribute) + { + assert(attribute && !attribute->parent()); + if (first_attribute()) + { + attribute->m_prev_attribute = m_last_attribute; + m_last_attribute->m_next_attribute = attribute; + } + else + { + attribute->m_prev_attribute = 0; + m_first_attribute = attribute; + } + m_last_attribute = attribute; + attribute->m_parent = this; + attribute->m_next_attribute = 0; + } + + //! Inserts a new attribute at specified place inside the node. + //! All attributes after and including the specified attribute are moved one position back. + //! \param where Place where to insert the attribute, or 0 to insert at the back. + //! \param attribute Attribute to insert. + void insert_attribute(xml_attribute *where, xml_attribute *attribute) + { + assert(!where || where->parent() == this); + assert(attribute && !attribute->parent()); + if (where == m_first_attribute) + prepend_attribute(attribute); + else if (where == 0) + append_attribute(attribute); + else + { + attribute->m_prev_attribute = where->m_prev_attribute; + attribute->m_next_attribute = where; + where->m_prev_attribute->m_next_attribute = attribute; + where->m_prev_attribute = attribute; + attribute->m_parent = this; + } + } + + //! Removes first attribute of the node. + //! If node has no attributes, behaviour is undefined. + //! Use first_attribute() to test if node has attributes. + void remove_first_attribute() + { + assert(first_attribute()); + xml_attribute *attribute = m_first_attribute; + if (attribute->m_next_attribute) + { + attribute->m_next_attribute->m_prev_attribute = 0; + } + else + m_last_attribute = 0; + attribute->m_parent = 0; + m_first_attribute = attribute->m_next_attribute; + } + + //! Removes last attribute of the node. + //! If node has no attributes, behaviour is undefined. + //! Use first_attribute() to test if node has attributes. + void remove_last_attribute() + { + assert(first_attribute()); + xml_attribute *attribute = m_last_attribute; + if (attribute->m_prev_attribute) + { + attribute->m_prev_attribute->m_next_attribute = 0; + m_last_attribute = attribute->m_prev_attribute; + } + else + m_first_attribute = 0; + attribute->m_parent = 0; + } + + //! Removes specified attribute from node. + //! \param where Pointer to attribute to be removed. + void remove_attribute(xml_attribute *where) + { + assert(first_attribute() && where->parent() == this); + if (where == m_first_attribute) + remove_first_attribute(); + else if (where == m_last_attribute) + remove_last_attribute(); + else + { + where->m_prev_attribute->m_next_attribute = where->m_next_attribute; + where->m_next_attribute->m_prev_attribute = where->m_prev_attribute; + where->m_parent = 0; + } + } + + //! Removes all attributes of node. + void remove_all_attributes() + { + for (xml_attribute *attribute = first_attribute(); attribute; attribute = attribute->m_next_attribute) + attribute->m_parent = 0; + m_first_attribute = 0; + } + + private: + + /////////////////////////////////////////////////////////////////////////// + // Restrictions + + // No copying + xml_node(const xml_node &); + void operator =(const xml_node &); + + /////////////////////////////////////////////////////////////////////////// + // Data members + + // Note that some of the pointers below have UNDEFINED values if certain other pointers are 0. + // This is required for maximum performance, as it allows the parser to omit initialization of + // unneded/redundant values. + // + // The rules are as follows: + // 1. first_node and first_attribute contain valid pointers, or 0 if node has no children/attributes respectively + // 2. last_node and last_attribute are valid only if node has at least one child/attribute respectively, otherwise they contain garbage + // 3. prev_sibling and next_sibling are valid only if node has a parent, otherwise they contain garbage + + node_type m_type; // Type of node; always valid + xml_node *m_first_node; // Pointer to first child node, or 0 if none; always valid + xml_node *m_last_node; // Pointer to last child node, or 0 if none; this value is only valid if m_first_node is non-zero + xml_attribute *m_first_attribute; // Pointer to first attribute of node, or 0 if none; always valid + xml_attribute *m_last_attribute; // Pointer to last attribute of node, or 0 if none; this value is only valid if m_first_attribute is non-zero + xml_node *m_prev_sibling; // Pointer to previous sibling of node, or 0 if none; this value is only valid if m_parent is non-zero + xml_node *m_next_sibling; // Pointer to next sibling of node, or 0 if none; this value is only valid if m_parent is non-zero + + }; + + /////////////////////////////////////////////////////////////////////////// + // XML document + + //! This class represents root of the DOM hierarchy. + //! It is also an xml_node and a memory_pool through public inheritance. + //! Use parse() function to build a DOM tree from a zero-terminated XML text string. + //! parse() function allocates memory for nodes and attributes by using functions of xml_document, + //! which are inherited from memory_pool. + //! To access root node of the document, use the document itself, as if it was an xml_node. + //! \param Ch Character type to use. + template + class xml_document: public xml_node, public memory_pool + { + + public: + + //! Constructs empty XML document + xml_document() + : xml_node(node_document) + { + } + + //! Parses zero-terminated XML string according to given flags. + //! Passed string will be modified by the parser, unless rapidxml::parse_non_destructive flag is used. + //! The string must persist for the lifetime of the document. + //! In case of error, rapidxml::parse_error exception will be thrown. + //!

    + //! If you want to parse contents of a file, you must first load the file into the memory, and pass pointer to its beginning. + //! Make sure that data is zero-terminated. + //!

    + //! Document can be parsed into multiple times. + //! Each new call to parse removes previous nodes and attributes (if any), but does not clear memory pool. + //! \param text XML data to parse; pointer is non-const to denote fact that this data may be modified by the parser. + template + void parse(Ch *text) + { + assert(text); + + // Remove current contents + this->remove_all_nodes(); + this->remove_all_attributes(); + + // Parse BOM, if any + parse_bom(text); + + // Parse children + while (1) + { + // Skip whitespace before node + skip(text); + if (*text == 0) + break; + + // Parse and append new child + if (*text == Ch('<')) + { + ++text; // Skip '<' + if (xml_node *node = parse_node(text)) + this->append_node(node); + } + else + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected <", text); + } + + } + + //! Clears the document by deleting all nodes and clearing the memory pool. + //! All nodes owned by document pool are destroyed. + void clear() + { + this->remove_all_nodes(); + this->remove_all_attributes(); + memory_pool::clear(); + } + + private: + + /////////////////////////////////////////////////////////////////////// + // Internal character utility functions + + // Detect whitespace character + struct whitespace_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_whitespace[internal::get_index(ch)]; + } + }; + + // Detect node name character + struct node_name_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_node_name[internal::get_index(ch)]; + } + }; + + // Detect attribute name character + struct attribute_name_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_attribute_name[internal::get_index(ch)]; + } + }; + + // Detect text character (PCDATA) + struct text_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_text[internal::get_index(ch)]; + } + }; + + // Detect text character (PCDATA) that does not require processing + struct text_pure_no_ws_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_text_pure_no_ws[internal::get_index(ch)]; + } + }; + + // Detect text character (PCDATA) that does not require processing + struct text_pure_with_ws_pred + { + static unsigned char test(Ch ch) + { + return internal::lookup_tables<0>::lookup_text_pure_with_ws[internal::get_index(ch)]; + } + }; + + // Detect attribute value character + template + struct attribute_value_pred + { + static unsigned char test(Ch ch) + { + if (Quote == Ch('\'')) + return internal::lookup_tables<0>::lookup_attribute_data_1[internal::get_index(ch)]; + if (Quote == Ch('\"')) + return internal::lookup_tables<0>::lookup_attribute_data_2[internal::get_index(ch)]; + return 0; // Should never be executed, to avoid warnings on Comeau + } + }; + + // Detect attribute value character + template + struct attribute_value_pure_pred + { + static unsigned char test(Ch ch) + { + if (Quote == Ch('\'')) + return internal::lookup_tables<0>::lookup_attribute_data_1_pure[internal::get_index(ch)]; + if (Quote == Ch('\"')) + return internal::lookup_tables<0>::lookup_attribute_data_2_pure[internal::get_index(ch)]; + return 0; // Should never be executed, to avoid warnings on Comeau + } + }; + + // Insert coded character, using UTF8 or 8-bit ASCII + template + static void insert_coded_character(Ch *&text, unsigned long code) + { + if (Flags & parse_no_utf8) + { + // Insert 8-bit ASCII character + // Todo: possibly verify that code is less than 256 and use replacement char otherwise? + text[0] = static_cast(code); + text += 1; + } + else + { + // Insert UTF8 sequence + if (code < 0x80) // 1 byte sequence + { + text[0] = static_cast(code); + text += 1; + } + else if (code < 0x800) // 2 byte sequence + { + text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[0] = static_cast(code | 0xC0); + text += 2; + } + else if (code < 0x10000) // 3 byte sequence + { + text[2] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[0] = static_cast(code | 0xE0); + text += 3; + } + else if (code < 0x110000) // 4 byte sequence + { + text[3] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[2] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; + text[0] = static_cast(code | 0xF0); + text += 4; + } + else // Invalid, only codes up to 0x10FFFF are allowed in Unicode + { + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("invalid numeric character entity", text); + } + } + } + + // Skip characters until predicate evaluates to true + template + static void skip(Ch *&text) + { + Ch *tmp = text; + while (StopPred::test(*tmp)) + ++tmp; + text = tmp; + } + + // Skip characters until predicate evaluates to true while doing the following: + // - replacing XML character entity references with proper characters (' & " < > &#...;) + // - condensing whitespace sequences to single space character + template + static Ch *skip_and_expand_character_refs(Ch *&text) + { + // If entity translation, whitespace condense and whitespace trimming is disabled, use plain skip + if (Flags & parse_no_entity_translation && + !(Flags & parse_normalize_whitespace) && + !(Flags & parse_trim_whitespace)) + { + skip(text); + return text; + } + + // Use simple skip until first modification is detected + skip(text); + + // Use translation skip + Ch *src = text; + Ch *dest = src; + while (StopPred::test(*src)) + { + // If entity translation is enabled + if (!(Flags & parse_no_entity_translation)) + { + // Test if replacement is needed + if (src[0] == Ch('&')) + { + switch (src[1]) + { + + // & ' + case Ch('a'): + if (src[2] == Ch('m') && src[3] == Ch('p') && src[4] == Ch(';')) + { + *dest = Ch('&'); + ++dest; + src += 5; + continue; + } + if (src[2] == Ch('p') && src[3] == Ch('o') && src[4] == Ch('s') && src[5] == Ch(';')) + { + *dest = Ch('\''); + ++dest; + src += 6; + continue; + } + break; + + // " + case Ch('q'): + if (src[2] == Ch('u') && src[3] == Ch('o') && src[4] == Ch('t') && src[5] == Ch(';')) + { + *dest = Ch('"'); + ++dest; + src += 6; + continue; + } + break; + + // > + case Ch('g'): + if (src[2] == Ch('t') && src[3] == Ch(';')) + { + *dest = Ch('>'); + ++dest; + src += 4; + continue; + } + break; + + // < + case Ch('l'): + if (src[2] == Ch('t') && src[3] == Ch(';')) + { + *dest = Ch('<'); + ++dest; + src += 4; + continue; + } + break; + + // &#...; - assumes ASCII + case Ch('#'): + if (src[2] == Ch('x')) + { + unsigned long code = 0; + src += 3; // Skip &#x + while (1) + { + unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast(*src)]; + if (digit == 0xFF) + break; + code = code * 16 + digit; + ++src; + } + insert_coded_character(dest, code); // Put character in output + } + else + { + unsigned long code = 0; + src += 2; // Skip &# + while (1) + { + unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast(*src)]; + if (digit == 0xFF) + break; + code = code * 10 + digit; + ++src; + } + insert_coded_character(dest, code); // Put character in output + } + if (*src == Ch(';')) + ++src; + else + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ;", src); + continue; + + // Something else + default: + // Ignore, just copy '&' verbatim + break; + + } + } + } + + // If whitespace condensing is enabled + if (Flags & parse_normalize_whitespace) + { + // Test if condensing is needed + if (whitespace_pred::test(*src)) + { + *dest = Ch(' '); ++dest; // Put single space in dest + ++src; // Skip first whitespace char + // Skip remaining whitespace chars + while (whitespace_pred::test(*src)) + ++src; + continue; + } + } + + // No replacement, only copy character + *dest++ = *src++; + + } + + // Return new end + text = src; + return dest; + + } + + /////////////////////////////////////////////////////////////////////// + // Internal parsing functions + + // Parse BOM, if any + template + void parse_bom(Ch *&text) + { + // UTF-8? + if (static_cast(text[0]) == 0xEF && + static_cast(text[1]) == 0xBB && + static_cast(text[2]) == 0xBF) + { + text += 3; // Skip utf-8 bom + } + } + + // Parse XML declaration ( + xml_node *parse_xml_declaration(Ch *&text) + { + // If parsing of declaration is disabled + if (!(Flags & parse_declaration_node)) + { + // Skip until end of declaration + while (text[0] != Ch('?') || text[1] != Ch('>')) + { + if (!text[0]) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + text += 2; // Skip '?>' + return 0; + } + + // Create declaration + xml_node *declaration = this->allocate_node(node_declaration); + + // Skip whitespace before attributes or ?> + skip(text); + + // Parse declaration attributes + parse_node_attributes(text, declaration); + + // Skip ?> + if (text[0] != Ch('?') || text[1] != Ch('>')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ?>", text); + text += 2; + + return declaration; + } + + // Parse XML comment (' + return 0; // Do not produce comment node + } + + // Remember value start + Ch *val = text; + + // Skip until end of comment + while (text[0] != Ch('-') || text[1] != Ch('-') || text[2] != Ch('>')) + { + if (!text[0]) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + + // Create comment node + xml_node *comment = this->allocate_node(node_comment); + comment->value(val, text - val); + + // Place zero terminator after comment value + if (!(Flags & parse_no_string_terminators)) + *text = Ch('\0'); + + text += 3; // Skip '-->' + return comment; + } + + // Parse DOCTYPE + template + xml_node *parse_doctype(Ch *&text) + { + // Remember value start + Ch *val = text; + + // Skip to > + while (*text != Ch('>')) + { + // Determine character type + switch (*text) + { + + // If '[' encountered, scan for matching ending ']' using naive algorithm with depth + // This works for all W3C test files except for 2 most wicked + case Ch('['): + { + ++text; // Skip '[' + int depth = 1; + while (depth > 0) + { + switch (*text) + { + case Ch('['): ++depth; break; + case Ch(']'): --depth; break; + case 0: BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + default: break; + } + ++text; + } + break; + } + + // Error on end of text + case Ch('\0'): + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + + // Other character, skip it + default: + ++text; + + } + } + + // If DOCTYPE nodes enabled + if (Flags & parse_doctype_node) + { + // Create a new doctype node + xml_node *doctype = this->allocate_node(node_doctype); + doctype->value(val, text - val); + + // Place zero terminator after value + if (!(Flags & parse_no_string_terminators)) + *text = Ch('\0'); + + text += 1; // skip '>' + return doctype; + } + else + { + text += 1; // skip '>' + return 0; + } + + } + + // Parse PI + template + xml_node *parse_pi(Ch *&text) + { + // If creation of PI nodes is enabled + if (Flags & parse_pi_nodes) + { + // Create pi node + xml_node *pi = this->allocate_node(node_pi); + + // Extract PI target name + Ch *n = text; + skip(text); + if (text == n) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected PI target", text); + pi->name(n, text - n); + + // Skip whitespace between pi target and pi + skip(text); + + // Remember start of pi + Ch *val = text; + + // Skip to '?>' + while (text[0] != Ch('?') || text[1] != Ch('>')) + { + if (*text == Ch('\0')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + + // Set pi value (verbatim, no entity expansion or whitespace normalization) + pi->value(val, text - val); + + // Place zero terminator after name and value + if (!(Flags & parse_no_string_terminators)) + { + pi->name()[pi->name_size()] = Ch('\0'); + pi->value()[pi->value_size()] = Ch('\0'); + } + + text += 2; // Skip '?>' + return pi; + } + else + { + // Skip to '?>' + while (text[0] != Ch('?') || text[1] != Ch('>')) + { + if (*text == Ch('\0')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + text += 2; // Skip '?>' + return 0; + } + } + + // Parse and append data + // Return character that ends data. + // This is necessary because this character might have been overwritten by a terminating 0 + template + Ch parse_and_append_data(xml_node *node, Ch *&text, Ch *contents_start) + { + // Backup to contents start if whitespace trimming is disabled + if (!(Flags & parse_trim_whitespace)) + text = contents_start; + + // Skip until end of data + Ch *val = text, *end; + if (Flags & parse_normalize_whitespace) + end = skip_and_expand_character_refs(text); + else + end = skip_and_expand_character_refs(text); + + // Trim trailing whitespace if flag is set; leading was already trimmed by whitespace skip after > + if (Flags & parse_trim_whitespace) + { + if (Flags & parse_normalize_whitespace) + { + // Whitespace is already condensed to single space characters by skipping function, so just trim 1 char off the end + if (*(end - 1) == Ch(' ')) + --end; + } + else + { + // Backup until non-whitespace character is found + while (whitespace_pred::test(*(end - 1))) + --end; + } + } + + // If characters are still left between end and value (this test is only necessary if normalization is enabled) + // Create new data node + if (!(Flags & parse_no_data_nodes)) + { + xml_node *data = this->allocate_node(node_data); + data->value(val, end - val); + node->append_node(data); + } + + // Add data to parent node if no data exists yet + if (!(Flags & parse_no_element_values)) + if (*node->value() == Ch('\0')) + node->value(val, end - val); + + // Place zero terminator after value + if (!(Flags & parse_no_string_terminators)) + { + Ch ch = *text; + *end = Ch('\0'); + return ch; // Return character that ends data; this is required because zero terminator overwritten it + } + + // Return character that ends data + return *text; + } + + // Parse CDATA + template + xml_node *parse_cdata(Ch *&text) + { + // If CDATA is disabled + if (Flags & parse_no_data_nodes) + { + // Skip until end of cdata + while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>')) + { + if (!text[0]) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + text += 3; // Skip ]]> + return 0; // Do not produce CDATA node + } + + // Skip until end of cdata + Ch *val = text; + while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>')) + { + if (!text[0]) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + + // Create new cdata node + xml_node *cdata = this->allocate_node(node_cdata); + cdata->value(val, text - val); + + // Place zero terminator after value + if (!(Flags & parse_no_string_terminators)) + *text = Ch('\0'); + + text += 3; // Skip ]]> + return cdata; + } + + // Parse element node + template + xml_node *parse_element(Ch *&text) + { + // Create element node + xml_node *element = this->allocate_node(node_element); + + // Extract element name + Ch *n = text; + skip(text); + if (text == n) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected element name", text); + element->name(n, text - n); + + // Skip whitespace between element name and attributes or > + skip(text); + + // Parse attributes, if any + parse_node_attributes(text, element); + + // Determine ending type + if (*text == Ch('>')) + { + ++text; + parse_node_contents(text, element); + } + else if (*text == Ch('/')) + { + ++text; + if (*text != Ch('>')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text); + ++text; + } + else + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text); + + // Place zero terminator after name + if (!(Flags & parse_no_string_terminators)) + element->name()[element->name_size()] = Ch('\0'); + + // Return parsed element + return element; + } + + // Determine node type, and parse it + template + xml_node *parse_node(Ch *&text) + { + // Parse proper node type + switch (text[0]) + { + + // <... + default: + // Parse and append element node + return parse_element(text); + + // (text); + } + else + { + // Parse PI + return parse_pi(text); + } + + // (text); + } + break; + + // (text); + } + break; + + // (text); + } + break; + + default: break; + + } // switch + + // Attempt to skip other, unrecognized node types starting with ')) + { + if (*text == 0) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + ++text; + } + ++text; // Skip '>' + return 0; // No node recognized + + } + } + + // Parse contents of the node - children, data etc. + template + void parse_node_contents(Ch *&text, xml_node *node) + { + // For all children and text + while (1) + { + // Skip whitespace between > and node contents + Ch *contents_start = text; // Store start of node contents before whitespace is skipped + if (Flags & parse_trim_whitespace) + skip(text); + Ch next_char = *text; + + // After data nodes, instead of continuing the loop, control jumps here. + // This is because zero termination inside parse_and_append_data() function + // would wreak havoc with the above code. + // Also, skipping whitespace after data nodes is unnecessary. + after_data_node: + + // Determine what comes next: node closing, child node, data node, or 0? + switch (next_char) + { + + // Node closing or child node + case Ch('<'): + if (text[1] == Ch('/')) + { + // Node closing + text += 2; // Skip '(text); + if (!internal::compare(node->name(), node->name_size(), closing_name, text - closing_name, true)) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("invalid closing tag name", text); + } + else + { + // No validation, just skip name + skip(text); + } + // Skip remaining whitespace after node name + skip(text); + if (*text != Ch('>')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected >", text); + ++text; // Skip '>' + return; // Node closed, finished parsing contents + } + else + { + // Child node + ++text; // Skip '<' + if (xml_node *child = parse_node(text)) + node->append_node(child); + } + break; + + // End of data - error + case Ch('\0'): + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("unexpected end of data", text); + + // Data node + default: + next_char = parse_and_append_data(node, text, contents_start); + goto after_data_node; // Bypass regular processing after data nodes + + } + } + } + + // Parse XML attributes of the node + template + void parse_node_attributes(Ch *&text, xml_node *node) + { + // For all attributes + while (attribute_name_pred::test(*text)) + { + // Extract attribute name + Ch *n = text; + ++text; // Skip first character of attribute name + skip(text); + if (text == n) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected attribute name", n); + + // Create new attribute + xml_attribute *attribute = this->allocate_attribute(); + attribute->name(n, text - n); + node->append_attribute(attribute); + + // Skip whitespace after attribute name + skip(text); + + // Skip = + if (*text != Ch('=')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected =", text); + ++text; + + // Add terminating zero after name + if (!(Flags & parse_no_string_terminators)) + attribute->name()[attribute->name_size()] = 0; + + // Skip whitespace after = + skip(text); + + // Skip quote and remember if it was ' or " + Ch quote = *text; + if (quote != Ch('\'') && quote != Ch('"')) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ' or \"", text); + ++text; + + // Extract attribute value and expand char refs in it + Ch *val = text, *end; + const int AttFlags = Flags & ~parse_normalize_whitespace; // No whitespace normalization in attributes + if (quote == Ch('\'')) + end = skip_and_expand_character_refs, attribute_value_pure_pred, AttFlags>(text); + else + end = skip_and_expand_character_refs, attribute_value_pure_pred, AttFlags>(text); + + // Set attribute value + attribute->value(val, end - val); + + // Make sure that end quote is present + if (*text != quote) + BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR("expected ' or \"", text); + ++text; // Skip quote + + // Add terminating zero after value + if (!(Flags & parse_no_string_terminators)) + attribute->value()[attribute->value_size()] = 0; + + // Skip whitespace after attribute value + skip(text); + } + } + + }; + + //! \cond internal + namespace internal + { + + // Whitespace (space \n \r \t) + template + const unsigned char lookup_tables::lookup_whitespace[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, // 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 5 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 7 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // F + }; + + // Node name (anything but space \n \r \t / > ? \0) + template + const unsigned char lookup_tables::lookup_node_name[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Text (i.e. PCDATA) (anything but < \0) + template + const unsigned char lookup_tables::lookup_text[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Text (i.e. PCDATA) that does not require processing when ws normalization is disabled + // (anything but < \0 &) + template + const unsigned char lookup_tables::lookup_text_pure_no_ws[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Text (i.e. PCDATA) that does not require processing when ws normalizationis is enabled + // (anything but < \0 & space \n \r \t) + template + const unsigned char lookup_tables::lookup_text_pure_with_ws[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Attribute name (anything but space \n \r \t / < > = ? ! \0) + template + const unsigned char lookup_tables::lookup_attribute_name[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Attribute data with single quote (anything but ' \0) + template + const unsigned char lookup_tables::lookup_attribute_data_1[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Attribute data with single quote that does not require processing (anything but ' \0 &) + template + const unsigned char lookup_tables::lookup_attribute_data_1_pure[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Attribute data with double quote (anything but " \0) + template + const unsigned char lookup_tables::lookup_attribute_data_2[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Attribute data with double quote that does not require processing (anything but " \0 &) + template + const unsigned char lookup_tables::lookup_attribute_data_2_pure[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 + 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F + }; + + // Digits (dec and hex, 255 denotes end of numeric character reference) + template + const unsigned char lookup_tables::lookup_digits[256] = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 0 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 1 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 2 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,255,255,255,255,255,255, // 3 + 255, 10, 11, 12, 13, 14, 15,255,255,255,255,255,255,255,255,255, // 4 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 5 + 255, 10, 11, 12, 13, 14, 15,255,255,255,255,255,255,255,255,255, // 6 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 7 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 8 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 9 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // A + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // B + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // C + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // D + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // E + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 // F + }; + + // Upper case conversion + template + const unsigned char lookup_tables::lookup_upcase[256] = + { + // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A B C D E F + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 0 + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, // 1 + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, // 2 + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, // 3 + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, // 4 + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, // 5 + 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, // 6 + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 123,124,125,126,127, // 7 + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 8 + 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, // 9 + 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // A + 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, // B + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // C + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // D + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // E + 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // F + }; + } + //! \endcond + +}}}} + +// Undefine internal macros +#undef BOOST_PROPERTY_TREE_RAPIDXML_PARSE_ERROR + +// On MSVC, restore warnings state +#ifdef _MSC_VER + #pragma warning(pop) +#endif + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_error.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_error.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_error.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_error.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,33 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_ERROR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_ERROR_HPP_INCLUDED + +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + + //! Xml parser error + class xml_parser_error: public file_parser_error + { + public: + xml_parser_error(const std::string &msg, + const std::string &file, + unsigned long l): + file_parser_error(msg, file, l) + { + } + }; + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_flags.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_flags.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_flags.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_flags.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,31 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_FLAGS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_FLAGS_HPP_INCLUDED + +namespace boost { namespace property_tree { namespace xml_parser +{ + + /// Text elements should be put in separate keys, + /// not concatenated in parent data. + static const int no_concat_text = 0x1; + /// Comments should be omitted. + static const int no_comments = 0x2; + /// Whitespace should be collapsed and trimmed. + static const int trim_whitespace = 0x4; + + inline bool validate_flags(int flags) + { + return (flags & ~(no_concat_text | no_comments | trim_whitespace)) == 0; + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_read_rapidxml.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_read_rapidxml.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_read_rapidxml.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_read_rapidxml.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,144 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2007 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_READ_RAPIDXML_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_READ_RAPIDXML_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + + template + void read_xml_node(detail::rapidxml::xml_node *node, + Ptree &pt, int flags) + { + using namespace detail::rapidxml; + switch (node->type()) + { + // Element nodes + case node_element: + { + // Create node + Ptree &pt_node = pt.push_back(std::make_pair(node->name(), + Ptree()))->second; + + // Copy attributes + if (node->first_attribute()) + { + Ptree &pt_attr_root = pt_node.push_back( + std::make_pair(xmlattr(), Ptree()))->second; + for (xml_attribute *attr = node->first_attribute(); + attr; attr = attr->next_attribute()) + { + Ptree &pt_attr = pt_attr_root.push_back( + std::make_pair(attr->name(), Ptree()))->second; + pt_attr.data() = attr->value(); + } + } + + // Copy children + for (xml_node *child = node->first_node(); + child; child = child->next_sibling()) + read_xml_node(child, pt_node, flags); + } + break; + + // Data nodes + case node_data: + case node_cdata: + { + if (flags & no_concat_text) + pt.push_back(std::make_pair(xmltext(), + Ptree(node->value()))); + else + pt.data() += node->value(); + } + break; + + // Comment nodes + case node_comment: + { + if (!(flags & no_comments)) + pt.push_back(std::make_pair(xmlcomment(), + Ptree(node->value()))); + } + break; + + default: + // Skip other node types + break; + } + } + + template + void read_xml_internal(std::basic_istream< + typename Ptree::key_type::value_type> &stream, + Ptree &pt, + int flags, + const std::string &filename) + { + typedef typename Ptree::key_type::value_type Ch; + using namespace detail::rapidxml; + + // Load data into vector + stream.unsetf(std::ios::skipws); + std::vector v(std::istreambuf_iterator(stream.rdbuf()), + std::istreambuf_iterator()); + if (!stream.good()) + BOOST_PROPERTY_TREE_THROW( + xml_parser_error("read error", filename, 0)); + v.push_back(0); // zero-terminate + + try { + // Parse using appropriate flags + const int f_tws = parse_normalize_whitespace + | parse_trim_whitespace; + const int f_c = parse_comment_nodes; + // Some compilers don't like the bitwise or in the template arg. + const int f_tws_c = parse_normalize_whitespace + | parse_trim_whitespace + | parse_comment_nodes; + xml_document doc; + if (flags & no_comments) { + if (flags & trim_whitespace) + doc.BOOST_NESTED_TEMPLATE parse(&v.front()); + else + doc.BOOST_NESTED_TEMPLATE parse<0>(&v.front()); + } else { + if (flags & trim_whitespace) + doc.BOOST_NESTED_TEMPLATE parse(&v.front()); + else + doc.BOOST_NESTED_TEMPLATE parse(&v.front()); + } + + // Create ptree from nodes + Ptree local; + for (xml_node *child = doc.first_node(); + child; child = child->next_sibling()) + read_xml_node(child, local, flags); + + // Swap local and result ptrees + pt.swap(local); + } catch (parse_error &e) { + long line = static_cast( + std::count(&v.front(), e.where(), Ch('\n')) + 1); + BOOST_PROPERTY_TREE_THROW( + xml_parser_error(e.what(), filename, line)); + } + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_utils.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_utils.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_utils.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_utils.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,136 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_UTILS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_UTILS_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + + template + std::basic_string condense(const std::basic_string &s) + { + std::basic_string r; + std::locale loc; + bool space = false; + typename std::basic_string::const_iterator end = s.end(); + for (typename std::basic_string::const_iterator it = s.begin(); + it != end; ++it) + { + if (isspace(*it, loc) || *it == Ch('\n')) + { + if (!space) + r += Ch(' '), space = true; + } + else + r += *it, space = false; + } + return r; + } + + template + std::basic_string encode_char_entities(const std::basic_string &s) + { + // Don't do anything for empty strings. + if(s.empty()) return s; + + typedef typename std::basic_string Str; + Str r; + // To properly round-trip spaces and not uglify the XML beyond + // recognition, we have to encode them IF the text contains only spaces. + Str sp(1, Ch(' ')); + if(s.find_first_not_of(sp) == Str::npos) { + // The first will suffice. + r = detail::widen(" "); + r += Str(s.size() - 1, Ch(' ')); + } else { + typename Str::const_iterator end = s.end(); + for (typename Str::const_iterator it = s.begin(); it != end; ++it) + { + switch (*it) + { + case Ch('<'): r += detail::widen("<"); break; + case Ch('>'): r += detail::widen(">"); break; + case Ch('&'): r += detail::widen("&"); break; + case Ch('"'): r += detail::widen("""); break; + case Ch('\''): r += detail::widen("'"); break; + default: r += *it; break; + } + } + } + return r; + } + + template + std::basic_string decode_char_entities(const std::basic_string &s) + { + typedef typename std::basic_string Str; + Str r; + typename Str::const_iterator end = s.end(); + for (typename Str::const_iterator it = s.begin(); it != end; ++it) + { + if (*it == Ch('&')) + { + typename Str::const_iterator semicolon = std::find(it + 1, end, Ch(';')); + if (semicolon == end) + BOOST_PROPERTY_TREE_THROW(xml_parser_error("invalid character entity", "", 0)); + Str ent(it + 1, semicolon); + if (ent == detail::widen("lt")) r += Ch('<'); + else if (ent == detail::widen("gt")) r += Ch('>'); + else if (ent == detail::widen("amp")) r += Ch('&'); + else if (ent == detail::widen("quot")) r += Ch('"'); + else if (ent == detail::widen("apos")) r += Ch('\''); + else + BOOST_PROPERTY_TREE_THROW(xml_parser_error("invalid character entity", "", 0)); + it = semicolon; + } + else + r += *it; + } + return r; + } + + template + const std::basic_string &xmldecl() + { + static std::basic_string s = detail::widen(""); + return s; + } + + template + const std::basic_string &xmlattr() + { + static std::basic_string s = detail::widen(""); + return s; + } + + template + const std::basic_string &xmlcomment() + { + static std::basic_string s = detail::widen(""); + return s; + } + + template + const std::basic_string &xmltext() + { + static std::basic_string s = detail::widen(""); + return s; + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_write.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_write.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_write.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_write.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,194 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_WRITE_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_WRITE_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + template + void write_xml_indent(std::basic_ostream &stream, + int indent, + const xml_writer_settings & settings + ) + { + stream << std::basic_string(indent * settings.indent_count, settings.indent_char); + } + + template + void write_xml_comment(std::basic_ostream &stream, + const std::basic_string &s, + int indent, + bool separate_line, + const xml_writer_settings & settings + ) + { + typedef typename std::basic_string Str; + if (separate_line) + write_xml_indent(stream,indent,settings); + stream << Ch('<') << Ch('!') << Ch('-') << Ch('-'); + stream << s; + stream << Ch('-') << Ch('-') << Ch('>'); + if (separate_line) + stream << Ch('\n'); + } + + template + void write_xml_text(std::basic_ostream &stream, + const std::basic_string &s, + int indent, + bool separate_line, + const xml_writer_settings & settings + ) + { + if (separate_line) + write_xml_indent(stream,indent,settings); + stream << encode_char_entities(s); + if (separate_line) + stream << Ch('\n'); + } + + template + void write_xml_element(std::basic_ostream &stream, + const std::basic_string &key, + const Ptree &pt, + int indent, + const xml_writer_settings & settings) + { + + typedef typename Ptree::key_type::value_type Ch; + typedef typename std::basic_string Str; + typedef typename Ptree::const_iterator It; + + bool want_pretty = settings.indent_count > 0; + // Find if elements present + bool has_elements = false; + bool has_attrs_only = pt.data().empty(); + for (It it = pt.begin(), end = pt.end(); it != end; ++it) + { + if (it->first != xmlattr() ) + { + has_attrs_only = false; + if (it->first != xmltext()) + { + has_elements = true; + break; + } + } + } + + // Write element + if (pt.data().empty() && pt.empty()) // Empty key + { + if (indent >= 0) + { + write_xml_indent(stream,indent,settings); + stream << Ch('<') << key << + Ch('/') << Ch('>'); + if (want_pretty) + stream << Ch('\n'); + } + } + else // Nonempty key + { + + // Write opening tag, attributes and data + if (indent >= 0) + { + + // Write opening brace and key + write_xml_indent(stream,indent,settings); + stream << Ch('<') << key; + + // Write attributes + if (optional attribs = pt.get_child_optional(xmlattr())) + for (It it = attribs.get().begin(); it != attribs.get().end(); ++it) + stream << Ch(' ') << it->first << Ch('=') << + Ch('"') << it->second.template get_value >() << Ch('"'); + + if ( has_attrs_only ) + { + // Write closing brace + stream << Ch('/') << Ch('>'); + if (want_pretty) + stream << Ch('\n'); + } + else + { + // Write closing brace + stream << Ch('>'); + + // Break line if needed and if we want pretty-printing + if (has_elements && want_pretty) + stream << Ch('\n'); + } + } + + // Write data text, if present + if (!pt.data().empty()) + write_xml_text(stream, + pt.template get_value >(), + indent + 1, has_elements && want_pretty, settings); + + // Write elements, comments and texts + for (It it = pt.begin(); it != pt.end(); ++it) + { + if (it->first == xmlattr()) + continue; + else if (it->first == xmlcomment()) + write_xml_comment(stream, + it->second.template get_value >(), + indent + 1, want_pretty, settings); + else if (it->first == xmltext()) + write_xml_text(stream, + it->second.template get_value >(), + indent + 1, has_elements && want_pretty, settings); + else + write_xml_element(stream, it->first, it->second, + indent + 1, settings); + } + + // Write closing tag + if (indent >= 0 && !has_attrs_only) + { + if (has_elements) + write_xml_indent(stream,indent,settings); + stream << Ch('<') << Ch('/') << key << Ch('>'); + if (want_pretty) + stream << Ch('\n'); + } + + } + } + + template + void write_xml_internal(std::basic_ostream &stream, + const Ptree &pt, + const std::string &filename, + const xml_writer_settings & settings) + { + typedef typename Ptree::key_type::value_type Ch; + typedef typename std::basic_string Str; + stream << detail::widen("("\"?>\n"); + write_xml_element(stream, Str(), pt, -1, settings); + if (!stream) + BOOST_PROPERTY_TREE_THROW(xml_parser_error("write error", filename, 0)); + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_writer_settings.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_writer_settings.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/detail/xml_parser_writer_settings.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/detail/xml_parser_writer_settings.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,62 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2007 Marcin Kalicinski +// Copyright (C) 2007 Alexey Baskakov +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_WRITER_SETTINGS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_DETAIL_XML_PARSER_WRITER_SETTINGS_HPP_INCLUDED + +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + + // Naively convert narrow string to another character type + template + std::basic_string widen(const char *text) + { + std::basic_string result; + while (*text) + { + result += Ch(*text); + ++text; + } + return result; + } + + //! Xml writer settings. The default settings lead to no pretty printing. + template + class xml_writer_settings + { + public: + xml_writer_settings(Ch inchar = Ch(' '), + typename std::basic_string::size_type incount = 0, + const std::basic_string &enc = widen("utf-8")) + : indent_char(inchar) + , indent_count(incount) + , encoding(enc) + { + } + + Ch indent_char; + typename std::basic_string::size_type indent_count; + std::basic_string encoding; + }; + + template + xml_writer_settings xml_writer_make_settings(Ch indent_char = Ch(' '), + typename std::basic_string::size_type indent_count = 0, + const std::basic_string &encoding = widen("utf-8")) + { + return xml_writer_settings(indent_char, indent_count, encoding); + } + +} } } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/exceptions.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/exceptions.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/exceptions.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/exceptions.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,84 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- + +#ifndef BOOST_PROPERTY_TREE_EXCEPTIONS_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_EXCEPTIONS_HPP_INCLUDED + +#include + +#include +#include +#include + +namespace boost { namespace property_tree +{ + + /// Base class for all property tree errors. Derives from + /// @c std::runtime_error. Call member function @c what to get human + /// readable message associated with the error. + class ptree_error : public std::runtime_error + { + public: + /// Instantiate a ptree_error instance with the given message. + /// @param what The message to associate with this error. + ptree_error(const std::string &what); + + ~ptree_error() throw(); + }; + + + /// Error indicating that translation from given value to the property tree + /// data_type (or vice versa) failed. Derives from ptree_error. + class ptree_bad_data : public ptree_error + { + public: + /// Instantiate a ptree_bad_data instance with the given message and + /// data. + /// @param what The message to associate with this error. + /// @param data The value associated with this error that was the source + /// of the translation failure. + template ptree_bad_data(const std::string &what, + const T &data); + + ~ptree_bad_data() throw(); + + /// Retrieve the data associated with this error. This is the source + /// value that failed to be translated. + template T data(); + private: + boost::any m_data; + }; + + + /// Error indicating that specified path does not exist. Derives from + /// ptree_error. + class ptree_bad_path : public ptree_error + { + public: + /// Instantiate a ptree_bad_path with the given message and path data. + /// @param what The message to associate with this error. + /// @param path The path that could not be found in the property_tree. + template ptree_bad_path(const std::string &what, + const T &path); + + ~ptree_bad_path() throw(); + + /// Retrieve the invalid path. + template T path(); + private: + boost::any m_path; + }; + +}} + +#include + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/id_translator.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/id_translator.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/id_translator.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/id_translator.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,51 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- + +#ifndef BOOST_PROPERTY_TREE_ID_TRANSLATOR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_ID_TRANSLATOR_HPP_INCLUDED + +#include + +#include +#include + +namespace boost { namespace property_tree +{ + + /// Simple implementation of the Translator concept. It does no translation. + template + struct id_translator + { + typedef T internal_type; + typedef T external_type; + + boost::optional get_value(const T &v) { return v; } + boost::optional put_value(const T &v) { return v; } + }; + + // This is the default translator whenever you get two equal types. + template + struct translator_between + { + typedef id_translator type; + }; + + // A more specific specialization for std::basic_string. Otherwise, + // stream_translator's specialization wins. + template + struct translator_between< std::basic_string, + std::basic_string > + { + typedef id_translator< std::basic_string > type; + }; + +}} + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/info_parser.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/info_parser.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/info_parser.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/info_parser.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,151 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_INFO_PARSER_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_INFO_PARSER_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace info_parser +{ + + /** + * Read INFO from a the given stream and translate it to a property tree. + * @note Replaces the existing contents. Strong exception guarantee. + * @throw info_parser_error If the stream cannot be read, doesn't contain + * valid INFO, or a conversion fails. + */ + template + void read_info(std::basic_istream &stream, Ptree &pt) + { + Ptree local; + read_info_internal(stream, local, std::string(), 0); + pt.swap(local); + } + + /** + * Read INFO from a the given stream and translate it to a property tree. + * @note Replaces the existing contents. Strong exception guarantee. + * @param default_ptree If parsing fails, pt is set to a copy of this tree. + */ + template + void read_info(std::basic_istream &stream, Ptree &pt, + const Ptree &default_ptree) + { + try { + read_info(stream, pt); + } catch(file_parser_error &) { + pt = default_ptree; + } + } + + /** + * Read INFO from a the given file and translate it to a property tree. The + * tree's key type must be a string type, i.e. it must have a nested + * value_type typedef that is a valid parameter for basic_ifstream. + * @note Replaces the existing contents. Strong exception guarantee. + * @throw info_parser_error If the file cannot be read, doesn't contain + * valid INFO, or a conversion fails. + */ + template + void read_info(const std::string &filename, Ptree &pt, + const std::locale &loc = std::locale()) + { + std::basic_ifstream + stream(filename.c_str()); + if (!stream) { + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "cannot open file for reading", filename, 0)); + } + stream.imbue(loc); + Ptree local; + read_info_internal(stream, local, filename, 0); + pt.swap(local); + } + + /** + * Read INFO from a the given file and translate it to a property tree. The + * tree's key type must be a string type, i.e. it must have a nested + * value_type typedef that is a valid parameter for basic_ifstream. + * @note Replaces the existing contents. Strong exception guarantee. + * @param default_ptree If parsing fails, pt is set to a copy of this tree. + */ + template + void read_info(const std::string &filename, + Ptree &pt, + const Ptree &default_ptree, + const std::locale &loc = std::locale()) + { + try { + read_info(filename, pt, loc); + } catch(file_parser_error &) { + pt = default_ptree; + } + } + + /** + * Writes a tree to the stream in INFO format. + * @throw info_parser_error If the stream cannot be written to, or a + * conversion fails. + * @param settings The settings to use when writing the INFO data. + */ + template + void write_info(std::basic_ostream &stream, + const Ptree &pt, + const info_writer_settings &settings = + info_writer_settings()) + { + write_info_internal(stream, pt, std::string(), settings); + } + + /** + * Writes a tree to the file in INFO format. The tree's key type must be a + * string type, i.e. it must have a nested value_type typedef that is a + * valid parameter for basic_ofstream. + * @throw info_parser_error If the file cannot be written to, or a + * conversion fails. + * @param settings The settings to use when writing the INFO data. + */ + template + void write_info(const std::string &filename, + const Ptree &pt, + const std::locale &loc = std::locale(), + const info_writer_settings< + typename Ptree::key_type::value_type + > &settings = + info_writer_make_settings< + typename Ptree::key_type::value_type>()) + { + std::basic_ofstream + stream(filename.c_str()); + if (!stream) { + BOOST_PROPERTY_TREE_THROW(info_parser_error( + "cannot open file for writing", filename, 0)); + } + stream.imbue(loc); + write_info_internal(stream, pt, filename, settings); + } + +} } } + +namespace boost { namespace property_tree +{ + using info_parser::info_parser_error; + using info_parser::read_info; + using info_parser::write_info; + using info_parser::info_writer_settings; + using info_parser::info_writer_make_settings; +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ini_parser.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ini_parser.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ini_parser.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ini_parser.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,309 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_INI_PARSER_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_INI_PARSER_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree { namespace ini_parser +{ + + /** + * Determines whether the @c flags are valid for use with the ini_parser. + * @param flags value to check for validity as flags to ini_parser. + * @return true if the flags are valid, false otherwise. + */ + inline bool validate_flags(int flags) + { + return flags == 0; + } + + /** Indicates an error parsing INI formatted data. */ + class ini_parser_error: public file_parser_error + { + public: + /** + * Construct an @c ini_parser_error + * @param message Message describing the parser error. + * @param filename The name of the file being parsed containing the + * error. + * @param line The line in the given file where an error was + * encountered. + */ + ini_parser_error(const std::string &message, + const std::string &filename, + unsigned long line) + : file_parser_error(message, filename, line) + { + } + }; + + /** + * Read INI from a the given stream and translate it to a property tree. + * @note Clears existing contents of property tree. In case of error + * the property tree is not modified. + * @throw ini_parser_error If a format violation is found. + * @param stream Stream from which to read in the property tree. + * @param[out] pt The property tree to populate. + */ + template + void read_ini(std::basic_istream< + typename Ptree::key_type::value_type> &stream, + Ptree &pt) + { + typedef typename Ptree::key_type::value_type Ch; + typedef std::basic_string Str; + const Ch semicolon = stream.widen(';'); + const Ch lbracket = stream.widen('['); + const Ch rbracket = stream.widen(']'); + + Ptree local; + unsigned long line_no = 0; + Ptree *section = 0; + Str line; + + // For all lines + while (stream.good()) + { + + // Get line from stream + ++line_no; + std::getline(stream, line); + if (!stream.good() && !stream.eof()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "read error", "", line_no)); + + // If line is non-empty + line = property_tree::detail::trim(line, stream.getloc()); + if (!line.empty()) + { + // Comment, section or key? + if (line[0] == semicolon) + { + // Ignore comments + } + else if (line[0] == lbracket) + { + // If the previous section was empty, drop it again. + if (section && section->empty()) + local.pop_back(); + typename Str::size_type end = line.find(rbracket); + if (end == Str::npos) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "unmatched '['", "", line_no)); + Str key = property_tree::detail::trim( + line.substr(1, end - 1), stream.getloc()); + if (local.find(key) != local.not_found()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "duplicate section name", "", line_no)); + section = &local.push_back( + std::make_pair(key, Ptree()))->second; + } + else + { + Ptree &container = section ? *section : local; + typename Str::size_type eqpos = line.find(Ch('=')); + if (eqpos == Str::npos) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "'=' character not found in line", "", line_no)); + if (eqpos == 0) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "key expected", "", line_no)); + Str key = property_tree::detail::trim( + line.substr(0, eqpos), stream.getloc()); + Str data = property_tree::detail::trim( + line.substr(eqpos + 1, Str::npos), stream.getloc()); + if (container.find(key) != container.not_found()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "duplicate key name", "", line_no)); + container.push_back(std::make_pair(key, Ptree(data))); + } + } + } + // If the last section was empty, drop it again. + if (section && section->empty()) + local.pop_back(); + + // Swap local ptree with result ptree + pt.swap(local); + + } + + /** + * Read INI from a the given file and translate it to a property tree. + * @note Clears existing contents of property tree. In case of error the + * property tree unmodified. + * @throw ini_parser_error In case of error deserializing the property tree. + * @param filename Name of file from which to read in the property tree. + * @param[out] pt The property tree to populate. + * @param loc The locale to use when reading in the file contents. + */ + template + void read_ini(const std::string &filename, + Ptree &pt, + const std::locale &loc = std::locale()) + { + std::basic_ifstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + try { + read_ini(stream, pt); + } + catch (ini_parser_error &e) { + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + e.message(), filename, e.line())); + } + } + + namespace detail + { + template + void check_dupes(const Ptree &pt) + { + if(pt.size() <= 1) + return; + const typename Ptree::key_type *lastkey = 0; + typename Ptree::const_assoc_iterator it = pt.ordered_begin(), + end = pt.not_found(); + lastkey = &it->first; + for(++it; it != end; ++it) { + if(*lastkey == it->first) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "duplicate key", "", 0)); + lastkey = &it->first; + } + } + } + + /** + * Translates the property tree to INI and writes it the given output + * stream. + * @pre @e pt cannot have data in its root. + * @pre @e pt cannot have keys both data and children. + * @pre @e pt cannot be deeper than two levels. + * @pre There cannot be duplicate keys on any given level of @e pt. + * @throw ini_parser_error In case of error translating the property tree to + * INI or writing to the output stream. + * @param stream The stream to which to write the INI representation of the + * property tree. + * @param pt The property tree to tranlsate to INI and output. + * @param flags The flags to use when writing the INI file. + * No flags are currently supported. + */ + template + void write_ini(std::basic_ostream< + typename Ptree::key_type::value_type + > &stream, + const Ptree &pt, + int flags = 0) + { + using detail::check_dupes; + + typedef typename Ptree::key_type::value_type Ch; + typedef std::basic_string Str; + + BOOST_ASSERT(validate_flags(flags)); + (void)flags; + + if (!pt.data().empty()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "ptree has data on root", "", 0)); + check_dupes(pt); + + for (typename Ptree::const_iterator it = pt.begin(), end = pt.end(); + it != end; ++it) + { + check_dupes(it->second); + if (it->second.empty()) { + stream << it->first << Ch('=') + << it->second.template get_value< + std::basic_string >() + << Ch('\n'); + } else { + if (!it->second.data().empty()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "mixed data and children", "", 0)); + stream << Ch('[') << it->first << Ch(']') << Ch('\n'); + for (typename Ptree::const_iterator it2 = it->second.begin(), + end2 = it->second.end(); it2 != end2; ++it2) + { + if (!it2->second.empty()) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "ptree is too deep", "", 0)); + stream << it2->first << Ch('=') + << it2->second.template get_value< + std::basic_string >() + << Ch('\n'); + } + } + } + + } + + /** + * Translates the property tree to INI and writes it the given file. + * @pre @e pt cannot have data in its root. + * @pre @e pt cannot have keys both data and children. + * @pre @e pt cannot be deeper than two levels. + * @pre There cannot be duplicate keys on any given level of @e pt. + * @throw info_parser_error In case of error translating the property tree + * to INI or writing to the file. + * @param filename The name of the file to which to write the INI + * representation of the property tree. + * @param pt The property tree to tranlsate to INI and output. + * @param flags The flags to use when writing the INI file. + * The following flags are supported: + * @li @c skip_ini_validity_check -- Skip check if ptree is a valid ini. The + * validity check covers the preconditions but takes O(n log n) + * time. + * @param loc The locale to use when writing the file. + */ + template + void write_ini(const std::string &filename, + const Ptree &pt, + int flags = 0, + const std::locale &loc = std::locale()) + { + std::basic_ofstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + try { + write_ini(stream, pt, flags); + } + catch (ini_parser_error &e) { + BOOST_PROPERTY_TREE_THROW(ini_parser_error( + e.message(), filename, e.line())); + } + } + +} } } + +namespace boost { namespace property_tree +{ + using ini_parser::ini_parser_error; + using ini_parser::read_ini; + using ini_parser::write_ini; +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/json_parser.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/json_parser.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/json_parser.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/json_parser.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,139 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_JSON_PARSER_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_JSON_PARSER_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace property_tree { namespace json_parser +{ + + /** + * Read JSON from a the given stream and translate it to a property tree. + * @note Clears existing contents of property tree. In case of error the + * property tree unmodified. + * @note Items of JSON arrays are translated into ptree keys with empty + * names. Members of objects are translated into named keys. + * @note JSON data can be a string, a numeric value, or one of literals + * "null", "true" and "false". During parse, any of the above is + * copied verbatim into ptree data string. + * @throw json_parser_error In case of error deserializing the property + * tree. + * @param stream Stream from which to read in the property tree. + * @param[out] pt The property tree to populate. + */ + template + void read_json(std::basic_istream< + typename Ptree::key_type::value_type + > &stream, + Ptree &pt) + { + read_json_internal(stream, pt, std::string()); + } + + /** + * Read JSON from a the given file and translate it to a property tree. + * @note Clears existing contents of property tree. In case of error the + * property tree unmodified. + * @note Items of JSON arrays are translated into ptree keys with empty + * names. Members of objects are translated into named keys. + * @note JSON data can be a string, a numeric value, or one of literals + * "null", "true" and "false". During parse, any of the above is + * copied verbatim into ptree data string. + * @throw json_parser_error In case of error deserializing the property + * tree. + * @param filename Name of file from which to read in the property tree. + * @param[out] pt The property tree to populate. + * @param loc The locale to use when reading in the file contents. + */ + template + void read_json(const std::string &filename, + Ptree &pt, + const std::locale &loc = std::locale()) + { + std::basic_ifstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(json_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + read_json_internal(stream, pt, filename); + } + + /** + * Translates the property tree to JSON and writes it the given output + * stream. + * @note Any property tree key containing only unnamed subkeys will be + * rendered as JSON arrays. + * @pre @e pt cannot contain keys that have both subkeys and non-empty data. + * @throw json_parser_error In case of error translating the property tree + * to JSON or writing to the output stream. + * @param stream The stream to which to write the JSON representation of the + * property tree. + * @param pt The property tree to tranlsate to JSON and output. + * @param pretty Whether to pretty-print. Defaults to true for backward + * compatibility. + */ + template + void write_json(std::basic_ostream< + typename Ptree::key_type::value_type + > &stream, + const Ptree &pt, + bool pretty = true) + { + write_json_internal(stream, pt, std::string(), pretty); + } + + /** + * Translates the property tree to JSON and writes it the given file. + * @note Any property tree key containing only unnamed subkeys will be + * rendered as JSON arrays. + * @pre @e pt cannot contain keys that have both subkeys and non-empty data. + * @throw json_parser_error In case of error translating the property tree + * to JSON or writing to the file. + * @param filename The name of the file to which to write the JSON + * representation of the property tree. + * @param pt The property tree to translate to JSON and output. + * @param loc The locale to use when writing out to the output file. + * @param pretty Whether to pretty-print. Defaults to true and last place + * for backward compatibility. + */ + template + void write_json(const std::string &filename, + const Ptree &pt, + const std::locale &loc = std::locale(), + bool pretty = true) + { + std::basic_ofstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(json_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + write_json_internal(stream, pt, filename, pretty); + } + +} } } + +namespace boost { namespace property_tree +{ + using json_parser::read_json; + using json_parser::write_json; + using json_parser::json_parser_error; +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree_fwd.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree_fwd.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree_fwd.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree_fwd.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,143 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_PTREE_FWD_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_PTREE_FWD_HPP_INCLUDED + +#include +#include +#include +#include // for std::less +#include // for std::allocator +#include + +namespace boost { namespace property_tree +{ + namespace detail { + template struct less_nocase; + } + + // Classes + + template < class Key, class Data, class KeyCompare = std::less > + class basic_ptree; + + template + struct id_translator; + + template + class string_path; + + // Texas-style concepts for documentation only. +#if 0 + concept PropertyTreePath { + // The key type for which this path works. + typename key_type; + // Return the key that the first segment of the path names. + // Split the head off the state. + key_type Path::reduce(); + + // Return true if the path is empty. + bool Path::empty() const; + + // Return true if the path contains a single element. + bool Path::single() const; + + // Dump as a std::string, for exception messages. + std::string Path::dump() const; + } + concept PropertyTreeKey { + PropertyTreePath path; + requires SameType::key_type>; + } + concept PropertyTreeTranslator { + typename internal_type; + typename external_type; + + boost::optional Tr::get_value(internal_type); + boost::optional Tr::put_value(external_type); + } +#endif + /// If you want to use a custom key type, specialize this struct for it + /// and give it a 'type' typedef that specifies your path type. The path + /// type must conform to the Path concept described in the documentation. + /// This is already specialized for std::basic_string. + template + struct path_of; + + /// Specialize this struct to specify a default translator between the data + /// in a tree whose data_type is Internal, and the external data_type + /// specified in a get_value, get, put_value or put operation. + /// This is already specialized for Internal being std::basic_string. + template + struct translator_between; + + class ptree_error; + class ptree_bad_data; + class ptree_bad_path; + + // Typedefs + + /** Implements a path using a std::string as the key. */ + typedef string_path > path; + + /** + * A property tree with std::string for key and data, and default + * comparison. + */ + typedef basic_ptree ptree; + + /** + * A property tree with std::string for key and data, and case-insensitive + * comparison. + */ + typedef basic_ptree > + iptree; + +#ifndef BOOST_NO_STD_WSTRING + /** Implements a path using a std::wstring as the key. */ + typedef string_path > wpath; + + /** + * A property tree with std::wstring for key and data, and default + * comparison. + * @note The type only exists if the platform supports @c wchar_t. + */ + typedef basic_ptree wptree; + + /** + * A property tree with std::wstring for key and data, and case-insensitive + * comparison. + * @note The type only exists if the platform supports @c wchar_t. + */ + typedef basic_ptree > + wiptree; +#endif + + // Free functions + + /** + * Swap two property tree instances. + */ + template + void swap(basic_ptree &pt1, + basic_ptree &pt2); + +} } + + +#if !defined(BOOST_PROPERTY_TREE_DOXYGEN_INVOKED) + // Throwing macro to avoid no return warnings portably +# define BOOST_PROPERTY_TREE_THROW(e) BOOST_THROW_EXCEPTION(e) +#endif + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,517 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- + +#ifndef BOOST_PROPERTY_TREE_PTREE_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_PTREE_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include // for std::pair + +namespace boost { namespace property_tree +{ + + /** + * Property tree main structure. A property tree is a hierarchical data + * structure which has one element of type @p Data in each node, as well + * as an ordered sequence of sub-nodes, which are additionally identified + * by a non-unique key of type @p Key. + * + * Key equivalency is defined by @p KeyCompare, a predicate defining a + * strict weak ordering. + * + * Property tree defines a Container-like interface to the (key-node) pairs + * of its direct sub-nodes. The iterators are bidirectional. The sequence + * of nodes is held in insertion order, not key order. + */ + template + class basic_ptree + { +#if defined(BOOST_PROPERTY_TREE_DOXYGEN_INVOKED) + public: +#endif + // Internal types + /** + * Simpler way to refer to this basic_ptree\ type. + * Note that this is private, and made public only for doxygen. + */ + typedef basic_ptree self_type; + + public: + // Basic types + typedef Key key_type; + typedef Data data_type; + typedef KeyCompare key_compare; + + // Container view types + typedef std::pair value_type; + typedef std::size_t size_type; + + // The problem with the iterators is that I can't make them complete + // until the container is complete. Sucks. Especially for the reverses. + class iterator; + class const_iterator; + class reverse_iterator; + class const_reverse_iterator; + + // Associative view types + class assoc_iterator; + class const_assoc_iterator; + + // Property tree view types + typedef typename path_of::type path_type; + + + // The big five + + /** Creates a node with no children and default-constructed data. */ + basic_ptree(); + /** Creates a node with no children and a copy of the given data. */ + explicit basic_ptree(const data_type &data); + basic_ptree(const self_type &rhs); + ~basic_ptree(); + /** Basic guarantee only. */ + self_type &operator =(const self_type &rhs); + + /** Swap with other tree. Only constant-time and nothrow if the + * data type's swap is. + */ + void swap(self_type &rhs); + + // Container view functions + + /** The number of direct children of this node. */ + size_type size() const; + size_type max_size() const; + /** Whether there are any direct children. */ + bool empty() const; + + iterator begin(); + const_iterator begin() const; + iterator end(); + const_iterator end() const; + reverse_iterator rbegin(); + const_reverse_iterator rbegin() const; + reverse_iterator rend(); + const_reverse_iterator rend() const; + + value_type &front(); + const value_type &front() const; + value_type &back(); + const value_type &back() const; + + /** Insert a copy of the given tree with its key just before the given + * position in this node. This operation invalidates no iterators. + * @return An iterator to the newly created child. + */ + iterator insert(iterator where, const value_type &value); + + /** Range insert. Equivalent to: + * @code + * for(; first != last; ++first) insert(where, *first); + * @endcode + */ + template void insert(iterator where, It first, It last); + + /** Erase the child pointed at by the iterator. This operation + * invalidates the given iterator, as well as its equivalent + * assoc_iterator. + * @return A valid iterator pointing to the element after the erased. + */ + iterator erase(iterator where); + + /** Range erase. Equivalent to: + * @code + * while(first != last;) first = erase(first); + * @endcode + */ + iterator erase(iterator first, iterator last); + + /** Equivalent to insert(begin(), value). */ + iterator push_front(const value_type &value); + + /** Equivalent to insert(end(), value). */ + iterator push_back(const value_type &value); + + /** Equivalent to erase(begin()). */ + void pop_front(); + + /** Equivalent to erase(boost::prior(end())). */ + void pop_back(); + + /** Reverses the order of direct children in the property tree. */ + void reverse(); + + /** Sorts the direct children of this node according to the predicate. + * The predicate is passed the whole pair of key and child. + */ + template void sort(Compare comp); + + /** Sorts the direct children of this node according to key order. */ + void sort(); + + // Equality + + /** Two property trees are the same if they have the same data, the keys + * and order of their children are the same, and the children compare + * equal, recursively. + */ + bool operator ==(const self_type &rhs) const; + bool operator !=(const self_type &rhs) const; + + // Associative view + + /** Returns an iterator to the first child, in order. */ + assoc_iterator ordered_begin(); + /** Returns an iterator to the first child, in order. */ + const_assoc_iterator ordered_begin() const; + + /** Returns the not-found iterator. Equivalent to end() in a real + * associative container. + */ + assoc_iterator not_found(); + /** Returns the not-found iterator. Equivalent to end() in a real + * associative container. + */ + const_assoc_iterator not_found() const; + + /** Find a child with the given key, or not_found() if there is none. + * There is no guarantee about which child is returned if multiple have + * the same key. + */ + assoc_iterator find(const key_type &key); + + /** Find a child with the given key, or not_found() if there is none. + * There is no guarantee about which child is returned if multiple have + * the same key. + */ + const_assoc_iterator find(const key_type &key) const; + + /** Find the range of children that have the given key. */ + std::pair + equal_range(const key_type &key); + + /** Find the range of children that have the given key. */ + std::pair + equal_range(const key_type &key) const; + + /** Count the number of direct children with the given key. */ + size_type count(const key_type &key) const; + + /** Erase all direct children with the given key and return the count. + */ + size_type erase(const key_type &key); + + /** Get the iterator that points to the same element as the argument. + * @note A valid assoc_iterator range (a, b) does not imply that + * (to_iterator(a), to_iterator(b)) is a valid range. + */ + iterator to_iterator(assoc_iterator it); + + /** Get the iterator that points to the same element as the argument. + * @note A valid const_assoc_iterator range (a, b) does not imply that + * (to_iterator(a), to_iterator(b)) is a valid range. + */ + const_iterator to_iterator(const_assoc_iterator it) const; + + // Property tree view + + /** Reference to the actual data in this node. */ + data_type &data(); + + /** Reference to the actual data in this node. */ + const data_type &data() const; + + /** Clear this tree completely, of both data and children. */ + void clear(); + + /** Get the child at the given path, or throw @c ptree_bad_path. + * @note Depending on the path, the result at each level may not be + * completely determinate, i.e. if the same key appears multiple + * times, which child is chosen is not specified. This can lead + * to the path not being resolved even though there is a + * descendant with this path. Example: + * @code + * a -> b -> c + * -> b + * @endcode + * The path "a.b.c" will succeed if the resolution of "b" chooses + * the first such node, but fail if it chooses the second. + */ + self_type &get_child(const path_type &path); + + /** Get the child at the given path, or throw @c ptree_bad_path. */ + const self_type &get_child(const path_type &path) const; + + /** Get the child at the given path, or return @p default_value. */ + self_type &get_child(const path_type &path, self_type &default_value); + + /** Get the child at the given path, or return @p default_value. */ + const self_type &get_child(const path_type &path, + const self_type &default_value) const; + + /** Get the child at the given path, or return boost::null. */ + optional get_child_optional(const path_type &path); + + /** Get the child at the given path, or return boost::null. */ + optional + get_child_optional(const path_type &path) const; + + /** Set the node at the given path to the given value. Create any + * missing parents. If the node at the path already exists, replace it. + * @return A reference to the inserted subtree. + * @note Because of the way paths work, it is not generally guaranteed + * that a node newly created can be accessed using the same path. + * @note If the path could refer to multiple nodes, it is unspecified + * which one gets replaced. + */ + self_type &put_child(const path_type &path, const self_type &value); + + /** Add the node at the given path. Create any missing parents. If there + * already is a node at the path, add another one with the same key. + * @param path Path to the child. The last fragment must not have an + * index. + * @return A reference to the inserted subtree. + * @note Because of the way paths work, it is not generally guaranteed + * that a node newly created can be accessed using the same path. + */ + self_type &add_child(const path_type &path, const self_type &value); + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the supplied translator. + * @throw ptree_bad_data if the conversion fails. + */ + template + typename boost::enable_if, Type>::type + get_value(Translator tr) const; + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the default translator. + * @throw ptree_bad_data if the conversion fails. + */ + template + Type get_value() const; + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the supplied translator. Return @p default_value + * if this fails. + */ + template + Type get_value(const Type &default_value, Translator tr) const; + + /** Make get_value do the right thing for string literals. */ + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + get_value(const Ch *default_value, Translator tr) const; + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the default translator. Return @p default_value + * if this fails. + */ + template + typename boost::disable_if, Type>::type + get_value(const Type &default_value) const; + + /** Make get_value do the right thing for string literals. */ + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + get_value(const Ch *default_value) const; + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the supplied translator. Return boost::null if + * this fails. + */ + template + optional get_value_optional(Translator tr) const; + + /** Take the value of this node and attempt to translate it to a + * @c Type object using the default translator. Return boost::null if + * this fails. + */ + template + optional get_value_optional() const; + + /** Replace the value at this node with the given value, translated + * to the tree's data type using the supplied translator. + * @throw ptree_bad_data if the conversion fails. + */ + template + void put_value(const Type &value, Translator tr); + + /** Replace the value at this node with the given value, translated + * to the tree's data type using the default translator. + * @throw ptree_bad_data if the conversion fails. + */ + template + void put_value(const Type &value); + + /** Shorthand for get_child(path).get_value(tr). */ + template + typename boost::enable_if, Type>::type + get(const path_type &path, Translator tr) const; + + /** Shorthand for get_child(path).get_value\(). */ + template + Type get(const path_type &path) const; + + /** Shorthand for get_child(path, empty_ptree()) + * .get_value(default_value, tr). + * That is, return the translated value if possible, and the default + * value if the node doesn't exist or conversion fails. + */ + template + Type get(const path_type &path, + const Type &default_value, + Translator tr) const; + + /** Make get do the right thing for string literals. */ + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + get(const path_type &path, const Ch *default_value, Translator tr)const; + + /** Shorthand for get_child(path, empty_ptree()) + * .get_value(default_value). + * That is, return the translated value if possible, and the default + * value if the node doesn't exist or conversion fails. + */ + template + typename boost::disable_if, Type>::type + get(const path_type &path, const Type &default_value) const; + + /** Make get do the right thing for string literals. */ + template + typename boost::enable_if< + detail::is_character, + std::basic_string + >::type + get(const path_type &path, const Ch *default_value) const; + + /** Shorthand for: + * @code + * if(optional\ node = get_child_optional(path)) + * return node->get_value_optional(tr); + * return boost::null; + * @endcode + * That is, return the value if it exists and can be converted, or nil. + */ + template + optional get_optional(const path_type &path, Translator tr) const; + + /** Shorthand for: + * @code + * if(optional\ node = get_child_optional(path)) + * return node->get_value_optional(); + * return boost::null; + * @endcode + */ + template + optional get_optional(const path_type &path) const; + + /** Set the value of the node at the given path to the supplied value, + * translated to the tree's data type. If the node doesn't exist, it is + * created, including all its missing parents. + * @return The node that had its value changed. + * @throw ptree_bad_data if the conversion fails. + */ + template + self_type &put(const path_type &path, const Type &value, Translator tr); + + /** Set the value of the node at the given path to the supplied value, + * translated to the tree's data type. If the node doesn't exist, it is + * created, including all its missing parents. + * @return The node that had its value changed. + * @throw ptree_bad_data if the conversion fails. + */ + template + self_type &put(const path_type &path, const Type &value); + + /** If the node identified by the path does not exist, create it, + * including all its missing parents. + * If the node already exists, add a sibling with the same key. + * Set the newly created node's value to the given paremeter, + * translated with the supplied translator. + * @param path Path to the child. The last fragment must not have an + * index. + * @param value The value to add. + * @param tr The translator to use. + * @return The node that was added. + * @throw ptree_bad_data if the conversion fails. + */ + template + self_type &add(const path_type &path, + const Type &value, + Translator tr); + + /** If the node identified by the path does not exist, create it, + * including all its missing parents. + * If the node already exists, add a sibling with the same key. + * Set the newly created node's value to the given paremeter, + * translated with the supplied translator. + * @param path Path to the child. The last fragment must not have an + * index. + * @param value The value to add. + * @return The node that was added. + * @throw ptree_bad_data if the conversion fails. + */ + template + self_type &add(const path_type &path, const Type &value); + + private: + // Hold the data of this node + data_type m_data; + // Hold the children - this is a void* because we can't complete the + // container type within the class. + void* m_children; + + // Getter tree-walk. Not const-safe! Gets the node the path refers to, + // or null. Destroys p's value. + self_type* walk_path(path_type& p) const; + + // Modifer tree-walk. Gets the parent of the node referred to by the + // path, creating nodes as necessary. p is the path to the remaining + // child. + self_type& force_path(path_type& p); + + // This struct contains typedefs for the concrete types. + struct subs; + friend struct subs; + friend class iterator; + friend class const_iterator; + friend class reverse_iterator; + friend class const_reverse_iterator; + }; + +}} + +#include + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree_serialization.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree_serialization.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/ptree_serialization.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/ptree_serialization.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,102 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_PTREE_SERIALIZATION_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_PTREE_SERIALIZATION_HPP_INCLUDED + +#include + +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree +{ + + /////////////////////////////////////////////////////////////////////////// + // boost::serialization support + + /** + * Serialize the property tree to the given archive. + * @note In addition to serializing to regular archives, this supports + * serializing to archives requiring name-value pairs, e.g. XML + * archives. However, the output format in the XML archive is not + * guaranteed to be the same as that when using the Boost.PropertyTree + * library's @c boost::property_tree::xml_parser::write_xml. + * @param ar The archive to which to save the serialized property tree. + * This archive should conform to the concept laid out by the + * Boost.Serialization library. + * @param t The property tree to serialize. + * @param file_version file_version for the archive. + * @post @c ar will contain the serialized form of @c t. + */ + template + inline void save(Archive &ar, + const basic_ptree &t, + const unsigned int file_version) + { + using namespace boost::serialization; + stl::save_collection >(ar, t); + ar << make_nvp("data", t.data()); + } + + /** + * De-serialize the property tree to the given archive. + * @note In addition to de-serializing from regular archives, this supports + * loading from archives requiring name-value pairs, e.g. XML + * archives. The format should be that used by + * boost::property_tree::save. + * @param ar The archive from which to load the serialized property tree. + * This archive should conform to the concept laid out by the + * Boost.Serialization library. + * @param t The property tree to de-serialize. + * @param file_version file_version for the archive. + * @post @c t will contain the de-serialized data from @c ar. + */ + template + inline void load(Archive &ar, + basic_ptree &t, + const unsigned int file_version) + { + using namespace boost::serialization; + // Load children + stl::load_collection, + stl::archive_input_seq >, + stl::no_reserve_imp< + basic_ptree > + >(ar, t); + + // Load data (must be after load_collection, as it calls clear()) + ar >> make_nvp("data", t.data()); + } + + /** + * Load or store the property tree using the given archive. + * @param ar The archive from which to load or save the serialized property + * tree. The type of this archive will determine whether saving or + * loading is performed. + * @param t The property tree to load or save. + * @param file_version file_version for the archive. + */ + template + inline void serialize(Archive &ar, + basic_ptree &t, + const unsigned int file_version) + { + using namespace boost::serialization; + split_free(ar, t, file_version); + } + +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/stream_translator.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/stream_translator.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/stream_translator.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/stream_translator.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,221 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- + +#ifndef BOOST_PROPERTY_TREE_STREAM_TRANSLATOR_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_STREAM_TRANSLATOR_HPP_INCLUDED + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree +{ + + template + struct customize_stream + { + static void insert(std::basic_ostream& s, const E& e) { + s << e; + } + static void extract(std::basic_istream& s, E& e) { + s >> e; + if(!s.eof()) { + s >> std::ws; + } + } + }; + + // No whitespace skipping for single characters. + template + struct customize_stream + { + static void insert(std::basic_ostream& s, Ch e) { + s << e; + } + static void extract(std::basic_istream& s, Ch& e) { + s.unsetf(std::ios_base::skipws); + s >> e; + } + }; + + // Ugly workaround for numeric_traits that don't have members when not + // specialized, e.g. MSVC. + namespace detail + { + template + struct is_inexact_impl + { + template + struct test + { + typedef boost::false_type type; + }; + }; + template <> + struct is_inexact_impl + { + template + struct test + { + typedef boost::integral_constant::is_exact> type; + }; + }; + + template + struct is_inexact + { + typedef typename boost::decay::type decayed; + typedef typename is_inexact_impl< + std::numeric_limits::is_specialized + >::BOOST_NESTED_TEMPLATE test::type type; + static const bool value = type::value; + }; + } + + template + struct customize_stream >::type + > + { + static void insert(std::basic_ostream& s, const F& e) { + s.precision(std::numeric_limits::digits10 + 1); + s << e; + } + static void extract(std::basic_istream& s, F& e) { + s >> e; + if(!s.eof()) { + s >> std::ws; + } + } + }; + + template + struct customize_stream + { + static void insert(std::basic_ostream& s, bool e) { + s.setf(std::ios_base::boolalpha); + s << e; + } + static void extract(std::basic_istream& s, bool& e) { + s >> e; + if(s.fail()) { + // Try again in word form. + s.clear(); + s.setf(std::ios_base::boolalpha); + s >> e; + } + if(!s.eof()) { + s >> std::ws; + } + } + }; + + template + struct customize_stream + { + static void insert(std::basic_ostream& s, signed char e) { + s << (int)e; + } + static void extract(std::basic_istream& s, signed char& e) { + int i; + s >> i; + // out of range? + if(i > (std::numeric_limits::max)() || + i < (std::numeric_limits::min)()) + { + s.clear(); // guarantees eof to be unset + return; + } + e = (signed char)i; + if(!s.eof()) { + s >> std::ws; + } + } + }; + + template + struct customize_stream + { + static void insert(std::basic_ostream& s, unsigned char e) { + s << (unsigned)e; + } + static void extract(std::basic_istream& s, unsigned char& e){ + unsigned i; + s >> i; + // out of range? + if(i > (std::numeric_limits::max)()) { + s.clear(); // guarantees eof to be unset + return; + } + e = (unsigned char)i; + if(!s.eof()) { + s >> std::ws; + } + } + }; + + /// Implementation of Translator that uses the stream overloads. + template + class stream_translator + { + typedef customize_stream customized; + public: + typedef std::basic_string internal_type; + typedef E external_type; + + explicit stream_translator(std::locale loc = std::locale()) + : m_loc(loc) + {} + + boost::optional get_value(const internal_type &v) { + std::basic_istringstream iss(v); + iss.imbue(m_loc); + E e; + customized::extract(iss, e); + if(iss.fail() || iss.bad() || iss.get() != Traits::eof()) { + return boost::optional(); + } + return e; + } + boost::optional put_value(const E &v) { + std::basic_ostringstream oss; + oss.imbue(m_loc); + customized::insert(oss, v); + if(oss) { + return oss.str(); + } + return boost::optional(); + } + + private: + std::locale m_loc; + }; + + // This is the default translator when basic_string is the internal type. + // Unless the external type is also basic_string, in which case + // id_translator takes over. + template + struct translator_between, E> + { + typedef stream_translator type; + }; + +}} + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/string_path.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/string_path.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/string_path.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/string_path.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,273 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- + +#ifndef BOOST_PROPERTY_TREE_STRING_PATH_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_STRING_PATH_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace property_tree +{ + namespace detail + { + template + void append_and_preserve_iter(Sequence &s, const Sequence &r, + Iterator &, std::forward_iterator_tag) + { + // Here we boldly assume that anything that is not random-access + // preserves validity. This is valid for the STL sequences. + s.insert(s.end(), r.begin(), r.end()); + } + template + void append_and_preserve_iter(Sequence &s, const Sequence &r, + Iterator &it, + std::random_access_iterator_tag) + { + // Convert the iterator to an index, and later back. + typename std::iterator_traits::difference_type idx = + it - s.begin(); + s.insert(s.end(), r.begin(), r.end()); + it = s.begin() + idx; + } + + template + inline std::string dump_sequence(const Sequence &) + { + return ""; + } + inline std::string dump_sequence(const std::string &s) + { + return s; + } +#ifndef BOOST_NO_STD_WSTRING + inline std::string dump_sequence(const std::wstring &s) + { + return narrow(s.c_str()); + } +#endif + } + + /// Default path class. A path is a sequence of values. Groups of values + /// are separated by the separator value, which defaults to '.' cast to + /// the sequence's value type. The group of values is then passed to the + /// translator to get a key. + /// + /// If instantiated with std::string and id_translator\, + /// it accepts paths of the form "one.two.three.four". + /// + /// @tparam String Any Sequence. If the sequence does not support random- + /// access iteration, concatenation of paths assumes that + /// insertions at the end preserve iterator validity. + /// @tparam Translator A translator with internal_type == String. + template + class string_path + { + BOOST_STATIC_ASSERT((is_same::value)); + public: + typedef typename Translator::external_type key_type; + typedef typename String::value_type char_type; + + /// Create an empty path. + explicit string_path(char_type separator = char_type('.')); + /// Create a path by parsing the given string. + /// @param value A sequence, possibly with separators, that describes + /// the path, e.g. "one.two.three". + /// @param separator The separator used in parsing. Defaults to '.'. + /// @param tr The translator used by this path to convert the individual + /// parts to keys. + string_path(const String &value, char_type separator = char_type('.'), + Translator tr = Translator()); + /// Create a path by parsing the given string. + /// @param value A zero-terminated array of values. Only use if zero- + /// termination makes sense for your type, and your + /// sequence supports construction from it. Intended for + /// string literals. + /// @param separator The separator used in parsing. Defaults to '.'. + /// @param tr The translator used by this path to convert the individual + /// parts to keys. + string_path(const char_type *value, + char_type separator = char_type('.'), + Translator tr = Translator()); + + // Default copying doesn't do the right thing with the iterator + string_path(const string_path &o); + string_path& operator =(const string_path &o); + + /// Take a single element off the path at the front and return it. + key_type reduce(); + + /// Test if the path is empty. + bool empty() const; + + /// Test if the path contains a single element, i.e. no separators. + bool single() const; + + std::string dump() const { + return detail::dump_sequence(m_value); + } + + /// Append a second path to this one. + /// @pre o's separator is the same as this one's, or o has no separators + string_path& operator /=(const string_path &o) { + // If it's single, there's no separator. This allows to do + // p /= "piece"; + // even for non-default separators. + assert((m_separator == o.m_separator || o.empty() || o.single()) + && "Incompatible paths."); + if(!o.empty()) { + String sub; + if(!this->empty()) { + sub.push_back(m_separator); + } + sub.insert(sub.end(), o.cstart(), o.m_value.end()); + detail::append_and_preserve_iter(m_value, sub, m_start, + typename std::iterator_traits::iterator_category()); + } + return *this; + } + + private: + typedef typename String::iterator s_iter; + typedef typename String::const_iterator s_c_iter; + String m_value; + char_type m_separator; + Translator m_tr; + s_iter m_start; + s_c_iter cstart() const { return m_start; } + }; + + template inline + string_path::string_path(char_type separator) + : m_separator(separator), m_start(m_value.begin()) + {} + + template inline + string_path::string_path(const String &value, + char_type separator, + Translator tr) + : m_value(value), m_separator(separator), + m_tr(tr), m_start(m_value.begin()) + {} + + template inline + string_path::string_path(const char_type *value, + char_type separator, + Translator tr) + : m_value(value), m_separator(separator), + m_tr(tr), m_start(m_value.begin()) + {} + + template inline + string_path::string_path(const string_path &o) + : m_value(o.m_value), m_separator(o.m_separator), + m_tr(o.m_tr), m_start(m_value.begin()) + { + std::advance(m_start, std::distance(o.m_value.begin(), o.cstart())); + } + + template inline + string_path& + string_path::operator =(const string_path &o) + { + m_value = o.m_value; + m_separator = o.m_separator; + m_tr = o.m_tr; + m_start = m_value.begin(); + std::advance(m_start, std::distance(o.m_value.begin(), o.cstart())); + return *this; + } + + template + typename Translator::external_type string_path::reduce() + { + assert(!empty() && "Reducing empty path"); + + s_iter next_sep = std::find(m_start, m_value.end(), m_separator); + String part(m_start, next_sep); + m_start = next_sep; + if(!empty()) { + // Unless we're at the end, skip the separator we found. + ++m_start; + } + + if(optional key = m_tr.get_value(part)) { + return *key; + } + BOOST_PROPERTY_TREE_THROW(ptree_bad_path("Path syntax error", *this)); + } + + template inline + bool string_path::empty() const + { + return m_start == m_value.end(); + } + + template inline + bool string_path::single() const + { + return std::find(static_cast(m_start), + m_value.end(), m_separator) + == m_value.end(); + } + + // By default, this is the path for strings. You can override this by + // specializing path_of for a more specific form of std::basic_string. + template + struct path_of< std::basic_string > + { + typedef std::basic_string _string; + typedef string_path< _string, id_translator<_string> > type; + }; + + template inline + string_path operator /( + string_path p1, + const string_path &p2) + { + p1 /= p2; + return p1; + } + + // These shouldn't be necessary, but GCC won't find the one above. + template inline + string_path operator /( + string_path p1, + const typename String::value_type *p2) + { + p1 /= p2; + return p1; + } + + template inline + string_path operator /( + const typename String::value_type *p1, + const string_path &p2) + { + string_path t(p1); + t /= p2; + return t; + } + +}} + +#endif diff -Nru mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/xml_parser.hpp mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/xml_parser.hpp --- mkvtoolnix-4.0.0/lib/boost/property_tree/boost/property_tree/xml_parser.hpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/boost/property_tree/boost/property_tree/xml_parser.hpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,153 @@ +// ---------------------------------------------------------------------------- +// Copyright (C) 2002-2006 Marcin Kalicinski +// Copyright (C) 2009 Sebastian Redl +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see www.boost.org +// ---------------------------------------------------------------------------- +#ifndef BOOST_PROPERTY_TREE_XML_PARSER_HPP_INCLUDED +#define BOOST_PROPERTY_TREE_XML_PARSER_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace property_tree { namespace xml_parser +{ + + /** + * Reads XML from an input stream and translates it to property tree. + * @note Clears existing contents of property tree. In case of error the + * property tree unmodified. + * @note XML attributes are placed under keys named @c \. + * @throw xml_parser_error In case of error deserializing the property tree. + * @param stream Stream from which to read in the property tree. + * @param[out] pt The property tree to populate. + * @param flags Flags controlling the behaviour of the parser. + * The following flags are supported: + * @li @c no_concat_text -- Prevents concatenation of text nodes into + * datastring of property tree. Puts them in + * separate @c \ strings instead. + * @li @c no_comments -- Skip XML comments. + * @li @c trim_whitespace -- Trim leading and trailing whitespace from text, + * and collapse sequences of whitespace. + */ + template + void read_xml(std::basic_istream< + typename Ptree::key_type::value_type + > &stream, + Ptree &pt, + int flags = 0) + { + read_xml_internal(stream, pt, flags, std::string()); + } + + /** + * Reads XML from a file using the given locale and translates it to + * property tree. + * @note Clears existing contents of property tree. In case of error the + * property tree unmodified. + * @note XML attributes are placed under keys named @c \. + * @throw xml_parser_error In case of error deserializing the property tree. + * @param filename The file from which to read in the property tree. + * @param[out] pt The property tree to populate. + * @param flags Flags controlling the bahviour of the parser. + * The following flags are supported: + * @li @c no_concat_text -- Prevents concatenation of text nodes into + * datastring of property tree. Puts them in + * separate @c \ strings instead. + * @li @c no_comments -- Skip XML comments. + * @param loc The locale to use when reading in the file contents. + */ + template + void read_xml(const std::string &filename, + Ptree &pt, + int flags = 0, + const std::locale &loc = std::locale()) + { + BOOST_ASSERT(validate_flags(flags)); + std::basic_ifstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(xml_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + read_xml_internal(stream, pt, flags, filename); + } + + /** + * Translates the property tree to XML and writes it the given output + * stream. + * @throw xml_parser_error In case of error translating the property tree to + * XML or writing to the output stream. + * @param stream The stream to which to write the XML representation of the + * property tree. + * @param pt The property tree to tranlsate to XML and output. + * @param settings The settings to use when writing out the property tree as + * XML. + */ + template + void write_xml(std::basic_ostream< + typename Ptree::key_type::value_type + > &stream, + const Ptree &pt, + const xml_writer_settings< + typename Ptree::key_type::value_type + > & settings = xml_writer_settings< + typename Ptree::key_type::value_type>() ) + { + write_xml_internal(stream, pt, std::string(), settings); + } + + /** + * Translates the property tree to XML and writes it the given file. + * @throw xml_parser_error In case of error translating the property tree to + * XML or writing to the output stream. + * @param filename The file to which to write the XML representation of the + * property tree. + * @param pt The property tree to tranlsate to XML and output. + * @param loc The locale to use when writing the output to file. + * @param settings The settings to use when writing out the property tree as + * XML. + */ + template + void write_xml(const std::string &filename, + const Ptree &pt, + const std::locale &loc = std::locale(), + const xml_writer_settings< + typename Ptree::key_type::value_type + > & settings = xml_writer_settings< + typename Ptree::key_type::value_type>()) + { + std::basic_ofstream + stream(filename.c_str()); + if (!stream) + BOOST_PROPERTY_TREE_THROW(xml_parser_error( + "cannot open file", filename, 0)); + stream.imbue(loc); + write_xml_internal(stream, pt, filename, settings); + } + +} } } + +namespace boost { namespace property_tree +{ + using xml_parser::read_xml; + using xml_parser::write_xml; + using xml_parser::xml_parser_error; + + using xml_parser::xml_writer_settings; + using xml_parser::xml_writer_make_settings; +} } + +#endif diff -Nru mkvtoolnix-4.0.0/lib/librmff/Makefile.in mkvtoolnix-4.5.0+dfsg/lib/librmff/Makefile.in --- mkvtoolnix-4.0.0/lib/librmff/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/librmff/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C .. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/lib/librmff/Rakefile mkvtoolnix-4.5.0+dfsg/lib/librmff/Rakefile --- mkvtoolnix-4.0.0/lib/librmff/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/librmff/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/lib/Rakefile mkvtoolnix-4.5.0+dfsg/lib/Rakefile --- mkvtoolnix-4.0.0/lib/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/lib/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/Makefile.in mkvtoolnix-4.5.0+dfsg/Makefile.in --- mkvtoolnix-4.0.0/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,640 +0,0 @@ -# What are we dealing with? -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -@SET_MAKE@ -SHELL = @SHELL@ - -# Where to? -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datarootdir = @datarootdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -man1dir = $(mandir)/man1 -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -localedir = $(datadir)/locale - -# Common programs -AR = @AR@ -CC = @CC@ -CPP = @CPP@ -CXX = @CXX@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_HEADER = $(INSTALL_DATA) -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -LD = @LD@ -MOC = @MOC@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -UIC = @UIC@ -WINDRES = @WINDRES@ - -# Variable stuff as set by configure -BZ2_LIBS = @BZ2_LIBS@ -BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ -BOOST_FILESYSTEM_LIB = @BOOST_FILESYSTEM_LIB@ -BOOST_LDFLAGS = @BOOST_LDFLAGS@ -BOOST_REGEX_LIB = @BOOST_REGEX_LIB@ -BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@ -DEBUG_CFLAGS = @DEBUG_CFLAGS@ -DOCBOOK_MANPAGES_STYLESHEET = @DOCBOOK_MANPAGES_STYLESHEET@ -DOCBOOK_ROOT = @DOCBOOK_ROOT@ -EBML_CFLAGS = @EBML_CFLAGS@ -EBML_LIBS = @EBML_LIBS@ -EXPAT_CFLAGS = @EXPAT_CFLAGS@ -EXPAT_LIBS = @EXPAT_LIBS@ -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ -LDFLAGS_RPATHS = @LDFLAGS_RPATHS@ -FLAC_LIBS = @FLAC_LIBS@ -ICONV_LIBS = @ICONV_LIBS@ -LIBINTL_LIBS = @LIBINTL_LIBS@ -LZO_LIBS = @LZO_LIBS@ -MAGIC_LIBS = @MAGIC_LIBS@ -MATROSKA_CFLAGS = @MATROSKA_CFLAGS@ -MATROSKA_LIBS = @MATROSKA_LIBS@ -MINGW_GUIAPP = @MINGW_GUIAPP@ -MINGW_LIBS = @MINGW_LIBS@ -MINGW = @MINGW@ -OGG_LIBS = @OGG_LIBS@ -OPTIMIZATION_CFLAGS = @OPTIMIZATION_CFLAGS@ -PO4A = @PO4A@ -PO4A_TRANSLATE = @PO4A_TRANSLATE@ -PO4A_FLAGS = @PO4A_FLAGS@ -PO4A_TRANSLATE_FLAGS = @PO4A_TRANSLATE_FLAGS@ -PO4A_WORKS = @PO4A_WORKS@ -PROFILING_CFLAGS = @PROFILING_CFLAGS@ -PROFILING_LIBS = @PROFILING_LIBS@ -QT_CFLAGS = @QT_CFLAGS@ -QT_LIBS = @QT_LIBS@ -USE_PRECOMPILED_HEADERS = @USE_PRECOMPILED_HEADERS@ -USER_CPPFLAGS = @USER_CPPFLAGS@ -USER_CXXFLAGS = @USER_CXXFLAGS@ -USER_CFLAGS = @USER_CFLAGS@ -USER_LDFLAGS = @USER_LDFLAGS@ -VORBIS_LIBS = @VORBIS_LIBS@ -WXWIDGETS_CFLAGS = @WXWIDGETS_CFLAGS@ -WXWIDGETS_INCLUDES = @WXWIDGETS_INCLUDES@ -WXWIDGETS_LIBS = @WXWIDGETS_LIBS@ -XSLTPROC = @XSLTPROC@ -XSLTPROC_FLAGS = @XSLTPROC_FLAGS@ -XSLTPROC_WORKS = @XSLTPROC_WORKS@ -ZLIB_LIBS = @ZLIB_LIBS@ - -WARNING_CFLAGS = -Wall -Wno-sign-compare -Wno-comment -Wno-strict-aliasing - -CFLAGS = $(OPTIMIZATION_CFLAGS) $(WARNING_CFLAGS) -D_FILE_OFFSET_BITS=64 \ - $(EXTRA_CFLAGS) $(DEBUG_CFLAGS) $(PROFILING_CFLAGS) $(MATROSKA_CFLAGS) $(EBML_CFLAGS) \ - $(USER_CPPFLAGS) $(USER_CFLAGS) -CXXFLAGS = $(OPTIMIZATION_CFLAGS) $(WARNING_CFLAGS) -D_FILE_OFFSET_BITS=64 \ - $(EXTRA_CFLAGS) $(DEBUG_CFLAGS) $(PROFILING_CFLAGS) $(MATROSKA_CFLAGS) $(EBML_CFLAGS) \ - $(WXWIDGETS_CFLAGS) $(QT_CFLAGS) $(BOOST_CPPFLAGS) \ - $(USER_CPPFLAGS) $(USER_CXXFLAGS) -CPPFLAGS = $(USER_CPPFLAGS) @CPPFLAGS@ -LDFLAGS = $(EXTRA_LDFLAGS) $(PROFILING_LIBS) $(USER_LDFLAGS) $(LDFLAGS_RPATHS) $(BOOST_LDFLAGS) - -CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\" -CXXFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\" -CXXFLAGS += -DMTX_LOCALE_DIR=\"$(localedir)\" \ - -DMTX_PKG_DATA_DIR=\"$(pkgdatadir)\" - -# Which additional stuff to compile -USE_WXWIDGETS = @USE_WXWIDGETS@ -USE_QT = @USE_QT@ - -LIBMTXCOMMONDLL=@LIBMTXCOMMONDLL@ -ifeq (1,$(LIBMTXCOMMONDLL)) -LIBMTXCOMMONEXT = dll -CXXFLAGS_SRC_COMMON += -DMTX_DLL_EXPORT -CXXFLAGS_NO_SRC_COMMON += -DMTX_DLL -else -LIBMTXCOMMONEXT = a -endif - -ifeq (1,$(MINGW)) -mmg_RESOURCES = src/mmg/mmg-resources.rc -mkvmerge_RESOURCES = src/merge/resources.rc -mkvinfo_RESOURCES = src/info/resources.rc -mkvextract_RESOURCES = src/extract/resources.rc -mkvpropedit_RESOURCES = src/propedit/resources.rc -LIBRPCRT = -lrpcrt4 -LIBS_WINGUI = -lole32 -lshell32 -LDFLAGS += -Wl,--enable-auto-import -endif - -DEP_COMMON = src/common/libmtxcommon.$(LIBMTXCOMMONEXT) -DEP_EBMLCOMMON = src/common/libmtxebmlcommon.a -DEP_KAXCOMMON = src/common/libmtxkaxcommon.a -DEP_INPUT = src/input/libmtxinput.a -DEP_OUTPUT = src/output/libmtxoutput.a -DEP_AVI = lib/avilib-0.6.10/libavi.a -DEP_RMFF = lib/librmff/librmff.a -DEP_MPEGPARSER = src/mpegparser/libmpegparser.a -COMPRESSION_LIBRARIES = $(LZO_LIBS) $(BZ2_LIBS) - -APPLICATIONS = src/mkvmerge@EXEEXT@ src/mkvinfo@EXEEXT@ src/mkvextract@EXEEXT@ src/mkvpropedit@EXEEXT@ -MANPAGES = doc/man/mkvmerge.1 doc/man/mkvinfo.1 doc/man/mkvextract.1 doc/man/mkvpropedit.1 -ifeq (yes,$(USE_WXWIDGETS)) -APPLICATIONS += src/mmg/mmg@EXEEXT@ -MANPAGES += doc/man/mmg.1 -endif - -TRANSLATIONS = @TRANSLATIONS@ -TRANSLATIONS_POS = @TRANSLATIONS_POS@ -TRANSLATIONS_MOS = $(patsubst %.po,%.mo,$(TRANSLATIONS_POS)) - -MANPAGES_TRANSLATIONS = @MANPAGES_TRANSLATIONS@ -MANPAGES_TRANSLATIONS_POS = @MANPAGES_TRANSLATIONS_POS@ -MANPAGES_TRANSLATED = @MANPAGES_TRANSLATED@ - -GUIDE_TRANSLATIONS = @GUIDE_TRANSLATIONS@ - -HTMLHELPBOOKS = mkvmerge-gui-book - -SYSTEM_INCLUDES = -I. -Ilib -Ilib/avilib-0.6.10 -Ilib/utf8-cpp/source -Isrc -SYSTEM_LIBDIRS = -Llib/avilib-0.6.10 -Llib/librmff \ - -Lsrc/common -Lsrc/input -Lsrc/output -Lsrc/mpegparser - -RUNAR = $(AR) rcu -LINK = $(CXX) $(LDFLAGS) $(LIBDIRS) $(SYSTEM_LIBDIRS) -LINKSHARED = $(CXX) $(LDFLAGS) $(LIBDIRS) $(SYSTEM_LIBDIRS) \ - -shared -Wl,--export-all -CXXCOMPILE = $(CXX) $(CXXFLAGS) $(INCLUDES) $(SYSTEM_INCLUDES) -CCOMPILE = $(CC) $(CFLAGS) $(INCLUDES) $(SYSTEM_INCLUDES) -RCCOMPILE = $(WINDRES) $(WXWIDGETS_INCLUDES) -Isrc/mmg - -ALL_SOURCES=$(wildcard lib/avilib-0.6.10/*.c) $(wildcard lib/avilib-0.6.10/*.cpp) \ - $(wildcard lib/librmff/*.c) \ - $(wildcard src/*.cpp) $(wildcard src/input/*.cpp) \ - $(wildcard src/output/*.cpp) $(wildcard src/common/*.cpp) \ - $(wildcard src/common/*/*.cpp) \ - $(wildcard src/mmg/*.cpp) $(wildcard src/mmg/*/*.cpp) \ - $(wildcard src/extract/*.cpp) $(wildcard src/propedit/*.cpp) \ - $(wildcard src/merge/*.cpp) $(wildcard src/info/*.cpp) \ - $(wildcard src/mpegparser/*.cpp) \ - $(patsubst %.ui,%.h,$(UIFILES)) - -ALL_HEADERS=$(wildcard lib/avilib-0.6.10/*.h) $(wildcard lib/librmff/*.h) \ - $(wildcard src/*.h) $(wildcard src/input/*.h) \ - $(wildcard src/output/*.h) $(wildcard src/common/*.h) \ - $(wildcard src/mmg/*.h) $(wildcard src/mmg/*/*.h) \ - $(wildcard src/extract/*.h) $(willdcard src/propedit/*.h) \ - $(wildcard src/merge/*.h) $(wildcard src/info/*.h) \ - $(wildcard src/mpegparser/*.h) $(wildcard src/common/*/*.h) - -ALL_OBJECTS=$(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(patsubst %.h,%.o,$(ALL_SOURCES)))) - -ifeq ($(V),1) - Q = - SQ = echo -else - Q = @ - SQ = true -endif - -.DEFAULT_GOAL := all - -ifeq (1,$(TOOLS)) -include src/tools/Makefile -endif - -# Only rebuild the TAGS file if one is already present by a previous -# call to "make tags". This is only useful for developers. -ifneq (,$(wildcard TAGS)) -ifdef ETAGS - TAGSFILE = TAGS -endif -endif - -# Only rebuild the man pages if both xsltproc and the DocBook -# stylesheet have been found by configure. -ifeq ($(XSLTPROC_WORKS),yes) - MANPAGES_DEP = $(MANPAGES) -ifeq (yes,$(PO4A_WORKS)) - MANPAGES_DEP += $(MANPAGES_TRANSLATED) -endif -endif - -all: $(MANPAGES_DEP) $(TAGSFILE) $(APPLICATIONS) $(TRANSLATIONS_MOS) $(HTMLHELPBOOKS) - -install: install-programs install-mans install-translated-mans install-trans install-guide - -install-programs: $(APPLICATIONS) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(APPLICATIONS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ - else :; fi; \ - done - -install-mans: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @for i in $(MANPAGES); do \ - inst=`echo $$i | sed -e 's/^.*\///'`; \ - echo " $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$inst; \ - done - -install-translated-mans: - @for lang in $(MANPAGES_TRANSLATIONS); do \ - $(mkinstalldirs) $(DESTDIR)$(mandir)/$$lang/man1; \ - for manpage in $(MANPAGES); do \ - inst=`echo $$manpage | sed -e 's/^.*\///'`; \ - manpage=`echo $$manpage | sed -e "s/doc\/man/doc\/man\/$$lang/"`; \ - echo " $(INSTALL_DATA) $$manpage $(DESTDIR)$(mandir)/$$lang/man1/$$inst"; \ - $(INSTALL_DATA) $$manpage $(DESTDIR)$(mandir)/$$lang/man1/$$inst; \ - done; \ - done - -install-trans: - @for i in $(TRANSLATIONS); do \ - echo "$(mkinstalldirs) $(DESTDIR)$(localedir)/$$i/LC_MESSAGES"; \ - $(mkinstalldirs) $(DESTDIR)$(localedir)/$$i/LC_MESSAGES; \ - echo "$(INSTALL_DATA) po/$$i.mo $(DESTDIR)$(localedir)/$$i/LC_MESSAGES/mkvtoolnix.mo"; \ - $(INSTALL_DATA) po/$$i.mo $(DESTDIR)$(localedir)/$$i/LC_MESSAGES/mkvtoolnix.mo; \ - done - -install-guide: - $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) - @for lang in $(GUIDE_TRANSLATIONS); do \ - $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/guide/$$lang/images ; \ - for file in doc/guide/$$lang/mkvmerge-gui.*; do \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/; \ - done; \ - for file in doc/guide/$$lang/images/*gif; do \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/images/"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/guide/$$lang/images/; \ - done; \ - done - -manpages: $(MANPAGES) - -translated-manpages: $(MANPAGES_TRANSLATED) - -update-manpage-po update-man-po: - $(PO4A) $(PO4A_FLAGS) doc/man/po4a/po4a.cfg - -# Some general rules -ifeq (1,$(LIBMTXCOMMONDLL)) -%.o: %.cpp - @echo ' CXX ' $< - @if echo $@ | $(GREP) src.common > /dev/null 2>&1; then \ - test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -o $@ $< ; \ - $(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -MMD -o $@ $< ; \ - ./handle_deps $@ $$? ; \ - else \ - test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON) -c -o $@ $< ; \ - $(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON)-MMD -c -o $@ $< ; \ - ./handle_deps $@ $$? ; \ - fi -else -%.o: %.cpp - @echo ' CXX ' $< - $(Q)$(CXXCOMPILE) -MMD -c -o $@ $< ; ./handle_deps $@ $$? -endif - -%.o: %.c - @echo ' CC ' $< - $(Q)$(CCOMPILE) -MMD -c -o $@ $< ; ./handle_deps $@ $$? - -%.o: %.rc - @echo ' WINDRES ' $< - $(Q)$(RCCOMPILE) -o $@ $< - -ifeq (yes,$(USE_PRECOMPILED_HEADERS)) -$(ALL_OBJECTS): src/common/common.h.gch -endif - -%.h.gch: %.h - @echo ' CXX ' $< - @if echo $@ | $(GREP) src.common > /dev/null 2>&1; then \ - test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -o $@ $< ; \ - $(CXXCOMPILE) $(CXXFLAGS_SRC_COMMON) -c -MMD -o $@ $< ; \ - ./handle_deps $@ $$? ; \ - else \ - test x$(V) = "x1" && echo $(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON) -c -o $@ $< ; \ - $(CXXCOMPILE) $(CXXFLAGS_NO_SRC_COMMON)-MMD -c -o $@ $< ; \ - ./handle_deps $@ $$? ; \ - fi - -%.mo: %.po - @echo ' MSGFMT ' $< - $(Q)msgfmt -o $@ $< - -# HTML help book stuff -%.hhk: %.hhc - @echo ' GREP ' $< - $(Q)$(GREP) -v 'name="ID"' $< > $@ - -# man pages from DocBook XML -%.1: %.xml - @echo 'XSLTPROC ' $< - $(Q)$(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(DOCBOOK_MANPAGES_STYLESHEET) $< - -# translated DocBook XML -@MANPAGES_TRANSLATED_XML_RULE@ - -# Qt files -%.h: %.ui - @echo ' UIC ' $< - $(Q)$(UIC) $< > $@ - -%.moc.cpp: %.h - @echo ' MOC ' $< - $(Q)$(MOC) $(QT_CFLAGS) $< > $@ - -clean: - rm -f *.o */*.o */*/*.o */lib*.a */*/lib*.a po/*.mo $(APPLICATIONS) \ - */*.exe */*/*.exe */*/*.dll */*/*.dll.a doc/*.hhk \ - src/info/ui/*.h src/info/*.moc.cpp src/common/*/*.o \ - src/mmg/*/*.o src/*/*.gch - -distclean dist-clean: clean - rm -f config.h config.log config.cache Makefile */Makefile */*/Makefile TAGS - rm -rf .deps - -maintainer-clean: distclean - rm -f configure config.h.in - -clean-libs: - rm -f */lib*.a */*/lib*.a */*/*.dll */*/*.dll.a - -clean-apps clean-applications clean-exe: - rm -f $(APPLICATIONS) */*.exe */*/*.exe - -create-pot: - @echo 'XGETTEXT' - $(Q)xgettext --keyword=YT --keyword=Y --keyword=Z --keyword=TIP \ - --default-domain=mkvtoolnix --from-code=UTF-8 -s --omit-header -o po/mkvtoolnix.pot \ - $(ALL_SOURCES) $(ALL_HEADERS) - -update-po: create-pot - @for i in po/*.po ; do \ - echo 'MSGMERGE ' $$i ; \ - $(SQ) msgmerge -q -s --no-wrap $$i po/mkvtoolnix.pot ; \ - msgmerge -q -s --no-wrap $$i po/mkvtoolnix.pot > $$i.new ; \ - mv $$i.new $$i ; \ - done - @rm po/mkvtoolnix.pot - @for i in ru nl zh_CN zh_TW ; do \ - perl -ni -e 'if (m/^#:/) { s/(\d) /$$1\n#: /g; print; } elsif (m/^#~/) { $$nonl = 1; print; } elsif (!($$nonl && m/^\s*$$/)) { print; }' po/$$i.po ; \ - echo >> po/$$i.po ; \ - done - -po-stats po-statistics: - @for i in po/*.po doc/man/po4a/po/*.po; do \ - echo ' MSGFMT ' $$i ; \ - $(SQ) msgfmt --statistics -o /dev/null $$i ; \ - msgfmt --statistics -o /dev/null $$i ; \ - done - -mkvmerge-gui-book: $(patsubst %,doc/guide/%/mkvmerge-gui.hhk,$(GUIDE_TRANSLATIONS)) - -tags: TAGS - -TAGS: $(ALL_SOURCES) - @echo ' ETAGS' - $(Q)$(ETAGS) -o $@ $^ - -# -# avilib-0.6.10 -# - -libavi_SOURCES = $(wildcard lib/avilib-0.6.10/*.c) $(wildcard lib/avilib-0.6.10/*.cpp) -libavi_OBJECTS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(libavi_SOURCES))) - -lib/avilib-0.6.10/libavi.a: $(libavi_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(libavi_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# librmff -# -librmff_SOURCES = $(wildcard lib/librmff/*.c) -librmff_OBJECTS := $(patsubst %.c,%.o,$(librmff_SOURCES)) - -lib/librmff/librmff.a: $(librmff_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(librmff_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# spyder's MPEG parser -# -libmpegparser_SOURCES = $(wildcard src/mpegparser/*.cpp) -libmpegparser_OBJECTS := $(patsubst %.cpp,%.o,$(libmpegparser_SOURCES)) - -src/mpegparser/libmpegparser.a: $(libmpegparser_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(libmpegparser_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# src/common -# - -libmtxcommon_SOURCES = $(wildcard src/common/*.cpp) $(wildcard src/common/*/*.cpp) -libmtxcommon_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxcommon_SOURCES)) - -src/common/libmtxcommon.dll: $(libmtxcommon_OBJECTS) - @echo ' LD/DLL ' $@ - $(Q)$(LINKSHARED) -Wl,--out-implib=$@.a -o $@ $(libmtxcommon_OBJECTS) \ - -liconv -lz $(COMPRESSION_LIBRARIES) -lmatroska -lebml \ - -lexpat -lrpcrt4 - -src/common/libmtxcommon.a: $(libmtxcommon_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(libmtxcommon_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# src/input -# - -libmtxinput_SOURCES = $(wildcard src/input/*.cpp) -libmtxinput_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxinput_SOURCES)) - -src/input/libmtxinput.a: $(libmtxinput_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(libmtxinput_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# src/output -# - -libmtxoutput_SOURCES = $(wildcard src/output/*.cpp) -libmtxoutput_OBJECTS := $(patsubst %.cpp,%.o,$(libmtxoutput_SOURCES)) - -src/output/libmtxoutput.a: $(libmtxoutput_OBJECTS) - @rm -f $@ - @echo ' AR ' $@ - $(Q)$(RUNAR) $@ $(libmtxoutput_OBJECTS) - @echo ' RANLIB ' $@ - $(Q)$(RANLIB) $@ - -# -# src/merge -# - -mkvmerge_SOURCES = $(wildcard src/merge/*.cpp) -mkvmerge_OBJECTS := $(patsubst %.cpp,%.o,$(mkvmerge_SOURCES)) \ - $(patsubst %.rc,%.o,$(mkvmerge_RESOURCES)) -mkvmerge_DEPENDENCIES += $(DEP_COMMON) \ - $(DEP_COMP) $(DEP_INPUT) $(DEP_OUTPUT) $(DEP_AVI) $(DEP_RMFF) \ - $(DEP_MPEGPARSER) -mkvmerge_LDADD = -lmtxinput -lmtxoutput \ - -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \ - -lavi -lrmff -lmpegparser \ - $(FLAC_LIBS) -lvorbis -logg -lz $(COMPRESSION_LIBRARIES) \ - -lexpat $(ICONV_LIBS) $(LIBINTL_LIBS) $(LIBRPCRT) \ - $(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) - -# -# src/info -# - -mkvinfo_SOURCES = src/info/mkvinfo.cpp src/info/console_ui.cpp -mkvinfo_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \ - $(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) - -ifeq (yes,$(USE_QT)) -mkvinfo_SOURCES += src/info/qt_ui.cpp src/info/qt_ui.moc.cpp \ - src/info/rightclick_tree_widget.moc.cpp -mkvinfo_UIFILES = $(patsubst %.ui,%.h,$(wildcard src/info/ui/*.ui)) -mkvinfo_LDADD += $(QT_LIBS) - -src/info/qt_ui.o: $(wildcard src/info/ui/*.ui) - -else -ifeq (yes,$(USE_WXWIDGETS)) -mkvinfo_SOURCES += src/info/wxwidgets_ui.cpp -mkvinfo_LDADD += $(WXWIDGETS_LIBS) -endif -endif - -mkvinfo_OBJECTS := $(patsubst %.cpp,%.o,$(mkvinfo_SOURCES)) \ - $(patsubst %.rc,%.o,$(mkvinfo_RESOURCES)) -mkvinfo_DEPENDENCIES += $(DEP_COMMON) -mkvinfo_LDADD += -lexpat $(ICONV_LIBS) $(LIBINTL_LIBS) $(LIBRPCRT) - - -# -# src/extract -# - -mkvextract_SOURCES = $(wildcard src/extract/*.cpp) -mkvextract_OBJECTS := $(patsubst %.cpp,%.o,$(mkvextract_SOURCES)) \ - $(patsubst %.rc,%.o,$(mkvextract_RESOURCES)) -mkvextract_DEPENDENCIES += $(DEP_COMMON) $(DEP_AVI) $(DEP_RMFF) -mkvextract_LDADD = -lmtxcommon $(MAGIC_LIBS) -lvorbis -logg -lavi -lmatroska -lebml -lrmff \ - $(ICONV_LIBS) $(LIBINTL_LIBS) -lexpat \ - -lz $(COMPRESSION_LIBRARIES) $(LIBRPCRT) \ - $(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) - -# -# src/propedit -# - -mkvpropedit_SOURCES = $(wildcard src/propedit/*.cpp) -mkvpropedit_OBJECTS := $(patsubst %.cpp,%.o,$(mkvpropedit_SOURCES)) \ - $(patsubst %.rc,%.o,$(mkvpropedit_RESOURCES)) -mkvpropedit_DEPENDENCIES += $(DEP_COMMON) $(DEP_AVI) $(DEP_RMFF) -mkvpropedit_LDADD = -lmtxcommon $(MAGIC_LIBS) -lvorbis -logg -lavi -lmatroska -lebml -lrmff \ - $(ICONV_LIBS) $(LIBINTL_LIBS) -lexpat \ - -lz $(COMPRESSION_LIBRARIES) $(LIBRPCRT) \ - $(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) - -# -# src/mmg -# - -mmg_SOURCES = $(wildcard src/mmg/*.cpp) $(wildcard src/mmg/*/*.cpp) -mmg_OBJECTS := $(patsubst %.cpp,%.o,$(mmg_SOURCES)) \ - $(patsubst %.rc,%.o,$(mmg_RESOURCES)) -mmg_DEPENDENCIES += $(DEP_COMMON) -mmg_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml -lexpat $(ICONV_LIBS) \ - $(WXWIDGETS_LIBS) $(LIBINTL_LIBS) $(MINGW_GUIAPP) \ - $(BOOST_REGEX_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) \ - $(LIBRPCRT) $(LIBS_WINGUI) - -mkvmerge: src/mkvmerge@EXEEXT@ - -src/mkvmerge@EXEEXT@: $(mkvmerge_DEPENDENCIES) $(mkvmerge_OBJECTS) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mkvmerge_OBJECTS) $(mkvmerge_LDADD) - -mkvinfo: src/mkvinfo@EXEEXT@ - -src/mkvinfo@EXEEXT@: $(mkvinfo_DEPENDENCIES) $(mkvinfo_UIFILES) $(mkvinfo_OBJECTS) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mkvinfo_OBJECTS) $(mkvinfo_LDADD) - -mkvextract: src/mkvextract@EXEEXT@ - -src/mkvextract@EXEEXT@: $(mkvextract_DEPENDENCIES) $(mkvextract_OBJECTS) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mkvextract_OBJECTS) $(mkvextract_LDADD) - -mkvpropedit: src/mkvpropedit@EXEEXT@ - -src/mkvpropedit@EXEEXT@: $(mkvpropedit_DEPENDENCIES) $(mkvpropedit_OBJECTS) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mkvpropedit_OBJECTS) $(mkvpropedit_LDADD) - -mmg: src/mmg/mmg@EXEEXT@ - -src/mmg/mmg@EXEEXT@: $(mmg_DEPENDENCIES) $(mmg_OBJECTS) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(mmg_OBJECTS) $(mmg_LDADD) - -.SECONDARY: - -# -# include dependency files if they exist -# --include ./.deps/*.d diff -Nru mkvtoolnix-4.0.0/po/de.po mkvtoolnix-4.5.0+dfsg/po/de.po --- mkvtoolnix-4.0.0/po/de.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/de.po 2011-01-31 20:34:09.000000000 +0000 @@ -9,15 +9,16 @@ "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-18 23:52+0100\n" -"PO-Revision-Date: 2010-06-03 13:45+0200\n" +"PO-Revision-Date: 2011-01-21 12:13+0100\n" "Last-Translator: Moritz Bunkus \n" "Language-Team: German \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" @@ -25,7 +26,7 @@ "\n" "Die temporäre TTA-Datei für Track ID %1% wird in die endgültige TTA-Datei kopiert. Das kann eine Weile dauern.\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" @@ -33,7 +34,7 @@ "\n" "mkvmerge hat ein SIGINT-Signal erhalten (vermutlich, weil der Benutzer Strg+C gedrückt hat). mkvmerge versucht, die Ausgabedatei ordentlich abzuschließen. Falls mkvmerge dabei hängen bleibt, müssen Sie es manuell beenden.\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" @@ -41,7 +42,7 @@ " --aac-is-sbr Angabe, ob der Track mit der ID 'TID' HE-AAC/AAC+/\n" " SBR-AAC enthält oder nicht (Standardwert: '1').\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode \n" " Selects how mkvmerge calculates timecodes when\n" @@ -51,7 +52,7 @@ " Legt feste, wie Zeitstempel beim Anhängen von\n" " Dateien berechnet werden.\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to \n" " A comma separated list of file and track IDs\n" @@ -65,7 +66,7 @@ " Datei an welchen Track einer vorhergehenden Datei\n" " angehängt wird.\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio \n" " Sets the display dimensions by calculating\n" @@ -75,7 +76,7 @@ " Setzt die Anzeigeabmessungen anhand des hier\n" " angegebenen Seitenverhältnisses.\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor \n" " First calculates the aspect ratio by multi-\n" @@ -89,7 +90,7 @@ " hier angegeben Faktor und leitet daraus die\n" " Anzeigeabmessungen ab.\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file Creates a file attachment inside the\n" " Matroska file.\n" @@ -97,7 +98,7 @@ " --attach-file Erstellt einen Dateianhang innerhalb der Matroska-\n" " Datei.\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once \n" " Creates a file attachment inside the\n" @@ -107,7 +108,7 @@ " Erstellt einen Dateianhang innerhalb der ersten\n" " erstellten Matroska-Datei.\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description \n" " Description for the following attachment.\n" @@ -115,7 +116,7 @@ " --attachment-description \n" " Beschreibung des folgenden Dateianhangs.\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type \n" " Mime type for the following attachment.\n" @@ -123,7 +124,7 @@ " --attachment-mime-type The name should be stored for the \n" " following attachment.\n" @@ -132,7 +133,7 @@ " des aktuellen Dateinamens in der Matroska-Datei\n" " gespeichert werden soll.\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd Sets the max number of block additional\n" " levels for this track.\n" @@ -140,19 +141,19 @@ " --blockadd Setzt das maximale Level für \"block additional\"-\n" " Elemente für einen Track.\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset Charset for a simple chapter file.\n" msgstr " --chapter-charset Zeichensatz für Kapiteldateien im einfachen Format\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language Set the 'language' element in chapter entries.\n" msgstr " --chapter-language Setzt das Sprachen-Element in Kapiteleinträgen.\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters Read chapter information from the file.\n" msgstr " --chapters Liest Kapitelinformationen aus dieser Datei.\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -164,11 +165,11 @@ " höchstens n Millisekunden in jeden Cluster\n" " geschrieben.\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr " --clusters-in-meta-seek Meta-Index-Einträge für Cluster erzeugen.\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset \n" " Charset for strings on the command line\n" @@ -176,7 +177,7 @@ " --command-line-charset \n" " Zeichensatz für die Kommandozeilenargumente.\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression \n" " Sets the compression method used for the\n" @@ -186,7 +187,7 @@ " Setzt den zu verwendende Kompressionsalgorithmus\n" " ('none' oder 'zlib').\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping \n" " Sets the cropping parameters.\n" @@ -194,7 +195,7 @@ " --cropping \n" " Setzt die Anzahl der abzuschneidenden Pixel.\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format \n" " Pattern for the conversion from CUE sheet\n" @@ -204,7 +205,7 @@ " Muster für die Konviertierung von Einträgen aus\n" " Cuesheets in Kapitelnamen.\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues \n" " Create cue (index) entries for this track:\n" @@ -215,7 +216,7 @@ " diesen Track ('none' für keinen Index; 'iframes'\n" " nur für I-Frames; 'all' für alle Frames).\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration \n" " Force the default duration of a track to X.\n" @@ -225,7 +226,7 @@ " Überschreibt die Standarddauer für einen Track mit\n" " X.Kann eine Fließkommazahl oder ein Bruch sein.\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language Use this language for all tracks unless\n" " overridden with the --language option.\n" @@ -233,7 +234,7 @@ " --default-language Diese Sprache für alle Tracks benutzen, es sei\n" " denn, sie wird mit --language gesetzt.\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track \n" " Sets the 'default' flag for this track or\n" @@ -243,11 +244,11 @@ " Setzt das 'Standardtrack'-Flag für einen Track\n" " oder entfernt es, wenn 'bool' '0' ist.\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing Nicht mehrere Frames in einem Block zusammenfassen.\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions x\n" " Explicitly set the display dimensions.\n" @@ -255,13 +256,13 @@ " --display-dimensions x\n" " Setzt die Anzeigeabmessungen.\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr "" " --enable-durations Für jeden Block wird das 'Blockdauer'-Element\n" " geschrieben.\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track \n" " Sets the 'forced' flag for this track or\n" @@ -271,11 +272,11 @@ " Setzt das 'Abspielen erzwungen'-Flag für einen Track\n" " oder entfernt es, wenn 'bool' '0' ist.\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags Read global tags from a XML file.\n" msgstr " --global-tags Globale Tags aus der XML-Datei lesen.\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" @@ -283,23 +284,23 @@ " --language Setzt die Sprache für den Track (ISO639-2-Code,\n" " siehe Ausgabe von --list-languages).\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" msgstr " --link Aufgeteilte Dateien verknüpfen.\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next Link the last file to the given SID.\n" msgstr "" " --link-to-next Verknüpft die letzte Datei mit der angegebenen\n" " Segment-UID SID.\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous Link the first file to the given SID.\n" msgstr "" " --link-to-previous Verknüpft die erste Datei mit der angegebenen\n" " Segment-UID SID.\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" @@ -307,7 +308,7 @@ " --list-languages Liste aller in ISO639 definierten Sprachen und\n" " ihrer ISO639-2-Codes.\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length \n" " Force the NALU size length to n bytes with\n" @@ -317,27 +318,27 @@ " Setzt die Länge des NALU-Längenfeldes auf n Bytes\n" " mit 2 <= n <= 4 (Standardwert: 4).\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters Keine Kapitel aus Quelldatei übernehmen.\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" msgstr " --no-cues Keinen Index erzeugen.\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" msgstr " --no-global-tags Keine globalen Tags aus Quelldatei übernehmen.\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset Output messages in this charset\n" msgstr " --output-charset Alle Nachrichten in diesem Zeichensatz ausgeben.\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority Set the priority mkvmerge runs with.\n" msgstr " --priority Setzt die Prozesspriorität für mkvmerge.\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid \n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -345,11 +346,11 @@ " --segment-uid \n" " Setzt die Segment-UIDs auf SID1, SID2 etc.\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo Read segment information from the file.\n" msgstr " --segmentinfo Segment-Informationen aus dieser Datei lesen.\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split \n" " Create a new file after d bytes (KB, MB, GB)\n" @@ -359,7 +360,7 @@ " Nach einer bestimmten Größe oder Zeitdauer eine\n" " neue Ausgabedatei anfangen.\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" @@ -369,23 +370,23 @@ " Nach bestimmten Zeitstempeln eine neue Ausgabedatei\n" " anfangen.\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files Create at most n files.\n" msgstr " --split-max-files Höchstens n Dateien erzeugen.\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode \n" +" --stereo-mode \n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode \n" +" --stereo-mode \n" " Setzt den Stereomodus-Parameter. Entweder eine\n" -" Zahl von 0 bis 3 oder eines der Stichwörter 'none',\n" -" 'right', 'left' oder 'both'.\n" +" Zahl von 0 bis 11 oder ein Stichwort (siehe\n" +" Dokumentation für die vollständige Liste).\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset \n" " Determines the charset the text subtitles are\n" @@ -395,23 +396,23 @@ " Setzt für die nachfolgende Text-Untertiteldatei den\n" " Zeichensatz für die Konvertierung nach UTF-8.\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale Force the timecode scale factor to n.\n" msgstr " --timecode-scale Setzt den Zeitstempelskalierungsfaktor auf n.\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes Read the timecodes to be used from a file.\n" msgstr " --timecodes Zeitstempel für einen Track aus einer Datei lesen.\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title Title for this output file.\n" msgstr " --title <Titel> Setzt den Titel für die Ausgabedatei.\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" msgstr " --track-name <TID:Name> Setzt den Namen eines Tracks.\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -423,7 +424,7 @@ " IDs, die die Reihenfolge der Tracks in der\n" " Ausgabedatei festlegt.\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" @@ -431,41 +432,41 @@ " --track-tags <n,m,...> Nur Tags für Tracks n, m etc kopieren (Standard:\n" " Tags für alle Tracks kopieren).\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" msgstr " --ui-language <code> Die Übersetzung für Sprache 'code' benutzen.\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio Keine Audiotracks aus dieser Datei kopieren.\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons Keine Button-Tracks aus dieser Datei kopieren.\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video Keine Videotracks aus dieser Datei kopieren.\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" msgstr " -M, --no-attachments Keine Dateianhänge aus Quelldatei übernehmen.\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" msgstr " -S, --no-subtitles Keine Untertitel aus dieser Datei kopieren.\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr "" " -T, --no-track-tags Keine trackspezifischen Tags aus Quelldatei\n" " kopieren.\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version Zeit Versionsinformationen an.\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -475,7 +476,7 @@ " Nur Audio-Tracks n, m etc kopieren (Standard: alle\n" " Audio-Tracks kopieren).\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -485,7 +486,7 @@ " Nur Buttontracks n, m etc kopieren (Standard: alle\n" " Button-Tracks kopieren).\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -495,7 +496,7 @@ " Nur Video-Tracks n, m etc kopieren (Standard: alle\n" " Video-Tracks kopieren).\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -503,19 +504,19 @@ " -f, --fourcc <FOURCC> Setzt das FourCC-Feld auf FOURCC. Funktioniert nur\n" " mit manchen Video-Tracks.\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help Diesen Hilfetext anzeigen.\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <Datei> Informationen über die Quelldatei anzeigen.\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -l, --list-types Eine Liste mit unterstützten Formaten anzeigen.\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -527,15 +528,15 @@ " nur die erste Zieldatei kopieren. Standard: alle\n" " Dateianhänge in alle Zieldateien kopieren.\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out Namen der Ausgabedatei festlegen.\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" msgstr " -q, --quiet Statusausgaben unterbinden\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -543,7 +544,7 @@ " -r, --redirect-output <Datei>\n" " Alle ausgegebenen Meldungen in eine Datei umleiten.\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -553,19 +554,19 @@ " Nur Untertitel-Tracks n, m etc kopieren (Standard:\n" " alle Untertitel-Tracks kopieren).\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:Datei> Tags für einen Track aus einer XML-Datei lesen.\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose Gesprächigkeit erhöhen\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm Eine WebM-konforme Datei erzeugen.\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -581,7 +582,7 @@ " 'p' wird mit 1 angenommen, wenn es nicht angegeben\n" " wird. 'o' und 'p' können Fließkommazahlen sein.\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -617,99 +618,87 @@ msgid " X: binary in hex\n" msgstr " X: Binärwerte in Hexadezimalschreibweise\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (beide Augen)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (Zentimeter)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (fest)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (Formatidentifikator: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (freie Größenänderung)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264-Profil: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (Zoll)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" msgstr " (Seitenverhältnis beibehalten)" -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (linkes Auge)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (Mono)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (Pixel)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (Rechtes Auge)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" msgstr " Abbruch.\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " Unterstützung für Dateianhänge (ebenfalls globale Optionen):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" msgstr " Behandlung von Kapiteln:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" msgstr " Aufteilen und Verknüpfen von Dateien (ebenfalls globale Optionen):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" msgstr " Allgemeine Ausgabeoptionen (erweiterte globale Optionen):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " Globale Optionen:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " Optionen für alle Quelldateien:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" msgstr " Optionen, die nur für VobSub-Untertitel-Tracks gelten:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" msgstr " Optionen, die nur für Text-Untertitel-Tracks gelten:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " Optionen, die nur für Video-Tracks gelten:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " Weitere Optionen:\n" @@ -717,64 +706,72 @@ msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr " Bedenken Sie, dass Sonderzeichen wie &, <, > und \" in der für HTML üblichen Art geschrieben werden: & für '&', < für '<', > für '>' und " für '\"'." -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" msgstr " Behandlung von Segment-Informationen:\n" -#: src/extract/mkvextract.cpp:63 src/info/mkvinfo.cpp:174 +#: src/extract/mkvextract.cpp:63 src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " an %1%" -#: src/merge/output_control.cpp:257 src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 src/merge/output_control.cpp:287 msgid " done\n" msgstr " fertig\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " Größe %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr " unbekannte Größe" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### Entwicklungs-Hacks ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" msgstr "### Globale Einstellungen zur Ausgabe ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% gebaut am %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% Frame, Track %2%, Zeitstempel %3% (%4%), Dauer %|5$.3f|, Größe %6%, Adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% Frame, Track %2%, Zeitstempel %3% (%4%), Größe %5%, Adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% Frame, Track %2%, Zeitstempel %3% (%4%), Größe %5%, Adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Fehler in der Matroska-Dateistruktur an Position %2%. Versuche, das nächste Level-1-Element zu finden.\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" msgstr "%1%: Teiler ist 0 in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: ungültige Track-ID in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" msgstr "%1%: Zähler fehlt in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" msgstr "%1%: Teiler fehlt in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" msgstr "%1%: fehlende Track-ID '%2% %3%'.\n" @@ -797,45 +794,22 @@ "unter der folgenden Adresse verfügbar:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 src/mmg/jobs.cpp:299 src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 src/mmg/jobs.cpp:307 src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d Minute(n) %d Sekunde(n)" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"Dieses GUI wurde von Moritz Bunkus <moritz@bunkus.org> geschrieben\n" -"Basierend auf mmg von Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI ist unter der GPL lizensiert.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Hilfe gibt es in Form von Tooltips, über das 'Hilfe'-Menü,\n" -"oder indem man 'F1' drückt." - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s (MIME-Typ %s, Größe %ld) aus %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, Typ: %s) aus %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -855,34 +829,42 @@ "unter der folgenden Adresse verfügbar:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "&Abbrechen" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "Ü&ber" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "Ü&ber\tF1" -#: src/mmg/mmg_dialog.cpp:263 src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "Zu &Jobwarteschlange hinzufügen" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "Datei&anhänge\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "&Kapiteleditor" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "&Kapiteleditor\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "Nach &Updates suchen" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "S&chließen" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "S&chließen\tCtrl-W" @@ -891,19 +873,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "Alle Elemente ver&bergen\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "&Kommandozeile in Zwischenablage kopieren" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "In &Zwischenablage kopieren" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "&Deaktivieren" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "&Runter" @@ -911,77 +893,77 @@ msgid "&Expand all entries\tCtrl-E" msgstr "Alle elemente &aufklappen\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "Wichtige &Elemente aufklappen\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/mmg/mmg_dialog.cpp:299 src/mmg/header_editor/frame.cpp:151 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "&Datei" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" msgstr "&Globale Optionen\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "&Kopfdateneditor\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/mmg/mmg_dialog.cpp:303 src/mmg/header_editor/frame.cpp:153 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "&Hilfe" -#: src/mmg/mmg_dialog.cpp:276 src/mmg/header_editor/frame.cpp:150 +#: src/mmg/mmg_dialog.cpp:293 src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "&Hilfe\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "&Quellen\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "&Laden" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" msgstr "Einstellungen &laden\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "&Jobs verwalten\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "&Muxen" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "&Neu\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" msgstr "&Neue Kapitel" -#: src/mmg/jobs.cpp:100 src/mmg/jobs.cpp:385 src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 src/mmg/jobs.cpp:394 src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "&Ok" -#: src/mmg/header_editor/frame.cpp:142 src/info/wxwidgets_ui.cpp:123 +#: src/mmg/header_editor/frame.cpp:142 src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "Ö&ffnen\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "&Optionen" -#: src/mmg/mmg_dialog.cpp:257 src/mmg/header_editor/frame.cpp:146 +#: src/mmg/mmg_dialog.cpp:274 src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "&Beenden\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" msgstr "&Aktivieren" @@ -993,7 +975,7 @@ msgid "&Reset" msgstr "&Zurücksetzen" -#: src/mmg/jobs.cpp:390 src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "&Speichern" @@ -1001,19 +983,19 @@ msgid "&Save\tCtrl-S" msgstr "&Speichern\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "Informationen als Text &speichern\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "Einstellungen &speichern\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "&Starten" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "&Hoch" @@ -1021,47 +1003,47 @@ msgid "&Validate\tCtrl-T" msgstr "&Validieren\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "Über&prüfen" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "Logdatei &ansehen" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "&Fenster" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" msgstr "'%1%' kann nur zusammen mit einem Dateinamen verwendet werden. Wird diese Option benutzt, so dürfen keine weiteren Optionen benutzt werden.\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" msgstr "'%1%' enhält keine gültige Einheit ('s', 'ms', 'us' oder 'ns') in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%' ist kein gültiges Argument für '--compression'. Verfügbare Optionen sind 'none' und 'zlib'.\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' ist kein gültiges Argument für '--compression'. Verfügbare Optionen sind: %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" msgstr "'%1%' ist kein gültiges Argument für '--cues'.\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" msgstr "'%1%' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'%1%' in '--chapter-language %1%' ist weder ein gültiger ISO639-2- noch ein gültiger ISO639-1-Code. Mit 'mkvmerge --list-languages' können Sie sich eine Liste aller Sprachen und ihrer ISO639-2-Codes ausgeben lassen.\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'%1%' in '--default-language %1%' ist weder ein gültiger ISO639-2- noch ein gültiger ISO639-1-Code. Mit 'mkvmerge --list-languages' können Sie sich eine Liste aller Sprachen und ihrer ISO639-2-Codes ausgeben lassen.\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'%1%' ist weder ein gültiger ISO639-2- noch ein gültiger ISO639-1-Code. Mit 'mkvmerge --list-languages' können Sie sich eine Liste aller Sprachen und ihrer ISO639-2-Codes ausgeben lassen.\n" @@ -1073,7 +1055,7 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "'%1%' ist keine Zeile nach dem Muster 'CHAPTERxxNAME=...'." -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "'%1%' ist kein gültiger %2% in '%3% %4%'.\n" @@ -1081,11 +1063,11 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "'%1%' ist kein gültiger ISO639-2-Sprach-Code." -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" msgstr "'%1%' ist keine gültiges Argument für '--append-mode %1%'.\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" msgstr "'%1%' ist keine gültiges Argument '--blockadd %2%'.\n" @@ -1093,7 +1075,7 @@ msgid "'%1%' is not a valid ccTLD country code." msgstr "'%1%' ist kein gültiger ccTLD Ländercode." -#: src/merge/mkvmerge.cpp:1152 src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" msgstr "'%1%' ist keine gültige Datei-ID in '--track-order %2%'.\n" @@ -1101,39 +1083,39 @@ msgid "'%1%' is not a valid hack.\n" msgstr "'%1%' ist kein gültiger Hack-Name.\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" msgstr "'%1%' ist keine gültige Zuordnung von Datei- und Track-IDs in '--append-to %2%'.\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" msgstr "'%1%' ist kein gültiges Paar von Datei- und Track-ID '--track-order %2%'.\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" msgstr "'%1%' ist kein gültiges Paar aus Track-ID und Blockzusatz-ID '--blockadd %1%'.\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" msgstr "'%1%' ist keine gültige Priorität.\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" msgstr "'%1%' ist keine gültige Track-ID '--blockadd %2%'.\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" msgstr "'%1%' ist keine gültige Track-ID in '--default-duration %2%'.\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" msgstr "'%1%' ist keine gültige Track-ID in '--nalu-size-length %2%'.\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" msgstr "'%1%' ist kein gültiges Paar aus Track-ID und Länge des NALU-Größenfeldes in '--nalu-size-length %1%'.\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" msgstr "'%1%' ist kein gültiges Paar aus Track-ID und Standarddauer in '--default-duration %1%'.\n" @@ -1145,275 +1127,275 @@ msgid "'%1%' is only allowed when extracting tracks.\n" msgstr "'%1%' darf nur beim Extrahieren von Tracks benutzt werden.\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "Der Option '%1%' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:1842 src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" msgstr "Der Option '%1%' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" msgstr "Der Option '%1%' fehlt der FourCC-Code.\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" msgstr "Der Option '%1%' fehlt die Verzögerung.\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "Der Option '%1%' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "Der Option '%1%' fehlt die Track-ID.\n" -#: src/merge/mkvmerge.cpp:1880 src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" msgstr "Der Option '%1%' fehlen die Track-ID(s).\n" -#: src/common/output.cpp:127 src/common/output.cpp:140 -#: src/common/output.cpp:153 src/common/output.cpp:174 +#: src/common/output.cpp:134 src/common/output.cpp:147 +#: src/common/output.cpp:160 src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%' Track %2%: %3%" -#: src/common/output.cpp:120 src/common/output.cpp:133 -#: src/common/output.cpp:146 src/common/output.cpp:163 +#: src/common/output.cpp:127 src/common/output.cpp:140 +#: src/common/output.cpp:153 src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%': %2%" -#: src/common/mm_multi_file_io.cpp:165 src/mmg/tabs/input.cpp:741 +#: src/common/mm_multi_file_io.cpp:165 src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" msgstr "'%1%': Auch die folgenden Dateien werden verarbeitet: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" msgstr "Der Option '--append-mode' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" msgstr "Der Option '--append-to' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" msgstr "Der Option '--aspect-ratio' fehlt das Seitenverhältnis.\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" msgstr "Der Option '--aspect-ratio-factor' fehlt der Faktor für das Seitenverhältnis.\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" msgstr "Der Option '--attachment-description' fehlt die Beschreibung.\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" msgstr "Der Option '--attachment-mime-type' fehlt der MIME-Typ.\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" msgstr "Der Option '--attachment-name' fehlt der Name.\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" msgstr "Der Option '--blockadd' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" msgstr "Der Option '--chapter-charset' fehlt der Zeichensatz.\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" msgstr "Die Option '--chapter-charset' darf nur einmal verwendet werden (zweites mal: '--chapter-charset %1%').\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" msgstr "Die Option '--chapter-charset' muss vor der Option '--chapters' angegeben werden in in '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" msgstr "Der Option '--chapter-language' fehlt die Sprache.\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" msgstr "Die Option '--chapter-language' darf nur einmal angegeben werden (zweites Mal: '--chapter-language %1%').\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" msgstr "Die Option '--chapter-language' muss vor der Option '--chapters' angegeben werden in '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" msgstr "Der Option '--chapters' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" msgstr "Der Option '--cluster-length' fehlt die Länge.\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" msgstr "Der Option '--command-line-charset' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" msgstr "Der Option '--compression' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" msgstr "Der Option '--cropping' fehlen die Schneideparameter.\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" msgstr "Der Option '--cue-chapter-name-format' felt das Format.\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" msgstr "Die Option '--cue-chapter-name-format' muss vor der Option '--chapters' angegeben werden.\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" msgstr "Der Option '--cues' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" msgstr "Der Option '--default-duration' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" msgstr "Der Option '--default-language' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" msgstr "Der Option '--default-track' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" msgstr "Der Option '--display-dimensions' fehlen die Maßangaben.\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" msgstr "Der Option '--engage' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" msgstr "Der Option '--forced-track' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" msgstr "Der Option '--global-tags' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" msgstr "Der Option '--language' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" msgstr "Die Option '--link' ist nur zusammen mit der Option '--split' sinnvoll.\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" msgstr "Der Option '--link-to-next' fehlt die nächste Segment-UID.\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" msgstr "Der Option '--link-to-previous' fehlt die vorherige Segment-UID.\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" msgstr "Der Option '--nalu-size-length' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" msgstr "Der Option '--priority' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" msgstr "Der Option '--segment-uid' fehlt die Segment-UID.\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "Der Option '--segmentinfo' fehlt der Dateiname.\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" msgstr "Der Option '--split' fehlt die Größe.\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" msgstr "Der Option '--split-max-files' fehlt die maximale Dateianzahl.\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" msgstr "Der Option '--stereo-mode' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" msgstr "Der Option '--sub-charset' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" msgstr "Der Option '--timecode-scale' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" msgstr "Die Option '--timecode-scale' darf nur einmal angegeben werden.\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" msgstr "Der Option '--timecodes' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" msgstr "Der Option '--title' fehlt der Titel.\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" msgstr "Der Option '--track-name' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" msgstr "Der Option '--track-order' fehlt ihr Argument.\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" msgstr "Die Option '--track-order' darf nur einmal angegeben werden.\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "Die Optionen '-A' und '-a' wurden für dieselbe Quelldatei angegeben.\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" msgstr "Die Optionen '-B' und '-b' wurden für dieselbe Quelldatei angegeben.\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" msgstr "Die Optionen '-D' und '-d' wurden für dieselbe Quelldatei angegeben.\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" msgstr "Die Optionen '-S' und '-s' wurden für dieselbe Quelldatei angegeben.\n" -#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:394 +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" msgstr "'Standardtrack'-Flag" -#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:401 +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" msgstr "'Anzeige Erzwungen'-Flag" -#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:398 +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" msgstr "'Track aktiv'-Flag" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(Unbekanntes Element: %1%; ID: 0x%2% Größe: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(neue Kapiteldatei)" @@ -1421,13 +1403,13 @@ msgid "(none)" msgstr "(keine)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" msgstr "(unbenanntes Kapitel)" -#: src/mmg/tabs/chapters.cpp:880 src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(ohne Namen)" @@ -1443,39 +1425,39 @@ msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> Die FLAC-Datei wird oberflächlich untersucht: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", Beschreibung '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", Dateiname '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", fertiggestellt am %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", Position %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" msgstr ", angefangen am %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" msgstr "--- START des Jobs %d (%s, hinzugefügt am %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" msgstr "--- ENDE des Jobs %d" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" msgstr "--- Job hat keine Ausgabe erzeugt.\n" @@ -1487,7 +1469,11 @@ msgid "---common---" msgstr "---häufig verwendet---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length ERSETZMICH" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" msgstr "--timecode-scale ERSETZMICH" @@ -1503,19 +1489,19 @@ msgid "...after timecodes:" msgstr "...nach Zeitstempeln:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: alle Frames" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 Bytes" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" msgstr "2: private Codec-Daten" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 Bytes" @@ -1540,30 +1526,30 @@ msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." msgstr "Dem Element <ChapterTrack> fehlt das Unterelement <ChapterTrackNumber>." -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" msgstr "An Position %1% wurde eine Blockgruppe gefunden, die kein Block-Element enthält. Dieses kann zu einem Abstürz von mkvmerge führen.\n" -#: src/input/r_matroska.cpp:1961 src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" msgstr "Es wurde ein Block für Track Nummer %2% bei Zeitstempel %1% gefunden. Allerdings wurden bisher noch keine Track-Header gefunden. Der Block wird ausgelassen.\n" -#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:436 +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." msgstr "" "Eine menschenlesbare Zeichenkette, die den\n" "Namen des Codecs angibt." -#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:426 +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." msgstr "Ein menschenlesbarer Name des Tracks." -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" msgstr "Es gibt bereits einen Job mit der Beschreibung '%s'. Wollen Sie wirklich einen weiteren Job mit derselben Beschreibung anlegen?" -#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:340 +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." @@ -1572,15 +1558,15 @@ "aktuelle Segment unter verschiedenen erkannt\n" "werden kann (128 Bits lang)." -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "Ein Track" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" msgstr "Ein Track mit der ID %1% wurde angegeben aber in der Quelldatei nicht gefunden. Die Option, in der diese Track-ID benutzt wurde, wird ignoriert.\n" -#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:391 +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" @@ -1590,7 +1576,7 @@ "Diese sollte beim Kopieren des Tracks in eine\n" "andere Datei erhalten bleiben." -#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:348 +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." @@ -1598,7 +1584,7 @@ "Eine eindeutige ID zur Kennzeichnung des\n" "nächsten verknüpften Segmentes (128 Bits lang)." -#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:344 +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." @@ -1606,19 +1592,19 @@ "Eine eindeutige ID zur Kennzeichnung des\n" "vorherigen verknüpften Segmentes (128 Bits lang)." -#: src/mmg/tabs/input.cpp:232 src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (aka AC3)" -#: src/mmg/tabs/input.cpp:233 src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (Advanced Audio Coding)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "AAC-Dateien können HE-AAC / AAC+ / SBR AAC Tracks enthalten. Solche Tracks können nicht automatisch von normalen AAC-Tracks unterschieden werden. Deswegen müssen Sie '--aac-is-sbr 0' manuell angeben, falls die Datei tatsächlich SBR AAC enthält. Andernfalls wird die Datei falsch gemuxt. Lesen Sie auch die mkvmerge-Dokumentation zu diesem Thema.\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC ist SBR/HE-AAC/AAC+" @@ -1630,43 +1616,39 @@ "ASCII-Zeichenkette (keine Sonderzeichen wie\n" "Umlaute etc)" -#: src/mmg/tabs/input.cpp:234 src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/h.264 elementary streams" -#: src/mmg/tabs/input.cpp:235 src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (Audio/Video Interleaved)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "Abbrechen" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "Nach aktuellem Job abbrechen" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "Vorgang nach aktuellem Job abbrechen" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "Den Muxprozess sofort abbrechen" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" msgstr "Muxen am %s abgebrochen" -#: src/info/qt_ui.cpp:125 src/info/wxwidgets_ui.cpp:354 +#: src/info/qt_ui.cpp:125 src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "Über mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "Über das mkvmerge-GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "Aktionen" @@ -1675,11 +1657,11 @@ msgid "Add" msgstr "Hinzufügen" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "&Kommandozeilenoption hinzufügen" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "Kapitel hinzufügen" @@ -1691,23 +1673,23 @@ msgid "Add element" msgstr "Element hinzufügen" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "Namen hinzufügen" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "Unterkapitel hinzufügen" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "Hinzugefügt am" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "AdditionalID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "Zusätze" @@ -1715,23 +1697,23 @@ msgid "Adds a property with the value even if such a property already exists" msgstr "Fügt ein Merkmal mit dem angegebenen Wert hinzu, selbst wenn ein gleichnamiges Merkmal bereits existiert" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" msgstr "Fügt die aktuellen Einstellungen als Job der Jobwarteschlange hinzu" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "Kapitelzeitstempel anpassen" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "Zeitstempel anpassen" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" msgstr "Nach dem Laden automatisch wichtige Elemente aufklappen" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "Algorithmus: %1% (%2%)" @@ -1743,11 +1725,11 @@ msgid "All Files (*.*)|*.*" msgstr "Alle Dateien (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "Alle Kapiteleinträge sind gültig." -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "Alle Kopfdaten sind gültig." @@ -1755,20 +1737,20 @@ msgid "All known property names and their meaning\n" msgstr "Die Namen aller bekannten Merkmale und ihre Bedeutung\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "Alle unterstützten Dateien|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska-Dateien (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM-Dateien (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Alle Dateien|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Alle unterstützten Dateien|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska-Dateien (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM-Dateien (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Alle Dateien|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "Alle unterstützten Mediendateien|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" msgstr "Erlaubt, AVC/h.264-Video im Video-for-Windows-Kompatibilitätsmodus zu speichern, z.B. wenn es aus AVI-Dateien stammt" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." msgstr "Erlaubt die Benutzung von CodecState-Elementen. Diese werden z.B. bei MPEG-1/-2-Videotracks zum Speichern der Sequenzköpfe benutzt." @@ -1776,23 +1758,23 @@ msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." msgstr "Zusätzlich zu Tracks werden Kapitelinformationen als Cuesheet extrahiert." -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "Über allen anderen Fenstern" -#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:433 +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "Eine den Codec identifizierende ID." -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "Ein Dateianhang mit der ID %1% wurde nicht gefunden.\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" msgstr "Ein leerer Dateiname ist ungültig.\n" -#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:336 +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." @@ -1800,7 +1782,7 @@ "Ein Dateiname, in dem das nächste Segment\n" "zu finden ist." -#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:333 +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." @@ -1808,7 +1790,7 @@ "Ein Dateiname, in dem das vorherige Segment\n" "zu finden ist." -#: src/mmg/header_editor/frame.cpp:706 src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." msgstr "Ein unbekannter Fehler ist aufgetreten. Die Datei wurde verändert." @@ -1817,44 +1799,44 @@ msgid "Analysis is running" msgstr "Analyse läuft" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." msgstr "Analyse des MPEG-4-Bitstroms, jeder Frame wird in einem Matroska-Block gespeichert, ordentliche Zeitstempel werden berechnet (I P B B = 0 120 40 80), als CodecID kommt V_MPEG4/ISO/... zum Einsatz." -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" msgstr "Ein anderer Track für %1% wurde bereits als Standardtrack festgelegt. Das Flag 'Standardtrack' wird für Track %2% von '%3%' nicht gesetzt werden.\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." msgstr "Es wird momentan ein anderer Job ausgeführt. Bitte warten Sie, bis er beendet wurde, oder brechen Sie ihn ab, bevor Sie einen neuen Job starten." -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." msgstr "Das Anhängen eines Tracks aus einer Datei an einen anderen Track aus derselben Datei ist nicht zulässig. Dieses ist für die Tracks Nummer %u und %u der Fall." -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" msgstr "Track %1% aus Datei Nummer %2% ('%3%') wird an Track %4% aus Datei Nummer %5% ('%6%') angefügt.\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "Vor dem Überschreiben (z.B. von Dateien oder Jobs) nachfragen" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" msgstr "Seitenverhältnis" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" msgstr "Seitenverhältnis-Faktor" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" msgstr "Seitenverhältnistyp: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" msgstr "Seitenverhältnis:" @@ -1870,7 +1852,7 @@ msgid "Atatchment extraction" msgstr "Extraktion von Anhängen" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "Anhang" @@ -1878,7 +1860,7 @@ msgid "Attached files" msgstr "Angehängte Dateien" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "Dateianhang ID %1%: Typ '%2%', Größe %3% Bytes" @@ -1886,24 +1868,24 @@ msgid "Attachment style:" msgstr "Art der Dateianhänge:" -#: src/mmg/mmg_dialog.cpp:286 src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/mmg/mmg_dialog.cpp:306 src/mmg/tabs/attachments.cpp:155 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "Dateianhänge" -#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:509 +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "Audio Bittiefe" -#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:505 +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "Audio Kanäle" -#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:501 +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "Audio Ausgabeabtastrate" -#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:496 +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "Audio Abtastrate" @@ -1912,15 +1894,15 @@ msgid "Audio track %u" msgstr "Audio-Track %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "Zieldateinamen automatisch vorbelegen" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "Automatische MIME-Typ-Erkennung für '%1%': %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" msgstr "WebM-Konfirmitätsmodus aufgrund der Dateinamenserweiterung automatisch aktiviert.\n" @@ -1928,11 +1910,15 @@ msgid "Available options:" msgstr "Verfügbare Optionen:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "Verfügbare Übersetzungen:\n" -#: src/common/compression.cpp:204 src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "Verfügbare Version:" + +#: src/common/compression.cpp:213 src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit() schlug fehl. Ergebnis: %1%\n" @@ -1940,40 +1926,40 @@ msgid "Binary (displayed as hex numbers)" msgstr "Binärwerte (angezeigt als Hexadezimalzahlen)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "Farbtiefe: %1%" -#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:509 +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "Bits pro Abtastwert, hauptsächlich für PCM benutzt." -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "Block (Tracknummer %1%, %2% Frame(s), Zeitstempel %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "Blockzusatz ID: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "Blockzusatz: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "Blockdauer: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "Blockgruppe" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "Block virtuelles Element: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" msgstr "Ungültige AID %1%\n" @@ -1981,10 +1967,6 @@ msgid "Boolean (yes/no, on/off etc)" msgstr "Boolescher Wert (ja/nein, an/aus etc)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "Beide Augen" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" msgstr "Sowohl das Seitenverhältnis als auch die Anzeigeabmessungen ('--display-dimensions') wurden angegeben.\n" @@ -1993,14 +1975,14 @@ msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" msgstr "Sowohl der Faktor für das Seitenverhältnis als auch die Anzeigeabmessungen ('--display-dimensions') wurden angegeben.\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "Zeigt den Editor für die Jobwarteschlange an" -#: src/mmg/mmg_dialog.cpp:291 src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 src/mmg/tabs/global.cpp:276 +#: src/mmg/mmg_dialog.cpp:311 src/mmg/options/mmg.cpp:69 +#: src/mmg/options/mkvmerge.cpp:59 src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "Auswählen" @@ -2008,24 +1990,32 @@ msgid "CUE sheet extraction" msgstr "Cuesheet-Extraktion" +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "Checksummen für Frames berechnen und ausgeben und Gesprächigkeit auf Stufe 4 setzen." + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "Checksummen für Frames berechnen und ausgeben." + #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" msgstr "Nicht-native MPEG4 Videotracks können nicht in native umgewandelt werden, wenn das Quellformat weder Zeitstempel noch die Anzahl der Bilder pro Sekunde zur Verfügung stellt.\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" msgstr "Zwei Tracks unterschiedlichen Typs können nicht in dieselbe Datei extrahiert werden. Dieses wurde für die Tracks %1% und %2% angegeben.\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "Weiterer Mux-Job kann nicht gestartet werden" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" msgstr "Der Track %1% mit der CodecID '%2%' kann nicht in die Datei '%3%' geschrieben werden, weil bereits Track %4% mit der CodecID '%5%' in dieselbe Datei geschrieben wird und sich ihre privaten Codec-Daten (z.B. USF-Stile) unterscheiden.\n" -#: src/extract/xtr_avi.cpp:46 src/extract/xtr_base.cpp:64 -#: src/extract/xtr_ivf.cpp:53 src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_avi.cpp:46 src/extract/xtr_ivf.cpp:53 +#: src/extract/xtr_base.cpp:65 src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "Der Track %1% mit der CodecID '%2%' kann nicht in die Datei '%3%' geschrieben werden, weil bereits Track %4% mit der CodecID '%5%' in dieselbe Datei geschrieben wird.\n" @@ -2033,12 +2023,12 @@ msgid "Category is not NUL terminated" msgstr "Die Kategoriezeichenkette wird nicht mit einem NUL-Zeichen abgeschlossen." -#: src/extract/timecodes_v2.cpp:357 src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "Eine Ausnahme wurde abgefangen." -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "Sorgt dafür, dass mkvmerge 'Anzeige beenden'-Befehle in VobSub-Untertitelpakete einfügt, die kein Anzeigedauerfeld enthalten." @@ -2058,7 +2048,7 @@ msgid "Change for '%1%' executed. One entry added.\n" msgstr "Veränderung für '%1%\" ausgeführt. Ein Eintrag hinzugefügt.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "Die Voreinstellungen und Optionen von mmg ändern" @@ -2066,35 +2056,35 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "Änderungen an dieser Liste werden erst nach einem Neustart von mmg aktiv." -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "Kanalpositionen: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "Kanäle: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "Kapiteleditor" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "Kapitelübersetzung" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "Kapitelübersetzung, Codec: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "Kapitelübersetzung, UID der Edition: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "Kapitelübersetzung, ID: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "Kapiteleditor nicht leer" @@ -2106,7 +2096,7 @@ msgid "Chapter file:" msgstr "Kapiteldatei:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "Kapiteldateien (*.xml)|*.xml|%s" @@ -2116,12 +2106,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "Kapiteldateien (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "Kapiteldateien (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "Kapiteldateien (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "Kapitelnamen und -sprachen" @@ -2137,55 +2127,71 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "Kapitelparser: Die Edition-UID %1% ist nicht eindeutig und kann nicht wiederbenutzt werden. Eine neue UID wird erzeugt.\n" -#: src/mmg/tabs/chapters.cpp:759 src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "Fehler bei Kapitelüberprüfung" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "Kapitelüberprüfung erfolgreich" #: src/mmg/options/chapters.cpp:130 src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "Kapitel" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "Kapitel (%d Einträge) aus %s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "Kapitel sind in WebM-konformen Dateien nicht zulässig. In keine der Ausgabedateien werden Kapitel geschrieben.\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." msgstr "Kapitel geladen." -#: src/mmg/tabs/chapters.cpp:721 src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "Kapitel geschrieben." -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "Kapitel:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "Kapitel: %1% Einträge" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "Zeichensatz für Zeichenketten auf der Kommandozeile" -#: src/mmg/tabs/global.cpp:282 src/mmg/tabs/input_format.cpp:248 +#: src/mmg/tabs/input_format.cpp:249 src/mmg/tabs/global.cpp:282 msgid "Charset:" msgstr "Zeichensatz:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "Online nach der neuesten Programmversion suchen" + +#: src/common/cli_parser.cpp:184 src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "Online nach der neuesten Programmversion suchen" + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "Online auf der Homepage nachschauen, ob es eine neuere Version von MKVToolNix gibt. Die Überprüfung findet maximal einmal täglich statt, und zwar wenn mmg gestartet wird. Es werden keine Information an den Server übertragen." + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "Es wird online nach neuen Programmversionen gesucht; bitte warten" + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "Kapiteldatei auswählen" @@ -2201,22 +2207,22 @@ msgid "Choose an attachment file" msgstr "Datei zum Anhängen auswählen" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" msgstr "Quelldatei auswählen" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "Quelldatei zum Hinzufügen auswählen" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" msgstr "Quelldatei zum Anhängen auswählen" -#: src/mmg/jobs.cpp:401 src/mmg/mmg_dialog.cpp:314 src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 src/mmg/mmg_dialog.cpp:334 src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "Zieldatei auswählen" @@ -2224,7 +2230,7 @@ msgid "Choose the chapter file" msgstr "Kapiteldatei auswählen" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "Den Ort der Hilfedateien für mkvmerge-GUI auswählen" @@ -2232,7 +2238,7 @@ msgid "Choose the mkvmerge executable" msgstr "mkvmerge-Programmdatei auswählen" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "Zielverzeichnis auswählen" @@ -2244,11 +2250,11 @@ msgid "Choose the tags file" msgstr "Tagdatei auswählen" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" msgstr "Eingabefelder nach einem erfolgreichen Muxvorgang leeren" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" msgstr "Eingabefelder nach Hinzufügen eines Jobs zur Warteschlange leeren" @@ -2256,69 +2262,69 @@ msgid "Close the current file without saving" msgstr "Die aktuelle Datei schließen, ohne zu speichern" -#: src/extract/timecodes_v2.cpp:259 src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "Cluster" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "Die Clusterlänge '%1%' liegt außerhalb des zulässigen Bereiches (0..65535).\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "Die Clusterlänge '%1%' liegt außerhalb des zulässigen Bereiches (100..32000).\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "Clusterposition: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "Größe des vorherigen Clusters: %1%" -#: src/extract/timecodes_v2.cpp:274 src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "Clusterzeitstempel: %|1$.3f|s" -#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:433 +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "Codec-ID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "Codec-ID: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "Codec alle frames decodieren: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "Codec Download-URL: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "Codec Info-URL: %1%" -#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:436 +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "Codec-Name" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "Codec-Name: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "Codec-Einstellungen: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "Codeczustand: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "private Codecdaten, Länge %1%%2%" @@ -2326,11 +2332,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "Alle Einträge einklappen, sodass kein Untereintrag angezeigt wird" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "Farbraum: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "Kommandozeile in die Zwischenablage kopiert." @@ -2338,11 +2344,11 @@ msgid "Command line options:" msgstr "Kommandozeilenoptionen:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "Kommandozeile gespeichert." -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "Benutzte Kommandozeile:" @@ -2350,39 +2356,39 @@ msgid "Common languages" msgstr "Gebräuchliche Sprachen" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "Die Kompression schlug fehl: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "Komprimierung:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "Konfiguration zurückgesetzt." -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." msgstr "Konfiguration geladen." -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "Konfiguration gespeichert." -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "Inhaltskomprimierung" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "Inhaltskodierung" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "Inhaltskodierungen" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "Inhaltsverschlüsselung" @@ -2390,7 +2396,7 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "Textuntertitel in diesen Zeichensatz umwandeln (Standard: UTF-8)." -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "Die Kommandozeile in die Zwischenablage kopieren" @@ -2402,17 +2408,17 @@ msgid "CorePicture frame %1% not supported.\n" msgstr "CorePicture-Frame %1% wird nicht unterstützt.\n" -#: src/mmg/jobs.cpp:178 src/mmg/mux_dialog.cpp:129 src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 src/mmg/mux_dialog.cpp:130 src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "Die temporäre Datei für die Kommandozeile für mkvmerge '%s' konnte nicht erstellt werden (Fehlercode %d, %s)." -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "Die Datei '%s' konnte nicht erstellt werden." -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "Die angegebene Datei konnte nicht erstellt werden. file." @@ -2420,12 +2426,12 @@ msgid "Could not decode the Base64 encoded data - it seems to be malformed." msgstr "Base64 kodierte Daten konnten nicht dekodiert werden - sie sind vermutlich falsch formatiert." -#: src/input/r_avi.cpp:327 src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" msgstr "Die Decoder-Konfigurationsdaten (AVCC) konnten nicht aus diesem AVC/h.264-Track extrahiert werden.\n" -#: src/input/r_avi.cpp:277 src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" msgstr "Der Sequenzkopf konnte nicht aus diesem MPEG-1/2-Track extrahiert werden.\n" @@ -2433,11 +2439,11 @@ msgid "Could not find a valid MP3 packet." msgstr "Es konnte kein gültiges MP3-Paket gefunden werden." -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "Für Audio-Track %1% konnte kein Index gefunden werden (Fehlermeldung der avilib: %2%). Der Track wird ausgelassen.\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" msgstr "gptzr konnte beim Anhängen nicht gefunden werden. %1%\n" @@ -2445,10 +2451,14 @@ msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "Die Codec-Konfigurationsdaten konnten im ersten MPEG-4 Teil 2-Videoframe nicht gefunden werden. Dieser Track kann nicht im nativen Modus gemuxt werden.\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "Die nächste Ogg-Seite konnte nicht gefunden werden. Das deutet auf eine beschädigte Ogg/OGM-Datei hin. Es wird versucht fortzusetzen.\n" +#: src/input/r_avi.cpp:685 src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "In den ersten Frames des Tracks konnten keine gültigen DTS-Kopfdaten gefunden werden.\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" msgstr "Die \"iconv\"-Bibliothek konnte nicht für die Zeichensatzumwandlung von %1% nach UTF-8 initialisiert werden. Einige Zeichenketten werden somit nicht nach UTF-8 konvertiert werden können, und die entstehende Matroska-Datei wird eventuell nicht den Spezifikationen entsprechen (Fehlermeldung: %2%, %3%).\n" @@ -2462,7 +2472,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "Die Datei '%1%' konnte nicht zum Lesen geöffnet werden.\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "Die Zwischenablage konnte nicht geöffnet werden." @@ -2470,16 +2480,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "Die dazugehörige Korrekturdatei '%1%c' konnte nicht geöffnet werden.\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "Die Zieldatei '%s' konnte nicht zum Schreiben geöffnet werden. Fehlercode: %d (%s)." -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "Die Datei '%1%' konnte nicht für Umleitung der Ausgabe zum Schreiben geöffnet werden.\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "Die Zeitstempeldatei '%1%' konnte nicht zum Schreiben geöffnet werden (%2%).\n" @@ -2495,15 +2505,15 @@ msgid "Could not read the FLAC header packets.\n" msgstr "Die Pakete mit den FLAC-Kopfdaten konnten nicht gelesen werden.\n" -#: src/common/mm_io.cpp:181 src/common/mm_io_win.cpp:166 +#: src/common/mm_io_win.cpp:167 src/common/mm_io.cpp:181 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "In die Ausgabedatei konnte nicht geschrieben werden: %1% (%2%)\n" -#: src/mmg/options/chapters.cpp:89 src/mmg/tabs/chapters.cpp:349 +#: src/mmg/options/chapters.cpp:89 src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "Land:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "&Optionsdatei erstellen" @@ -2515,27 +2525,27 @@ msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." msgstr "Eine WebM-konforme Datei erstellen. mkvmerge schaltet automatisch in diesen Modus, wenn die Erweiterung des Zieldateinamens \"webm\" ist. Dieser Modus erzwingt mehrere Einschränkungen. Die einzigen erlaubten Codecs sind VP8-Video- und Vorbis-Audio-Spuren. Weder Kapitel noch Tags sind erlaubt. Das DocType-Kopfdatenelement wird auf \"webm\" gesetzt." -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "Neue Kapiteldatei erstellen" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" msgstr "Die Schneideparameter wurden nicht dem Muster \"<TID>:<left>,<top>,<right>,<bottom>\" (z.B. \"0:10,5,10,5\") entsprechend angegeben (Argument war '%1%').\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "Schneideparameter:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "Index Blocknummer: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Index Clusterposition: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" msgstr "Index Codeczustand: %1%" @@ -2543,27 +2553,27 @@ msgid "Cue name format:" msgstr "Format für Cuenamen:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" msgstr "Indexmarke" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" msgstr "Index Referenzcluster: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" msgstr "Index Referenzcodeczustand: %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" msgstr "Index Referenznummer: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" msgstr "Index Referenzzeit: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "Index Referenz" @@ -2579,40 +2589,40 @@ msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" msgstr "Cuesheetparser: Für den vorhergehenden TRACK-Eintrag wurde kein INDEX-Eintrag gefunden (aktuelle Zeile: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "Index Zeitstempel: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "Index Trackpositionen" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "Index Tracknummer: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" msgstr "Indices (Untereinträge werden ausgelassen)" -#: src/mmg/tabs/input_extra.cpp:50 src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:50 src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" msgstr "Cues:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "Aktuelle und alte Jobs:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "Aktuelle Kommandozeile" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "Aktueller Job mit ID %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "Aktueller Job mit ID 1000:" @@ -2620,43 +2630,43 @@ msgid "Current value:" msgstr "Aktueller Wert:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "Aktuelle Version:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "Lösch&en" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (Digital Theater System)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "Die DTS Kopfinformationen haben sich verändert! - Neues Format:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (Digital Theater System)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTS_Header-Problem: Wurde mit einer inkompatiblen neuen Kodiererversion kodiert\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" msgstr "DTS_Header-Problem: ungültige Kernabtastrate\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" msgstr "DTS_Header-Problem: ungültige Framegröße\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" msgstr "DTS_Header-Problem: ungültige Anzahl von Blöcken im Frame\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" msgstr "DTS_Header-Problem: ungültige Quell-PCM-Bittiefe\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" msgstr "DTS_Header-Problem: nicht genug Daten vorhanden, um Kopf zu lesen\n" @@ -2664,31 +2674,31 @@ msgid "Data is not allowed inside <%1%>." msgstr "Im Tag <%1%> sind keine Daten erlaubt." -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "Datum (ungültig, Wert: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "Datum: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "Debug> " -#: src/mmg/tabs/input_format.cpp:193 src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "Standard" -#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:417 +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "Standarddauer" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "Standarddauer: %|1$.3f|ms (%|2$.3f| Bilder pro Sekunde im Falle eines Videotracks)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "Standardtrack-Flag: %1%" @@ -2696,15 +2706,15 @@ msgid "Default track flag:" msgstr "Standardtrack-Flag:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "Verzögerung (in ms):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "Verzögert die Zeitstempel dieses Tracks um einige ms. Kann negativ sein. Funktioniert mit allen Tracktypen, jedoch sollten für Videotracks keine negative Verzögerungen benutzt werden." -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "Verzögerung: %|1$.3f|ms" @@ -2712,15 +2722,15 @@ msgid "Delete all occurences of a property" msgstr "Alle Vorkommen eines Merkmals löschen" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" msgstr "Die ausgewählten Jobs aus der Jobwarteschlange löschen" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "Beschreibung" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "Beschreibung existiert bereits" @@ -2729,35 +2739,35 @@ msgid "Description:" msgstr "Beschreibung:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac elementary stream" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "Kopfdatenkompression bei Audio- und Video-Tracks standardmäßig ausschalten" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "Die ausgewählten Jobs deaktivieren und ihren Status auf 'erledigt' setzen" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "Die Benutzung von vereinfachten Blockelementen anstelle der normalen Blockelemente verhindern." -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "Das Zusammenfassen von Blöcken für alle Tracks deaktivieren. Das wird die Dateigröße erhöhen, besonders wenn viele Audiotracks benutzt werden. Nur zum Testen benutzen." -#: src/merge/mkvmerge.cpp:683 src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" msgstr "Die Anzeigeabmessungen wurden nicht nach dem Schema \"<TID>:<width>x<height>\" (z.B. \"1:640x480) angegeben (Argument war '%1%').\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "Anzeigehöhe: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "Anzeigeeinheit: %1%%2%" @@ -2765,35 +2775,35 @@ msgid "Display usage information" msgstr "Hinweise zur Bedienung anzeigen" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "Anzeigebreite/-höhe:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "Anzeigebreite: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "Keinen Eintrag für Kapitel im Meta-Index erzeugen." -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "Keinen Meta-Index schreiben." -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "Dokumententyp Leseversion: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "Dokumententyp Version: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "Dokumententyp: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" @@ -2805,51 +2815,55 @@ msgid "Done.\n" msgstr "Fertig.\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "Download-URL:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "Dauer: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "Dauer: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "&Beenden\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBML-Kopf" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "Maximale EBML-ID-Länge: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "Maximale Länge des EBML-Längenattributes: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "EBML Leseversion: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBML-Version: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "Böser interner Fehler! (Unbekannter Dateityp). %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "Jedes Kapitel und jede Edition besitzt eine eindeutige Identifikationsnummer. Diese Identifikationsnummer wird normalerweise von Programmen automatisch vergeben, kann hier aber bei Bedarf manuell geändert werden." -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "Jede Edition muss mindestens einen Kapiteleintrag enthalten." -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "EbmlVoid (Größe: %1%)" @@ -2857,12 +2871,12 @@ msgid "Edit selectors" msgstr "Bearbeitungsziele" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "Edition %d" -#: src/mmg/tabs/chapters.cpp:870 src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "Edition-Eintrag %u" @@ -2887,7 +2901,7 @@ msgid "Enable splitting..." msgstr "Aufteilen aktivieren..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "Aktiv: %1%" @@ -2895,23 +2909,23 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "Aktiviert das Aufteilen der Ausgabe in mehr als eine Datei. Sie können nach einer gegebenen Dateigröße, nachdem eine gewisse Zeitspanne vergangen ist oder nach bestimmten Zeitstempeln aufteilen lassen." -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "Verschlüsselungsalgorithmus: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "Verschlüsselungsschlüssel-ID: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "Ende:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "Englischer Name der Sprache" -#: src/info/qt_ui.cpp:130 src/info/wxwidgets_ui.cpp:245 +#: src/info/qt_ui.cpp:130 src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "Fehler" @@ -2919,11 +2933,11 @@ msgid "Error %1%\n" msgstr "Fehler %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "Fehler in Zeile %1%: Es wurde eine Zeile mit einem SRT-Zeitstempel erwartet aber etwas anderes gefunden. Die Bearbeitung dieser Datei wird abgebrochen.\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "Fehler in Zeile %1%: Es wurde eine Untertitelnummer erwartet aber anderer Text gefunden.\n" @@ -2931,11 +2945,11 @@ msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" msgstr "Fehler bei der Initialisierung der Suchtabellen für Kapitel, Tags und Segmentinformationen: Es wurde kein Element mit dem Debugnamen '%1%' gefunden. %2%\n" -#: src/mmg/mmg.cpp:217 src/mmg/mmg_dialog.cpp:369 src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 src/mmg/mmg_dialog.cpp:389 src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" msgstr "Fehler beim Laden der Einstellungen" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "Fehler beim Öffnen der Datei" @@ -2943,11 +2957,11 @@ msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" msgstr "Fehler beim Parsen eines MPEG PS Paketes in der Phase, in der die Kopfdaten gelesen werden. Dieser Track scheint stark beschädigt zu sein.\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "Fehler beim Lesen der Datei" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" msgstr "Fehler beim Parsen der Tags in '%1%': Einige notwendige Elemente fehlen..\n" @@ -2955,16 +2969,16 @@ msgid "Error saving the information" msgstr "Fehler beim Speichern der Informationen" -#: src/mmg/header_editor/frame.cpp:690 src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "Fehler beim Schreiben der Matroska-Datei" -#: src/common/output.cpp:68 src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "Fehler:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "Fehler: " @@ -2972,15 +2986,15 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "Fehler: Der %1%-Parser schlug in '%2%', Zeile %3%, Spalte %4% fehl: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "Fehler: Die Quelldatei %1% konnte nicht geöffnet werden (%2%).\n" -#: src/extract/timecodes_v2.cpp:180 src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." msgstr "Fehler: Es wurde kein EBML-Kopf gefunden." -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -2992,11 +3006,11 @@ msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" msgstr "Fehler: vorbis_packetizer: Die Streamparameter konnten nicht aus den ersten Paketen extrahiert werden.\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "Fehler:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "Alles lief gut." @@ -3041,7 +3055,7 @@ msgid "Extract the data to a raw file." msgstr "Daten roh extrahieren, und nicht in einen Container einbetten." -#: src/output/p_avc.cpp:128 src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" msgstr "Informationen über das Seitenverhältnis wurden aus den MPEG-4 layer 10 (AVC) Videodaten extrahiert. Die Anzeigeabmessungen wurden auf %1%/%2% gesetzt.\n" @@ -3053,123 +3067,119 @@ msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" msgstr "Informationen über das Seitenverhältnis wurden aus den Theora Videodaten extrahiert. Die Anzeigeabmessungen wurden auf %1%/%2% gesetzt.\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" msgstr "Der Track %1% mit der CodecID '%2%' wird in die Datei '%3%' extrahiert. Containerformat: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" msgstr "Das Extrahieren von Track Nummer %1% mit der CodecID '%2%' wird nicht unterstützt.\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (Free Lossless Audio Codec)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC verlustfreies Audio" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" msgstr "BPS:" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "Die VobSub-Datendatei '%1%' konnte nicht erstellt werden: %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "Die Datei '%1%' konnte nicht erstellt werden: %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "Die temporäre Datei '%1%' konnte nicht erstellt werden: %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" msgstr "Ein USF-Untertiteleintrag von Track %1% konnte nicht geparst werden: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "Die privaten USF-Codecdaten für Track %1% konnten nicht geparst werden: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "Das abschließende USF-Ende-Element von Track %1% konnte nicht geparst werden: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "Familien-UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Die Datei %1% hat einen unbekannte Typ. Schauen Sie bitte in der Liste der unterstützten Dateiformate nach ('mkvmerge --list-types'), und kotaktieren Sie den Autor Moritz Bunkus <moritz@bunkus.org>, falls Ihre Datei zwar von mkvmerge unterstützt aber nicht erkannt wird.\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "Datei '%1%': Container: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "Datei '%1%': nicht unterstützter Contaer: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "Datei-UID: %1%" -#: src/input/r_real.cpp:471 src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "Die Datei enthält weniger Frames als erwartet, oder sie ist nach Frame %1% defekt.\n" -#: src/mmg/mmg_dialog.cpp:765 src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "Erstellen einer Datei schlug fehl" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "Dateiinhalt, Größe: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "Dateibeschreibung: %1%" -#: src/mmg/tabs/input.cpp:401 src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "Dateiidentifikation schlug fehl" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "Die Dateiidentifikation von '%s' ist fehlgeschlagen. Rückgabecode: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." msgstr "Die Dateiidentifikation schlug fehl. Rückgabecode: %d. Fehler: %d (%s). Bite stellen Sie sicher, dass sie den Pfad zur mkvmerge.exe in den Einstellungen richtig gesetzt haben." -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "Datei wird bereits verarbeitet" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "Datei modifiziert" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "Dateiname: %1%" -#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:548 +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "Parsen der Datei schlug fehl" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "Entfernen der Datei nicht möglich" -#: src/mmg/header_editor/frame.cpp:702 src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "Warnung bzgl. Dateistruktur" @@ -3181,20 +3191,20 @@ msgid "File/segment title:" msgstr "Datei-/Segmenttitel:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" msgstr "Eine Datei kann nicht an sich selber angehängt werden. Das Argument für '--append-to' war ungültig.\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "Job mit ID %d am %s fertiggestellt: Status '%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "Fertiggestellt am" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "Verarbeitung am %s fertiggestellt" @@ -3207,19 +3217,19 @@ msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." msgstr "Bitte lesen Sie die Dokumentation zu mkvmerge, um eine tiefergehende Erläuterung zum Thema \"Datei-/Segmentverknüpfung\" zu erhalten." -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "Blockzusammenfassung nach EBML-Methode erzwingen" -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "Blockzusammenfassung nach Xiph-Methode erzwingen<" -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "Erzwingt die Benutzung der Übersetzung für die Sprache 'code'." -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "Flag für erzwungene Anzeige: %1%" @@ -3227,19 +3237,19 @@ msgid "Forced track flag:" msgstr "Flag für erzwungene Anzeige:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "Erzwingt, dass der FourCC-Wert des Videotracks auf einen festen Wert gesetzt wird. Beachten Sie, dass dieses nur für Videotracks, die im AVI-Kompatibilitätsmodus gespeichert sind, sowie für Quicktime-Videotracks funktioniert. Diese Option kann NICHT benutzt werden, um die Matroska-CodecID zu ändern." -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." msgstr "Erzwingt, dass der Matroska-Demuxer den generischen Durchleitungs-Paketierer auch für bekannte und unterstützte Tracktypen benutzt." -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "Erzwingt, dass das NALU-Längenfeld eine bestimmte Größe hat. Dieser Parameter ist nur für AVC/h.264 elementary streams gültig, die von AVC/h.264 ES-Dateien, von AVIs oder von Matroska-Dateien, die mit der Option '--engage allow_avc_in_vwf_mode' erstellt wurden, gültig ist. Der Wert liegt normalerweise bei 4 Bytes, aber es gibt Dateien, die keine Frames oder Slices enthalten, die größer als 65535 Bytes sind. Für solche Dateien kann man diesen Parameter auf 2 reduzieren, um etwas Platz zu sparen." -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." msgstr "Setzt den Zeitstempelskalierungsfaktor fest auf ERSETZMICH. Sie müssen anstelle von ERSETZMICH einen Wert zwischen 1000 und 10000000 oder den speziellen Wert -1 benutzen. Normalerweise benutzt mkvmerge 1000000 als Zeitstempelskalierungsfaktor, was einer Auflösung von 1ms entspricht. Für Dateien, die keinen Videotrack und mindestens einen Audiotrack beinhalten werden, wählt mkvmerge den Faktor automatisch so, dass alle Zeitstempel und die Blockdauer eine Auflösung von einem Sample haben. Dieses führt zu höherem Verschnitt, erlaubt aber präzises Anspringen beliebiger Stellen innerhalb der Datei und präzisere Zeitstempel beim Extrahieren. Wird der spezielle Wert -1 benutzt, so benutzt mkvmerge selbst dann Sample-Auflösung, wenn ein Videotrack vorhanden ist." @@ -3263,35 +3273,35 @@ msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" msgstr "Einer oder mehrere B-Frames ohne zweites Referenzbild innerhalb der ersten Bildgruppe gefunden. Bitte diesen Fehler im MPEG2-Videostrom beheben und danach erneut versuchen, ihn zu muxen.\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" msgstr "FourCC: Ungültige Track-ID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" msgstr "FourCC: Fehlende Track-ID in '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "Framenummer: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "Bildrate: %1%" -#: src/info/mkvinfo.cpp:148 src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "Frame mit Größe %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." msgstr "Freitexteingabezeile für benutzerdefinierte Optionen für diesen Track. Was Sie hier eingeben wird von mmg nach allen anderen anderen Optionen in die Kommandozeile eingefügt, sodass Sie alle Optionen beliebig überschreiben können. Alle Vorkommen von \"<TID>\" werden durch die Track-ID des Tracks ersetzt." -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "Gamma: %1%" @@ -3299,7 +3309,7 @@ msgid "General track options" msgstr "Allgemeine Track-Optionen" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "Global" @@ -3307,12 +3317,12 @@ msgid "Global options" msgstr "Globale Optionen" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "Globale Tags (%d Einträge) aus %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "Globale Tags: %1% Einträge" @@ -3333,36 +3343,44 @@ msgid "Header editor: %s" msgstr "Kopfdateneditor: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "Die Komprimierung durch Entfernen gemeinsamer Kopfdaten ist nicht möglich, weil der Puffer %1% Bytes enthält, aber mehr Bytes an gemeinsamen Kopfdaten entfernt werden sollen, und zwar %2%." -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." msgstr "Die Komprimierung durch Entfernen gemeinsamer Kopfdaten ist nicht möglich, weil der Puffer nicht mit exakt den Bytes anfängt, die entfernt werden sollen. Erwartet wurden:%1%; gefunden wurden:%2%." -#: src/mmg/header_editor/frame.cpp:538 src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "Kopfdatenvalidierung" -#: src/mmg/header_editor/frame.cpp:566 src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "Kopfdaten modifiziert" -#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:446 +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "Höhe des encodierten Videobildes in Pixeln." -#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:456 +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "Höhe der angezeigten Videobilder." -#: src/mmg/mmg_dialog.cpp:686 src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "Hilfedatei nicht gefunden" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"Hilfe ist in Form von Tooltips, über das Hilfe-Menü\n" +"und mittels der Taste 'F1' verfügbar." + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3373,8 +3391,8 @@ "eingeben oder aus der Liste auswählen und den Knopf\n" "'hinzufügen' drücken." -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." msgstr "Hier können Sie die Zeitstempel des ausgewählten Kapitels und all seiner Unterkapitel um einen beliebigen Wert erhöhen oder verringern." #: src/mmg/options/chapters.cpp:76 @@ -3389,51 +3407,51 @@ "danach falls notwendig geändert werden. Die Standardwerte\n" "werden gespeichert, wenn mmg beendet wird." -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." msgstr "Hier können Sie die Werte für Sprache und Land festlegen, die SIe dem ausgewählten Kapitel und allen Unterkapiteln zuweisen möchten." -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1-Code" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2-Code" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "IVF mit VP8" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "IVF mit VP8-Video-Tracks" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "Ist ein Kapitel als 'versteckt' markiert, so sollte es von Abspielprogrammen nicht angezeigt werden. Solche Kapitel können trotzdem vom Menüsystem benutzt werden." -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "Ist ein Kapitel als nicht 'aktiviert' markiert, so sollte ein Abspielprogramm den Teil der Datei überspringen, den das Kapitel abdeckt." -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." msgstr "Ist diese Option aktiviert, so fragt mmg nach, bevor es Dateien überschreibt, oder wenn ein Job zur Jobwarteschlange hinzugefügt werden soll und es bereits einen Job in ihr mit derselben Beschreibung gibt." -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." msgstr "Ist diese Option aktiviert, so wird mmg beim Hinzufügen der ersten Quelldatei den Zieldateinamen automatisch vorgeben. Ist die Option nicht aktiviert, so wird der Zieldateiname nie verändert." -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "Ist diese Option aktiviert, so wird mmg beim Hinzufügen von Audio- und Videotracks die Komprimierungsoption auf 'keine' stellen. Die Benutzer können die Option danach beliebig ändern." + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "Ist diese Option aktiviert, so warn mmg in bestimmten Situationen, in denen es von einer potenziell falschen Bedienung ausgeht. Diese Warnungen werden auch bei deaktivierter Option zumindest einmal angezeigt." -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "Wird hier nichts eingetragen, dann setzt mmg den Zieldateinamen so, dass die Datei im selben Verzeichnis wie die zuerst hinzugefügte Quelldatei liegen wird. Andernfalls wird das hier eingetragene Verzeichnis als Zielverzeichnis benutzt." @@ -3441,31 +3459,31 @@ msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." msgstr "Wenn das Aufteilen der Zieldatei aktiviert ist, so kann ein Dateianhang entweder nur an die erste Datei oder an alle Dateien angehängt werden. Diese Einstellung hat keine Auswirkung, wenn das Aufteilen nicht aktiviert ist." -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "Ein Eintrag wird ignoriert, dessen End-Zeitstempel vor dem Start-Zeitstempel liegt.\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "Ein Eintrag wird ignoriert, dessen End-Zeitstempel vor dem Start-Zeitstempel liegt (%1%).\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "Aus %1% importierte Schrit" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "Aus %1% importiertes Bild" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "Es ist nicht möglich, die Datei '%1%' zu benutzen: Die Datei konnte nicht zum Lesen geöffnet oder gelesen werden.\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "Inkompatible mkvmerge-Version" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "Inkompatibler Track" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "Inkonsistentes AAC Audio-Paket (Länge: %1% != len_check %2%)\n" @@ -3473,13 +3491,13 @@ msgid "Increase verbosity." msgstr "Gesprächigkeit erhöhen." -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "Quellen" -#: src/mmg/tabs/chapters.cpp:1374 src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "Dateneingabefehler" @@ -3491,23 +3509,23 @@ msgid "Input too long: %1% > %2%" msgstr "Eingabe zu lang: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "Sprache der Benutzeroberfläche:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "Interlaced: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "Interner Bug: tracks.cpp SSA #1. %1%" -#: src/mmg/header_editor/frame.cpp:706 src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "Interner Programmfehler" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" msgstr "Ungültige %1% in '--%2% %3%' angegeben.\n" @@ -3519,19 +3537,19 @@ msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "Ungültiges Level für BlockAddition in Argument '%1%'.\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." msgstr "Ungültige UID. Eine UID ist einfach eine Nummer." -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." msgstr "Ungültige UID. Diese Kapitel-UID wird bereits verwendet. Die bisherige UID wurde nicht verändert." -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." msgstr "Ungültige UID. Die Editions-UID wird bereits verwendet. Die bisherige UID wurde nicht verändert." -#: src/input/r_avi.cpp:638 src/input/r_avi.cpp:643 src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 src/input/r_avi.cpp:699 src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." msgstr "Ungültige Vorbis-Kopfdaten in AVI Audio-Track." @@ -3543,15 +3561,15 @@ msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." msgstr "Ungültiges Format für Binärdaten '%1%' angegeben. Unterstützt werden 'Base64', 'ASCII' und 'hex'." -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" msgstr "Ungültige Ja/Nein-Option in '--default-track %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" msgstr "Ungültige Ja/Nein-Option in '--forced-track %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" msgstr "Ungültige Ja/Nein-Option in '--aac-is-sbr %1%' angegeben.\n" @@ -3559,11 +3577,11 @@ msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "Ungültige Änderungsangabe (%3%) bei '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" msgstr "Ungültige Kompressionsoption in '--compression %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" msgstr "Ungültige Kompressionsoption. In '--compression %1%' wurde keine Track-ID angegeben.\n" @@ -3571,40 +3589,40 @@ msgid "Invalid country selected" msgstr "Ungültiges Land ausgewählt" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" msgstr "Ungültige Option für Cues in '--cues %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" msgstr "Ungültige Option für Cues. In '--cues %1%' wurde keine Track-ID angegeben.\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "Ungültiger Dateiname" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" msgstr "Ungültiges Format für '--split' in '--split %1%' angegeben.\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" msgstr "Ungültiges Format für eine SSA-Zeile ('%1%') bei Zeitstempel %2%: Das erste Feld ist keine Zahl. Dieser Eintrag wird ausgelassen.\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" msgstr "Ungültiges Format für eine SSA-Zeile ('%1%') bei Zeitstempel %2%: Zu viele Felder gefunden (%3% anstelle von 9). Dieser Eintrag wird ausgelassen.\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." msgstr "Ungültiges Format für den Wert, um den die Zeitstempel angepasst werden sollen." -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." msgstr "Ungültiges Format für die Kapitelendzeit '%s'. Der Wert wird auf 0 gesetzt." -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." msgstr "Ungültiges Format für die Kapitelanfangszeit '%s'. Der Wert wird auf 0 gesetzt." @@ -3645,7 +3663,7 @@ msgid "Invalid format: unknown character '%1%' found" msgstr "Ungültiges FOrmat: unbekanntes Zeichen '%1%' gefunden" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "Ungültige Kopflänge: %1% (Gesamtlänge: %2%, Index: %3%, Datenindex: %4%)\n" @@ -3653,7 +3671,7 @@ msgid "Invalid hexadecimal data encountered: '%1%' is neither white space nor a hexadecimal number." msgstr "Ungültige Hexadeximaldaten gefunden: '%1%' ist weder Whitespace noch eine hexadezimale Ziffer." -#: src/mmg/options/chapters.cpp:114 src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/options/chapters.cpp:114 src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" msgstr "Ungültige Sprache ausgewählt" @@ -3681,91 +3699,91 @@ msgid "Invalid selector in '%1% %2%'.\n" msgstr "Ungültiges Bearbeitungsziel bei '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" msgstr "Ungültige Aufteilungsgröße in '--split %1%' angegeben.\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" msgstr "Ungültiger Start- oder Stop-Zeitstempel" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" msgstr "Ungültiger Start-Zeitstempel" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" msgstr "Ungültige Untertitelzeichensatzoption. In '--sub-charset %1%' wurde keine Track-ID angegeben.\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" msgstr "Ungültiger Untertitelzeichensatz in '--sub-charset %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" msgstr "Ungültige Synchronisationsoption in '%1% %2%' angegeben.\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" msgstr "Ungültige Synchronisationsoption in '%1% %2%' angegeben. Der Divisor ist 0.\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" msgstr "Ungültige Synchronisationsoption in '%1% %2%' angegeben. Der Anteil für lineare Synchronisation darf nicht kleiner oder gleich 0 sein.\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" msgstr "Ungültige Synchronisationsoption: In '%1% %2%' wurde keine Track-ID angegeben.\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" msgstr "Ungültiger Dateiname für Tags in in '%1% %2%' angegeben.\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" msgstr "Ungültige Tags-Option. In '%1% %2%' wurde keine Track-ID angegeben.\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" msgstr "Ungültige Zeitangabe für '--split' in '--split %1%'. Zusätzliche Fehlermeldung: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" msgstr "Ungültige Zeitangabe für '--split' in '--split %1%'. Zusätzliche Fehlermeldung: %2%.\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" msgstr "Ungültige Track-ID in '%1% %2%' angegeben.\n" -#: src/merge/mkvmerge.cpp:579 src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" msgstr "Ungültige Track-ID in '%1% %2%' angegeben.\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" msgstr "Ungültige Track-ID in '--%1% %2%' angegeben.\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" msgstr "Ungültige Track-ID in '--aac-is-sbr %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" msgstr "Ungültige Track-ID in '--compression %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" msgstr "Ungültige Track-ID in '--cues %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" msgstr "Ungültige Track-ID in '--default-track %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" msgstr "Ungültige Track-ID in '--forced-track %1%' angegeben.\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" msgstr "Ungültige Track-ID in '--sub-charset %1%' angegeben.\n" @@ -3773,19 +3791,19 @@ msgid "Invalid track ID/file name specification in argument '%1%'.\n" msgstr "Ungültige Angabe von Track-ID und Dateiname in Argument '%1%'.\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "Job zur Jobwarteschlange hinzugefügt" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "Jobbeschreibung" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "Jobausgabe" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "Jobwarteschlangenverwaltung" @@ -3797,29 +3815,19 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "Nur die BlockAdditions bis zum angegebenen Level erhalten (Standard: alle Level erhalten)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"Bekannte Dateitypen:\n" -" End. Beschreibung\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "LZO-Komprimierung schlug fehl. Rückgabewert: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" msgstr "Lace-Nummer: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "Flag für Paketbündelung: %1%" -#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:429 +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "Sprache" @@ -3831,12 +3839,12 @@ msgid "Language is not NUL terminated" msgstr "Die Zeichenkette für die Sprache endet nicht mit einem NUL-Zeichen" -#: src/mmg/options/chapters.cpp:86 src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 src/mmg/tabs/input_general.cpp:181 +#: src/mmg/options/chapters.cpp:86 src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "Sprache:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "Sprache: %1%" @@ -3844,15 +3852,11 @@ msgid "Languages" msgstr "Sprachen" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "In der Ausgabedatei hinter den Kapiteln zusätlich Platz lassen (in Form eines EbmlVoid-Elementes)." -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "Linkes Auge" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" msgstr "Zum Hinzufügen beliebiger Optionen zu den Kommandozeileargumenten" @@ -3872,7 +3876,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "Zeile %1%, Spalte %2%: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "Zeile %1%: Negativer Zeitstempel gefunden. Der Eintrag wird so angepasst, dass er an 00:00:00.000 anfängt.\n" @@ -3892,24 +3896,24 @@ msgid "List all valid property names and exit" msgstr "Namen aller gültigen Merkmale auflisten und beenden" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" msgstr "Kapiteldatei laden (einfaches/OGM-Format oder XML-Format)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" msgstr "Einstellungen aus einer Datei laden" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "Logdateien (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "Logausgabe:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -3921,56 +3925,40 @@ msgid "MIME type:" msgstr "MIME-Typ:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix ist unter der GNU GPL v2 lizensiert" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 Audio/Video-Dateien" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEG Audiodateien" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG program stream" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG program streams" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEG Video elementary streams" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer II audio (CBR und VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer III audio (CBR und VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 video elementary stream" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 video elementary stream" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "Macht diesen Track zum Standardtrack für seinen Typ (Audio, Video und Untertitel). Abspielprogramme sollten Tracks mit dem Standardtrackflag bevorzugen." -#: src/input/r_matroska.cpp:1468 src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" msgstr "Ungültige AAC-Codec-Initialisierungsdaten gefunden.\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" msgstr "Ungültige CodecID '%1%'.\n" -#: src/input/subtitles.cpp:349 src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:357 src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" msgstr "Falsch formatierte Zeile? (%1%)\n" @@ -3978,38 +3966,38 @@ msgid "Mark this track as 'forced'. Players must play this track." msgstr "Das \"Abspielen erzwungen\"-Flag des Tracks setzen. Abspielprogramme müssen diesen Track abspielen." -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska Audio/Video-Dateien (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska-Dateien (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroska Audio/Videodateien" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska-Dateien (*.mkv *.mka *.mks);;Alle Dateien (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroska-Dateien (*.mkv *.mka *.mks *.mk3d);;Alle Dateien (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska-Dateien (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska-Dateien (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska-Dateien (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroska-Dateien (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "Maximale BlockAddition ID: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "MaxCache: %1%" -#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:412 +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "Maximale Cachetiefe" @@ -4021,23 +4009,23 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "Es konnte nicht genug Speicher für einen RealAudio-/RealVideo-Frame reserviert werden.\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "MIME-Typ: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "MinCache: %1%" -#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:407 +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "Minimale Cachetiefe" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" msgstr "Fehlendes Argument für '--output-charset'.\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" msgstr "Fehlendes Argument für '--ui-language'.\n" @@ -4045,19 +4033,19 @@ msgid "Missing argument to '%1%'.\n" msgstr "Fehlendes Argument für '%1%'.\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "Fehlender Dateiname" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." msgstr "Fehlender Dateiname für die Option '--edit-headers'." -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "Fehlende Kopf-/Kommentarpakete für diesen Stream. Diese Datei ist beschödigt, sollte aber trotzdem korrekt gemuxt werden. Falls nicht, so kontaktieren Sie bitte den Autor author Moritz Bunkus <moritz@bunkus.org>.\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "Fehlende Eingabe" @@ -4073,15 +4061,15 @@ msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "Es wurde die Veränderung von Merkmalen im Abschnitt '%1%' gewünscht, aber kein dazugehöriges Level-1-Element in der Datei gefunden. %2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "Mehr" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "Für einen Dateianhang wurde mehr als ein MIME-Typ angegeben. '%1%' wird ignoriert und statt dessen '%2%' benutzt.\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "Für einen Dateianhang wurde mehr als eine Beschreibung angegeben.\n" @@ -4089,7 +4077,7 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "Es wurde mehr als ein Dateinamen angegeben ('%1%' und '%2%').\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "Für einen Dateianhang wurde mehr als ein Name angegeben. '%1%' wird ignoriert und statt dessen '%2%' benutzt.\n" @@ -4097,43 +4085,43 @@ msgid "More than one root element found." msgstr "Es wurde mehr als ein Wurzelelement gefunden." -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" msgstr "Es soll mehr als ein Track an Track %1% aus Quelldatei Nummer %2% ('%3%') angehängt werden. Das Argument für '--append-to' war ungültig.\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "Es wurde mehr als ein Track mit der Nummer %1% gefunden.\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "Den ausgewählten Job nach unten verschieben" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "Den ausgewählten Job nach oben verschieben" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" msgstr "Muxeranwendung: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "Muxen läuft." -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" msgstr "Das Muxen dauerte %1% Sekunden.\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" msgstr "Das Muxen dauerte 1 Sekunde.\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALU-Größenfeldlänge:" -#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:426 +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "Name" @@ -4141,15 +4129,15 @@ msgid "Name for this track, e.g. \"director's comments\"." msgstr "Name für diesen Track, z.B. \"Kommentare des Regisseurs\"." -#: src/mmg/tabs/attachments.cpp:158 src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/attachments.cpp:158 src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "Name:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "Name: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." msgstr "Neue Kapitel angelegt." @@ -4157,15 +4145,15 @@ msgid "New value:" msgstr "Neuer Wert:" -#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:336 +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "Nächster Dateiname" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" msgstr "Nächster Dateiname: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "Das nachfolgende Level-0-Element ist kein Segment sondern %1%" @@ -4173,48 +4161,48 @@ msgid "Next segment UID:" msgstr "Nächste Segment-UID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" msgstr "Nächste Segment-UID:%1%" -#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:347 +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" msgstr "Eindeutige ID des nächsten Segments" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "In '--%2% %3%' wurde kein %1% angegeben.\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" msgstr "Im ersten Frame wurde kein AC3-Kopf gefunden. Der Track wird ausgelassen.\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." msgstr "Es wurde kein EBML-Kopf gefunden." -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" msgstr "Keine BPS für AVC/h.264-Track ausgewählt" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." msgstr "Für den Dateianhang '%s' wurde noch kein MIME-Typ ausgewählt." -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" msgstr "Für den Dateianhang '%1%' wurde kein MIME-Typ festgelegt, und der MIME-Typ konnte nicht automatisch erraten werden.\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" msgstr "Für Datei Nummer %1% ('%2%') wurde keine Zuordnung zum Anhängen der Tracks angegeben. Die Standardzuordnung %3% wird statt dessen benutzt. Bitte behalten Sie diese Tatsache im Hinterkopf, falls mkvmerge mit einer Fehlermeldung bezüglich ungültiger '--append-to'-Argumente abbricht.\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "Es wurden noch keine Kapiteleinträge angelegt." -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" msgstr "Keine Kapitel gefunden" @@ -4222,7 +4210,7 @@ msgid "No error" msgstr "Kein Fehler" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" msgstr "Keine Kopfdaten verändert" @@ -4238,7 +4226,7 @@ msgid "No file loaded" msgstr "Keine Datei geladen" -#: src/propedit/options.cpp:27 +#: src/propedit/options.cpp:27 src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "Es wurde kein Dateiname angegeben.\n" @@ -4246,11 +4234,11 @@ msgid "No filename found after the '@'." msgstr "Nach dem '@' wurde kein Dateiname angegeben." -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "Keine Hilfe verfügbar." -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" msgstr "Es wurden keine Quelldateien angegeben. Es wird keine Ausgabe erzeugt.\n" @@ -4262,16 +4250,16 @@ msgid "No output file name specified, will use attachment name.\n" msgstr "Es wurde kein Ausgabedateiname angegeben. Der Dateianhangsname wird statt dessen verwendet.\n" -#: src/extract/timecodes_v2.cpp:194 src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." msgstr "Es wurde kein Segment/Level-0-Element gefunden." -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "Es wurden keine Tracks zum Ausgeben gefunden. Abbruch.\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "In '--%1% %2%' wurde keine Track-ID angegeben.\n" @@ -4279,7 +4267,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "Es wurde kein Track gefunden, der zum Berabeitungsziel '%1%' passt. %2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "Ein Track mit der ID %1% wurde in der Quelldatei nicht gefunden.\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "Keine Tracks gefunden" @@ -4287,15 +4279,11 @@ msgid "No version number found.\n" msgstr "Es wurde keine Versiosnummer gefunden.\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "Kein" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." msgstr "Keine der Kopfdaten wurde verändert. Die Datei wurde nicht erneut gespeichert." -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." msgstr "Normalerweise belässt mkvmerge Informationen über das Seitenverhältnis in MPEG4-Videobitstreams und legt die Informationen zusätzlich im Container ab. Diese Option sorgt dafür, dass die Seitenverhältnisinformationen aus dem Bitstream entfernt werden." @@ -4303,47 +4291,52 @@ msgid "Not a hex digit at position %1%" msgstr "An Position %1% befindet sich keine Hexadezimalziffer" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" msgstr "Keine gültige Matroska-Datei (kein EBML-Kopf gefunden)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" msgstr "Keine gültige Matroska-Datei (kein Segment/Level-0-Element gefunden)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" msgstr "Hinweis" -#: src/propedit/options.cpp:30 +#: src/extract/attachments.cpp:131 src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "Nichts zu tun.\n" -#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:418 +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." msgstr "Anzahl Nanosekunden (nicht skaliert) pro Bild." -#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:505 +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "Anzahl Kanäle in diesem Track." -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM Audio/Video-Dateien" -#: src/mmg/message_dialog.cpp:31 src/mmg/mux_dialog.cpp:100 +#: src/mmg/message_dialog.cpp:31 src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "Ok" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "Eines der Kapitel hat keinen Namen." -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "Online-Suche nach Updates" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "Es darf nur eine Kapiteldatei angegeben werden (Argument war '%1% %2%').\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "Es darf nur eine Quelldatei angegeben werden.\n" @@ -4355,18 +4348,22 @@ msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." msgstr "Unterhalb von <Simple> darf nur eine Instanz von entweder <String> oder von <Binary> benutzt werden, aber nicht beide gleichzeitig." -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "Es darf nur eine Ausgabedatei angegeben werden.\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" msgstr "Es darf nur eine Segmentinformationsdatei angegeben werden (Argument war '%1% %2%').\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" msgstr "Für Datei Nummer %1% ('%2%') wurde eine unvollständige Zuordnung für das Anhängen von Tracks angegeben. Geben Sie entweder eine vollständige Zuordnung für alle zu muxenden Tracks aus dieser Datei an, oder lassen Sie die Zuordnung für die Datei weg, wobei dann die Standardzuordnung benutzt wird.\n" +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "Nur eine zusammenfassende Zeile für jeden Frame anzeigen, nicht aber jedes einzelne Matroska-Element." + #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" msgstr "Nur an die erste" @@ -4375,7 +4372,7 @@ msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" msgstr "Es werden nur VobSub-Dateien mit Version 7 oder neuer unterstützt. Wenn Sie eine Datei mit älterer Version haben, so können Sie das Programm 'VSConv' ( http://sourceforge.net/projects/guliverkli/ ) benutzen, um diese nach Version 7 zu konvertieren.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "Op&tionen\tCtrl-P" @@ -4383,7 +4380,7 @@ msgid "Open File" msgstr "Datei öffnen" -#: src/mmg/header_editor/frame.cpp:238 src/info/wxwidgets_ui.cpp:123 +#: src/mmg/header_editor/frame.cpp:238 src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "Matroska-Datei öffnen" @@ -4391,23 +4388,24 @@ msgid "Open an existing Matroska file" msgstr "Eine bestehende Matroska-Datei öffnen" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "Ordner öffnen" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "Optionsdatei erstellt." #: src/mmg/options/dialog.cpp:43 src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "Optionen" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" msgstr "Optionen, die NUR für Entwickler gedacht sind. Benutzen Sie sie nicht. Wenn eine Option offiziell unterstützt wird, so befindet sie sich NICHT in dieser Liste!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" msgstr "Reihenfolge: %1%" @@ -4419,39 +4417,43 @@ msgid "Other options" msgstr "Weitere Optionen" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" msgstr "Ausgabe" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" msgstr "Zieldateiname" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "Alle Nachrichten in diesem Zeichensatz ausgeben" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "Ausgabe der ausgewählten Jobs" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "Ausgabeabtastrate: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "Ausgabe:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "Bestehende Datei(en) überschreiben?" -#: src/mmg/mmg_dialog.cpp:511 src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "Bestehende Datei überschreiben?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP-Untertitel" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTS-Fehler: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4459,11 +4461,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "Paket Nummer %1% enthielt einen ungültigen FLAC-Kopf und wird ausgelassen.\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" msgstr "Die Paketwarteschlange ist nicht leer (Anzahl an fertigen Paketen: %1%). Frames gingen beim Muxen verloren. %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "Datei vollständig parsen und alle Elemente anzeigen" @@ -4471,31 +4473,31 @@ msgid "Parse the whole file instead of relying on the index." msgstr "Die ganze Datei parsen, anstatt den Index zu benutzen." -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "Datei wird geparst" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "Pixel unten abschneiden: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "Pixel links abschneiden: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "Pixel rechts abschneiden: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "Pixel oben abschneiden: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "Pixelhöhe: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "Pixelbreite: %1%" @@ -4503,11 +4505,11 @@ msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." msgstr "Bitte wählen Sie nicht 'mmg' als Datei für 'mkvmerge' aus, weil es dadurch zu einer Endlosschleife kommt." -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "Bitte geben Sie eine Beschreibung für den neuen Job ein:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" @@ -4517,7 +4519,7 @@ "die sie dem ausgewählten Kapitel und darunter\n" "zuweisen möchten." -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4527,11 +4529,11 @@ "Sie beschreiben viele Details ausführlicher, die aus diesem Hilfetext nicht\n" "unbedingt ersichtlich sind.\n" -#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:333 +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "Vorheriger Dateiname" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "Vorheriger Dateiname: %1%" @@ -4539,11 +4541,11 @@ msgid "Previous segment UID:" msgstr "Vorherige Segment-UID:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" msgstr "Vorherige Segment-UID:%1%" -#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:343 +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "Eindeutige ID des vorherigen Segments" @@ -4551,57 +4553,53 @@ msgid "Process priority:" msgstr "Prozesspriorität:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "Ausfürhung 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "Ausführung von Job %d/%d" -#: src/mmg/jobs.cpp:243 src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 src/mmg/mux_dialog.cpp:191 msgid "Progress" msgstr "Fortschritt" -#: src/extract/timecodes_v2.cpp:264 src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" msgstr "Fortschritt: %1%%%%2%" -#: src/extract/mkvextract.cpp:93 src/extract/timecodes_v2.cpp:354 +#: src/extract/timecodes_v2.cpp:359 src/extract/mkvextract.cpp:93 msgid "Progress: 100%\n" msgstr "Fortschritt: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" msgstr "Fortschritt: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" msgstr "Fortschritt: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "Abfrage der von mkvmerge unterstützten Features" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime Audio/Video-Dateien" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 Audio und Video" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4-Demuxer: Ein '%1%'-Element ist zu klein. Erwartete Größe: >= %2%. Tatsächliche Größe: %3%.\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" msgstr "Quicktime/MP4-Demuxer: Tracks mit konstanter Samplegröße und variabler Dauer werden noch nicht unterstützt. Falls Sie eine solche Datei haben, so kontaktieren Sie bitte den Autor.\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4-Demuxer: Der Block Nummer %1%/%2% mit Größe %3% an Position %4% konnte nicht gelesen werden. Abbruch.\n" @@ -4705,7 +4703,7 @@ msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" msgstr "Quicktime/MP4-Demuxer: Unbekannte/nicht unterstützte FourCC '%|1$.4s|' für Track %2%.\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "Die Anwendung beenden" @@ -4713,15 +4711,15 @@ msgid "Quit the header editor" msgstr "Den Kopfdateneditor beenden" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "Beendet mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "Die ausgewählten Jobs wieder aktivieren" @@ -4729,7 +4727,7 @@ msgid "Reading encrypted VOBs is not supported.\n" msgstr "Die Verarbeitung von verschlüsselten VOBs wird nicht unterstützt.\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "Weitere Kommandozeilenargumente aus einer Datei lesen (siehe Dokumentation)." @@ -4737,15 +4735,11 @@ msgid "Ready" msgstr "Bereit" -#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:501 +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." msgstr "Tatsächliche Ausgabeabtastrate in Hz." -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia Audio und Video" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMedia Audio/Video-Dateien" @@ -4753,23 +4747,23 @@ msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "RealMedia-Dateien können HE-AAC / AAC+ / SBR AAC Audio enthalten. Manchmal ist es nicht möglich, das diese automatisch von normalem AAC unterschieden und richtig erkannt werden. Deshalb müssen Sie eventuell selber mit '--aac-is-sbr %1%' festlegen, dass dieser Track SBR AAC enthält. Andernfalls wird der Track falsch gemuxt. Lesen Sie auch den entsprechenden Abschnitt in der mkvmerge-Dokumentation.\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "Leitet alle Nachrichten in diese Datei um." -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "Referenzblock: %1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "Referenzblock: -%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "Referenzpriorität: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "Referenz virtuell: %1%" @@ -4777,7 +4771,7 @@ msgid "Reload the current file without saving" msgstr "Die aktuelle Datei neu laden, ohne zu speichern" -#: src/mmg/jobs.cpp:71 src/mmg/jobs.cpp:73 src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 src/mmg/jobs.cpp:74 src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "Verbleibende Zeit:" @@ -4785,7 +4779,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr "Beachten Sie, dass Sonderzeichen wie &, <, > und \" in der für HTML üblichen Weise angegeben werden müssen: & für '&', < für '<', > für '>' und " für '\"'." -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "Kapitel entfernen" @@ -4793,59 +4787,63 @@ msgid "Remove element" msgstr "Element entfernen" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "Namen entfernen" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "Rechtes Auge" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "Die Suche schlug fehl: es wurde kein gültiges Matroska-Level-1-Element gefunden.\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "Die Suche war an Position %1% erfolgreich.\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "mkvmerge ausführen und den Muxprozess starten" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "Den Kopfdateneditor starten" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "Kommando&zeile anzeigen" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "Ausgewählte s&tarten" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT Textuntertitel" -#: src/mmg/tabs/input.cpp:251 src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS Textuntertitel" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "Ko&mmandozeile speichern" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "Verzeichnis der ersten Quelldatei" -#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:496 +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "Abtastrate in Hz." -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "Abtastrate: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "Speichern &unter" @@ -4853,31 +4851,31 @@ msgid "Save information as" msgstr "Informationen speichern unter" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "Log speichern" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "Muxereinstellungen in eine Datei speichern" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "Die Kommandozeile in einer Datei speichern" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "Kommandozeile in einer Optionsdatei speichern, die von mkvmerge gelesen werden kann" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "Die aktuellen Kapitel in einer XML-Datei speichern" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "Die aktuellen Kapitel in einer anderen Datei speichern" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "Die aktuellen Kapitel in eine Matroska-Datei schreiben" @@ -4885,44 +4883,44 @@ msgid "Save the header values" msgstr "Die Kopfdaten speichern" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "In Matroska-Datei speichern" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "Speichert die Informationen der aktuellen Datei in einer Textdatei" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "Bereich: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "Seek ID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "Seek-Eintrag" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "Seek-Kopf" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "Seek-Kopf (Untereinträge werden ausgelassen)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "Seek-Position: %1%" -#: src/extract/timecodes_v2.cpp:198 src/extract/tracks.cpp:348 -#: src/info/qt_ui.cpp:177 src/info/wxwidgets_ui.cpp:221 +#: src/extract/tracks.cpp:359 src/extract/timecodes_v2.cpp:202 +#: src/info/qt_ui.cpp:177 src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "Segment" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "Segment-UID:%1%" @@ -4930,11 +4928,11 @@ msgid "Segment UIDs:" msgstr "Segment-UIDs:" -#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:330 +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "Segment-Dateiname" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "Segment-Dateiname: %1%" @@ -4947,41 +4945,41 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "Segment-Info-Dateien (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 src/propedit/options.cpp:152 -#: src/propedit/propedit_cli_parser.cpp:87 -#: src/propedit/propedit_cli_parser.cpp:160 src/info/mkvinfo.cpp:544 -#: src/info/qt_ui.cpp:178 src/info/wxwidgets_ui.cpp:224 +#: src/mmg/header_editor/frame.cpp:322 src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 src/propedit/propedit_cli_parser.cpp:87 +#: src/propedit/propedit_cli_parser.cpp:160 src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 src/info/qt_ui.cpp:178 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "Segment-Information" -#: src/extract/timecodes_v2.cpp:252 src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/extract/tracks.cpp:389 src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 src/info/qt_ui.cpp:179 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "Segment-Tracks" -#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:339 +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "Eindeutige Segment-ID" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "Segment, Größe %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "Segment, unbekannte Größe" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "Matroska-Datei auswählen" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "Zieldatei auswählen" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" msgstr "Wählen Sie den Namen der Zieldatei aus" @@ -4993,27 +4991,27 @@ "Wählen Sie die Sprachen aus, die Sie als erstes in\n" "Sprach-Auswahlboxen angezeigt bekommen wollen." -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" msgstr "Neuen Werte auswählen" -#: src/mmg/tabs/input_extra.cpp:55 src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." msgstr "Legt fest, für welche Blöcke mkvmerge Indexeinträge ( = CUE-Einträge) erstellt. \"Standard\" ist in nahezu jeder Situation eine gute Wahl." -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." msgstr "Wählt den Zeichensatz, in dem die Untertiteldatei oder Kapitelinformationen erstellt wurden. Wird nur für Dateien benötigt, die kein UTF-BOM (byte order marker) haben bzw. die Kapitelinformationen ohne Zeichensatzinformationen enthalten (wie z.B. bei OGM, MP4) und die von mkvmerge nicht korrekt erkannt werden." -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "Z&ieldatei festlegen" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" msgstr "Land ändern in:" -#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:395 +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -5024,7 +5022,7 @@ "sofern keine der gefundenen Sprachen mit den\n" "Benutzereinstellungen übereinstimmt." -#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:402 +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5041,7 +5039,7 @@ "sowohl das 'Standard' als auch das\n" "'erzwungen'-Flag gesetzt hat." -#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:398 +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "Gesetzt, sofern der Track benutzt wird." @@ -5049,15 +5047,15 @@ msgid "Set if the video is interlaced." msgstr "Gesetzt, sofern das Video das Zeilensprungverfahren nutzt." -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "Sprache ändern in:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "Die Verzögerung beim Hinzufügen aus dem Dateinamen ableiten" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "Werte setzen" @@ -5073,27 +5071,27 @@ msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" msgstr "Setzt den Analysemodus für die Matroskadatei auf 'fast' (schnell; Standardwert) oder 'full' (vollständig)" -#: src/mmg/tabs/input_extra.cpp:64 src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "Legt die Komprimierung von VobSub-Untertiteln fest. Wird nichts ausgewählt, so werden die Untertitel mit der Methode 'zlib' komprimiert. 'keine' resultiert in deutlich größeren Zieldateien." +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "Legt den für diesen Track zu verwendenden Komprimierungsalgorithmus fest. Falls keine Option ausgewählt ist, entscheidet mkvmerge selbständig anhand des Tracktyps darüber, ob Kompression benutzt wird oder nicht und welcher Algorithmus zum Einsatz kommt. Die meisten Tracktypen werden nicht weiter komprimiert." -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." msgstr "Setzt die Anzahl abzuschneidender Pixel. Muss eine mit Kommata getrennte Liste von vier Zahlen sein, die die Werte für links, oben, rechts und unten angeben." -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." msgstr "Setzt die Standardblockdauer bzw. die Anzahl Bilder pro Sekunde für einen Track. Dies ist nur für Videotracks möglich. Bei AVC/h.264 elementary streams muss diese Option angegeben werden. Der Wert kann entweder eine Fließkommazahl oder ein Bruch sein." -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." msgstr "Setzt das Anzeigeseitenverhältnis des Tracks. Das Format kann entweder 'a/b' entsprechen, wobei beide Zahlen ganzzahlig sein müssen (z.B. 16/9), oder eine Fließkommazahl sein (z.B. 2.35)." -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "Setzt die Anzeigehöhe des Tracks. Die Anzeigebreite muss ebenfalls gesetzt sein. Andernfalls wird dieser Wert ignoriert." -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "Setzt die Anzeigebreite des Tracks. Die Anzeigehöhe muss ebenfalls gesetzt sein. Andernfalls wird dieser Wert ignoriert." @@ -5111,23 +5109,23 @@ "\n" "Jede erstellte Datei enthält genau ein Segment, und jedes Segment enthält eine UID. Falls mehr Segment-UIDs angegeben werden, als Segmente erstelt werden, so werden überzählige UIDs ignoriert. Werden weniger UIDs angegeben, als Segmente erstellt werden, so werden für sie zufällige UIDs erzeugt." -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." msgstr "Setzt den Stereoskopiemodus des Videotracks. Wird das Feld leer gelassen, so wird der bisherige Stereoskopiemodus des Tracks benutzt oder aber, falls er keinen hatte, es wird kein Stereoskopiemodus gesetzt." -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "Einstellungen: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "Diverse Optionen, die allgemein kontrollieren, wie mkvmerge die Daten schreibt" -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "Zu kurzes AAC-Paket (Länge: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "Zu kurzes AAC-Paket (Länge: %1% < 2)\n" @@ -5135,63 +5133,79 @@ msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "Verkürzte Bildergruppe gefunden. Einige Bilder wurden verworfen. Sie sollten diesen Fehler im MPEG2-Videostrom beheben und danach erneut versuchen, ihn zu muxen.\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "&Alle Elemente anzeigen\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" msgstr "Informationsdialog anzeigen" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Alle Bytes aller Frames als Hexdump anzeigen." + +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "Elemente-Größen an&zeigen\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" msgstr "mmgs Debug-Fenster anzeigen" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "Programminformationen anzeigen" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "Für jeden Track Statistiken im gesprächigen Modus ausgeben." + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "Die Kommandozeile anzeigen, die mmg für mkvmerge erstellt" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Die ersten 16 Bytes jedes Frames als Hexdump anzeigen." + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "Den mkvmerge-GUI-Leitfaden anzeigen" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" msgstr "Die Größe jedes Elements inklusive ihrer Kopfdaten anzeigen" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "Die Größe jedes Elements inklusive ihrer Kopfdaten anzeigen." + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "Zeigt diesen Hilfetext an." -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "Versionsinformationen anzeigen." -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." msgstr "Zeigt mmgs Debugfenster an, in dem Debugmeldungen angezeigt werden. Dies ist nur sinnvoll, wenn Sie dem Autor bei der Behebung von Fehlern helfen." -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "Signaturalgorithmus: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "Siganturprüfsummenalgorithmus: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "Signaturschlüssel-ID: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "Signatur: %1%" @@ -5199,11 +5213,11 @@ msgid "Signed integer" msgstr "Vorzeichenbehaftete ganze Zahl" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "Stiller Track Nummer: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "Vereinfachter Block" @@ -5211,11 +5225,11 @@ msgid "Simple chapter parser: %1%\n" msgstr "Parser für einfache Kapiteldateien: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "SimpleBlock" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "SimpleBlock (%1%Track Nummer %2%, %3% Frame(s), Zeitstempel %|4$.3f|s = %5%)" @@ -5227,7 +5241,7 @@ msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" msgstr "Es werden %1% Byte(s) übersprungen, weil kein gültiger AAC-Kopf gefunden wurde. Dadurch kann es zu einem Verlust der Audio-/Videosynchronisation kommen.\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" msgstr "Es werden %1% Byte(s) übersprungen, weil kein gültiger DTS-Kopf gefunden wurde. Dadurch kann es zu einem Verlust der Audio-/Videosynchronisation kommen.\n" @@ -5235,27 +5249,27 @@ msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" msgstr "Es werden %1% Byte(s) am Anfang übersprungen, weil kein gültiger MP3-Kopf gefunden wurde.\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "Slices" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" msgstr "Einige Kopfdaten wurden verändert. Wollen Sie die Änderungen wirklich verwerfen und die Datei schließen?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" msgstr "Einige Kopfdaten wurden verändert. Wollen Sie die Änderungen wirklich verwerfen und eine andere Datei laden?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" msgstr "Einige Kopfdaten wurden verändert. Wollen Sie die Änderungen wirklich verwerfen und die Datei neu laden?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" msgstr "Einie Tag-Elemente fehlen (dieser Fehler hätte nicht auftreten sollen, sondern früher ein ähnlicher). %1%\n" -#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:430 +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." @@ -5263,7 +5277,7 @@ "Gibt die Sprache des Tracks als dreibuchstabiges\n" "Kürzel an." -#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:486 +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." @@ -5284,65 +5298,77 @@ msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "Aufteilen nach Zeitstempel/Dauer wurde ausgewählt aber kein Wert dafür angegeben." -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "Aufteilen ist aktiv, und mindestens eine der potenziellen Zieldateien '%s%s*%s' existiert bereits. Wollen Sie diese wirklich überschreiben?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "Muxen sta&rten" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "Muxen sta&rten (mkvmerge starten)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "Die graphische Oberfläche starten (und Datei Quellname öffnen, sofern angegeben)." + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" msgstr "Startet alle Jobs, deren Status 'wartend' ist." -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "Startet alle Jobs unabhängig von ihrem Status." -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" msgstr "Mit leeren Einstellungen neu anfangen" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "Start:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "Gestartet am" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "Job mit ID %d (%s) wird am %s gestartet" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "Statistiken für Track Nummer %1%: Anzahl Blöcke: %2%; Größe in Bytes: %3%; Dauer in Sekunden: %4%; ungefähre Bitrate in Bits/Sekunde: %5%\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "Status" -#: src/mmg/jobs.cpp:62 src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 src/mmg/mux_dialog.cpp:74 msgid "Status and progress" msgstr "Status und Fortschritt" -#: src/mmg/header_editor/value_page.cpp:174 +#: src/mmg/update_checker.cpp:57 src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "Status:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "Stereomodusparameter: Das Argument folgt nicht dem Muster \"<TID>:<n|keyword>\", wobei 'n' eine Nummer zwischen 0 und 3 oder eines der Wörter 'none', 'right', 'left' oder 'both' ist (Argument war '%1%').\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "Stereomodus: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "Stereomodusparameter: Das Argument folgt nicht dem Muster \"<TID>:<n|keyword>\", wobei 'n' eine Nummer zwischen 0 und %1% oder eines dieser Stichwörter ist: %2% (Argument war '%3%').\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "Stereomodus: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "Stereo-3D-Videomodus (0 - 11, siehe Dokumentation)." -#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:491 +#: src/common/property_element.cpp:149 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5350,15 +5376,15 @@ "Stereo-3D-Videomodus (0: mono, 1: rechtes Auge,\n" "2: linkes Auge, 3: beide Augen)." -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "Stereoskopie:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "Strecken um:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." msgstr "Streckt die Zeitstempel dieses Tracks. Der Eintrag kann zwei Formaten folgen. Entweder enthält er eine positive Fließkommazahl oder aber einen Bruch wie z.B. 1200/1253. Funktioniert am Besten mit Video- und Untertiteltracks." @@ -5366,7 +5392,7 @@ msgid "String" msgstr "Zeichenkette" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" msgstr "Dem Untertiteltrack %1% fehlen einige Elemente für die Framedauer. Bitte überprüfen Sie die extrahierte SSA/ASS-Datei auf Einträge, deren Start-Zeitstempel mit dem End-Zeitstempel übereinstimmt, und korrigieren Sie diese Einträge manuell.\n" @@ -5375,14 +5401,18 @@ msgid "Subtitle track %u" msgstr "Untertiteltrack %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "Unterstützte Dateitypen:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "Statusausgaben unterdrücken." + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The lossless True Audio codec)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA verlustfreies Audio" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" msgstr "Extraktion von Tags" @@ -5401,19 +5431,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "Tagdateien (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "Tags" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "Tags sind in WebM-konformen Dateien nicht zulässig. In keine der Ausgabedateien werden Tags geschrieben.\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "Tags für Track ID %1%: %2% Einträge" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "Tags für Track ID %lld (%d Einträge) aus %s" @@ -5422,24 +5452,24 @@ msgid "Tags:" msgstr "Tags:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "Bewirkt, dass mkvmerge keinen Meta-Index mit allen Clustern an das Ende der Zieldatei schreibe." - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." msgstr "Bewirkt, dass mkvmerge keine Cuedaten erstellt und schreibt, die mit einem Index in AVI-Dateien vergleichbar sind. Matroska-Dateien können auch ohne Cuedaten abgespielt werden, aber das Spulen wird langsamer und unpräziser sein. Sollte nur zu Testzwecken benutzt werden." +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "Bewirkt, dass mkvmerge einen Meta-Index mit allen Clustern an das Ende der Zieldatei schreibt." + #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "Textdateien (*.txt);;Alle Dateien (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "Textdateien (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "Textdateien (*.txt)|*.txt|Alle Dateien|*.*" @@ -5451,15 +5481,15 @@ msgid "The AAC profiles are different: %1% and %2%" msgstr "Die AAC-Profile unterscheiden sich: %1% und %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" msgstr "Dem AVC-Video-Track fehlt das 'CTTS'-Element, das die Zeitstempeloffsets enthält. Dieses wird für AVC-Video-Tracks benötigt, weil diese mehr als zwei Referenz-Frames enthalten können und deshalb die Zeitstempel für solche Frames nicht sortiert sind. Der Inhalt des 'CTTS'-Elements wird benötigt, um diese Zeitstempel richtig zu berechnen. Da es fehlt werden die Zeitstempel vermutlich falsch sein. Sie sollten sich die Ausgabedatei genau ansehen und sicherstellen, dass sie wie erwartet aussieht.\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" msgstr "Der Cuesheet für Track %1% wird in die Datei '%2%' geschrieben.\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "Die CodecID der zwei Tracks unterscheidet sich: %1% und %2%" @@ -5475,42 +5505,38 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "Die Anzahl der Bilder pro Sekunde ist 0.0, aber der Demuxer hat für ein Paket keinen Zeitstempel angegeben. %1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." msgstr "Der BPS-Wert für Track Nummer %s in Datei '%s' ist ungültig." -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" msgstr "Der FourCC-Code muss exakt vier Zeichen lang sein (Argument war '%1% %2%').\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." msgstr "Der Wert für FourCC für Track Nummer %s in Datei '%s' ist nicht exakt vier Zeichen lang." -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "Das GUI ist so eingestellt, dass es eine mkvmerge-Programmdatei mit anderer Version (%s) benutzt, als sie das GUI selber hat (%s). Dies wird nicht unterstützt aber auch nicht verhindert. Sie sollten die mkvmerge-Programmdatei im Einstellungs-Dialog ändern." -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "Das Kate-Identifikationskopfpaket konnte nicht geparst werden (%1%).\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "Die MPEG-4 Teil 2-Komprimierung funktioniert nur mit nativ gemuxtem MPEG-4. Der native Modus wurde jedoch nicht mit '--engage native_mpeg4' angeschaltet.\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "Die Matroska-Datei wird analysiert." -#: src/mmg/header_editor/frame.cpp:700 src/propedit/propedit.cpp:38 +#: src/mmg/header_editor/frame.cpp:701 src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" msgstr "Die Matroska-Datei wurde bereits geändert, aber der Meta-Index konnte nicht aktualisiert werden. Das bedeutet, dass Abspielprogramme das neu geschriebene Element nicht so leicht oder gar nicht finden werden. Bitte benutzen Sie Ihr favorisiertes Abspielprogramm, um zu überprüfen, ob die Datei problemlos abgespielt werden kann.\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" @@ -5520,11 +5546,11 @@ "\n" "Die beste Lösung für dieses Problem ist, die Kapitel in eine XML-Datei zu speichern und die Matroska-Datei zusammen mit der Kapiteldatei neu zu muxen." -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" msgstr "Die Länge des NALU-Längenfeldes muss eine Nummer zwischen 2 und 4 inklusive sein (Argument war '--nalu-size-length %1%').\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Der Theora-Identifikationskopf konnte nicht geparst werden (%1%).\n" @@ -5532,32 +5558,32 @@ msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" msgstr "Die Vorbis-Codebücher unterscheiden sich; solche Tracks können nicht aneinandergehängt werden, ohne sie vorher mit identischen Parametern neu zu encodieren" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" msgstr "Das Argument '%1%' für '%2%' ist ungültig: '%3%' ist keine gültige Track-ID.\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" msgstr "Das Argument '%1%' für '%2%' ist ungültig: '%3%' muss entweder 'all' oder 'first' sein.\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" msgstr "Das Argument '%1%\" für '%2%' ist ungültig: Zu viele Kommata in Element '%3%'.\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" msgstr "Das Argument für '--timecode-scale' muss eine Nummer sein.\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." msgstr "Die Werte für das Seitenverhältnis für Track Nummer %s in Datei '%s' ist ungültig." -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" msgstr "Der Dateianhang #%1%, ID %2%, MIME-Typ %3%, Größe %4%, wird in die Datei '%5%' geschrieben.\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "Der Dateianhang '%1%' konnte nicht gelesen werden.\n" @@ -5577,17 +5603,17 @@ msgid "The changes are written to the file.\n" msgstr "Die Veränderungen werden in die Datei zurückgeschrieben.\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "Dem Kapitel '%s' fehlt die Sprache." -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "Dem Kapitel '%s' fehlt die Startzeit." -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5601,7 +5627,7 @@ "\n" "Anmerkung: Diese Warnung kann in den Einstellungen deaktiviert werden, indem die Option \"Warnung bei falscher Benutzung\" im Optionen-Dialog deaktiviert wird." -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "Die gewählte Länge des NALU-Längenfeldes '%1%' ist zu klein. Versuchen Sie es mit '4'.\n" @@ -5609,13 +5635,13 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "Der Codec-Typ '%1%' kann nicht in einer WebM-konformen Datei verwendet werden.\n" -#: src/output/p_avc.cpp:200 src/output/p_kate.cpp:113 -#: src/output/p_passthrough.cpp:63 src/output/p_textsubs.cpp:98 -#: src/output/p_video.cpp:139 +#: src/output/p_textsubs.cpp:102 src/output/p_passthrough.cpp:63 +#: src/output/p_video.cpp:139 src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "Die privaten Codec-Konfigurationsdaten stimmen nicht überein (Längen: %1% und %2%)." -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "Die privaten Codec-Konfigurationsdaten stimmen nicht überein. Sie haben zwar dieselbe Länge (%1%), aber der Inhalt ist unterschiedlich." @@ -5628,16 +5654,16 @@ msgid "The country '%s' is not a valid ccTLD and cannot be selected." msgstr "Das Land '%s' ist kein gültiger ccTLD-Code und kann nicht ausgewählt werden." -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." msgstr "Die Cueeinträge (der Index) werden geschrieben..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." msgstr "Die aktuelle Quelldatei (Nummer %d) kann nicht entfernt werden. Es gibt andere Quelldateien (zumindest Datei Nummer %d), deren Tracks an Tracks aus der ausgewählten Datei angehängt werden sollen. Bitte entfernen Sie zuerst diese anderen Quelldateien." -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "Der Zeitstempel des aktuellen Paketes ist kleiner als der Zeitstempel des vorhergehenden Paketes. Dieses bedeutet normalerweise, dass die Quelldatei eine nicht 100%% korrekte Matroska-Datei ist. Die Zeitstempel aller folgenden Pakete werden um %1% ms angepasst, um keine Daten zu verlieren. Dies kann jedoch zum Verlust der Audio-/Video-Synchronisation führen, was eventuell mit mkvmerges Option \"--sync\" wieder ausgeglichen werden kann. Verwenden Sie in so einem Fall bereits die Option \"--sync\", und bekommen Sie noch immer diese Warnung, dann ist das normal und kein Grund zur Sorge. Bekommen Sie diese Warnung mehrfach für ein und denselben Track dann wurde entweder die Quelldatei falsch erstellt, oder aber Sie haben einen Bug in mkvmerge gefunden. In letzterem Falle wenden Sie sich bitte an den Autor Moritz Bunkus <moritz@bunkus.org>.\n" @@ -5645,12 +5671,12 @@ msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "Das Standardsprachkürzel '%1%' ist kein gültiger ISO639-2-Code und wird ignoriert.\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." msgstr "Der Wert für die Verzögerung für Track Nummer %s in Quelldatei '%s' ist ungültig." -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5662,15 +5688,15 @@ msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." msgstr "Der Unterschied zwischen globalen Tags und Tags, die einem Track zugeordnet sind, wird in der Dokumentation zu mkvmerge erläutert. Die Kurzfassung: globale Tags beziehen sich auf die gesamte Datei, wohingegen Tags, die auf der Seite 'Quelldateien' angegeben werden, sich nur auf diesen einen Track beziehen." -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "Die Anzeigehöhe der zwei Tracks ist unterschiedlich: %1% und %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "Die Anzeigebreite der zwei Tracks ist unterschiedlich: %1% und %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5688,7 +5714,7 @@ msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "Die Bearbeitungsziele '%1%' und '%2%' verweisen auf denselben Track mit der UID %3%.\n" -#: src/mmg/header_editor/frame.cpp:688 src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "" @@ -5704,41 +5730,41 @@ msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." msgstr "Im fünften Modus wird versucht, Kapitelinformationen und Tags zusammen als Cuesheet zu extrahieren. Dies ist funktioniert dann, wenn die Kapitel und Tags in der Quelldatei mit mkvmerges '--chapters'-Option aus einem Cuesheet erstellt wurden." -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "Die Datei '%1%' kann nicht angehängt werden, weil sie entweder nicht existiert oder nicht gelesen werden kann.\n" -#: src/extract/attachments.cpp:114 src/extract/chapters.cpp:47 -#: src/extract/cuesheets.cpp:208 src/extract/tags.cpp:47 +#: src/extract/attachments.cpp:141 src/extract/cuesheets.cpp:208 +#: src/extract/tags.cpp:47 src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "Die Datei '%1%' konnte nicht zum Lesen geöffnet werden (%2%)." -#: src/extract/timecodes_v2.cpp:169 src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "Die Datei '%1%' konnte nicht zum Lesen geöffnet werden (%2%).\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" msgstr "Die Datei '%1%' konnte nicht geöffnet werden, um aus ihr Kommandozeilenargumente zu lesen.\n" -#: src/extract/tracks.cpp:275 src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 src/extract/xtr_wav.cpp:112 +#: src/extract/tracks.cpp:276 src/extract/xtr_avi.cpp:52 +#: src/extract/xtr_tta.cpp:87 src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "Die Datei '%1%' konnte nicht zum Schreiben geöffnet werden (%2%).\n" -#: src/extract/attachments.cpp:92 src/extract/xtr_rmff.cpp:40 +#: src/extract/attachments.cpp:121 src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "Die Datei '%1%' konnte nicht zum Schreiben geöffnet werden (%2%, %3%).\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "Die Datei '%1%' wurde zum Schreiben geöffnet.\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Die Datei '%1%' hat einen unbekannten Typ. Schauen Sie sich bitte die Liste der unterstützten Formate an ('mkvmerge --list-types'), und wenden Sie sich an den Autor Moritz Bunkus <moritz@bunkus.org>, falls Ihr Dateityp zwar offiziell unterstützt aber in diesem Falle nicht erkannt wird.\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "Die Datei '%1%' hat einen nicht unterstützten Typ (%2%).\n" @@ -5746,12 +5772,12 @@ msgid "The file '%1%' is empty." msgstr "Die Datei '%1%' ist leer." -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "Die Datei '%s' existiert nicht." -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "Die Datei '%s' wird bereits zusammen mit der Datei '%s' verarbeitet. Sie kann nicht ein zweites Mal hinzugefügt werden." @@ -5760,18 +5786,22 @@ msgid "The file could not be opened for writing." msgstr "Die Datei konnte nicht zum Schreiben geöffnet werden." -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "Die Datei existiert nicht." -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "Die Datei scheint keine gültige mkvmerge GUI Optionsdatei zu sein." -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." msgstr "Die Datei wurde von einem anderen Programm verändert, seitdem der Kopfdateneditor sie das letzte Mal gelesen hat. Deswegen müssen Sie die Datei neu laden. Leider bedeutet das, dass all Ihre Änderungen verloren gehen." +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "Die Datei wurde nicht verändert." + #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" msgstr "Der Dateikopf ist zu kurz.\n" @@ -5780,7 +5810,7 @@ msgid "The file header was not read correctly.\n" msgstr "Der Dateikopf konnte nicht vollständig gelesen werden.\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." msgstr "Die Datei enthält ein nicht unterstütztes Containerformat (%s)." @@ -5789,35 +5819,35 @@ msgid "The file is analyzed.\n" msgstr "Die Datei wird analysiert.\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "Die Datei wird korrigiert, Teil 1/4..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "Die Datei wird korrigiert, Teil 2/4..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "Die Datei wird korrigiert, Teil 3/4..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "Die Datei wird korrigiert, Teil 4/4..." -#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:330 +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "Der Dateiname für dieses Segment." -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" msgstr "Die Datei Nummer %1% ('%2%') enthält keinen Track mit der ID %3%, oder der Track wurde nicht zum Muxen ausgewählt. Das Argument zu '--append-to' war ungültig.\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" msgstr "Die Datei Nummer %1% ('%2%') enthält keinen Track mit der ID %3%, oder der Track wurde nicht zum Muxen ausgewählt. Deshalb kann an diesen Track kein anderer Track angehängt werden. Das Argument zu '--append-to' war ungültig.\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" msgstr "Die Datei Nummer %1% ('%2%') wurde nicht zum Anhängen ausgewählt. Das Argument für '--append-to' war ungültig.\n" @@ -5825,15 +5855,15 @@ msgid "The file you tried to open is not a Matroska file." msgstr "Die Datei, die Sie öffnen möchten, ist keine Matroska-Datei." -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "Die Datei, in die Sie speichern möchten, ist KEINE Matroska-Datei." -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "Die Datei, in die Sie speichern wollten, ist eine Matroska-Datei. Damit das richtig funktioniert, müssen Sie den Menüpunkt 'In Matroska-Datei speichern' auswählen." -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" msgstr "Die erste Datei kann nicht angehängt werden, weil es keine Dateien gibt, an die sie angehängt werden könnte.\n" @@ -5857,7 +5887,7 @@ msgid "The format of the split timecode/duration is invalid." msgstr "Das Format des Aufteilungszeitstempels/der Aufteilungsdauer ist ungültig." -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "Die Formate stimmen nicht überein." @@ -5865,7 +5895,7 @@ msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." msgstr "Im vierten Modus werden Kapitelinformationen extrahiert und in ein XML-Format umgewandelt. Die Ausgabe wird auf die Standardausgabe geschrieben und kann mit normalen Shellmethoden in eine Datei umgeleitet werden. Die Ausgabe kann erneut als Quelldatei für mkvmerge dienen." -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" msgstr "Der angegebene Zeitstempelskalierungsfaktor liegt außerhalb des zulässigen Bereiches (1...10000000 oder der Spezialwert -1, der 'Sample-Präzision, selbst wenn ein Video-Track vorhanden ist' bedeutet).\n" @@ -5874,16 +5904,16 @@ msgid "The header has already been written." msgstr "Der Kopf wurde bereits geschrieben." -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "Die Höhe der zwei Tracks ist unterschiedlich: %1% und %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "Die Quelldatei '%s' enthält keine Tracks." -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5899,7 +5929,7 @@ "\n" "(Problem trat auf in tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5915,7 +5945,7 @@ "\n" "(Problem trat auf in tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5931,7 +5961,7 @@ "\n" "(Problem trat auf in tab_input::load(), #3)" -#: src/mmg/options/chapters.cpp:113 src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/options/chapters.cpp:113 src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." msgstr "Die Sprache '%s' ist keine gültige Sprache und kann nicht ausgewählt werden." @@ -5944,7 +5974,7 @@ msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" msgstr "Die Zeile %1% der Zeitstempeldatei '%2%' enthält keine gültige Fließkommazahl.\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "Die Sprachumgebung konnte nicht erfolgreich gesetzt werden. Bitte überprüfen Sie die Umgebungsvariablen LANG, LC_ALL und LC_MESSAGES.\n" @@ -5952,7 +5982,7 @@ msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." msgstr "Die Maximalanzahl an Zieldateien, die beim Aufteilen erstellt werden, auch wenn die letzte Datei dadurch mehr Bytes/Zeit als eigentlich gewünscht enthält. Nützlich, wenn man z.B. genau zwei Dateien erhalten möchte. Wenn Sie diese Einstellung leer lassen, so gibt es kein Limit für die Anzahl an Zieldateien, die mkvmerge erstellt." -#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:413 +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -5964,12 +5994,12 @@ "sollte. Falls dieser Wert 0 ist, wird der\n" "Referenz-Pseudo-Cache-System nicht benutzt." -#: src/mmg/header_editor/frame.cpp:694 src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "Das Meta-Index-Element wurde ans Dateiende geschrieben, aber die Segmentgröße konnte nicht aktualisiert werden. Deshalb wird das Element für Abspielprogramme unsichtbar sein. Der Prozess wird beendet. Die Datei wurde verändert!" -#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:408 +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -5981,11 +6011,11 @@ "sollte. Falls dieser Wert 0 ist, wird der\n" "Referenz-Pseudo-Cache-System nicht benutzt." -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "Die mkvmerge GUI Hilfedateien wurden nicht in dem von Ihnen ausgewählten Pfad gefunden. Bitte versuchen Sie es erneut, oder brechen Sie mit 'Abbrechen' ab." -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" @@ -5999,19 +6029,19 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "Der Name '%1%' ist kein Name eines gültigen Merkmales für das aktuelle Bearbeitungsziel '%2%'.\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" msgstr "Der Name der Zieldatei '%1%' stimmt mit dem Namen einer der Quelldateien überein. Das würde dazu führen, dass mkvmerge diese Quelldatei überschreibt. Das ist wahrscheinlich nicht das, was Sie wollen.\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "Die nächste UID wurde bereits angegeben (Argument war '%1% %2%').\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" msgstr "Die Bittiefe der zwei Audiotracks ist unterschiedlich: %1% und %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "Die Anzahl der Kanäle der zwei Audiotracks ist unterschiedlich: %1% und %2%" @@ -6019,7 +6049,7 @@ msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" msgstr "Die Anzahl der aus einer Zeitstempeldatei gelesenen Zeitstempel %1% ist kleiner als die Anzahl der Frames in diesem Track. Die verbleibenden Frames werden vermutlich mit falschen Zeitstempel versehen. mkvmerge könnte sogar abstürzen.\n" -#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:481 +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." @@ -6027,7 +6057,7 @@ "Die Anzahl an Videopixeln, die unten vom Bild\n" "entfernt werden sollen." -#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:466 +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." @@ -6035,7 +6065,7 @@ "Die Anzahl an Videopixeln, die links vom Bild\n" "entfernt werden sollen." -#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:476 +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." @@ -6043,7 +6073,7 @@ "Die Anzahl an Videopixeln, die rechts vom Bild\n" "entfernt werden sollen." -#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:471 +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." @@ -6051,7 +6081,7 @@ "Die Anzahl an Videopixeln, die oben vom Bild\n" "entfernt werden sollen." -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" msgstr "Die Option '--meta-seek-size' wird nicht mehr länger unterstützt. Lesen Sie bitte die Dokumentation zu mkvmerge, besonders den Abschnitt über die Struktur von Matroskadateien.\n" @@ -6059,16 +6089,16 @@ msgid "The order of the various options is not important." msgstr "Die Reihenfolge der verschiedenen Optionen ist unwichtig." -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "Die Zieldatei '%1%' konnte nicht zum Schreiben geöffnet werden (%2%).\n" -#: src/mmg/mmg_dialog.cpp:511 src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "Die Zieldatei '%s' existiert bereits. Wollen Sie sie überschreiben?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "Der Zieldateiname ist ungültig, z.B. weil er ungültige Zeichen wie ':' enthält." @@ -6080,7 +6110,7 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "Der Bildtyp '%1%' wurde nicht erkannt.\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" msgstr "Die vorherige UID wurde bereits angegeben (Argument war '%1% %2%').\n" @@ -6108,7 +6138,7 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "Der Merkmalswert ist keine gültige vorzeichenlose Zahl bei '%1%'. %2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "Der Grund ist nicht bekannt." @@ -6116,11 +6146,11 @@ msgid "The root element must be <%1%>." msgstr "Das Wurzelelement muss <%1%> sein." -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" msgstr "Die Abtastraten der zwei Audiotracks sind unterschiedlich: %1% und %2%" -#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:422 +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" @@ -6142,7 +6172,7 @@ msgid "The seek table in this TTA file seems to be broken.\n" msgstr "Die Suchindextabelle in dieser TTA-Datei scheint beschädigt zu sein.\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." msgstr "Die ausgewählte Sprache '%s' für Kapitel '%s' ist kein gültiges Sprachkürzel. Bitte wählen Sie eines der vordefinierten Sprachkürzel aus." @@ -6155,15 +6185,15 @@ msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." msgstr "Die Größe, nach der eine neue Zieldatei angefangen wird. Die Buchstaben 'G', 'M' und 'K' können benutzt werden, um die Größe in Giga, Mega respektive Kilobytes anzugeben. Alle Einheiten basieren auf 1024 (G = 1024^3, M = 1024^2 und K = 1024)." -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "Die Größe des Dateianhanges '%1%' ist 0.\n" -#: src/merge/output_control.cpp:305 src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" msgstr "Die Quelldatei '%1%' konnte nicht geöffnet werden, oder aber die Größenabfrage schlug fehl.\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." msgstr "Der Streck-Wert für Track Nummer %s in Datei '%s' ist ungültig." @@ -6188,11 +6218,11 @@ msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." msgstr "Die Zeichenketten 'info', 'segment_info' und 'segmentinfo' wählen das Segmentinformationselement aus. Dieses ist auch die Standardoption, bis die erste '--edit'-Option gefunden wird." -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "Die Tags in '%1%' konnten nicht geparst werden, weil einige notwendige Elemente fehlen.\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "Die temporäre Datei '%1%' konnte nicht zum Lesen geöffnet werden (%2%).\n" @@ -6239,103 +6269,115 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "Die Zeitstempel, nach denen eine neue Zieldatei angefangen wird. Die Zeitstempel beziehen sich auf das gesamte zu muxende Material und nicht nur auf die aktuelle Zieldatei. Die Zeitstempel können entweder in der Form HH:MM:SS.nnnnnnnnn oder als Anzahl Sekunden gefolgt vom Buchstaben 's' angegeben werden. Sie können die Stunden 'HH' weglassen. Sie können bis zu neun Ziffern für die Nanosekunden 'nnnnnnnnn' angeben oder die Nanosekunden ganz weglassen. Wenn zwei oder mehr Zeitstempel angegeben werden, so müssen sie durch Kommata getrennt werden. Die Formate können auch gemischt werden. Beispiele: 01:00:00,01:30:00 (nach einer Stunde und nach einer Stunde und 30 Minuten) oder 1800s,3000s,00:10:00 (nach drei, fünf und zehn Minuten)." -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" msgstr "Die Zeitstempel in diesem Stream wurden mittendrin zurückgesetzt. Das wird nicht unterstützt. Das aktuelle Paket wird ausgelassen.\n" -#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:327 +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." msgstr "Der Titel für den kompletten Film." -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" msgstr "Der Track %1% aus Datei Nummer %2% ('%3%') soll mehr als einmal an einen anderen Track angehängt werden. Das Argument für '--append-to' war ungültig.\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "Die Trackköpfe konnten nicht korrekt geschrieben werden. %1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" msgstr "Der Track Nummer %1% hat keine gültige CodecID.\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" msgstr "Der Track Nummer %1% aus Datei '%2%' kann vermutlich nicht korrekt an Track Nummer %3% aus Datei '%4%' angehängt werden: %5% Bitte stellen Sie sicher, dass sich die resultierende Datei über ihre gesamte Laufzeit korrekt abspielen lässt. Der Autor dieses Programmes wird vermutlich keinen Support leisten, falls Sie Probleme beim Abspielen der Datei haben.\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" msgstr "Der Track Nummer %1% aus der Datei '%2%' kann nicht an den Track Nummer %3% aus der Datei '%4%' angehängt werden. %5%\n" -#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:387 +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." msgstr "Der Track Nummer, die im Blockkopf benutzt wird." -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "Die Trackparameter stimmen nicht überein." -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "Das Update-Informationen konnten nicht von %1% heruntergeladen werden.\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "Die Breite der zwei Tracks ist unterschiedlich: %1% und %2%" -#: src/merge/output_control.cpp:804 src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "Auf der Homepage ist eine neue Version verfügbar." + +#: src/merge/output_control.cpp:829 src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" msgstr "Es gibt keine Datei mit der Nummer '%1%'. Das Argument für '--append-to' war ungültig.\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "Für '%1%' ist keine Übersetzung verfübar.\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "Bei der Online-Abfrage der Versionsinformationen trat ein Fehler auf." + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "Es gab FEHLER." -#: src/mmg/header_editor/frame.cpp:538 src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." msgstr "Es gibt Fehler in den Kopfdaten, sodass sie nicht gespeichert werden können. Der erste fehlerhafte Eintrag wurde ausgewählt." -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "Es gab Warnungen" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." msgstr "Es gab Warnungen, oder mkvmerge wurde unerwartet beendet" -#: src/input/r_avi.cpp:609 src/input/r_real.cpp:326 +#: src/input/r_real.cpp:326 src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" msgstr "Dieser AAC-Track enthält keinen gültigen Kopf. Die AAC-Parameter konnten nicht geparst werden.\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" msgstr "Dieser AAC-Track enthält keinen gültigen Kopf. Die Codec-Konfigurationsdaten haben eine Länge von %1% Byte(s), wohingegen entweder zwei oder fünf Bytes erwartet wurden.\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "Dieser AC3-Track enthält am Anfang %1% Byte(s) Nicht-AC3-Daten. Dies entspricht einer Verzögerung von %2%ms. Diese Verzögerung wird anstelle der Nicht-AC3-Daten benutzt.\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Dieser AC3-Track enthält %1% Byte(s) Nicht-AC3-Daten, die ausgelassen werden. Die Audio-/Video-Synchronisation könnte dadurch beeinträchtigt werden.\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "Dieser AVC/h.264-Videotrack enthält Frames, die für die aktuell gewählte Länge des NALU-Längenfeldes zu groß sind. Sie müssen mkvmerge erneut ausführen und die Länge des NALU-Längenfeldes für diesen Track auf %1% setzen (Kommandozeilenargument dafür '--nalu-size-length %2%:%1%').\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" msgstr "Dieser AVC/h.264-Track beginnt nicht mit einem Keyframe. Die ersten %1% Frame(s) wurde(n) ausgelassen.\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "Dieser MPEG Audio-Track enthält am Anfang %1% Byte(s) Nicht-MP3-Daten. Das entspricht einer Verzögerung von %2%ms. Diese Verzögerung wird anstelle der Nicht-MP3-Daten benutzt.\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Dieser MPEG-Audio-Track enthält %1% Byte(s) Nicht-MP3-Daten, die ausgelassen werden. Die Audio-/Video-Synchronisation könnte dadurch beeinträchtigt werden.\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" msgstr "Diese Ogg/OGM-Datei enthält Kapitelinformationen oder einen Titel. Leider kann der Zeichensatz, in dem diese Informationen gespeichert wurden, nicht automatisch eindeutig erkannt werden. Das Programm geht davon aus, dass der Zeichensatz, der in Ihrem Betriebssystem momentan eingestellt ist, der richtige für die Informationen in der Ogg/OGM-Datei ist. Sollte das nicht der Fall sein, so müssen Sie den Zeichensatz mit dem Kommandozeilenargument '--chapter-charset <Zeichnsatz>' explizit angeben.\n" @@ -6374,11 +6416,11 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "Diese Datei enthält mindestens einen Frame mit einem negativen Zeitstempel. Deshalb werden alle Zeitstempel um den Wert %1% verschoben, damit kein Zeitstempel mehr negativ ist.\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "Diese Datei enthält Anzeigekoordinaten zusammen in den Zeitstempeln. Solche Koordinaten werden vom Matroska SRT-Untertitelformat nicht unterstützt. Die Koordinaten werden automatisch entfernt.\n" -#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:548 +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "Die Datei konnte nicht geöffnet oder geparst werden." @@ -6386,11 +6428,11 @@ msgid "This file could not be opened or parsed.\n" msgstr "Die Datei konnte nicht geöffnet oder geparst werden.\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "Diese Datei enthält keine Kapiteleinträge." -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." msgstr "Diese Datei enthält keine gültigen Kapiteleinträge." @@ -6402,7 +6444,7 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "Dies ist der Titel, den Abspielprogramme als Name oder Titel des Films anzeigen können." -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." msgstr "Diese Option benötigt ein zusäzliches Argument 'n'. Sie sorgt dafür, dass mkvmerge höchstens 'n' Datenblöcke in jeden Cluster schreibt. Falls die Zahl mit 'ms' aufhört, so werden höchstens 'n' Millisekunden an Daten in jeden Cluster geschrieben. Die Maximallänge eines Clusters, die mkvmerge akzeptiert, beträgt 60000 Blöcke bzw. 32000ms; die Minimallänge beträgt 100ms. Abspielprogramme können nur Clustergrenzen direkt anspringen, sodass das Erstellen großer Cluster zu ungenauem oder langsamem Springen führen kann." @@ -6414,11 +6456,11 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "Dieses Merkmal ist einzigartig. Es können keine weiteren Instanzen davon angelegt werden bei '%1%'. %2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "Das hätte WIRKLICH nicht passieren dürfen. Der für das erste Meta-Seek-Element reservierte Platz war zu klein. %1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "Das hätte WIRKLICH nicht passieren dürfen. Der für das erste Meta-Seek-Element reservierte Platz war zu klein. Benötigter Platz: %1%. %2%\n" @@ -6426,15 +6468,15 @@ msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." msgstr "Das hätte nicht passieren dürfen. Bitte wenden Sie sich an den Autor Moritz Bunkus <moritz@bunkus.org> und geben Sie die Fehlermeldung/Warnung an, eine Beschreibung davon, was Sie zu tun versucht haben, die Kommandozeilenparameter, mit denen mkvmerge aufgerufen wurde sowie Informationen über das Betriebssystem, mit dem Sie arbeiten. Danke sehr." -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." msgstr "Dieser Track enthält SBR AAC/HE-AAC/AAC+-Daten. Wird nur bei AAC-Quelldateien benötigt, weil SBR AAC nicht automatisch von normalem AAC unterschieden werden kann. Wird nicht für AAC-Tracks benötigt, die aus MP4- oder Matroska-Dateien gelesen werden." -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "Dieser Track ist nicht mit dem WebM-Modus kompatibel und kann nicht aktiviert werden." -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "Zeitscheibe" @@ -6447,12 +6489,12 @@ msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" msgstr "Zeitstempeldateien (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "Zeitstempelskalierungsfaktor: %1%" -#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:421 +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "Zeitstempelskalierungsfaktor" @@ -6460,11 +6502,11 @@ msgid "Timecodes:" msgstr "Zeitstempel:" -#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:327 +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "Titel" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "Titel: %1%" @@ -6480,19 +6522,19 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "Track %1% CodecPrivate ist zu klein.\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "Track %1% wurde mit einem unbekannten bzw. nicht unterstützten Algorithmus (%2%) komprimiert.\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "Track %1% wurde mit bzlib komprimiert, aber mkvmerge wurde ohne Unterstützung für bzlib-Kompression compiliert.\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "Track %1% wurde mit lzo1x komprimiert, aber mkvmerge wurde ohne Unterstützung für lzo1x-Kompression compiliert.\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "Track %1% wurde mit zlib komprimiert, aber mkvmerge wurde ohne Unterstützung für zlib-Kompression compiliert.\n" @@ -6504,19 +6546,19 @@ msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" msgstr "Der Track %1% mit der CodecID '%2%' enhält ungültige Kopfdaten.\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" msgstr "Dem Track %1% mit der CodecID '%2%' fehlt das \"Bits pro Sekunde\"-Element. Er kann deshalb nicht extrahiert werden.\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" msgstr "Dem Track %1% mit der CodecID '%2%' fehlen die privaten Codec-Konfigurationsdaten. Er kann deshalb nicht extrahiert werden.\n" -#: src/extract/xtr_aac.cpp:42 src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 src/extract/xtr_ogg.cpp:37 -#: src/extract/xtr_ogg.cpp:72 src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_ogg.cpp:37 src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 src/extract/xtr_rmff.cpp:31 +#: src/extract/xtr_vobsub.cpp:65 src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" msgstr "Dem Track %1% mit der CodecID '%2%' fehlt das Element für die privaten Codec-Konfigurationsdaten. Er kann deshalb nicht extrahiert werden.\n" @@ -6524,7 +6566,7 @@ msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" msgstr "Dem Track %1% mit der CodecID '%2%' fehlt das \"Standarddauer\"-Element. Er kann deshalb nicht extrahiert werden.\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "Track %1%: %2%, Codec-ID: %3%%4%%5%%6%\n" @@ -6536,7 +6578,7 @@ msgid "Track %1%: NAL too big\n" msgstr "Track %1%: NAL zu groß\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "Track %1%: Dem Untertitel-Frame Nummer %2% fehlt die Angabe der Dauer. Es wird angenommen, dass er 1s dauert.\n" @@ -6548,15 +6590,15 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "Track ID %1% hat einen unbekannten AAC-Typ.\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "Track ID %1%: %2% (%3%)" -#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:390 +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "Track UID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "Track UID: %1%" @@ -6564,8 +6606,8 @@ msgid "Track extraction" msgstr "Extraktion von Spuren" -#: src/propedit/options.cpp:157 src/propedit/propedit_cli_parser.cpp:88 -#: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/propedit_cli_parser.cpp:88 +#: src/propedit/propedit_cli_parser.cpp:163 src/propedit/options.cpp:157 msgid "Track headers" msgstr "Trackkopfdaten" @@ -6573,27 +6615,27 @@ msgid "Track name:" msgstr "Trackname:" -#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:386 +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "Tracknummer" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "Der Track Nummer %1% wurde verschlüsselt, und Entschlüsselung wurde in MKVToolNix noch nicht implementiert.\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "Tracknummer: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "Track Overlay: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "Tracktyp: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" msgstr "Tracks mit nicht unterstützten Kodierschemata (Kompression oder Verschlüsselung) können nicht extrahiert werden.\n" @@ -6601,15 +6643,15 @@ msgid "Tracks, chapters and tags:" msgstr "Tracks, Kapitel und Tags:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." msgstr "TrueHD Audiostreams bestehen aus zwei Frametypen: Sync-Frames und Nicht-Sync-Frames. Bei aktivierter Option wird mkvmerge einen Sync-Frame und alle folgenden Nicht-Sync-Frames in einen Matroska-Block schreiben. Ohne diese Option schreibt mkvmerge jeden Nicht-Sync-Frame in seinen eigenen Matroska-Block." -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" msgstr "Zwei VobSub-Tracks können nur dann in dieselbe Datei extrahiert werden, wenn ihre privaten Codec-Konfigurationsdaten übereinstimmen. Dies ist für die Tracks %1% und %2% nicht der Fall.\n" -#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:461 +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6621,15 +6663,15 @@ msgid "Type:" msgstr "Typ:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "Typ: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF Textuntertitel" @@ -6641,6 +6683,10 @@ msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "Unerwartetes Bild vom Typ \"Vollbild\" nach nur einem Bild vom Typ \"Feld\". Bitte diesen Fehler im MPEG2-Videostrom beheben und danach erneut versuchen, ihn zu muxen.\n" +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "Unbekannt" + #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." msgstr "Unbenanntes AAC MPEG-2-Profil %1%." @@ -6649,7 +6695,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "Unbekannter AAC MPEG-4-Objekttyp %1%." -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "Unbekannter Audiostreamtyp 0x%|1$04x|. Stream ID %2% wird ausgelassen.\n" @@ -6657,23 +6703,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "Unbekanntes Dateiformat in '%1%'. Diese Datei enthält kein unterstütztes Format für Kapitel.\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "Unbekannter Inhaltskodierungstyp %1% für Track %2%.\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "Unbekanntes Format für die nächste UID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "Unbekanntes Format für die vorherige UID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" msgstr "Unbekanntes Format für die Segment-UID '%3%' in '%1% %2%'.\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "Unbekannter Kopf 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6681,7 +6727,7 @@ msgid "Unknown mode '%1%'.\n" msgstr "Unbekannter Arbeitsmodus '%1%'.\n" -#: src/common/mm_io.cpp:112 src/common/mm_io_win.cpp:68 +#: src/common/mm_io_win.cpp:69 src/common/mm_io.cpp:112 msgid "Unknown open mode" msgstr "Unbekannter Modus beim Dateiöffnen" @@ -6693,7 +6739,7 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "Unbekannter Analysemodus bei '%1% %2%'.\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "Unbekanntes/nicht unterstütztes Audioformat 0x%|1$04x| in diesem Audio-Track.\n" @@ -6709,18 +6755,18 @@ msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." msgstr "Die Vorzeichenlose Zahl (%1%) ist zu klein. Der erwartete Minimalwert ist %2%." -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" msgstr "Nicht unterstützte MPEG-Version: 0x%|1$02x| in Paket %2% bei Zeitstempel %3%. Der Track wird wie MPEG Version 2 behandelt. Für diesen Track werden keine weiteren Warnungen diesbezüglich ausgegeben.\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" msgstr "" "Die Matroska-Datei wurde bereits geändert, aber der Meta-Index konnte nicht aktualisiert werden. Das bedeutet, dass Abspielprogramme das neu geschriebene Element nicht so leicht oder gar nicht finden werden. Bitte benutzen Sie Ihr favorisiertes Abspielprogramm, um zu überprüfen, ob die Datei problemlos abgespielt werden kann.\n" "\n" "Die beste Lösung für dieses Problem ist, die Kapitel in eine XML-Datei zu speichern und die Matroska-Datei zusammen mit der Kapiteldatei neu zu muxen." -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" msgstr "Nicht unterstützter Track-Typ.\n" @@ -6732,57 +6778,11 @@ msgid "Usage" msgstr "Benutzung" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"Benutzung: mkvinfo [Optionen] Quellname\n" -"\n" -" Optionen:\n" -" -g, --gui Die graphische Oberfläche starten (und Datei\n" -" Quellname öffnen, sofern angegeben)\n" -" Quellname Datei 'Quellname' als Quelldatei benutzen\n" -" -v, --verbose Gesprächigkeit erhöhen. Schauen Sie bitte in die mkvinfo-\n" -" Dokumentation für eine genaue Beschreibung, welche\n" -" Informationen auf welcher Stufe ausgegeben werden.\n" -" -c, --checksum Checksummen für Frames berechnen und ausgeben\n" -" -s, --summary Nur eine zusammenfassende Zeile für jeden Frame anzeigen,\n" -" nicht aber jedes einzelne Matroska-Element\n" -" -x, --hexdump Die ersten 16 Bytes jedes Frames als Hexdump anzeigen\n" -" -X, --full-hexdump\n" -" Alle Bytes aller Frames als Hexdump anzeigen\n" -" -z, --size Die Größe jedes Elements inklusive Kopfdaten anzeigen\n" -" --output-charset <Zeichensatz>\n" -" Ausgabe des Programms in diesen Zeichensatz konvertieren\n" -" -r, -o, --redirect-output datei.ext\n" -" Alle Ausgaben nach datei.ext anstatt auf den Bildschirm\n" -" schreiben\n" -" -h, --help Diesen Hilfetext anzeigen\n" -" -V, --version Versionsinformationen anzeigen\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." msgstr "Benutze 'Segmentverknüpfungen' für die Zieldateien. Bitte lesen Sie die mkvmerge-Dokumentation, um eine ausführliche Beschreibung dieses Features zu erhalten." -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." msgstr "" "Der Kapiteleditor wurde benutzt und enthält Daten. Allerdings wurde auf der Seite \"Global\" keine Kapiteldatei ausgewählt. In mmg ist der Kapiteleditor vom Muxvorgang unabhängig. Die Kapiteleinträge im Editor werden NICHT mit in die Zieldatei geschrieben. Nur die verschiedenen \"Speichern\"-Funktionen im Kapiteleditormenü sorgen dafür, dass die Kapitel tatsächlich gespeichert werden.\n" @@ -6791,36 +6791,36 @@ "\n" "Anmerkung: Diese Warnung kann in den Einstellungen deaktiviert werden, indem die Option \"Warnung bei falscher Benutzung\" deaktiviert wird." -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "Benutzt die alte Codec-ID für AAC-Tracks (z.B. 'A_AAC/MPEG4/SBR') anstelle der neuen ('A_AAC')." -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" msgstr "Das vorherige Zielverzeichnis benutzen" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "Dieses Verzeichnis benutzen:" -#: src/mmg/tabs/input_extra.cpp:69 src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "Benutzerdefinierte Optionen:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "Das NALU-Längenfeld drei Bytes lang zu machen kann dazu führen, dass es zu Abspielproblemen mit manchen AVC/h.264-Codecs kommt.\n" -#: src/input/r_ac3.cpp:90 src/input/r_matroska.cpp:1510 -#: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_mpeg_ps.cpp:1176 src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "Das %1%AC3-Ausgabemodul wird benutzt.\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "Das AAC-Ausgabemodul wird benutzt.\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "Der AAC-Demultiplexer wird benutzt.\n" @@ -6828,8 +6828,8 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "Das AAC-Ausgabemodul wird benutzt (FourCC: %1%).\n" -#: src/input/r_aac.cpp:123 src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 src/input/r_qtmp4.cpp:1531 src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "Das AAC-Ausgabemodul wird benutzt.\n" @@ -6841,7 +6841,7 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "Das AC3-Ausgabemodul wird benutzt (FourCC: %1%).\n" -#: src/input/r_avi.cpp:538 src/input/r_ogm.cpp:987 src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 src/input/r_qtmp4.cpp:1454 src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "Das AC3-Ausgabemodul wird benutzt.\n" @@ -6850,7 +6850,7 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "Der AVC/h.264 ES-Demultiplexer wird benutzt.\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "Der AVI-Demultiplexer. Das Öffnen der Datei kann, abhängig von der Größe, eine Weile dauern.\n" @@ -6862,9 +6862,8 @@ msgid "Using the DTS demultiplexer.\n" msgstr "Der DTS-Demultiplexer wird benutzt.\n" -#: src/input/r_avi.cpp:549 src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 src/input/r_mpeg_ps.cpp:1181 -#: src/input/r_wav.cpp:354 +#: src/input/r_avi.cpp:680 src/input/r_dts.cpp:114 src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "Das DTS-Ausgabemodul wird benutzt.\n" @@ -6872,7 +6871,7 @@ msgid "Using the Dirac demultiplexer.\n" msgstr "Der Dirac-Demultiplexer wird benutzt.\n" -#: src/input/r_dirac.cpp:96 src/input/r_matroska.cpp:1431 +#: src/input/r_dirac.cpp:96 src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "Das Dirac-Video-Ausgabemodul wird benutzt.\n" @@ -6880,8 +6879,8 @@ msgid "Using the FLAC demultiplexer.\n" msgstr "Der FLAC-Demultiplexer wird benutzt.\n" -#: src/input/r_flac.cpp:164 src/input/r_matroska.cpp:1540 -#: src/input/r_ogm_flac.cpp:287 +#: src/input/r_flac.cpp:164 src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "Das FLAC-Ausgabemodul wird benutzt.\n" @@ -6889,11 +6888,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "Der IVF-Demultiplexer wird benutzt.\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "Das Kate-Ausgabemodul wird benutzt.\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "Das Kate-Untertitel-Ausgabemodul wird benutzt.\n" @@ -6901,57 +6900,64 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "Der MP2/MP3-Demultiplexer wird benutzt.\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" -msgstr "Der MPEG ES-Demultiplexer wird benutzt.\n" +msgstr "Der MPEG ES-Demultiplexer wird benutzt.\n" #: src/input/r_mpeg_ps.cpp:179 msgid "Using the MPEG PS demultiplexer.\n" msgstr "Der MPEG PS-Demultiplexer wird benutzt.\n" -#: src/input/r_avi.cpp:531 src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 src/input/r_qtmp4.cpp:1541 +#: src/input/r_ogm.cpp:1030 src/input/r_qtmp4.cpp:1537 src/input/r_avi.cpp:557 +#: src/input/r_mpeg_ps.cpp:1171 src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "Das MPEG-Audio-Ausgabemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:1415 src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "Das MPEG-%1%-Video-Ausgabemodul wird benuztz.\n" -#: src/input/r_avi.cpp:299 src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "Das MPEG-1/2-Video-Ausgabemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:1804 src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "Das MPEG-4 Teil 10 (AVC)-Video-Ausgabemodul wird benutzt.\n" -#: src/input/r_avc.cpp:136 src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_ogm.cpp:1154 src/input/r_avc.cpp:136 src/input/r_avi.cpp:348 +#: src/input/r_mpeg_ps.cpp:1210 src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "Das MPEG-4 Teil 10 ES-Video-Ausgabemodul wird benutzt.\n" -#: src/input/r_avi.cpp:307 src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 src/input/r_qtmp4.cpp:1481 src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "Das MPEG-4 Teil 2-Video-Ausgabemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "Der Matroska-Demultiplexer wird benutzt.\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "Der Ogg/OGM-Demultiplexer wird benutzt.\n" -#: src/input/r_avi.cpp:523 src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 src/input/r_qtmp4.cpp:1547 src/input/r_wav.cpp:395 +#: src/input/r_ogm.cpp:1049 src/input/r_qtmp4.cpp:1543 src/input/r_avi.cpp:549 +#: src/input/r_wav.cpp:395 src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "Das PCM-Ausgabemodul wird benutzt.\n" +#: src/input/r_matroska.cpp:1719 src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "Das PGS-Ausgabemodul wird benutzt.\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "Der PGSSUP-Demultiplexer wird benutzt.\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "Der Quicktime/MP4-Demultiplexer wird benutzt.\n" @@ -6968,7 +6974,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "Das SRT-Untertitel-Lesemodul wird benutzt.\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "Das SSA/ASS-Untertitel-Ausgabemodul wird benutzt.\n" @@ -6980,11 +6986,11 @@ msgid "Using the TTA demultiplexer.\n" msgstr "Der TTA-Demultiplexer wird benutzt.\n" -#: src/input/r_matroska.cpp:1566 src/input/r_tta.cpp:109 +#: src/input/r_tta.cpp:109 src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "Das TTA-Ausgabemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:1427 src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "Das Theora-Video-Ausgabemodul wird benutzt.\n" @@ -7008,11 +7014,12 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "Der VC1 ES-Demultiplexer wird benutzt.\n" -#: src/input/r_mpeg_ps.cpp:1215 src/input/r_vc1.cpp:96 +#: src/input/r_vc1.cpp:96 src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "Das VC1-Video-Ausgabemodul wird benutzt.\n" -#: src/input/r_ivf.cpp:87 src/input/r_matroska.cpp:1435 +#: src/input/r_ogm.cpp:1445 src/input/r_ivf.cpp:87 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "Das VP8-Video-Ausgabemodul wird benutzt.\n" @@ -7020,11 +7027,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "Das VobBtn-Button-Lesemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "Das VobBtn-Ausgabemodul wird benutzt.\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "Das VobSub-Ausgabemodul wird benutzt.\n" @@ -7036,8 +7043,8 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "Das VobSub-Untertitel-Lesemodul wird benutzt (SUB-Datei '%1%').\n" -#: src/input/r_avi.cpp:678 src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "Das Vorbis-Ausgabemodul wird benutzt.\n" @@ -7053,21 +7060,20 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "Der WAVPACK-Demultiplexer wird benutzt.\n" -#: src/input/r_matroska.cpp:1596 src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "Das WAVPACK-Ausgabemodul wird benutzt.\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" msgstr "Das generische Audio-Ausgabemodul wird benutzt (FourCC: %|1$.4s|).\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "Das generische Ausgabemodul wird für diesen %1%-Track verwendet.\n" -#: src/input/r_avi.cpp:381 src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 src/input/r_srt.cpp:60 src/input/r_ssa.cpp:71 -#: src/input/r_usf.cpp:259 +#: src/input/r_usf.cpp:259 src/input/r_ogm.cpp:1101 src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 src/input/r_srt.cpp:60 src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "Das Textuntertitel-Ausgabemodul wird benutzt.\n" @@ -7075,23 +7081,19 @@ msgid "Using the video output module (FourCC: %1%).\n" msgstr "Das Video-Ausgabemodul wird benutzt (FourCC: %1%).\n" -#: src/input/r_qtmp4.cpp:1473 src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" msgstr "Das Video-Ausgabemodul wird benutzt (FourCC: %|1$.4s|).\n" -#: src/input/r_avi.cpp:336 src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "Das Video-Ausgabemodul wird benutzt.\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 elementary streams" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 Video elementary stream" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" msgstr "Gültige Hacks sind:\n" @@ -7100,7 +7102,7 @@ msgid "Validates the content of all changeable headers" msgstr "Validierung der Werte aller änderbaren Kopfdaten" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" msgstr "" "Die Jobdatei konnte nicht fehlerfrei geparst werden.\n" @@ -7110,35 +7112,35 @@ "\n" "(Problem trat auf in tab_input::load(), #1)" -#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:485 +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" msgstr "Video Seitenverhältnistyp" -#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:481 +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "Video Pixel unten abschneiden" -#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:466 +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "Video Pixel links abschneiden" -#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:476 +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "Video Pixel rechts abschneiden" -#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:471 +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "Video Pixel oben abschneiden" -#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:456 +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "Video Anzeigehöhe" -#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:461 +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "Video Anzeigeeinheit" -#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:451 +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "Video Anzeigebreite" @@ -7150,23 +7152,23 @@ msgid "Video interlaced flag" msgstr "Flag für Video im Zeilensprungverfahren" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "Das Zusammensetzen der Videopakete zu einem Frame schlug fehl. Fehlercode: %1% (%2%)\n" -#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:446 +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "Video Pixelhöhe" -#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:441 +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "Video Pixelbreite" -#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:491 +#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "Video Stereomodus" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "Video-Track" @@ -7175,83 +7177,71 @@ msgid "Video track %u" msgstr "Video-Track %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "Die Ausgabe ansehen, die mkvmerge während des Muxprozesses der ausgewählten Jobs erzeugt hat" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn-Buttons" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobButtons" -#: src/mmg/tabs/input.cpp:256 src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub-Untertitel" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE (unkomprimiertes PCM)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (unkomprimiertes PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK verlustfreies Audio" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4 Audio" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" msgstr "Wegen potenziell falscher Benutzung von mmg warnen" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "Warnung in Zeile %1%: Der Start-Zeitstempel ist kleiner als der des vorhergehenden Eintrages. Alle Einträge aus dieser Datei werden nach ihrem Start-Zeitstempel sortiert.\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "Warnung:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "Warnung: " -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "Warnung: Es gibt mehr als einen Track mit der UID %1%." -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "Warnung: Es gibt mehr als einen Track mit der Nummer %1%." -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "Warnungen: " -#: src/mmg/tabs/input.cpp:259 src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebM Audio/Video-Dateien" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." msgstr "Wenn eine Quelldatei hinzugefügt wird, wird ihr Dateiname untersucht. Falls er das Wort 'DELAY' gefolgt von einer Nummer enthält, so wird diese Nummer automatisch in das Feld 'Verzögerung' für jeden Audiotrack dieser Quelldatei eingetragen." -#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:441 +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "Encodierte Breite des Videobildes in Pixeln." -#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:451 +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." msgstr "Breite, mit der das Videobild angezeigt werden soll." -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "" "Die mkvmerge-GUI-Hilfedateien wurden nicht gefunden. Das deutet darauf hin, dass die Hilfe bisher noch nie aufgerufen wurde, oder dass der Installationspfad seitdem geändert wurde.\n" @@ -7266,15 +7256,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "Schreibe Spur mit der ID 'TID' in die Datei 'out'." -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "Schreibende Anwendung: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" msgstr "Informationen werden geschrieben" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "Die VobSub-Index-Datei '%1%' wird geschrieben.\n" @@ -7286,7 +7276,7 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "Falsche Theora-Version: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" msgstr "Falsches Argument zu '--split-max-files'.\n" @@ -7294,12 +7284,12 @@ msgid "Wrong file chosen" msgstr "Falsche Datei ausgewählt" -#: src/mmg/header_editor/frame.cpp:248 src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/header_editor/frame.cpp:248 src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "Falsche Datei ausgewählt" -#: src/common/kate.cpp:46 src/common/theora.cpp:35 +#: src/common/theora.cpp:35 src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "Falscher Kopftyp: 0x%|1$02x| != 0x%|2$02x|" @@ -7319,7 +7309,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "XML-Parserfehler in Zeile %1%: %2%." -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "Sie haben bereits die aktuelle Version installiert." + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7342,7 +7336,7 @@ "Beispiel: -00:05:23 wüde alle Kapitel fünf Minuten und 23 Sekunde\n" "früher als jetzt anfangen lassen." -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7357,7 +7351,7 @@ "\n" "Wollen Sie trotzdem fortfahren?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7371,11 +7365,11 @@ "\n" "Diese Nachricht wird nur einmal angezeigt, es sei denn, Sie haben die Warnungen bzgl. falscher Benutzung im Einstellungsdialog aktiviert." -#: src/common/compression.cpp:130 src/common/compression.cpp:167 +#: src/common/compression.cpp:139 src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib-Dekomprimierung schlug fehl. Fehlercode: %1%\n" -#: src/info/mkvinfo.cpp:165 src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[%1%-Frame für Track %2%, Zeitstempel %3%]" @@ -7383,7 +7377,7 @@ msgid "aac_reader: ADIF header files are not supported." msgstr "aac_reader: Der ADIF-Kopftyp wird nicht unterstützt." -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader: Die Datei konnte nicht geöffnet werden." @@ -7391,15 +7385,15 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader: %1% Bytes konnten nicht gelesen werden." -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" msgstr "aac_reader: In den ersten %1% Bytes wurde kein gültiges AAC-Paket gefunden.\n" -#: src/mmg/jobs.cpp:335 src/mmg/jobs.cpp:444 src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 src/mmg/jobs.cpp:453 src/mmg/jobs.cpp:531 msgid "aborted" msgstr "abgebrochen" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" msgstr "ac3_bs_packetizer::add_to_buffer(): Ungetesteter Code ('size' ist ungerade). Falls mkvmerge abstürzt oder die resultierende Datei nicht den vollständigen und korrekten Audiotrack enthält, dann wenden Sie sich bitte an den Autor Moritz Bunkus <moritz@bunkus.org>.\n" @@ -7419,18 +7413,18 @@ msgid "add" msgstr "hinzufügen" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "anaglyph" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "anhängen" -#: src/input/r_matroska.cpp:88 src/mmg/mmg.cpp:57 src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 src/mmg/mmg.cpp:62 src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "Audio" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "Audio/Video/Textuntertitel in Ogg eingebettet" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_reader: Die Quelldatei konnte nicht geöffnet werden." @@ -7439,35 +7433,35 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_reader: Hätte nicht passieren sollen." -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_reader: Die AVI-Datei konnte nicht geöffnet werden. Grund: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_reader: Die Quelldatei konnte nicht gelesen werden." -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." msgstr "avi_reader: Die Quelldatei ist keine gültige AVI-Datei." -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "Bits pro Abtastwert: %1%" -#: src/input/r_matroska.cpp:89 src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "Buttons" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > size. Hätte nicht passieren dürfen. Bitte legen SIe einen Fehlerbericht an.\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2-Komprimierung schlug fehl. Fehlercode: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress() ist noch nicht implementiert\n" @@ -7475,19 +7469,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index: '%1%' nicht gefunden\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "Kanäle: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "checkboard (links zuerst)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "checkboard (rechts zuerst)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "spaltenversetzt (links zuerst)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "spaltenversetzt (rechts zuerst)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "erfolgreich beendet" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "mit Warnungen beendet" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "Komprimierung" @@ -7499,24 +7509,20 @@ msgid "corepicture_reader: Source is not a valid CorePanorama file." msgstr "corepicture_reader: Die Quelldatei ist keine gültige CorePanorama-Datei." -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num nicht gefunden. %1%\n" -#: src/common/ebml.cpp:100 src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: Ungültige UTF-8-Sequenz gefunden. Wenden Sie sich bitte an moritz@bunkus.org, und bitten Sie darum, dass er den UTF-8-Parser verbessert." - -#: src/mmg/tabs/input_extra.cpp:91 src/mmg/tabs/input_extra.cpp:165 -#: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_general.cpp:106 src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "Standard" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "Standarddauer: %|1$.3f|ms (%|2$.3f| Bilder pro Sekunde im Falle eines Video-Tracks)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit() schlug fehl. Fehlercode: %1%\n" @@ -7528,23 +7534,23 @@ msgid "disable all" msgstr "alle deaktivieren" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " msgstr "verwerfbar, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "Anzeigehöhe: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "Anzeigebreite: %1%" -#: src/mmg/jobs.cpp:520 src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 src/mmg/jobs.cpp:717 msgid "done" msgstr "fertig" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "fertig/Warnungen" @@ -7568,30 +7574,30 @@ msgid "enable all" msgstr "alle aktivieren" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "aktiviert" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "Verschlüsselung" #: src/input/r_qtmp4.cpp:516 src/input/r_qtmp4.cpp:598 #: src/input/r_qtmp4.cpp:632 src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 src/common/mm_io.cpp:481 src/common/mm_io.cpp:491 #: src/common/mm_io.cpp:501 src/common/mm_io.cpp:511 src/common/mm_io.cpp:521 #: src/common/mm_io.cpp:531 src/common/mm_io.cpp:541 src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "Ende-der-Datei" -#: src/mmg/jobs.cpp:344 src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 src/mmg/jobs.cpp:532 msgid "failed" msgstr "fehlgeschlagen" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "filelist_t für generic_packetizer_c nicht gefunden. %1%\n" @@ -7635,7 +7641,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_reader: metadata_respond_all konnte nicht gesetzt werden.\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_reader: Fehler beim Parsen der Datei: %1%\n" @@ -7647,23 +7653,19 @@ msgid "flac_reader: could not initialize the FLAC packetizer.\n" msgstr "flac_reader: Das FLAC-Ausgabemodul konnte nicht initialisiert werden.\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "für alle Frames" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "Allgemeine Matroska-Dateien" - #: src/input/r_avc.cpp:76 src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "habe eine Ausnahme\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "Entfernen von Kopfdaten" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "versteckt" @@ -7675,12 +7677,12 @@ msgid "highest" msgstr "höchste" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit() schlug fehl. Fehlercode: %1%\n" -#: src/mmg/jobs.cpp:72 src/mmg/jobs.cpp:74 src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 src/mmg/jobs.cpp:75 src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "wird abgeschätzt" @@ -7688,15 +7690,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_reader: Die Datei konnte nicht geöffnet werden." -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "Schlüssel-Frame, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "Sprache: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "Länge %1%, Inhalt: %2%" @@ -7716,135 +7718,135 @@ msgid "lowest" msgstr "am niedrigsten" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress() nicht implementiert\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init() schlug fehl. Fehlercode: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) schlug fehl.\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS-Kompatibilitätsmodus für Track %1%) Laut Matroska-Kopf hat der Track %2% Bits pro Abtastwert, doch die WAVEFORMATEX-Struktur enthält den Wert %3%.\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS-Kompatibilitätsmodus für Track %1%) Laut Matroska-Kopf hat der Track %2% Kanäle, doch die WAVEFORMATEX-Struktur enthält den Wert %3%.\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS-Kompatibilitätsmodus für Track %1%) Laut Matroska-Kopf hat der Track %2% Abtastwerte pro Sekunde, doch laut WAVEFORMATEX-Struktur sind es %3%.\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (MS-Kompatibilitätsmodus für Track %1%) Laut Matroska-Kopf hat der Track eine Breite von %2% Pixeln, laut BITMAPINFOHEADER-Struktur jedoch %3%.\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (MS-Kompatibilitätsmodus für Track %1%) Laut Matroska-Kopf hat der Track eine Höhe von %2% Pixeln, laut BITMAPINFOHEADER-Struktur jedoch %3%.\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_reader: Einem Track fehlt seine Track-UID.\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_reader: Einem Track fehlt seine Tracknummer.\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" msgstr "matroska_reader: Die Track-UID %1% kann nicht beibehalten werden, da sie schon für einen anderen Track benutzt wird.\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader: Die Kopfdaten konnten nicht gelesen werden." -#: src/input/r_matroska.cpp:1208 src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_reader: Es wurde kein Segment gefunden.\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_reader: Die Pixelhöhe fehlt.\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_reader: Die Pixelbreite fehlt.\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_reader: Die CodecID '%1%' für Track %2% ist unbekannt.\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" msgstr "matroska_reader: Die CodecID für Track %1% ist '%2%', doch wurde keine BITMAPINFOHEADER-Struktur gefunden. Deswegen gibt es keinen FourCC-Code, um festzustellen, um welchen Videocodec es sich handelt.\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_reader: Die CodecID für Track %1% ist '%2%', doch wurde keineWAVEFORMATEX-Struktur gefunden. Deswegen gibt es keine Format-ID, um festzustellen, um welchen Audiocodec es sich handelt.\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_reader: Die CodecID für Track %1% ist '%2%', doch enthält der Track keine privaten Codeckonfigurationsdaten.\n" -#: src/input/r_matroska.cpp:483 src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_reader: Die CodecID für Track %1% ist '%2%', doch enthält der Track keine privaten Codeckonfigurationsdaten.\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_reader: Die CodecID für Track %1% ist 'A_VORBIS', doch gibt es keine privaten Codec-Konfigurationsdaten.\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" msgstr "matroska_reader: Die CodecID fehlt.\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_reader: The Höhe war für Track %1% nicht gesetzt.\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_reader: Die Breite war für Track %1% nicht gesetzt.\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_reader: Track %1% scheint in Ordnung zu sein.\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader: Der Tracktyp wurde nicht gefunden.\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" msgstr "matroska_reader: Der Vorbis-Track enthält keine gültigen Kopfdaten.\n" -#: src/input/r_matroska.cpp:1300 src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_reader: Ausnahme abgefangen\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader: mkvmerge wurde ohne FLAC-Unterstützung compiliert. Track %1% wird ausgelassen.\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_reader: kein EBML-Kopf gefunden.\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader: Unbekannter Demuxertyp für Track %1%: '%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_reader: | + Es gibt mehr als einen Track mit der UID %1%.\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" msgstr "matroska_reader: | + Es gibt mehr als einen Track mit der Nummer %1%.\n" @@ -7852,19 +7854,19 @@ msgid "max. number of files:" msgstr "max. Anzahl von Dateien:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() aus Datei %1%, Zeile %2% aufgerufen: malloc() hat für eine Größe von %3% Byte(s) NULL zurückgegeben.\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() aus Datei %1%, Zeile %2% aufgerufen: malloc() hat für eine Größe von %3% Byte(s) NULL zurückgegeben.\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() aus Datei %1%, Zeile %2% aufgerufen: realloc() hat für eine Größe von %3% Byte(s) NULL zurückgegeben.\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor: Darf nicht benutzt werden!" @@ -7940,19 +7942,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): level > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: Unbekannter Modus!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [Optionen] <Quellname>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o aus [globale Optionen] [Optionen1] <Datei1> [@Optionsdatei ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmerge schlug mit einem Rückgabewert von %d fehl. %s" @@ -7964,18 +7966,18 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUI Fehler" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI bereit" -#: src/mmg/mmg_dialog.cpp:364 src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI Optionen (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: Fehler" @@ -7987,7 +7989,7 @@ msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." msgstr "mkvmerge kann Zeitstempel aus einer externen Textdatei lesen. Hierbei handelt es sich um ein sehr fortgeschrittenes Feature. Nahezu alle Benutzer sollten das Feld leer lassen." -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" @@ -7999,20 +8001,20 @@ msgid "mkvmerge executable" msgstr "mkvmerge-Programmdatei" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" msgstr "mkvmerge schloss den Prozess mit einem Rückgabewert von %d ab. %s" -#: src/mmg/jobs.cpp:147 src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" msgstr "mkvmerge ist fertig" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" msgstr "mkvmerge wurden ohne FLAC-Unterstützung compiliert, aber dieser FLAC-Stream soll gemuxt werden.\n" -#: src/mmg/jobs.cpp:49 src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge läuft" @@ -8020,7 +8022,7 @@ msgid "mkvmerge options" msgstr "mkvmerge-Optionen" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" msgstr "mkvmerge-Zieldatei:" @@ -8036,7 +8038,7 @@ msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." msgstr "mkvmerge unterstützt zwei Kapitelformate: das bei OGM-Dateien verwendete, einfache Format und ein vollwertiges und umfassendes XML-Format. Diese Option gibt die Sprache an, die bei Verwendung des OGM-Formates jedem Kapiteleintrag zugewiesen wird. Der Eintrag wird für das XML-Format ignoriert." -#: src/merge/output_control.cpp:247 src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmerge wurde durch ein Signal unterbrochen (wurde Strg+C gedrückt?)\n" @@ -8048,23 +8050,23 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [Optionen] <Dateiname> <Aktionen>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: UTF32_* wird momentan nicht unterstützt.\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): Ungültiges UTF-8-Zeichen. Erstes Byte: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" msgstr "mmg Debugausgaben" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmg-Optionen" @@ -8072,11 +8074,15 @@ msgid "mmg will reset to the default list if no entry is selected." msgstr "mmg wird auf die Standardliste zurückgehen, wenn kein Eintrag ausgewählt ist." +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "mono" + #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_reader: Die Quelldatei konnte nicht gelesen werden." -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader: Die Quelldatei konnte nicht gelesen werden." @@ -8097,7 +8103,7 @@ msgid "no" msgstr "nein" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "unverschlüsselt" @@ -8109,16 +8115,16 @@ msgid "no file loaded" msgstr "keine Datei geladen" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "kein Signaturalgorithmus" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "kein Signaturprüfsummenalgorithmus" -#: src/mmg/tabs/input_extra.cpp:94 src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "keine" @@ -8126,67 +8132,71 @@ msgid "normal" msgstr "normal" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ogg_stream_init schlug für Stream Nummer %1% fehl. Es wird versucht, diesen Stream auszulassen und fortzufahren.\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_buffer schlug fehl\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_reader: Die Quelldatei konnte nicht gelesen werden." -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_reader: Es konnten nicht alle Kopfpakete gelesen werden." -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." msgstr "ogm_reader: Die Quelldatei ist keine gültige Ogg Media-Datei." -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." msgstr "on_entry_selected: display == NULL. Hätte nicht passieren sollen." -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "nur für I-Frames" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "Ausgabeabtastfrequenz: %1%" -#: src/mmg/jobs.cpp:519 src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 src/mmg/jobs.cpp:702 msgid "pending" msgstr "wartend" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: Die Quelldatei konnte nicht gelesen werden." + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "Pixel unten abschneiden: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "Pixel links abschneiden: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "Pixel rechts abschneiden: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "Pixel oben abschneiden: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "Pixelhöhe: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "Pixelbreite: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" @@ -8194,11 +8204,11 @@ msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): Ungültiger Tracktyp %1%." -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "Rohdaten" -#: src/info/wxwidgets_ui.cpp:148 src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "bereit" @@ -8226,15 +8236,31 @@ msgid "remove all" msgstr "alle entfernen" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" msgstr "Rest: unbekannt" -#: src/info/mkvinfo.cpp:645 +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "zeilenversetzt (links zuerst)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "zeilenversetzt (rechts zuerst)" + +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "Abtastfrequenz: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "Seite an Seite (links zuerst)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "Seite an Seite (rechts zuerst)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extraction_duration: Es wurde ein beschädigtes SPU-Paket bei Zeitstempel %1% gefunden (next_off < start_off). Dieses Paket wird beim Abspielen eventuell falsch oder gar nicht angezeigt.\n" @@ -8250,7 +8276,7 @@ msgid "ssa_reader: Could not open the source file." msgstr "ssa_reader: Die Quelldatei konnte nicht geöffnet werden." -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." msgstr "ssa_reader: Ungültiges Format. Es wurde keine \"Format\"-Zeile im Abschnitt \"[Events]\" gefunden." @@ -8258,15 +8284,15 @@ msgid "ssa_reader: Source is not a valid SSA/ASS file." msgstr "ssa_reader: Die Quelldatei ist keine gültige SSA/ASS-Datei." -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize(). Hätte nicht passieren sollen. Bitte erstellen Sie einen Fehlerbericht. Danke." -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "Untertitel" -#: src/mmg/mmg.cpp:59 src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "Untertitel" @@ -8274,11 +8300,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index: '%1%' nicht gefunden\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "Zeitstempel" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "Oben/Unten (links zuerst)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "Oben/Unten (rechts zuerst)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "Trackname" @@ -8302,13 +8336,13 @@ msgid "und (Undetermined)" msgstr "und (nicht festgelegt)" -#: src/input/r_matroska.cpp:87 src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 src/mmg/mmg.cpp:60 -#: src/mmg/header_editor/value_page.cpp:150 src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 src/info/mkvinfo.cpp:820 src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 src/info/mkvinfo.cpp:881 src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/input/r_mpeg_ps.cpp:1388 src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 src/mmg/header_editor/value_page.cpp:150 +#: src/mmg/tabs/input.cpp:339 src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 src/info/mkvinfo.cpp:842 src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 src/info/mkvinfo.cpp:894 src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "unbekannt" @@ -8332,11 +8366,11 @@ msgid "vc1_es_reader: Could not open the source file." msgstr "vc1_es_reader: Die Quelldatei konnte nicht geöffnet werden." -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" msgstr "verify failed: chapters->CheckMandatory() ist false. Das hätte nicht passieren sollen. Bitte erstellen Sie einen Fehlerbericht.\n" -#: src/input/r_matroska.cpp:90 src/mmg/mmg.cpp:58 src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 src/mmg/mmg.cpp:63 src/info/mkvinfo.cpp:1117 msgid "video" msgstr "Video" @@ -8352,7 +8386,7 @@ msgid "vobsub_reader: Cound not open the source file." msgstr "vobsub_reader: Die Quelldatei konnte nicht geöffnet werden." -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" msgstr "vobsub_reader: Fehler bei sub_file->read" @@ -8384,23 +8418,23 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader: Die Quelldatei konnte nicht geöffnet werden." -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "wavpack_reader: Nicht-Audio-Block gefunden\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader: Unbekannte Abtastrate!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "Falsche Benutzung: increase < 0" -#: src/common/mm_io.cpp:839 src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "Falsche Benutzung: Nur-Lese-Modus mit NULL als Speicherzeiger" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "Falsche Benutzung: Schreibversuch im Nur-Lese-Modus" @@ -8416,12 +8450,48 @@ #~ " Englischer Name der Sprache | ISO639-2 | ISO639-1\n" #~ "---------------------------------------------------+---------------+--------------\n" +#~ msgid " --check-for-updates Check online for the latest release.\n" +#~ msgstr " --check-for-updates Online nach neuen Programmversionen suchen.\n" + +#~ msgid " --check-for-updates Check online for the latest release.\n" +#~ msgstr " --check-for-updates Online nach neuen Programmversionen suchen.\n" + +#~ msgid " (both eyes)" +#~ msgstr " (beide Augen)" + +#~ msgid " (left eye)" +#~ msgstr " (linkes Auge)" + +#~ msgid " (right eye)" +#~ msgstr " (Rechtes Auge)" + #~ msgid "%1% at %2%" #~ msgstr "%1% an %2%" #~ msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|\n" #~ msgstr "%1% Frame, Track %2%, Zeitstempel %3% (%4%), Größe %5%, Adler 0x%|6$08x|\n" +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "Dieses GUI wurde von Moritz Bunkus <moritz@bunkus.org> geschrieben\n" +#~ "Basierend auf mmg von Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI ist unter der GPL lizensiert.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Hilfe gibt es in Form von Tooltips, über das 'Hilfe'-Menü,\n" +#~ "oder indem man 'F1' drückt." + #~ msgid "'%1%' is only allowed for chapter extraction.\n" #~ msgstr "'%1%' ist nur beim Extrahieren von Kapitelinformationen erlaubt.\n" @@ -8452,6 +8522,9 @@ #~ msgid "A single '+' is not a valid command line option. If you want to append a file use '+' directly followed by the file name, e.g. '+movie_part_2.avi'." #~ msgstr "Ein einfaches '+' ist keine gültige Option. Wenn Sie eine die Trackas einer Datei an vorher angegebene Tracks anfügen wollen, so geben Sie '+' direkt gefolgt vom Dateinamen an (z.B. '+film_teil_2.avi')." +#~ msgid "About mkvmerge's GUI" +#~ msgstr "Über das mkvmerge-GUI" + #~ msgid "Adjusting EbmlVoid element %1% at %2% with size %3% to new pos %4% with new size %5%.\n" #~ msgstr "EbmlVoid-Element %1% an Position %2% mit Größe %3% wird an neuer Position %4% mit neuer Größe %5% geschrieben.\n" @@ -8473,21 +8546,36 @@ #~ msgid "Appending new seek head.\n" #~ msgstr "Neuer Suchkopf wird angehängt.\n" +#~ msgid "Both eyes" +#~ msgstr "Beide Augen" + #~ msgid "Change the default values" #~ msgstr "Die Standardwerte ändern" #~ msgid "Changing the interface language requires a restart to take effect." #~ msgstr "Das Ändern der Sprache der Benutzeroberfläche erfordert einen Neustart von mmg, um wirksam zu werden." +#~ msgid "Check online for a new release" +#~ msgstr "Online nach neuen Programmversionen suchen" + +#~ msgid "Check online for updates" +#~ msgstr "Online nach neuen Programmversionen suchen" + #~ msgid "Could not open the file '%1%'." #~ msgstr "Die Datei '%1%' konnte nicht geöffnet werden." #~ msgid "Creating new seek head.\n" #~ msgstr "Ein neuer Suchkopf wird erstellt.\n" +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (Digital Theater System)" + #~ msgid "Deleting internal element %1% at %2% with size %3%.\n" #~ msgstr "Internes Element %1% an Position %2% mit Größe %3% wird gelöscht.\n" +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac elementary stream" + #~ msgid "Do not copy chapters from this file. Only applies to a couple of formats (e.g. Matroska files)." #~ msgstr "Keine Kapitel aus der Quelldatei kopieren. Betrifft nur wenigen Formaten (z.B. bei Matroska-Dateien)." @@ -8500,6 +8588,9 @@ #~ msgid "During MPEG-4 part 2 B frame handling: The frame queue contains more frames than timecodes are available that can be assigned to them (reason: %1%). Therefore %2% frame(s) had to be dropped. The video might be broken around timecode %3%.\n" #~ msgstr "Bei der Behandlung von MPEG-4 Teil 2 B-Frames: Die Framewarteschlange enthält mehr Frames, als momentan Zeitstempel zur Verfügung stehen, die den Frames zugewiesen werden können (Grund: %1%). Deswegen mussten %2% Frame(s) ausgelassen werden. Das Video ist in der Nähe von Zeitstempel %3% eventuell beschädigt.\n" +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC verlustfreies Audio" + #~ msgid "File options:" #~ msgstr "Dateioptionen:" @@ -8515,12 +8606,48 @@ #~ msgid "Great! Exact size. Just overwriting :)\n" #~ msgstr "Großartig! Exakte Größe. Wird nur überschrieben :)\n" +#~ msgid "IVF with VP8" +#~ msgstr "IVF mit VP8" + #~ msgid "Inserting new EbmlVoid element at %1% with size %2%.\n" #~ msgstr "Neues EbmlVoid-Element wird an Position %1% mit Größe %2% eingefügt.\n" #~ msgid "Inserting new EbmlVoid not possible, remaining size too small.\n" #~ msgstr "Es ist nicht möglich, ein neues EbmlVoid-Element einzufügen, weil der verbleibende Platz zu klein ist.\n" +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "Bekannte Dateitypen:\n" +#~ " End. Beschreibung\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "Linkes Auge" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG program stream" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer II audio (CBR und VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer III audio (CBR und VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 video elementary stream" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 video elementary stream" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska Audio/Video-Dateien (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroska-Dateien (*.mkv;*.mka)|*.mkv;*.mka|%s" + #~ msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|All files|*.*" #~ msgstr "Matroska-Dateien (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|Alle Dateien|*.*" @@ -8542,6 +8669,9 @@ #~ msgid "No tracks will be copied from this file. This usually indicates a mistake in the command line.\n" #~ msgstr "Aus dieser Quelldatei werden keine Tracks gemuxt. Das deutet meistens auf einen Fehler bei der Zusammenstellung der Kommandozeilenargumente hin.\n" +#~ msgid "None" +#~ msgstr "Kein" + #~ msgid "" #~ "Nothing to do.\n" #~ "\n" @@ -8555,15 +8685,33 @@ #~ msgid "Overwriting/voiding element at %1%.\n" #~ msgstr "Element an Position %1% wird überschrieben/durch ein Void-Element ersetzt.\n" +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 Audio und Video" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia Audio und Video" + #~ msgid "Restart required" #~ msgstr "Neustart erforderlich" +#~ msgid "Right eye" +#~ msgstr "Rechtes Auge" + #~ msgid "Set &default values" #~ msgstr "Stan&dardwerte festlegen" +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "Legt die Komprimierung von VobSub-Untertiteln fest. Wird nichts ausgewählt, so werden die Untertitel mit der Methode 'zlib' komprimiert. 'keine' resultiert in deutlich größeren Zieldateien." + #~ msgid "Subtitle charset:" #~ msgstr "Untertitelzeichensatz:" +#~ msgid "TTA lossless audio" +#~ msgstr "TTA verlustfreies Audio" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "Die MPEG-4 Teil 2-Komprimierung funktioniert nur mit nativ gemuxtem MPEG-4. Der native Modus wurde jedoch nicht mit '--engage native_mpeg4' angeschaltet.\n" + #~ msgid "This track uses a Matroska feature called 'Codec state elements'. mkvmerge supports these but this feature has not been turned on with the option '--engage use_codec_state'.\n" #~ msgstr "Dieser Track benutzt ein Feature von Matroska, das 'Codec-Zustandselemente' heißt. Dieses Feature wird von mkvmerge unterstützt, aber es wurde nicht mit der Kommandozeilenoption '--engage use_codec_state' aktiviert.\n" @@ -8722,10 +8870,70 @@ #~ " -h, --help Diesen Hilfetext anzeigen.\n" #~ " -V, --version Versionsinformationen anzeigen.\n" +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "Benutzung: mkvinfo [Optionen] Quellname\n" +#~ "\n" +#~ " Optionen:\n" +#~ " -g, --gui Die graphische Oberfläche starten (und Datei\n" +#~ " Quellname öffnen, sofern angegeben)\n" +#~ " Quellname Datei 'Quellname' als Quelldatei benutzen\n" +#~ " -v, --verbose Gesprächigkeit erhöhen. Schauen Sie bitte in die mkvinfo-\n" +#~ " Dokumentation für eine genaue Beschreibung, welche\n" +#~ " Informationen auf welcher Stufe ausgegeben werden.\n" +#~ " -c, --checksum Checksummen für Frames berechnen und ausgeben\n" +#~ " -s, --summary Nur eine zusammenfassende Zeile für jeden Frame anzeigen,\n" +#~ " nicht aber jedes einzelne Matroska-Element\n" +#~ " -x, --hexdump Die ersten 16 Bytes jedes Frames als Hexdump anzeigen\n" +#~ " -X, --full-hexdump\n" +#~ " Alle Bytes aller Frames als Hexdump anzeigen\n" +#~ " -z, --size Die Größe jedes Elements inklusive Kopfdaten anzeigen\n" +#~ " --output-charset <Zeichensatz>\n" +#~ " Ausgabe des Programms in diesen Zeichensatz konvertieren\n" +#~ " -r, -o, --redirect-output datei.ext\n" +#~ " Alle Ausgaben nach datei.ext anstatt auf den Bildschirm\n" +#~ " schreiben\n" +#~ " -h, --help Diesen Hilfetext anzeigen\n" +#~ " -V, --version Versionsinformationen anzeigen\n" + #, fuzzy #~ msgid "Using the IVF output module.\n" #~ msgstr "Das FLAC-Ausgabemodul wird benutzt.\n" +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "Das VP8-Video-Ausgabemodul wird benutzt.\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 Video elementary stream" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn-Buttons" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (unkomprimiertes PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK verlustfreies Audio" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "Bei FLAC-Tracks die rohen FLAC-Daten extrahieren (Standard: FLAC in Ogg einbetten)." @@ -8735,6 +8943,12 @@ #~ msgid "You have not yet selected any input file and/or no tracks." #~ msgstr "Sie haben noch keine Quelldatei und/oder keine Tracka ausgewählt." +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "Audio/Video/Textuntertitel in Ogg eingebettet" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: Ungültige UTF-8-Sequenz gefunden. Wenden Sie sich bitte an moritz@bunkus.org, und bitten Sie darum, dass er den UTF-8-Parser verbessert." + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: Die Fehlerrücksprungfunktion konnte nicht gesetzt.\n" @@ -8777,12 +8991,18 @@ #~ msgid "found_what == 0. Should not have happened. Please file a bug report.\n" #~ msgstr "found_what == 0. Hätte nicht passieren dürfen. Bitte legen SIe einen Fehlerbericht an.\n" +#~ msgid "general Matroska files" +#~ msgstr "Allgemeine Matroska-Dateien" + #~ msgid "locale.cpp/from_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/from_utf8(): Ungültiges Konvertierungs-Handle %1% (Anzahl: %2%).\n" #~ msgid "locale.cpp/to_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/to_utf8(): Ungültiges Konvertierungs-Handle %1% (Anzahl: %2%).\n" +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: Unbekannter Modus!?\n" + #~ msgid "mkvmerge GUI v%s ('%s')" #~ msgstr "mkvmerge GUI v%s ('%s')" diff -Nru mkvtoolnix-4.0.0/po/es.po mkvtoolnix-4.5.0+dfsg/po/es.po --- mkvtoolnix-4.0.0/po/es.po 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/es.po 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,8861 @@ +msgid "" +msgstr "" +"Project-Id-Version: es\n" +"Report-Msgid-Bugs-To: Israel Lucas Torrijos <lukillas.ole@gmail.com>\n" +"POT-Creation-Date: 2010-06-08 10:00+0200\n" +"PO-Revision-Date: 2011-01-22 16:23+0100\n" +"Last-Translator: Israel Lucas <lukillas.ole@gmail.com>\n" +"Language-Team: Spanish <moritz@bunkus.org>\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-Bookmarks: 18,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" + +#: src/extract/xtr_tta.cpp:118 +msgid "" +"\n" +"The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" +msgstr "" +"\n" +"El archivo temporal TTA para la pista ID %1% está siendo copiado al archivo final TTA. Esto llevará algún tiempo.\n" + +#: src/merge/output_control.cpp:251 +msgid "" +"\n" +"mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" +msgstr "" +"\n" +"mkvmerge ha recibido un SIGINT (la causa probable es que el usuario ha presionado Ctrl+C). Intentando sanear el archivo. Si mkvmerge no responde durante el proceso, tendrás que finalizarlo manualmente.\n" + +#: src/merge/mkvmerge.cpp:195 +msgid "" +" --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" +" or not. The value ':1' can be omitted.\n" +msgstr "" +" --aac-is-sbr <TID[:0|1]> La pista con la ID es HE-AAC/AAC+/SBR-AAC\n" +" o no. El valor ':1' puede ser omitido.\n" + +#: src/merge/mkvmerge.cpp:116 +msgid "" +" --append-mode <file|track>\n" +" Selects how mkvmerge calculates timecodes when\n" +" appending files.\n" +msgstr "" +" --append-mode <file|track>\n" +" Selecciona la manera en que mkvmerge calculará los códigos de tiempo al\n" +" unir archivos.\n" + +#: src/merge/mkvmerge.cpp:111 +msgid "" +" --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" +" A comma separated list of file and track IDs\n" +" that controls which track of a file is\n" +" appended to another track of the preceding\n" +" file.\n" +msgstr "" +" --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" +" Una lista separada por comas del ID de archivo y pista,\n" +" controla que pista de un archivo es\n" +" unida a otra pista del archivo\n" +" anterior.\n" + +#: src/merge/mkvmerge.cpp:208 +msgid "" +" --aspect-ratio <TID:f|a/b>\n" +" Sets the display dimensions by calculating\n" +" width and height for this aspect ratio.\n" +msgstr "" +" --aspect-ratio <TID:f|a/b>\n" +" Establece las dimensiones de visualización mediante el cálculo de la\n" +" anchura y altura para esa relación de aspecto (aspect ratio).\n" + +#: src/merge/mkvmerge.cpp:211 +msgid "" +" --aspect-ratio-factor <TID:f|a/b>\n" +" First calculates the aspect ratio by multi-\n" +" plying the video's original aspect ratio\n" +" with this factor and calculates the display\n" +" dimensions from this factor.\n" +msgstr "" +" --aspect-ratio-factor <TID:f|a/b>\n" +" Primero se calcula la relación de aspecto mediante la\n" +" multiplicación de la relación de aspecto original del vídeo\n" +" por este factor, y calcula las dimensiones de visualización\n" +" desde este factor.\n" + +#: src/merge/mkvmerge.cpp:140 +msgid "" +" --attach-file <file> Creates a file attachment inside the\n" +" Matroska file.\n" +msgstr "" +" --attach-file <file> Crea un archivo adjunto dentro del\n" +" archivo Matroska.\n" + +#: src/merge/mkvmerge.cpp:142 +msgid "" +" --attach-file-once <file>\n" +" Creates a file attachment inside the\n" +" firsts Matroska file written.\n" +msgstr "" +" --attach-file-once <file>\n" +" Crea un archivo adjunto dentro del\n" +" primer archivo Matroska escrito.\n" + +#: src/merge/mkvmerge.cpp:134 +msgid "" +" --attachment-description <desc>\n" +" Description for the following attachment.\n" +msgstr "" +" --attachment-description <desc>\n" +" Descripción de los siguientes datos adjuntos.\n" + +#: src/merge/mkvmerge.cpp:136 +msgid "" +" --attachment-mime-type <mime type>\n" +" Mime type for the following attachment.\n" +msgstr "" +" --attachment-mime-type <mime type>\n" +" Tipo mime para el siguiente adjunto.\n" + +#: src/merge/mkvmerge.cpp:138 +msgid "" +" --attachment-name <name> The name should be stored for the \n" +" following attachment.\n" +msgstr "" +" --attachment-name <name> El nombre que debería ser almacenado para el\n" +" siguiente adjunto.\n" + +#: src/merge/mkvmerge.cpp:187 +msgid "" +" --blockadd <TID:x> Sets the max number of block additional\n" +" levels for this track.\n" +msgstr "" +" --blockadd <TID:x> Establece el número máximo de bloque adicional para\n" +" los niveles de esta pista.\n" + +#: src/merge/mkvmerge.cpp:86 +msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" +msgstr " --chapter-charset <cset> Codificación de caracteres para un archivo de un simple capítulo.\n" + +#: src/merge/mkvmerge.cpp:85 +msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" +msgstr " --chapter-language <lng> Establece la opción del idioma en los registros del capítulo.\n" + +#: src/merge/mkvmerge.cpp:84 +msgid " --chapters <file> Read chapter information from the file.\n" +msgstr " --chapters <file> Lee la información del capítulo desde el archivo.\n" + +#: src/merge/mkvmerge.cpp:103 +msgid "" +" --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" +" If the number is postfixed with 'ms' then\n" +" put at most n milliseconds of data into each\n" +" cluster.\n" +msgstr "" +" --cluster-length <n[ms]> Pone como máximo n bloques de información en cada clúster.\n" +" Si posteriormente el número se fija con ms, entonces\n" +" pon como máximo n ms de datos en cada\n" +" clúster.\n" + +#: src/merge/mkvmerge.cpp:108 +msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" +msgstr " --clusters-in-meta-seek Escribe la información de meta seek para los clústeres.\n" + +#: src/merge/mkvmerge.cpp:242 +msgid "" +" --command-line-charset <charset>\n" +" Charset for strings on the command line\n" +msgstr "" +" --command-line-charset <charset>\n" +" Codificación de caracteres para las sentencias en la línea de comandos\n" + +#: src/merge/mkvmerge.cpp:231 +msgid "" +" --compression <TID:method>\n" +" Sets the compression method used for the\n" +" specified track ('none' or 'zlib').\n" +msgstr "" +" --compression <TID:method>\n" +" Establece el método de compresión usado para la\n" +" pista especificada ('none' or 'zlib').\n" + +#: src/merge/mkvmerge.cpp:218 +msgid "" +" --cropping <TID:left,top,right,bottom>\n" +" Sets the cropping parameters.\n" +msgstr "" +" --cropping <TID:left,top,right,bottom>\n" +" Establece los parámetros del recorte (cropping).\n" + +#: src/merge/mkvmerge.cpp:87 +msgid "" +" --cue-chapter-name-format <format>\n" +" Pattern for the conversion from CUE sheet\n" +" entries to chapter names.\n" +msgstr "" +" --cue-chapter-name-format <format>\n" +" Patrón para la conversión desde los registros de las hojas de distribución de pistas (CUE Sheet)\n" +" a los nombres de los capítulos.\n" + +#: src/merge/mkvmerge.cpp:190 +msgid "" +" --cues <TID:none|iframes|all>\n" +" Create cue (index) entries for this track:\n" +" None at all, only for I frames, for all.\n" +msgstr "" +" --cues <TID:none|iframes|all>\n" +" Crea los registros del índice (cue) para esta pista:\n" +" No para todos, solo para los I frames.\n" + +#: src/merge/mkvmerge.cpp:198 +msgid "" +" --default-duration <TID:Xs|ms|us|ns|fps>\n" +" Force the default duration of a track to X.\n" +" X can be a floating point number or a fraction.\n" +msgstr "" +" --default-duration <TID:Xs|ms|us|ns|fps>\n" +" Fuerza la duración predefinido de una pista para X.\n" +" X puede ser un número decimal o fracción.\n" + +#: src/merge/mkvmerge.cpp:90 +msgid "" +" --default-language <lng> Use this language for all tracks unless\n" +" overridden with the --language option.\n" +msgstr "" +" --default-language <lng> Use este idioma para todas las pistas a menos\n" +" que se reemplace con la opción de --language.\n" + +#: src/merge/mkvmerge.cpp:181 +msgid "" +" --default-track <TID[:bool]>\n" +" Sets the 'default' flag for this track or\n" +" forces it not to be present if bool is 0.\n" +msgstr "" +" --default-track <TID[:bool]>\n" +" Establece como predefinida esta pista o\n" +" la fuerza a no estar presente si la booleana es 0.\n" + +#: src/merge/mkvmerge.cpp:109 +msgid " --disable-lacing Do not Use lacing.\n" +msgstr " --disable-lacing No usa ataduras (lacing).\n" + +#: src/merge/mkvmerge.cpp:216 +msgid "" +" --display-dimensions <TID:width>x<height>\n" +" Explicitly set the display dimensions.\n" +msgstr "" +" --display-dimensions <TID:width>x<height>\n" +" Configura explícitamente las dimensiones de visualización.\n" + +#: src/merge/mkvmerge.cpp:110 +msgid " --enable-durations Enable block durations for all blocks.\n" +msgstr " --enable-durations Permite duraciones por categorías para todos los bloques.\n" + +#: src/merge/mkvmerge.cpp:184 +msgid "" +" --forced-track <TID[:bool]>\n" +" Sets the 'forced' flag for this track or\n" +" forces it not to be present if bool is 0.\n" +msgstr "" +" --forced-track <TID[:bool]>\n" +" Establece como forzada esta pista o\n" +" la obliga a no estar presente si la booleana es 0.\n" + +#: src/merge/mkvmerge.cpp:81 +msgid " --global-tags <file> Read global tags from a XML file.\n" +msgstr " --global-tags <file> Lee todas las etiquetas desde un archivo XML.\n" + +#: src/merge/mkvmerge.cpp:193 +msgid "" +" --language <TID:lang> Sets the language for the track (ISO639-2\n" +" code, see --list-languages).\n" +msgstr "" +" --language <TID:lang> Establece el idioma para la pista (ISO639-2\n" +" código, ver --list-languages).\n" + +#: src/merge/mkvmerge.cpp:129 +msgid " --link Link splitted files.\n" +msgstr " --link Enlaza los archivos divididos.\n" + +#: src/merge/mkvmerge.cpp:131 +msgid " --link-to-next <SID> Link the last file to the given SID.\n" +msgstr " --link-to-next <SID> Enlaza al último archivo al SID asignado.\n" + +#: src/merge/mkvmerge.cpp:130 +msgid " --link-to-previous <SID> Link the first file to the given SID.\n" +msgstr " --link-to-previous <SID> Enlaza el primer archivo al SID asignado.\n" + +#: src/merge/mkvmerge.cpp:238 +msgid "" +" --list-languages Lists all ISO639 languages and their\n" +" ISO639-2 codes.\n" +msgstr "" +" --list-languages Listado de todos los idiomas ISO639 y sus\n" +" códigos ISO639-2.\n" + +#: src/merge/mkvmerge.cpp:201 +msgid "" +" --nalu-size-length <TID:n>\n" +" Force the NALU size length to n bytes with\n" +" 2 <= n <= 4 with 4 being the default.\n" +msgstr "" +" --nalu-size-length <TID:n>\n" +" Fuerza la extensión de tamaño NALU a n bytes con\n" +" 2 <= n <= 4 con 4 siendo es establecido.\n" + +#: src/merge/mkvmerge.cpp:173 +msgid " --no-chapters Don't keep chapters from the source file.\n" +msgstr " --no-chapters No conserva los capítulos desde el archivo de origen.\n" + +#: src/merge/mkvmerge.cpp:107 +msgid " --no-cues Do not write the cue data (the index).\n" +msgstr " --no-cues No escribe la información del índice (cue).\n" + +#: src/merge/mkvmerge.cpp:172 +msgid " --no-global-tags Don't keep global tags from the source file.\n" +msgstr " --no-global-tags No conservar las etiquetas generales del archivo origen.\n" + +#: src/merge/mkvmerge.cpp:244 +msgid " --output-charset <cset> Output messages in this charset\n" +msgstr " --output-charset <cset> Mensajes creados en esta codificación de caracteres\n" + +#: src/merge/mkvmerge.cpp:240 +msgid " --priority <priority> Set the priority mkvmerge runs with.\n" +msgstr " --priority <priority> Establece la prioridad de procesamiento de mkvmerge.\n" + +#: src/merge/mkvmerge.cpp:95 +msgid "" +" --segment-uid <SID1,[SID2...]>\n" +" Set the segment UIDs to SID1, SID2 etc.\n" +msgstr "" +" --segment-uid <SID1,[SID2...]>\n" +" Establece los UID de los segmentos a SID1, SID2, etc.\n" + +#: src/merge/mkvmerge.cpp:94 +msgid " --segmentinfo <file> Read segment information from the file.\n" +msgstr " --segmentinfo <file> Leer la información del segmento del archivo.\n" + +#: src/merge/mkvmerge.cpp:122 +msgid "" +" --split <d[K,M,G]|HH:MM:SS|s>\n" +" Create a new file after d bytes (KB, MB, GB)\n" +" or after a specific time.\n" +msgstr "" +" --split <d[K,M,G]|HH:MM:SS|s>\n" +" Crea un archivo nuevo después de d bytes (kB, MB, GB...)\n" +" o después de un tiempo específico.\n" + +#: src/merge/mkvmerge.cpp:125 +msgid "" +" --split timecodes:A[,B...]\n" +" Create a new file after each timecode A, B\n" +" etc.\n" +msgstr "" +" --split timecodes:A[,B...]\n" +" Crea un archivo nuevo después de cada código de tiempo A, B,\n" +" etcétera.\n" + +#: src/merge/mkvmerge.cpp:128 +msgid " --split-max-files <n> Create at most n files.\n" +msgstr " --split-max-files <n> Crea como máximo n archivos.\n" + +#: src/merge/mkvmerge.cpp:220 +msgid "" +" --stereo-mode <TID:n|keyword>\n" +" Sets the stereo mode parameter. It can\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" +msgstr "" +" --stereo-mode <TID:n|keyword>\n" +" Establece el parámetro de modo estéreo. Este puede\n" +" ser un número 0 - 11 o una keyword (palabra clave)\n" +" (ver documentacion para una lista completa).\n" + +#: src/merge/mkvmerge.cpp:226 +msgid "" +" --sub-charset <TID:charset>\n" +" Determines the charset the text subtitles are\n" +" read as for the conversion to UTF-8.\n" +msgstr "" +" --sub-charset <TID:charset>\n" +" Determina la codificación de caracteres del texto de los subtítulos que son\n" +" leídos para la conversión a UTF-8.\n" + +#: src/merge/mkvmerge.cpp:119 +msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" +msgstr " --timecode-scale <n> Establece el factor de proporción del código de tiempo a n.\n" + +#: src/merge/mkvmerge.cpp:197 +msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" +msgstr " --timecodes <TID:file> Lee los códigos de tiempo para ser usados desde un archivo.\n" + +#: src/merge/mkvmerge.cpp:80 +msgid " --title <title> Title for this output file.\n" +msgstr " --title <title> Título para el archivo creado.\n" + +#: src/merge/mkvmerge.cpp:189 +msgid " --track-name <TID:name> Sets the name for a track.\n" +msgstr " --track-name <TID:name> Establece el nombre para una pista.\n" + +#: src/merge/mkvmerge.cpp:99 +msgid "" +" --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" +" A comma separated list of both file IDs\n" +" and track IDs that controls the order of the\n" +" tracks in the output file.\n" +msgstr "" +" --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" +" Una lista separada por comas de las ID de los archivos\n" +" y pistas. Controla el orden de las\n" +" pistas en el archivo creado.\n" + +#: src/merge/mkvmerge.cpp:169 +msgid "" +" --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" +" tags for all tracks.\n" +msgstr "" +" --track-tags <n,m,...> Copia las etiquetas para las pistas n, m, etc. Predefinido: copia\n" +" las etiquetas para todas las pistas.\n" + +#: src/merge/mkvmerge.cpp:241 +msgid " --ui-language <code> Force the translations for 'code' to be used.\n" +msgstr " --ui-language <code> Establece las traducciones para el código que va a ser usado.\n" + +#: src/merge/mkvmerge.cpp:150 +msgid " -A, --no-audio Don't copy any audio track from this file.\n" +msgstr " -A, --no-audio No copiar ninguna pista de audio de este archivo.\n" + +#: src/merge/mkvmerge.cpp:162 +msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" +msgstr " -B, --no-buttons No copiar ninguno de los botones de la pista de este archivo.\n" + +#: src/merge/mkvmerge.cpp:154 +msgid " -D, --no-video Don't copy any video track from this file.\n" +msgstr " -D, --no-video No copiar ninguna pista de vídeo de este archivo.\n" + +#: src/merge/mkvmerge.cpp:167 +msgid " -M, --no-attachments Don't copy attachments from a source file.\n" +msgstr " -M, --no-attachments No copiar los adjuntos del archivo origen.\n" + +#: src/merge/mkvmerge.cpp:158 +msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" +msgstr " -S, --no-subtitles No copiar ningún subtítulo de este archivo.\n" + +#: src/merge/mkvmerge.cpp:171 +msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" +msgstr " -T, --no-track-tags No copiar etiquetas para las pistas del archivo origen.\n" + +#: src/merge/mkvmerge.cpp:250 +msgid " -V, --version Show version information.\n" +msgstr " -V, --version Muestra información de la versión.\n" + +#: src/merge/mkvmerge.cpp:147 +msgid "" +" -a, --audio-tracks <n,m,...>\n" +" Copy audio tracks n,m etc. Default: copy all\n" +" audio tracks.\n" +msgstr "" +" -a, --audio-tracks <n,m,...>\n" +" Copia las pistas de audio n, m, etc. Predefinido: copia todas\n" +" las pistas de audio.\n" + +#: src/merge/mkvmerge.cpp:159 +msgid "" +" -b, --button-tracks <n,m,...>\n" +" Copy buttons tracks n,m etc. Default: copy\n" +" all buttons tracks.\n" +msgstr "" +" -b, --button-tracks <n,m,...>\n" +" Copia los botones de las pistas n, m, etc. Predefinido: copia\n" +" todos los botones de las pistas.\n" + +#: src/merge/mkvmerge.cpp:151 +msgid "" +" -d, --video-tracks <n,m,...>\n" +" Copy video tracks n,m etc. Default: copy all\n" +" video tracks.\n" +msgstr "" +" -d, --video-tracks <n,m,...>\n" +" Copia pistas de video n, m, etc. Predefinido: copia todas\n" +" las pistas de video.\n" + +#: src/merge/mkvmerge.cpp:206 +msgid "" +" -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" +" Works only for video tracks.\n" +msgstr "" +" -f, --fourcc <FOURCC> Establece el valor específico para el FourCC.\n" +" Únicamente trabaja para pistas de vídeo.\n" + +#: src/merge/mkvmerge.cpp:249 +msgid " -h, --help Show this help.\n" +msgstr " -h, --help Muestra esta ayuda.\n" + +#: src/merge/mkvmerge.cpp:236 +msgid " -i, --identify <file> Print information about the source file.\n" +msgstr " -i, --identify <file> Imprime información sobre el archivo de origen.\n" + +#: src/merge/mkvmerge.cpp:237 +msgid " -l, --list-types Lists supported input file types.\n" +msgstr " -l, --list-types Listas de los tipos de archivos de entrada compatibles.\n" + +#: src/merge/mkvmerge.cpp:163 +msgid "" +" -m, --attachments <n[:all|first],m[:all|first],...>\n" +" Copy the attachments with the IDs n, m etc to\n" +" all or only the first output file. Default: copy\n" +" all attachments to all output files.\n" +msgstr "" +" -m, --attachments <n[:all|first],m[:all|first],...>\n" +" Copia los adjuntos con las ID n, m, etc., a\n" +" todos o solo el primer archivo creado. Predefinido: copia\n" +" todos los adjuntos a los archivos creado.\n" + +#: src/merge/mkvmerge.cpp:78 +msgid " -o, --output out Write to the file 'out'.\n" +msgstr " -o, --output out Escribir al archivo de salida.\n" + +#: src/merge/mkvmerge.cpp:77 +msgid " -q, --quiet suppress status output\n" +msgstr " -q, --quiet Suprime el estado creado\n" + +#: src/merge/mkvmerge.cpp:245 +msgid "" +" -r, --redirect-output <file>\n" +" Redirects all messages into this file.\n" +msgstr "" +" -r, --redirect-output <file>\n" +" Redirige todos los mensajes en este archivo.\n" + +#: src/merge/mkvmerge.cpp:155 +msgid "" +" -s, --subtitle-tracks <n,m,...>\n" +" Copy subtitle tracks n,m etc. Default: copy\n" +" all subtitle tracks.\n" +msgstr "" +" -s, --subtitle-tracks <n,m,...>\n" +" Copia las pistas de subtítulos n, m, etc. Predefinido: copia\n" +" todas las pistas de los subtítulos.\n" + +#: src/merge/mkvmerge.cpp:168 +msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" +msgstr " -t, --tags <TID:file> Lee las etiquetas para la pista desde un archivo XML.\n" + +#: src/merge/mkvmerge.cpp:76 +msgid " -v, --verbose verbose status\n" +msgstr " -v, --verbose Estado verbose (parlanchín)\n" + +#: src/merge/mkvmerge.cpp:79 +msgid " -w, --webm Create WebM compliant file.\n" +msgstr " -w, --webm Crea archivo compatible WebM.\n" + +#: src/merge/mkvmerge.cpp:174 +msgid "" +" -y, --sync <TID:d[,o[/p]]>\n" +" Synchronize, adjust the track's timecodes with\n" +" the id TID by 'd' ms.\n" +" 'o/p': Adjust the timecodes by multiplying with\n" +" 'o/p' to fix linear drifts. 'p' defaults to\n" +" 1 if omitted. Both 'o' and 'p' can be\n" +" floating point numbers.\n" +msgstr "" +" -y, --sync <TID:d[,o[/p]]>\n" +" Sincroniza, ajusta los códigos de tiempo de la pista con\n" +" la id TID mediante 'd' ms.\n" +" 'o/p': Ajusta los códigos de tiempo mediante la multiplicación con\n" +" 'o/p' para fijar las derivaciones líneales. 'p' predefinido para\n" +" 1 si es omitido. Ambos 'o' y 'p' pueden ser\n" +" números decimales.\n" + +#: src/merge/mkvmerge.cpp:247 +msgid "" +" @optionsfile Reads additional command line options from\n" +" the specified file (see man page).\n" +msgstr "" +" @optionsfile Lee las opciones adicionales de la línea de comandos desde\n" +" el archivo especificado (ver página principal).\n" + +#: src/propedit/propedit_cli_parser.cpp:94 +msgid " B: boolean (0 or 1)\n" +msgstr " B: booleano (0 ó 1)\n" + +#: src/propedit/propedit_cli_parser.cpp:98 +msgid " FP: floating point number\n" +msgstr " FP: número decimal\n" + +#: src/propedit/propedit_cli_parser.cpp:95 +msgid " S: string\n" +msgstr " S: palabra o cadena de letras\n" + +#: src/propedit/propedit_cli_parser.cpp:92 +msgid " SI: signed integer\n" +msgstr " SI: entero con signo\n" + +#: src/propedit/propedit_cli_parser.cpp:93 +msgid " UI: unsigned integer\n" +msgstr " UI: entero sin signo\n" + +#: src/propedit/propedit_cli_parser.cpp:96 +msgid " US: Unicode string\n" +msgstr " US: palabra Unicode\n" + +#: src/propedit/propedit_cli_parser.cpp:97 +msgid " X: binary in hex\n" +msgstr " X: binario en hexadecimal\n" + +#: src/info/mkvinfo.cpp:349 +msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" +msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" + +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 +msgid " (adler: 0x%|1$08x|)" +msgstr " (adler: 0x%|1$08x|)" + +#: src/info/mkvinfo.cpp:738 +msgid " (centimeters)" +msgstr " (centímetros)" + +#: src/info/mkvinfo.cpp:764 +msgid " (fixed)" +msgstr " (fijado)" + +#: src/info/mkvinfo.cpp:354 +msgid " (format tag: 0x%|1$04x|)" +msgstr " (Formato de la etiqueta: 0x%|1$04x|)" + +#: src/info/mkvinfo.cpp:762 +msgid " (free resizing)" +msgstr " (redimensionamiento libre)" + +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (Perfil h.264: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 +msgid " (inches)" +msgstr " (pulgadas)" + +#: src/info/mkvinfo.cpp:763 +msgid " (keep aspect ratio)" +msgstr " (mantener relación de aspecto)" + +#: src/info/mkvinfo.cpp:737 +msgid " (pixels)" +msgstr " (píxeles)" + +#: src/common/xml/element_parser.cpp:464 +msgid " Aborting.\n" +msgstr " Cancelando.\n" + +#: src/merge/mkvmerge.cpp:133 +msgid " Attachment support (more global options):\n" +msgstr " Gestión de adjuntos (más opciones generales):\n" + +#: src/merge/mkvmerge.cpp:83 +msgid " Chapter handling:\n" +msgstr " Información acerca de la manipulación del capítulo:\n" + +#: src/merge/mkvmerge.cpp:121 +msgid " File splitting and linking (more global options):\n" +msgstr " División y vinculación de archivo (más opciones generales):\n" + +#: src/merge/mkvmerge.cpp:98 +msgid " General output control (advanced global options):\n" +msgstr " Control general de creación (opciones avanzadas):\n" + +#: src/merge/mkvmerge.cpp:75 +msgid " Global options:\n" +msgstr " Opciones generales:\n" + +#: src/merge/mkvmerge.cpp:146 +msgid " Options for each input file:\n" +msgstr " Opciones por cada archivo de entrada:\n" + +#: src/merge/mkvmerge.cpp:230 +msgid " Options that only apply to VobSub subtitle tracks:\n" +msgstr " Opciones que solo se aplican a pistas de subtítulos VobSub:\n" + +#: src/merge/mkvmerge.cpp:225 +msgid " Options that only apply to text subtitle tracks:\n" +msgstr " Opciones que solo se aplican a pistas de subtítulos de texto:\n" + +#: src/merge/mkvmerge.cpp:205 +msgid " Options that only apply to video tracks:\n" +msgstr " Opciones que solo se aplican a pistas de vídeo:\n" + +#: src/merge/mkvmerge.cpp:235 +msgid " Other options:\n" +msgstr " Otras opciones:\n" + +#: src/common/xml/element_parser.cpp:460 +msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." +msgstr " Recuerda que caracteres especiales como &, <, > y \" deben ser convertidos en la manera usual de HTML: & para &, < para <, > para > y " para \"." + +#: src/merge/mkvmerge.cpp:93 +msgid " Segment info handling:\n" +msgstr " Información acerca de la manipulación del segmento:\n" + +#: src/extract/mkvextract.cpp:63 +#: src/info/mkvinfo.cpp:211 +msgid " at %1%" +msgstr " al %1%" + +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 +msgid " done\n" +msgstr " hecho\n" + +#: src/info/mkvinfo.cpp:212 +msgid " size %1%" +msgstr " tamaño %1%" + +#: src/info/mkvinfo.cpp:228 +msgid " size is unknown" +msgstr " el tamaño es desconocido" + +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### Pirateos de desarrollo ###" + +#: src/mmg/cli_options_dlg.cpp:85 +msgid "### Global output control ###" +msgstr " ### Control general de salida ###" + +#: src/common/version.cpp:143 +msgid "%1% built on %2% %3%" +msgstr "%1% creado el %2% %3%" + +#: src/info/mkvinfo.cpp:200 +msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" +msgstr "%1% fotograma (frame), pista %2%, código de tiempo %3% (%4%), duración %|5$.3f|, tamaño %6%, adler 0x%|7$08x|%8%%9%\n" + +#: src/info/mkvinfo.cpp:205 +msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" +msgstr "%1% fotograma (frame), pista %2%, código de tiempo %3% (%4%), tamaño %5%, adler 0x%|6$08x|%7%\n" + +#: src/info/mkvinfo.cpp:201 +msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" +msgstr "%1% fotograma (frame), pista %2%, código de tiempo %3% (%4%), tamaño %5%, adler 0x%|6$08x|%7%%8%\n" + +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Error de la estructura del archivo Matroska en la posición %2%. Resincronización hasta el siguiente elemento del nivel 1.\n" + +#: src/merge/mkvmerge.cpp:627 +msgid "%1%: divisor is 0 in '%2% %3%'.\n" +msgstr "%1%: el divisor es 0 en '%2% %3%'.\n" + +#: src/merge/mkvmerge.cpp:602 +msgid "%1%: invalid track ID in '%2% %3%'.\n" +msgstr "%1%: ID de pista inválida en '%2% %3%'.\n" + +#: src/merge/mkvmerge.cpp:619 +msgid "%1%: missing dividend in '%2% %3%'.\n" +msgstr "%1%: dividendos ausentes en '%2% %3%'.\n" + +#: src/merge/mkvmerge.cpp:622 +msgid "%1%: missing divisor in '%2% %3%'.\n" +msgstr "%1%: divisor ausente en '%2% %3%'.\n" + +#: src/merge/mkvmerge.cpp:598 +msgid "%1%: missing track ID in '%2% %3%'.\n" +msgstr "%1%: ID de la pista ausente en '%2% %3%'.\n" + +#: src/info/qt_ui.cpp:116 +msgid "" +"%1.\n" +"Compiled with libebml %2 + libmatroska %3.\n" +"\n" +"This program is licensed under the GPL v2 (see COPYING).\n" +"It was written by Moritz Bunkus <moritz@bunkus.org>.\n" +"Sources and the latest binaries are always available at\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" +msgstr "" +"%1.\n" +"Compilado con libebml %2 + libmatroska %3.\n" +"\n" +"Este programa está licenciado bajo la GPL v. 2 (ver COPYING).\n" +"Fue programado por Moritz Bunkus <moritz@bunkus.org>.\n" +"Las fuentes y los últimos binarios están siempre disponibles en\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" + +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 +#, c-format +msgid "%d minute(s) %d second(s)" +msgstr "%d minuto(s) %d segundo(s)" + +#: src/mmg/tabs/attachments.cpp:401 +#, c-format +msgid "%s (MIME type %s, size %ld) from %s (%s)" +msgstr "%s (tipo MIME %s, tamaño %ld) de %s (%s)" + +#: src/mmg/mmg.cpp:61 +#, c-format +msgid "%s%s (ID %lld, type: %s) from %s" +msgstr "%s%s (ID %lld, tipo: %s) de %s" + +#: src/info/wxwidgets_ui.cpp:332 +#, c-format +msgid "" +"%s.\n" +"Compiled with libebml %s + libmatroska %s.\n" +"\n" +"This program is licensed under the GPL v2 (see COPYING).\n" +"It was written by Moritz Bunkus <moritz@bunkus.org>.\n" +"Sources and the latest binaries are always available at\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" +msgstr "" +"%s.\n" +"Compilado con libebml %s + libmatroska %s.\n" +"\n" +"Este programa está licenciado bajo la GPL v. 2 (ver COPYING).\n" +"Fue escrito por Moritz Bunkus <moritz@bunkus.org>.\n" +"Fuentes y los últimos binarios están siempre disponibles en\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" + +#: src/mmg/jobs.cpp:103 +msgid "&Abort" +msgstr "&Cancelar" + +#: src/mmg/mmg_dialog.cpp:294 +msgid "&About" +msgstr "&Acerca de" + +#: src/info/wxwidgets_ui.cpp:121 +msgid "&About\tF1" +msgstr "&Acerca de\tF1" + +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 +msgid "&Add to job queue" +msgstr "&Añadir a la lista de tareas" + +#: src/mmg/mmg_dialog.cpp:290 +msgid "&Attachments\tAlt-2" +msgstr "&Adjuntos\tAlt-2" + +#: src/mmg/mmg_dialog.cpp:301 +msgid "&Chapter Editor" +msgstr "&Editor de capítulos" + +#: src/mmg/mmg_dialog.cpp:292 +msgid "&Chapter editor\tAlt-4" +msgstr "&Editor de capítulos\tAlt-4" + +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "&Comprobar actualizaciones" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "&Cerrar" + +#: src/mmg/header_editor/frame.cpp:145 +msgid "&Close\tCtrl-W" +msgstr "&Cerrar\tCtrl-W" + +#: src/mmg/header_editor/frame.cpp:148 +msgid "&Collapse all entries\tCtrl-P" +msgstr "&Agrupar todos los registros\tCtrl-P" + +#: src/mmg/mmg_dialog.cpp:277 +msgid "&Copy command line to clipboard" +msgstr "&Copiar línea de comandos al portapapeles" + +#: src/mmg/mmg_dialog.cpp:313 +msgid "&Copy to clipboard" +msgstr "&Copiar al portapapeles" + +#: src/mmg/jobs.cpp:479 +msgid "&Disable" +msgstr "&Deshabilitar" + +#: src/mmg/jobs.cpp:471 +msgid "&Down" +msgstr "&Bajar" + +#: src/mmg/header_editor/frame.cpp:147 +msgid "&Expand all entries\tCtrl-E" +msgstr "&Expandir todos los registros\tCtrl-E" + +#: src/info/wxwidgets_ui.cpp:115 +msgid "&Expand important elements\tCtrl-E" +msgstr "&Expandir elementos importantes\tCtrl-E" + +#: src/mmg/mmg_dialog.cpp:299 +#: src/mmg/header_editor/frame.cpp:151 +#: src/info/wxwidgets_ui.cpp:123 +msgid "&File" +msgstr "&Archivo" + +#: src/mmg/mmg_dialog.cpp:291 +msgid "&Global options\tAlt-3" +msgstr "&Opciones generales\tAlt-3" + +#: src/mmg/mmg_dialog.cpp:273 +msgid "&Header editor\tCtrl-E" +msgstr "&Editor de encabezado\tCtrl-E" + +#: src/mmg/mmg_dialog.cpp:303 +#: src/mmg/header_editor/frame.cpp:153 +#: src/info/wxwidgets_ui.cpp:125 +msgid "&Help" +msgstr "&Ayuda" + +#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/header_editor/frame.cpp:150 +msgid "&Help\tF1" +msgstr "&Ayuda\tF1" + +#: src/mmg/mmg_dialog.cpp:289 +msgid "&Input\tAlt-1" +msgstr "&Entrada\tAlt-1" + +#: src/mmg/mmg_dialog.cpp:284 +msgid "&Load" +msgstr "&Cargar" + +#: src/mmg/mmg_dialog.cpp:269 +msgid "&Load settings\tCtrl-L" +msgstr "&Cargar ajustes\tCtrl-L" + +#: src/mmg/mmg_dialog.cpp:281 +msgid "&Manage jobs\tCtrl-J" +msgstr "&Gestionar trabajos\tCtrl-J" + +#: src/mmg/mmg_dialog.cpp:300 +msgid "&Muxing" +msgstr "&Multiplexado" + +#: src/mmg/mmg_dialog.cpp:268 +msgid "&New\tCtrl-N" +msgstr "&Nuevo\tCtrl-N" + +#: src/mmg/mmg_dialog.cpp:283 +msgid "&New chapters" +msgstr "&Nuevo" + +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 +msgid "&Ok" +msgstr "&Listo" + +#: src/mmg/header_editor/frame.cpp:142 +#: src/info/wxwidgets_ui.cpp:107 +msgid "&Open\tCtrl-O" +msgstr "&Abrir\tCtrl-O" + +#: src/info/wxwidgets_ui.cpp:124 +msgid "&Options" +msgstr "&Opciones" + +#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/header_editor/frame.cpp:146 +msgid "&Quit\tCtrl-Q" +msgstr "&Salir\tCtrl-Q" + +#: src/mmg/jobs.cpp:476 +msgid "&Re-enable" +msgstr "&Rehabilitar" + +#: src/mmg/header_editor/frame.cpp:144 +msgid "&Reload\tCtrl-R" +msgstr "&Recargar\tCtrl-R" + +#: src/mmg/header_editor/value_page.cpp:140 +msgid "&Reset" +msgstr "&Reiniciar" + +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 +msgid "&Save" +msgstr "&Guardar" + +#: src/mmg/header_editor/frame.cpp:143 +msgid "&Save\tCtrl-S" +msgstr "&Guardar\tCtrl-S" + +#: src/info/wxwidgets_ui.cpp:108 +msgid "&Save info as text\tCtrl-S" +msgstr "&Guardar información como texto\tCtrl-S" + +#: src/mmg/mmg_dialog.cpp:270 +msgid "&Save settings\tCtrl-S" +msgstr "&Guardar ajustes\tCtrl-S" + +#: src/mmg/jobs.cpp:503 +msgid "&Start" +msgstr "&Iniciar" + +#: src/mmg/jobs.cpp:468 +msgid "&Up" +msgstr "&Subir" + +#: src/mmg/header_editor/frame.cpp:149 +msgid "&Validate\tCtrl-T" +msgstr "&Validar\tCtrl-V" + +#: src/mmg/mmg_dialog.cpp:288 +msgid "&Verify" +msgstr "&Verificar" + +#: src/mmg/jobs.cpp:489 +msgid "&View log" +msgstr "&Ver informe" + +#: src/mmg/mmg_dialog.cpp:302 +msgid "&Window" +msgstr "&Ventana" + +#: src/merge/mkvmerge.cpp:1584 +msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" +msgstr "'%1%' solo puede ser usado con un nombre de archivo. Si se utiliza esta opción no se permiten otras opciones.\n" + +#: src/merge/mkvmerge.cpp:464 +msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" +msgstr "'%1%' no contiene una unidad válida (s, ms, us o ns) en '%2% %3%'.\n" + +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' es un argumento no soportado para --compression. Los métodos de compresión disponibles son: %2%\n" + +#: src/merge/mkvmerge.cpp:949 +msgid "'%1%' is an unsupported argument for --cues.\n" +msgstr "'%1%' es un argumento no compatible para --cues.\n" + +#: src/common/command_line.cpp:203 +msgid "'%1%' is missing the file name.\n" +msgstr "'%1%' el nombre de archivo está ausente.\n" + +#: src/merge/mkvmerge.cpp:1421 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "'%1%' no es un código válido ISO639-2 ni ISO639-1 en '--chapter-language %1%'. Ver 'mkvmerge --list-languages' para una lista de todos los idiomas y sus respectivos códigos ISO639-2.\n" + +#: src/merge/mkvmerge.cpp:1489 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "'%1%' no es un código válido ISO639-2 ni ISO639-1 en '--default-language %1%'. Ver 'mkvmerge --list-languages' para una lista de todos los idiomas y sus respectivos códigos ISO639-2.\n" + +#: src/merge/mkvmerge.cpp:1044 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "'%1%' no es un código válido ISO639-2 ni ISO639-1 . Ver 'mkvmerge --list-languages' para una lista de todos los idiomas y sus respectivos códigos ISO639-2.\n" + +#: src/common/chapters/chapters.cpp:184 +#: src/common/chapters/chapters.cpp:201 +msgid "'%1%' is not a CHAPTERxx=... line." +msgstr "'%1%' no es un CAPÍTULOxx=...línea." + +#: src/common/chapters/chapters.cpp:207 +msgid "'%1%' is not a CHAPTERxxNAME=... line." +msgstr "'%1%' no es un CAPÍTULOxxNOMBRE=...línea." + +#: src/merge/mkvmerge.cpp:442 +msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" +msgstr "'%1%' no es un válido %2% en '%3% %4%'.\n" + +#: src/common/chapters/xml_parser.cpp:122 +msgid "'%1%' is not a valid ISO639-2 language code." +msgstr "'%1%' no es un código de idioma ISO639-2." + +#: src/merge/mkvmerge.cpp:1207 +msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" +msgstr "'%1%' no es un modo válido para unir en '--append-modo %1%'.\n" + +#: src/merge/mkvmerge.cpp:1278 +msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" +msgstr "'%1%' no es un bloque adicional válido máximo en '--blockadd %2%'.\n" + +#: src/common/chapters/xml_parser.cpp:132 +msgid "'%1%' is not a valid ccTLD country code." +msgstr "'%1%' no es un código de país válido ccTLD." + +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 +msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" +msgstr "'%1%' no es una ID de archivo válido en '--track-order %2%'.\n" + +#: src/common/hacks.cpp:87 +msgid "'%1%' is not a valid hack.\n" +msgstr "'%1%' no es un corte válido.\n" + +#: src/merge/mkvmerge.cpp:1191 +msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" +msgstr "'%1%' no es una asignación válida de la ID del archivo y pista en '--append-to %2%'.\n" + +#: src/merge/mkvmerge.cpp:1140 +msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" +msgstr "'%1%' no es un par válido de ID de archivo y pista en '--track-order %2%'.\n" + +#: src/merge/mkvmerge.cpp:1270 +msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" +msgstr "'%1%' no es un par válido de ID pista y bloque adicional en '--blockadd %1%'.\n" + +#: src/merge/mkvmerge.cpp:1315 +msgid "'%1%' is not a valid priority class.\n" +msgstr "'%1%' no es una clase de prioridad válida.\n" + +#: src/merge/mkvmerge.cpp:1274 +msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" +msgstr "'%1%' no es una ID de pista válida en '--blockadd %2%'.\n" + +#: src/merge/mkvmerge.cpp:1225 +msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" +msgstr "'%1%' no es una ID de pista válida en '--default-duration %2%'.\n" + +#: src/merge/mkvmerge.cpp:1246 +msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" +msgstr "'%1%' no es una ID de pista válida en '--nalu-size-length %2%'.\n" + +#: src/merge/mkvmerge.cpp:1242 +msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" +msgstr "'%1%' no es una tupla de ID de pista y extensión de tamaño de NALU válida en '--nalu-size-length %1%'.\n" + +#: src/merge/mkvmerge.cpp:1221 +msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" +msgstr "'%1%' no es una tupla de ID de pista y duración predefinido válida en '--default-duration %1%'.\n" + +#: src/extract/extract_cli_parser.cpp:136 +msgid "'%1%' is only allowed when extracting chapters.\n" +msgstr "'%1%' solo está permitido cuando se extraen capítulos.\n" + +#: src/extract/extract_cli_parser.cpp:133 +msgid "'%1%' is only allowed when extracting tracks.\n" +msgstr "'%1%' solo está permitido cuando se extraen pistas.\n" + +#: src/merge/mkvmerge.cpp:1604 +msgid "'%1%' lacks a file name.\n" +msgstr "'%1%' carece de un nombre de archivo.\n" + +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 +msgid "'%1%' lacks its argument.\n" +msgstr "'%1%' carece de argumento.\n" + +#: src/merge/mkvmerge.cpp:1906 +msgid "'%1%' lacks the FourCC.\n" +msgstr "'%1%' carece del FourCC.\n" + +#: src/merge/mkvmerge.cpp:1948 +msgid "'%1%' lacks the delay.\n" +msgstr "'%1%' carece de retraso (delay).\n" + +#: src/merge/mkvmerge.cpp:1767 +msgid "'%1%' lacks the file name.\n" +msgstr "'%1%' carece de un nombre de archivo.\n" + +#: src/merge/mkvmerge.cpp:2004 +msgid "'%1%' lacks the track ID.\n" +msgstr "'%1%' carece de la ID de pista.\n" + +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 +msgid "'%1%' lacks the track number(s).\n" +msgstr "'%1%' carece de el/los número/s de pista.\n" + +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 +msgid "'%1%' track %2%: %3%" +msgstr "'%1%' pista %2%: %3%" + +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 +msgid "'%1%': %2%" +msgstr "'%1%': %2%" + +#: src/common/mm_multi_file_io.cpp:165 +#: src/mmg/tabs/input.cpp:711 +msgid "'%1%': Processing the following files as well: %2%\n" +msgstr "'%1%': procesando los siguientes archivos como buenos: %2%\n" + +#: src/merge/mkvmerge.cpp:2056 +msgid "'--append-mode' lacks its argument.\n" +msgstr "'--append-mode' carece de argumento.\n" + +#: src/merge/mkvmerge.cpp:2049 +msgid "'--append-to' lacks its argument.\n" +msgstr "'--append-to' carece de argumento.\n" + +#: src/merge/mkvmerge.cpp:1913 +msgid "'--aspect-ratio' lacks the aspect ratio.\n" +msgstr "'--aspect-ratio' carece de la relación de aspecto.\n" + +#: src/merge/mkvmerge.cpp:1920 +msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" +msgstr "'--aspect-ratio-factor' carece del factor de relación de aspecto.\n" + +#: src/merge/mkvmerge.cpp:1738 +msgid "'--attachment-description' lacks the description.\n" +msgstr "'--attachment-description' carece de la descripción.\n" + +#: src/merge/mkvmerge.cpp:1747 +msgid "'--attachment-mime-type' lacks the MIME type.\n" +msgstr "'--attachment-mime-type' carece del tipo MIME.\n" + +#: src/merge/mkvmerge.cpp:1757 +msgid "'--attachment-name' lacks the name.\n" +msgstr "'--attachment-name' carece del nombre.\n" + +#: src/merge/mkvmerge.cpp:2018 +msgid "'--blockadd' lacks its argument.\n" +msgstr "'--blockadd' carece de argumento.\n" + +#: src/merge/mkvmerge.cpp:1792 +msgid "'--chapter-charset' lacks the charset.\n" +msgstr "'--chapter-charset' carece de la codificación de caracteres.\n" + +#: src/merge/mkvmerge.cpp:1432 +msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" +msgstr "'--chapter-charset' solo puede darse una vez en '--chapter-charset %1%'.\n" + +#: src/merge/mkvmerge.cpp:1435 +msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" +msgstr "'--chapter-charset' debe ser asignado antes de '--chapters' en '--chapter-charset %1%'.\n" + +#: src/merge/mkvmerge.cpp:1785 +msgid "'--chapter-language' lacks the language.\n" +msgstr "'--chapter-language' carece de idioma.\n" + +#: src/merge/mkvmerge.cpp:1414 +msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" +msgstr "'--chapter-language' solo puede darse una vez en '--chapter-language %1%'.\n" + +#: src/merge/mkvmerge.cpp:1417 +msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" +msgstr "'--chapter-language' debe ser asignado antes de '--chapters' en '--chapter-language %1%'.\n" + +#: src/merge/mkvmerge.cpp:1809 +msgid "'--chapters' lacks the file name.\n" +msgstr "'--chapters' carece de un nombre de archivo.\n" + +#: src/merge/mkvmerge.cpp:1719 +msgid "'--cluster-length' lacks the length.\n" +msgstr "'--cluster-length' carece de extensión.\n" + +#: src/common/command_line.cpp:104 +msgid "'--command-line-charset' is missing its argument.\n" +msgstr "'--command-line-charset' está ausente su argumento .\n" + +#: src/merge/mkvmerge.cpp:2011 +msgid "'--compression' lacks its argument.\n" +msgstr "'--compression' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1934 +msgid "'--cropping' lacks the crop parameters.\n" +msgstr "'--cropping' carece de los parámetros de recorte (crop).\n" + +#: src/merge/mkvmerge.cpp:1799 +msgid "'--cue-chapter-name-format' lacks the format.\n" +msgstr "'--cue-chapter-name-format' carece del formato.\n" + +#: src/merge/mkvmerge.cpp:1802 +msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" +msgstr "'--cue-chapter-name-format' debe ser asignado antes de '--chapters'.\n" + +#: src/merge/mkvmerge.cpp:1955 +msgid "'--cues' lacks its argument.\n" +msgstr "'--cues' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:2063 +msgid "'--default-duration' lacks its argument.\n" +msgstr "'--default-duration' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1983 +msgid "'--default-language' lacks its argument.\n" +msgstr "'--default-language' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1962 +msgid "'--default-track' lacks its argument.\n" +msgstr "'--default-track' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1927 +msgid "'--display-dimensions' lacks the dimensions.\n" +msgstr "'--display-dimensions' carece de las dimensiones.\n" + +#: src/merge/mkvmerge.cpp:1614 +msgid "'--engage' lacks its argument.\n" +msgstr "'--engage' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1969 +msgid "'--forced-track' lacks its argument.\n" +msgstr "'--forced-track' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1776 +msgid "'--global-tags' lacks the file name.\n" +msgstr "'--global-tags' carece de un nombre de archivo.\n" + +#: src/merge/mkvmerge.cpp:1976 +msgid "'--language' lacks its argument.\n" +msgstr "'--language' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:2144 +msgid "'--link' is only useful in combination with '--split'.\n" +msgstr "'--link' sólo es útil en combinación con '--split'.\n" + +#: src/merge/mkvmerge.cpp:1705 +msgid "'--link-to-next' lacks the next UID.\n" +msgstr "'--link-to-next' carece del próximo UID.\n" + +#: src/merge/mkvmerge.cpp:1698 +msgid "'--link-to-previous' lacks the previous UID.\n" +msgstr "'--link-to-previous' carece del previo UID.\n" + +#: src/merge/mkvmerge.cpp:2070 +msgid "'--nalu-size-length' lacks its argument.\n" +msgstr "'--nalu-size-length' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1658 +msgid "'--priority' lacks its argument.\n" +msgstr "'--priority' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1712 +msgid "'--segment-uid' lacks the segment UID.\n" +msgstr "'--segment-uid' carece del UID del segmento.\n" + +#: src/merge/mkvmerge.cpp:1818 +msgid "'--segmentinfo' lacks the file name.\n" +msgstr "'--segmentinfo' carece de un nombre de archivo.\n" + +#: src/merge/mkvmerge.cpp:1679 +msgid "'--split' lacks the size.\n" +msgstr "'--split' carece del tamaño.\n" + +#: src/merge/mkvmerge.cpp:1686 +msgid "'--split-max-files' lacks the number of files.\n" +msgstr "'--split-max-files' carece del número de archivos.\n" + +#: src/merge/mkvmerge.cpp:1941 +msgid "'--stereo-mode' lacks its argument.\n" +msgstr "'--stereo-mode' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1990 +msgid "'--sub-charset' lacks its argument.\n" +msgstr "'--sub-charset' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1847 +msgid "'--timecode-scale' lacks its argument.\n" +msgstr "'--timecode-scale' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1468 +msgid "'--timecode-scale' was used more than once.\n" +msgstr "'--timecode-scale' fue usado más de una vez.\n" + +#: src/merge/mkvmerge.cpp:2032 +msgid "'--timecodes' lacks its argument.\n" +msgstr "'--timecodes' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:1671 +msgid "'--title' lacks the title.\n" +msgstr "'--title' carece de título.\n" + +#: src/merge/mkvmerge.cpp:2025 +msgid "'--track-name' lacks its argument.\n" +msgstr "'--track-name' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:2039 +msgid "'--track-order' lacks its argument.\n" +msgstr "'--track-order' carece de su argumento.\n" + +#: src/merge/mkvmerge.cpp:2042 +msgid "'--track-order' may only be given once.\n" +msgstr "'--track-order' solo puede darse una vez.\n" + +#: src/merge/mkvmerge.cpp:2091 +msgid "'-A' and '-a' used on the same source file.\n" +msgstr "-A y -a usados en el mismo archivo de origen.\n" + +#: src/merge/mkvmerge.cpp:2100 +msgid "'-B' and '-b' used on the same source file.\n" +msgstr "-B y -b usados en el mismo archivo de origen.\n" + +#: src/merge/mkvmerge.cpp:2094 +msgid "'-D' and '-d' used on the same source file.\n" +msgstr "-D y -d usados en el mismo archivo de origen.\n" + +#: src/merge/mkvmerge.cpp:2097 +msgid "'-S' and '-s' used on the same source file.\n" +msgstr "-S y -s usados en el mismo archivo de origen.\n" + +#: src/common/property_element.cpp:116 +#: src/mmg/header_editor/frame.cpp:396 +msgid "'Default track' flag" +msgstr "Ajuste de «Pista predefinida»" + +#: src/common/property_element.cpp:119 +#: src/mmg/header_editor/frame.cpp:403 +msgid "'Forced display' flag" +msgstr "Ajuste de «Visualización forzada»" + +#: src/common/property_element.cpp:118 +#: src/mmg/header_editor/frame.cpp:400 +msgid "'Track enabled' flag" +msgstr "Ajuste de «Pista habilitada»" + +#: src/info/mkvinfo.cpp:180 +msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" +msgstr "(Elemento desconocido: %1%; ID: 0x%2% tamaño: %3%)" + +#: src/mmg/tabs/chapters.cpp:389 +msgid "(new chapter file)" +msgstr "(nuevo archivo de capítulos)" + +#: src/common/xml/element_parser.cpp:56 +msgid "(none)" +msgstr "(ninguno)" + +#: src/mmg/tabs/chapters.cpp:423 +msgid "(unnamed chapter)" +msgstr "(capítulo sin nombre)" + +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 +msgid "(unnamed)" +msgstr "(sin nombre)" + +#: src/input/r_flac.cpp:179 +msgid "+-> Parsing the FLAC file. This can take a LONG time.\n" +msgstr "+-> Analizando el archivo FLAC. Esto puede llevar un LARGO tiempo.\n" + +#: src/input/r_flac.cpp:214 +msgid "+-> Pre-parsing FLAC file: %1%%%%2%" +msgstr "+-> Análisis previo del archivo FLAC: %1%%%%2%" + +#: src/input/r_flac.cpp:235 +msgid "+-> Pre-parsing FLAC file: 100%\n" +msgstr "+-> Análisis previo del archivo FLAC: 100%\n" + +#: src/merge/pr_generic.cpp:1440 +msgid ", description '%1%'" +msgstr ", descripción '%1%'" + +#: src/merge/pr_generic.cpp:1441 +msgid ", file name '%1%'" +msgstr ", nombre de archivo '%1%'" + +#: src/mmg/jobs.cpp:743 +#, c-format +msgid ", finished on %s" +msgstr ", finalizado en %s" + +#: src/info/mkvinfo.cpp:199 +msgid ", position %1%" +msgstr ", posición %1%" + +#: src/mmg/jobs.cpp:733 +#, c-format +msgid ", started on %s" +msgstr ", iniciado en %s" + +#: src/mmg/jobs.cpp:731 +#, c-format +msgid "--- BEGIN job %d (%s, added on %s)" +msgstr "--- EMPEZAR trabajo %d (%s, añadido en %s)" + +#: src/mmg/jobs.cpp:741 +#, c-format +msgid "--- END job %d" +msgstr "--- FINALIZAR trabajo %d" + +#: src/mmg/jobs.cpp:736 +msgid "--- No job output found.\n" +msgstr "--- No se encontró ningún trabajo creado.\n" + +#: src/mmg/options/languages.cpp:46 +#: src/mmg/tabs/input_general.cpp:159 +msgid "---all---" +msgstr "------Todos------" + +#: src/mmg/tabs/input_general.cpp:144 +msgid "---common---" +msgstr "---Más usados---" + +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length REPLACEME" + +#: src/mmg/cli_options_dlg.cpp:103 +msgid "--timecode-scale REPLACEME" +msgstr "--timecode-scale REPLACEME" + +#: src/mmg/tabs/global.cpp:239 +msgid "...after this duration:" +msgstr "... después de este período:" + +#: src/mmg/tabs/global.cpp:236 +msgid "...after this size:" +msgstr "... después de este tamaño:" + +#: src/mmg/tabs/global.cpp:244 +msgid "...after timecodes:" +msgstr "... después de los códigos de tiempo:" + +#: src/info/mkvinfo.cpp:807 +msgid "1: all frames" +msgstr "1: todos los fotogramas" + +#: src/mmg/tabs/input_format.cpp:195 +msgid "2 bytes" +msgstr "2 bytes" + +#: src/info/mkvinfo.cpp:809 +msgid "2: codec private data" +msgstr "2: datos privados del códec" + +#: src/mmg/tabs/input_format.cpp:196 +msgid "4 bytes" +msgstr "4 bytes" + +#: src/common/xml/element_writer.cpp:109 +msgid "<!-- Unknown element '%1%' -->\n" +msgstr "<!-- Elemento desconocido '%1%' -->\n" + +#: src/common/xml/element_parser.cpp:268 +#: src/common/xml/element_parser.cpp:285 +#: src/common/xml/element_parser.cpp:348 +msgid "<%1%> is not a valid child element of <%2%>." +msgstr "<%1%> no es un elemento secundario válido de <%2%>." + +#: src/common/chapters/xml_parser.cpp:85 +msgid "<ChapterAtom> is missing the <ChapterTimeStart> child." +msgstr "<ChapterAtom> está ausente el <ChapterTimeStart> secundario." + +#: src/common/chapters/xml_parser.cpp:107 +msgid "<ChapterDisplay> is missing the <ChapterString> child." +msgstr "<ChapterDisplay> está ausente el <ChapterString> secundario." + +#: src/common/chapters/xml_parser.cpp:99 +msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." +msgstr "<ChapterTrack> está ausente el <ChapterTrackNumber> secundario." + +#: src/input/r_matroska.cpp:2122 +msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" +msgstr "Un grupo de bloques fue encontrado en la posición %1%, pero ningún elemento del bloque fue encontrado en su interior. Esto debería bloquear mkvmerge.\n" + +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 +msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" +msgstr "Un bloque fue encontrado en la marca de tiempo %1% para el número de pista %2%. Sin embargo, no se ha encontrado ningún encabezado para este número de pista. El bloque será omitido\n" + +#: src/common/property_element.cpp:133 +#: src/mmg/header_editor/frame.cpp:438 +msgid "A human-readable string specifying the codec." +msgstr "Una palabra legible para el usuario especifica el códec." + +#: src/common/property_element.cpp:130 +#: src/mmg/header_editor/frame.cpp:428 +msgid "A human-readable track name." +msgstr "Un nombre de pista legible." + +#: src/mmg/mmg_dialog.cpp:1389 +#, c-format +msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" +msgstr "Un trabajo con la descripción '%s' ya existe. ¿Realmente quieres añadir otro más con la misma descripción?" + +#: src/common/property_element.cpp:106 +#: src/mmg/header_editor/frame.cpp:342 +msgid "" +"A randomly generated unique ID to identify the current\n" +"segment between many others (128 bits)." +msgstr "" +"Un único ID es generado de forma aleatoria para identificar el actual\n" +"segmento entre muchos otros (128 bits)." + +#: src/info/mkvinfo.cpp:937 +msgid "A track" +msgstr "Una pista" + +#: src/merge/pr_generic.cpp:1296 +msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" +msgstr "Una pista con la ID %1% fue requerida, pero no se encontró en el archivo. La opción correspondiente será omitida.\n" + +#: src/common/property_element.cpp:114 +#: src/mmg/header_editor/frame.cpp:393 +msgid "" +"A unique ID to identify the Track. This should be\n" +"kept the same when making a direct stream copy\n" +"of the Track to another file." +msgstr "" +"Un ID único para identificar la pista. Esto debe ser\n" +"lo mismo que al hacer una copia directa\n" +"de la pista a otro archivo." + +#: src/common/property_element.cpp:109 +#: src/mmg/header_editor/frame.cpp:350 +msgid "" +"A unique ID to identify the next chained\n" +"segment (128 bits)." +msgstr "" +"Un ID único para identificar el siguiente segmento\n" +"encadenado (128 bits)." + +#: src/common/property_element.cpp:108 +#: src/mmg/header_editor/frame.cpp:346 +msgid "" +"A unique ID to identify the previous chained\n" +"segment (128 bits)." +msgstr "" +"Un ID único para identificar el previo segmento\n" +"encadenado (128 bits)." + +#: src/common/file_types.cpp:25 +msgid "A/52 (aka AC3)" +msgstr "A/52 (AC3)" + +#: src/common/file_types.cpp:26 +msgid "AAC (Advanced Audio Coding)" +msgstr "AAC (Advanced Audio Coding)" + +#: src/input/r_aac.cpp:104 +msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" +msgstr "Los archivos AAC pueden contener audio HE-AAC/AAC+/SBR AAC. Esto no puede ser detectado automáticamente. Por lo tanto, si el archivo actual contiene SBR AAC, tienes que especificar '--aac-is-sbr 0' manualmente para el archivo de entrada. De lo contrario, el archivo será multiplexado de manera ERRÓNEA. Deberías leer la documentación de mkvmerge.\n" + +#: src/mmg/tabs/input_format.cpp:254 +msgid "AAC is SBR/HE-AAC/AAC+" +msgstr "AAC es SBR/HE-AAC/AAC+" + +#: src/mmg/header_editor/value_page.cpp:143 +msgid "" +"ASCII string (no special chars like\n" +"Umlaute etc)" +msgstr "" +"Cadena de caracteres ASCII (no caracteres especiales como\n" +"Umlaute, etc.)" + +#: src/common/file_types.cpp:27 +msgid "AVC/h.264 elementary streams" +msgstr "Archivos primarios AVC/h.264" + +#: src/common/file_types.cpp:28 +msgid "AVI (Audio/Video Interleaved)" +msgstr "AVI (audio/vídeo intercalados)" + +#: src/mmg/mux_dialog.cpp:105 +msgid "Abort" +msgstr "Cancelar" + +#: src/mmg/jobs.cpp:97 +msgid "Abort after current job" +msgstr "Cancelar después de la tarea actual" + +#: src/mmg/jobs.cpp:98 +msgid "Abort processing after the current job" +msgstr "Cancelar el proceso después de la tarea actual" + +#: src/mmg/jobs.cpp:104 +msgid "Abort the muxing process right now" +msgstr "Cancelar ahora, el proceso de multiplexado" + +#: src/mmg/jobs.cpp:140 +#, c-format +msgid "Aborted processing on %s" +msgstr "Proceso cancelado en %s" + +#: src/info/qt_ui.cpp:125 +#: src/info/wxwidgets_ui.cpp:338 +msgid "About mkvinfo" +msgstr "Acerca de mkvinfo" + +#: src/propedit/propedit_cli_parser.cpp:145 +msgid "Actions" +msgstr "Acciones" + +#: src/mmg/cli_options_dlg.cpp:47 +msgid "Add" +msgstr "Añadir" + +#: src/mmg/mmg_dialog.cpp:282 +msgid "Add &command line options" +msgstr "Añadir opciones de línea de &comando" + +#: src/mmg/tabs/chapters.cpp:327 +msgid "Add chapter" +msgstr "Añadir capítulo" + +#: src/mmg/cli_options_dlg.cpp:24 +msgid "Add command line options" +msgstr "Añadir opciones de línea de comandos" + +#: src/mmg/header_editor/value_page.cpp:162 +msgid "Add element" +msgstr "Añadir elemento" + +#: src/mmg/tabs/chapters.cpp:346 +msgid "Add name" +msgstr "Añadir nombre" + +#: src/mmg/tabs/chapters.cpp:328 +msgid "Add subchapter" +msgstr "Añadir subcapítulo" + +#: src/mmg/jobs.cpp:441 +msgid "Added on" +msgstr "Añadido" + +#: src/info/mkvinfo.cpp:192 +msgid "AdditionalID: %1%" +msgstr "AdicionalID: %1%" + +#: src/info/mkvinfo.cpp:1466 +msgid "Additions" +msgstr "Añadidos" + +#: src/propedit/propedit_cli_parser.cpp:148 +msgid "Adds a property with the value even if such a property already exists" +msgstr "Agrega una propiedad con el valor, incluso si dicha propiedad ya existe" + +#: src/mmg/mmg_dialog.cpp:280 +msgid "Adds the current settings as a new job entry to the job queue" +msgstr "Añade el proyecto actual a lista de tareas pendientes" + +#: src/mmg/tabs/chapters.cpp:1359 +msgid "Adjust chapter timecodes" +msgstr "Ajuste de los códigos de tiempo de los capítulos" + +#: src/mmg/tabs/chapters.cpp:333 +msgid "Adjust timecodes" +msgstr "Ajustar los códigos de tiempo" + +#: src/info/wxwidgets_ui.cpp:115 +msgid "After loading a file expand the most important elements" +msgstr "Después de cargar un archivo expandir los elementos más importantes" + +#: src/info/mkvinfo.cpp:836 +msgid "Algorithm: %1% (%2%)" +msgstr "Algoritmo: %1% (%2%)" + +#: src/mmg/mmg.h:42 +msgid "All Files (*)|*" +msgstr "Todos los archivos (*)|*" + +#: src/mmg/mmg.h:36 +msgid "All Files (*.*)|*.*" +msgstr "Todos los archivos (*.*)|*.*" + +#: src/mmg/tabs/chapters.cpp:843 +msgid "All chapter entries are valid." +msgstr "Todos los registros son válidos." + +#: src/mmg/header_editor/frame.cpp:634 +msgid "All header values are OK." +msgstr "Todos los valores de encabezado son correctos." + +#: src/propedit/propedit_cli_parser.cpp:85 +msgid "All known property names and their meaning\n" +msgstr "Todos los nombres de las propiedades conocidas y su significado\n" + +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Todos los archivos compatibles|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Archivos Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|Archivos WebM (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Todos los Archivos|*.*" + +#: src/mmg/tabs/input.cpp:252 +#, c-format +msgid "All supported media files|%s%s|%s" +msgstr "Todos los archivos multimedia compatibles|%s%s|%s" + +#: src/mmg/cli_options_dlg.cpp:132 +msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" +msgstr "Permite almacenar vídeo AVC/h.264 para el modo de vídeo de compatibilidad de Windows; p. ej., cuando se lee desde un AVI" + +#: src/mmg/cli_options_dlg.cpp:138 +msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." +msgstr "Permite el uso del elemento CodecState. Por ejemplo, esto se utiliza para pistas de vídeo MPEG1/2 al almacenar los encabezados de la secuencia." + +#: src/extract/extract_cli_parser.cpp:73 +msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." +msgstr "También intenta extraer las hojas de distribución de pistas (CUE sheet) desde la información del capítulo y las etiquetas para esa pista." + +#: src/mmg/options/mmg.cpp:92 +msgid "Always on top" +msgstr "Siempre en primer plano" + +#: src/common/property_element.cpp:132 +#: src/mmg/header_editor/frame.cpp:435 +msgid "An ID corresponding to the codec." +msgstr "Una ID correspondiente al códec." + +#: src/extract/attachments.cpp:109 +msgid "An attachment with the ID %1% was not found.\n" +msgstr "Un archivo adjunto con la ID %1% no fue encontrado.\n" + +#: src/merge/mkvmerge.cpp:2076 +msgid "An empty file name is not valid.\n" +msgstr "Un nombre de archivo vacío no es válido.\n" + +#: src/common/property_element.cpp:105 +#: src/mmg/header_editor/frame.cpp:338 +msgid "" +"An escaped filename corresponding to\n" +"the next segment." +msgstr "" +"Un nombre de archivo evitado correspondiente al\n" +"siguiente segmento." + +#: src/common/property_element.cpp:104 +#: src/mmg/header_editor/frame.cpp:335 +msgid "" +"An escaped filename corresponding to\n" +"the previous segment." +msgstr "" +"Un nombre de archivo evitado correspondiente al\n" +"segmento previo." + +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 +#: src/propedit/propedit.cpp:43 +msgid "An unknown error occured. The file has been modified." +msgstr "Un error desconocido ha ocurrido. El archivo ha sido modificado." + +#: src/mmg/wx_kax_analyzer.cpp:35 +msgid "Analysis is running" +msgstr "El análisis se está ejecutando" + +#: src/mmg/cli_options_dlg.cpp:124 +msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." +msgstr "Analizar cadenas de bits MPEG4, poner a cada fotograma (frame) en un bloque de Matroska, y utilizar marcas de tiempo adecuado (I P B B = 0 120 40 80), usa V_MPEG4/ISO/... ID del Códec." + +#: src/merge/pr_generic.cpp:525 +msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" +msgstr "Otra pista predefinida para %1% pistas ya ha sido establecida. El ajuste Predefinido para la pista %2% de '%3%' no será establecido.\n" + +#: src/mmg/mmg_dialog.cpp:577 +msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." +msgstr "Otro proceso de multiplexado está en proceso. Por favor, espera hasta que haya finalizado o cancélalo manualmente antes de iniciar uno nuevo." + +#: src/mmg/tabs/input.cpp:1272 +#, c-format +msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." +msgstr "La unión de una pista de un archivo con otra pista del mismo archivo no está permitida. Este es el caso para número de pistas %u y %u." + +#: src/merge/output_control.cpp:1655 +msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" +msgstr "Uniendo la pista %1% del archivo n.º %2% ('%3%') a la pista %4% del archivo n.º %5% ('%6%').\n" + +#: src/mmg/options/mmg.cpp:74 +msgid "Ask before overwriting things (files, jobs)" +msgstr "Preguntar antes de sobreescribir archivos, trabajos..." + +#: src/merge/mkvmerge.cpp:593 +msgid "Aspect ratio" +msgstr "Relación de aspecto" + +#: src/merge/mkvmerge.cpp:593 +msgid "Aspect ratio factor" +msgstr "Factor de relación de aspecto" + +#: src/info/mkvinfo.cpp:760 +msgid "Aspect ratio type: %1%%2%" +msgstr "Tipo de relación de aspecto: %1%%2%" + +#: src/mmg/tabs/input_format.cpp:221 +msgid "Aspect ratio:" +msgstr "Relación de aspecto:" + +#: src/common/chapters/xml_parser.cpp:51 +msgid "At least one <ChapterAtom> element is needed." +msgstr "Al menos un <ChapterAtom> elemento es necesario" + +#: src/common/xml/element_parser.cpp:382 +msgid "At least one <EditionEntry> element is needed." +msgstr "Al menos un <EditionEntry> elemento es necesario." + +#: src/extract/extract_cli_parser.cpp:91 +msgid "Atatchment extraction" +msgstr "Extracción del adjunto" + +#: src/info/mkvinfo.cpp:1310 +msgid "Attached" +msgstr "Adjunto" + +#: src/mmg/tabs/attachments.cpp:152 +msgid "Attached files" +msgstr "Archivos adjuntos" + +#: src/merge/pr_generic.cpp:1439 +msgid "Attachment ID %1%: type '%2%', size %3% bytes" +msgstr "ID del archivo adjunto %1%: tipo '%2%', tamaño %3% bytes" + +#: src/mmg/tabs/attachments.cpp:163 +msgid "Attachment style:" +msgstr "Estilo del archivo adjunto:" + +#: src/mmg/mmg_dialog.cpp:306 +#: src/mmg/tabs/attachments.cpp:155 +#: src/info/mkvinfo.cpp:1298 +msgid "Attachments" +msgstr "Adjuntos" + +#: src/common/property_element.cpp:156 +#: src/mmg/header_editor/frame.cpp:510 +msgid "Audio bit depth" +msgstr "Profundidad de bit de audio" + +#: src/common/property_element.cpp:155 +#: src/mmg/header_editor/frame.cpp:506 +msgid "Audio channels" +msgstr "Canales de audio" + +#: src/common/property_element.cpp:154 +#: src/mmg/header_editor/frame.cpp:502 +msgid "Audio output sampling frequency" +msgstr "Frecuencia de muestreo del audio creado" + +#: src/common/property_element.cpp:153 +#: src/mmg/header_editor/frame.cpp:497 +msgid "Audio sampling frequency" +msgstr "Frecuencia de muestreo del audio" + +#: src/mmg/header_editor/track_type_page.cpp:46 +#, c-format +msgid "Audio track %u" +msgstr "Pista de audio %u" + +#: src/mmg/options/mmg.cpp:59 +msgid "Auto-set output filename" +msgstr "Establecer de forma automática el destino del archivo creado" + +#: src/merge/mkvmerge.cpp:325 +msgid "Automatic MIME type recognition for '%1%': %2%\n" +msgstr "Reconocimiento automático de tipo MIME para '%1%': %2%\n" + +#: src/merge/mkvmerge.cpp:1629 +msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" +msgstr "Habilitar automáticamente el modo WebM, según la extensión del archivo de salida.\n" + +#: src/mmg/cli_options_dlg.cpp:36 +msgid "Available options:" +msgstr "Opciones disponibles:" + +#: src/common/command_line.cpp:226 +msgid "Available translations:\n" +msgstr "Traducciones disponibles:\n" + +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "Version disponible:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 +msgid "BZ2_bzCompressInit() failed. Result: %1%\n" +msgstr "BZ2_bzCompressInit() ha fallado. Resultado: %1%\n" + +#: src/mmg/header_editor/value_page.cpp:148 +msgid "Binary (displayed as hex numbers)" +msgstr "Binario (mostrado como números hexadecimales)" + +#: src/info/mkvinfo.cpp:672 +msgid "Bit depth: %1%" +msgstr "Profundidad de bit: %1%" + +#: src/common/property_element.cpp:156 +#: src/mmg/header_editor/frame.cpp:510 +msgid "Bits per sample, mostly used for PCM." +msgstr "Bits por muestra, más usado para PCM" + +#: src/info/mkvinfo.cpp:184 +msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" +msgstr "Bloque (número de pista %1%, %2% fotograma/s (frame/s), código de tiempo %|3$.3f|s = %4%)" + +#: src/info/mkvinfo.cpp:198 +msgid "Block additional ID: %1%" +msgstr "ID del bloque adicional: %1%" + +#: src/info/mkvinfo.cpp:193 +msgid "Block additional: %1%" +msgstr "Bloque adicional: %1%" + +#: src/info/mkvinfo.cpp:186 +msgid "Block duration: %1%.%|2$06d|ms" +msgstr "Duración del bloque: %1%.%|2$06d|ms" + +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 +msgid "Block group" +msgstr "Grupo del bloque" + +#: src/info/mkvinfo.cpp:190 +msgid "Block virtual: %1%" +msgstr "Bloque virtual: %1%" + +#: src/input/r_vobsub.cpp:532 +msgid "Bogus aid %1%\n" +msgstr "Falsas ayudas %1%\n" + +#: src/mmg/header_editor/value_page.cpp:149 +msgid "Boolean (yes/no, on/off etc)" +msgstr "Boleano (sí/no, on/off, etc.)" + +#: src/merge/pr_generic.cpp:193 +msgid "Both the aspect ratio and '--display-dimensions' were given.\n" +msgstr "Tanto la relación de aspecto (aspect ratio) como '--display-dimensions' han sido dadas.\n" + +#: src/merge/pr_generic.cpp:191 +msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" +msgstr "Tanto el factor de relación de aspecto como '--display-dimensions' han sido dadas.\n" + +#: src/mmg/mmg_dialog.cpp:281 +msgid "Brings up the job queue editor" +msgstr "Abre el editor de la lista de tareas" + +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 +#: src/mmg/options/mkvmerge.cpp:59 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 +#: src/mmg/tabs/global.cpp:276 +#: src/mmg/tabs/global.cpp:293 +#: src/mmg/tabs/global.cpp:297 +msgid "Browse" +msgstr "Explorar" + +#: src/extract/extract_cli_parser.cpp:108 +msgid "CUE sheet extraction" +msgstr "Extracción de hojas de distribución de pistas (CUE Sheet)" + +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "Calcular y mostrar checksums, y usar verbosity en nivel 4." + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "Calcula y muestra checksums del contenido de un fotograma." + +#: src/output/p_mpeg4_p2.cpp:117 +msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" +msgstr "No se pueden convertir los fotogramas de un vídeo que de origen no es MPEG4 a este formato, si la fuente del contenedor no proporciona los códigos de tiempo ni el número de fotogramas por segundo.\n" + +#: src/extract/xtr_vobsub.cpp:88 +msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" +msgstr "No se pueden extraer pistas de diferentes clases en el mismo archivo. Esto fue un requisito para las pistas %1% y %2%.\n" + +#: src/mmg/mmg_dialog.cpp:578 +msgid "Cannot start second muxing job" +msgstr "No se puede iniciar una segunda tarea de multiplexión" + +#: src/extract/xtr_textsubs.cpp:313 +msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" +msgstr "No se puede escribir la pista %1% con la ID de códec '%2%' en el archivo '%3%' porque la pista %4% con la ID de códec '%5%' ya está siendo escrita en el mismo archivo, y sus datos particulares del códec (los estilos USF, etc.) no coinciden.\n" + +#: src/extract/xtr_avi.cpp:46 +#: src/extract/xtr_ivf.cpp:53 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 +msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" +msgstr "No se puede escribir la pista %1% con la ID de códec '%2%' en el archivo '%3%' porque la pista %4% con la ID de códec '%5%' ya está siendo escrita en el mismo archivo.\n" + +#: src/common/kate.cpp:82 +msgid "Category is not NUL terminated" +msgstr "La categoría no terminó en NULO" + +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 +msgid "Caught exception" +msgstr "Excepción cerrada" + +#: src/mmg/cli_options_dlg.cpp:146 +msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." +msgstr "Para los paquetes de subtítulos VobSub que no contengan un campo de duración, mkvmerge tendrá motivos para añadir comandos de Visualización parada." + +#: src/propedit/change.cpp:207 +msgid "Change for '%1%' executed. No property of this type found. One entry added.\n" +msgstr "El cambio para '%1%' está realizado. No se encontró ninguna propiedad de este tipo. Un registro añadido.\n" + +#: src/propedit/change.cpp:187 +msgid "Change for '%1%' executed. Number of entries deleted: %2%\n" +msgstr "El cambio para '%1%' está realizado. Número de registros borrados: %2%\n" + +#: src/propedit/change.cpp:213 +msgid "Change for '%1%' executed. Number of entries set: %2%.\n" +msgstr "El cambio para '%1%' está realizado. Número de registros establecidos: %2%.\n" + +#: src/propedit/change.cpp:224 +msgid "Change for '%1%' executed. One entry added.\n" +msgstr "El cambio para '%1%' está realizado. Un registro añadido.\n" + +#: src/mmg/mmg_dialog.cpp:272 +msgid "Change mmg's preferences and options" +msgstr "Cambia las preferencias y opciones de mmg" + +#: src/mmg/options/languages.cpp:88 +msgid "Changes to this list do not take effect until mmg is restarted." +msgstr "Los cambios para esta lista no tendrán efecto hasta que mmg sea reiniciado." + +#: src/info/mkvinfo.cpp:667 +msgid "Channel positions: %1%" +msgstr "Posiciones del canal: %1%" + +#: src/info/mkvinfo.cpp:661 +msgid "Channels: %1%" +msgstr "Canales: %1%" + +#: src/mmg/mmg_dialog.cpp:308 +msgid "Chapter Editor" +msgstr "Editor de capítulos" + +#: src/info/mkvinfo.cpp:528 +msgid "Chapter Translate" +msgstr "Traducir capítulo" + +#: src/info/mkvinfo.cpp:541 +msgid "Chapter Translate Codec: %1%" +msgstr "Códec de traducción de capítulo: %1%" + +#: src/info/mkvinfo.cpp:537 +msgid "Chapter Translate Edition UID: %1%" +msgstr "Edición traducida del capítulo UID: %1%" + +#: src/info/mkvinfo.cpp:545 +msgid "Chapter Translate ID: %1%" +msgstr "ID de traducción de capítulo: %1%" + +#: src/mmg/mmg_dialog.cpp:606 +msgid "Chapter editor is not empty" +msgstr "El editor del capítulo no está vacío." + +#: src/extract/extract_cli_parser.cpp:100 +msgid "Chapter extraction" +msgstr "Extracción del capítulo" + +#: src/mmg/tabs/global.cpp:274 +msgid "Chapter file:" +msgstr "Archivo del capítulo:" + +#: src/mmg/tabs/chapters.cpp:681 +#, c-format +msgid "Chapter files (*.xml)|*.xml|%s" +msgstr "Archivos del capítulo (*.xml)|*.xml|%s" + +#: src/mmg/tabs/global.cpp:329 +#, c-format +msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" +msgstr "Archivos del capítulo (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" + +#: src/mmg/tabs/chapters.cpp:525 +#, c-format +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "Archivos del capítulo (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" + +#: src/mmg/tabs/chapters.cpp:345 +msgid "Chapter names and languages" +msgstr "Nombre e idioma del capítulo" + +#: src/mmg/options/chapters.cpp:70 +msgid "Chapter options" +msgstr "Opciones del capítulo" + +#: src/common/chapters/xml_parser.cpp:75 +msgid "Chapter parser: The ChapterUID %1% is not unique and could not be reused. A new one will be created.\n" +msgstr "Analizador del capítulo: El UID del capítulo %1% no es exclusivo y no podría ser reutilizado. Uno nuevo será creado.\n" + +#: src/common/chapters/xml_parser.cpp:65 +msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" +msgstr "Analizador del capítulo: EL UID editado %1% no es exclusivo y no podría ser reutilizado. Uno nuevo será creado.\n" + +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 +msgid "Chapter verification error" +msgstr "Error en la verificación" + +#: src/mmg/tabs/chapters.cpp:843 +msgid "Chapter verification succeeded" +msgstr "Verificación correcta" + +#: src/mmg/options/chapters.cpp:130 +#: src/mmg/tabs/global.cpp:273 +#: src/info/mkvinfo.cpp:1812 +msgid "Chapters" +msgstr "Capítulos" + +#: src/mmg/mmg.cpp:49 +#, c-format +msgid "Chapters (%d entries) from %s" +msgstr "Capítulos (%d registro/s) de %s" + +#: src/merge/output_control.cpp:1297 +msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" +msgstr "Los capítulos no están permitidos en archivos WebM. Ninguno de los capítulos serán escritos en ningún archivo creado.\n" + +#: src/mmg/tabs/chapters.cpp:610 +msgid "Chapters loaded." +msgstr "Capítulos cargados." + +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 +msgid "Chapters written." +msgstr "Capítulos escritos." + +#: src/mmg/tabs/chapters.cpp:326 +msgid "Chapters:" +msgstr "Capítulos:" + +#: src/merge/pr_generic.cpp:1442 +msgid "Chapters: %1% entries" +msgstr "Capítulos: %1% registros" + +#: src/common/cli_parser.cpp:178 +msgid "Charset for strings on the command line" +msgstr "Código de caracteres para palabras en la línea de comandos" + +#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/global.cpp:282 +msgid "Charset:" +msgstr "Código de caracteres:" + +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "Comprobar online la ultima versión" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "Comprobar online la ultima versión." + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "Comprobar online, si hay disponible o no en su pagina de inicio, una nueva version de MKVToolNix. Unicamente se comprobará cuando mmg se inicie y como máximo una vez al dia. Ninguna informacion es enviada al servidor." + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "Comprobando actualizaciones, por favor espere" + +#: src/mmg/tabs/chapters.cpp:524 +msgid "Choose a chapter file" +msgstr "Elige un archivo" + +#: src/mmg/tabs/input_general.cpp:275 +msgid "Choose a tag file" +msgstr "Elige un archivo" + +#: src/mmg/tabs/input_general.cpp:289 +msgid "Choose a timecodes file" +msgstr "Elige un archivo" + +#: src/mmg/tabs/attachments.cpp:193 +msgid "Choose an attachment file" +msgstr "Elige un archivo" + +#: src/mmg/mmg_dialog.cpp:384 +msgid "Choose an input file" +msgstr "Elige un archivo" + +#: src/mmg/tabs/input.cpp:259 +msgid "Choose an input file to add" +msgstr "Elige un archivo" + +#: src/mmg/tabs/input.cpp:259 +msgid "Choose an input file to append" +msgstr "Elige un archivo" + +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 +msgid "Choose an output file" +msgstr "Guardar como" + +#: src/mmg/tabs/global.cpp:328 +msgid "Choose the chapter file" +msgstr "Elige un archivo" + +#: src/mmg/mmg_dialog.cpp:640 +msgid "Choose the location of the mkvmerge GUI help files" +msgstr "Elige la localización de los archivos de ayuda de mkvmerge GUI (interfaz gráfica de usuario)" + +#: src/mmg/options/mkvmerge.cpp:103 +msgid "Choose the mkvmerge executable" +msgstr "Elige el ejecutable de mkvmerge" + +#: src/mmg/options/mmg.cpp:254 +msgid "Choose the output directory" +msgstr "Elige el destino de salida" + +#: src/mmg/tabs/global.cpp:318 +msgid "Choose the segment info file" +msgstr "Elige un archivo" + +#: src/mmg/tabs/global.cpp:308 +msgid "Choose the tags file" +msgstr "Elige un archivo" + +#: src/mmg/options/mmg.cpp:90 +msgid "Clear inputs after a successful muxing run" +msgstr "Borrar los registros después de realizar el multiplexado." + +#: src/mmg/options/mmg.cpp:88 +msgid "Clear inputs after adding a job to the job queue" +msgstr "Borrar los registros después de añadir un trabajo a la lista de tareas" + +#: src/mmg/header_editor/frame.cpp:145 +msgid "Close the current file without saving" +msgstr "Cierra el archivo actual sin guardar los cambios" + +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 +msgid "Cluster" +msgstr "Cluster" + +#: src/merge/mkvmerge.cpp:1371 +msgid "Cluster length '%1%' out of range (0..65535).\n" +msgstr "Extensión del clúster '%1%' fuera de rango (0..65535).\n" + +#: src/merge/mkvmerge.cpp:1364 +msgid "Cluster length '%1%' out of range (100..32000).\n" +msgstr "Extensión del clúster '%1%' fuera de rango (100..32000).\n" + +#: src/info/mkvinfo.cpp:208 +msgid "Cluster position: %1%" +msgstr "Posición del clúster: %1%" + +#: src/info/mkvinfo.cpp:209 +msgid "Cluster previous size: %1%" +msgstr "Tamaño previo del clúster: %1%" + +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 +msgid "Cluster timecode: %|1$.3f|s" +msgstr "Código de tiempo del clúster: %|1$.3f|s" + +#: src/common/property_element.cpp:132 +#: src/mmg/header_editor/frame.cpp:435 +msgid "Codec ID" +msgstr "ID del códec" + +#: src/info/mkvinfo.cpp:1016 +msgid "Codec ID: %1%" +msgstr "ID del códec: %1%" + +#: src/info/mkvinfo.cpp:1053 +msgid "Codec decode all: %1%" +msgstr "Decodificación total del códec: %1%" + +#: src/info/mkvinfo.cpp:1048 +msgid "Codec download URL: %1%" +msgstr "URL de descarga del códec: %1%" + +#: src/info/mkvinfo.cpp:1044 +msgid "Codec info URL: %1%" +msgstr "URL de información del códec: %1%" + +#: src/common/property_element.cpp:133 +#: src/mmg/header_editor/frame.cpp:438 +msgid "Codec name" +msgstr "Nombre del códec" + +#: src/info/mkvinfo.cpp:1035 +msgid "Codec name: %1%" +msgstr "Nombre del códec: %1%" + +#: src/info/mkvinfo.cpp:1040 +msgid "Codec settings: %1%" +msgstr "Ajustes del códec: %1%" + +#: src/info/mkvinfo.cpp:210 +msgid "Codec state: %1%" +msgstr "Estado del códec: %1%" + +#: src/info/mkvinfo.cpp:1031 +msgid "CodecPrivate, length %1%%2%" +msgstr "Extensión del códec partícular (CodecPrivate) %1%%2%" + +#: src/mmg/header_editor/frame.cpp:148 +msgid "Collapse all entries so that none of their sub-entries will be shown" +msgstr "Agrupa todos los registros (ninguno de sus registros secundarios será mostrado)" + +#: src/info/mkvinfo.cpp:769 +msgid "Colour space: %1%" +msgstr "Espacio de color: %1%" + +#: src/mmg/mmg_dialog.cpp:790 +msgid "Command line copied to clipboard." +msgstr "La línea de comandos será copiada al portapapeles." + +#: src/mmg/cli_options_dlg.cpp:57 +msgid "Command line options:" +msgstr "Opciones de la línea de comandos:" + +#: src/mmg/mmg_dialog.cpp:748 +msgid "Command line saved." +msgstr "Línea de comandos guardada." + +#: src/mmg/tabs/input.cpp:369 +msgid "Command line used:" +msgstr "Línea de comandos usada:" + +#: src/mmg/options/languages.cpp:79 +msgid "Common languages" +msgstr "Idiomas comunes" + +#: src/merge/pr_generic.cpp:782 +msgid "Compression failed: %1%\n" +msgstr "La compresión ha fallado: %1%\n" + +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 +msgid "Compression:" +msgstr "Compresión:" + +#: src/mmg/mmg_dialog.cpp:379 +msgid "Configuration cleared." +msgstr "Configuración borrada." + +#: src/mmg/mmg_dialog.cpp:424 +msgid "Configuration loaded." +msgstr "Configuración cargada." + +#: src/mmg/mmg_dialog.cpp:459 +msgid "Configuration saved." +msgstr "Configuración guardada." + +# Revisar significado contextuado +#: src/info/mkvinfo.cpp:826 +msgid "Content compression" +msgstr "Compresión del contenido" + +# Revisar significado contextuado +#: src/info/mkvinfo.cpp:791 +msgid "Content encoding" +msgstr "Codificación del contenido" + +# Revisar significado contextuado +#: src/info/mkvinfo.cpp:783 +msgid "Content encodings" +msgstr "Codificaciones del contenido" + +# Revisar significado contextuado +#: src/info/mkvinfo.cpp:853 +msgid "Content encryption" +msgstr "Contenido cifrado" + +#: src/extract/extract_cli_parser.cpp:72 +msgid "Convert text subtitles to this charset (default: UTF-8)." +msgstr "Convertir subtítulos de texto a esta codificación de caracteres (charset). Predefinido: UTF-8." + +#: src/mmg/mmg_dialog.cpp:277 +msgid "Copy the command line to the clipboard" +msgstr "Copia la línea de comandos al portapapeles" + +# CorePicture traducido como núcleo de la imagen +#: src/extract/xtr_cpic.cpp:54 +msgid "CorePicture frame %1% has an invalid header size %2%.\n" +msgstr "El núcleo de la imagen (CorePicture) del fotograma (frame) %1% tiene un tamaño de encabezado no válido %2%.\n" + +# CorePicture traducido como núcleo de la imagen +#: src/extract/xtr_cpic.cpp:47 +msgid "CorePicture frame %1% not supported.\n" +msgstr "El núcleo de la imagen (CorePicture) del fotograma %1% no está soportado.\n" + +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 +#, c-format +msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." +msgstr "No se pudo crear un archivo temporal para la opción de la línea de comandos de mkvmerge llamada '%s' (código de error %d, %s)." + +#: src/info/wxwidgets_ui.cpp:283 +#, c-format +msgid "Could not create the file '%s'." +msgstr "No se pudo crear el archivo '%s'." + +#: src/mmg/mmg_dialog.cpp:768 +msgid "Could not create the specified file." +msgstr "No se pudo crear el archivo especificado." + +#: src/common/xml/element_parser.cpp:154 +msgid "Could not decode the Base64 encoded data - it seems to be malformed." +msgstr "No se pudo decodificar los datos codificados en Base64: parece ser no válido" + +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 +msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" +msgstr "No se pudo extraer los datos de configuración específicos del decodificador (AVCC) de esta pista AVC/h.264.\n" + +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 +msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" +msgstr "No se pudo extraer el encabezado de la secuencia de esta pista MPEG-1/2.\n" + +#: src/input/r_mp3.cpp:40 +msgid "Could not find a valid MP3 packet." +msgstr "No se pudo encontrar un paquete válido de MP3" + +#: src/input/r_avi.cpp:513 +msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" +msgstr "No se pudo encontrar un índice para la pista de audio %1% (mensaje de error avilib: %2%). Pista omitida.\n" + +#: src/merge/output_control.cpp:1610 +msgid "Could not find gptzr when appending. %1%\n" +msgstr "No se pudo encontrar gptz al unir. %1%\n" + +#: src/output/p_mpeg4_p2.cpp:181 +msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" +msgstr "No se pudo encontrar los datos de configuración del códec MPEG4 part 2 en el primer fotograma del vídeo. Esta pista no puede ser almacenada en el modo original.\n" + +#: src/input/r_ogm.cpp:380 +msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" +msgstr "No se pudo encontrar la siguiente página Ogg. Esto indica que el archivo Ogg/Ogm está dañado. Se intentará continuar.\n" + +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "No se pudieron encontrar encabezados válidos DTS en los fotogramas iniciales de esta pista.\n" + +#: src/common/locale.cpp:133 +msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" +msgstr "No se pudo iniciar la librería iconv para la conversión desde %1% a UFT-8. Algunas cadenas de caracteres no serán convertidas a UTF-8 y el archivo Matroska resultante, no podría cumplir con las especificaciones Matroska (error: %2%, %3%).\n" + +#: src/common/locale.cpp:140 +msgid "Could not initialize the iconv library for the conversion from UFT-8 to %1%. Some strings cannot be converted from UTF-8 and might be displayed incorrectly (error: %2%, %3%).\n" +msgstr "No se pudo iniciar la librería iconv para la conversión desde %1% a UFT-8. Algunas cadenas de caracteres no serán convertidas a UTF-8 y podría ser mostrada de forma no válida (error: %2%, %3%).\n" + +#: src/common/chapters/chapters.cpp:303 +#: src/common/chapters/chapters.cpp:305 +#: src/common/tags/parser.cpp:58 +msgid "Could not open '%1%' for reading.\n" +msgstr "No se pudo abrir '%1%' para su lectura.\n" + +#: src/mmg/mmg_dialog.cpp:792 +msgid "Could not open the clipboard." +msgstr "No se puedo abrir el portapapeles." + +#: src/input/r_wavpack.cpp:79 +msgid "Could not open the corresponding correction file '%1%c'.\n" +msgstr "No se pudo abrir el archivo de corrección correspondiente '%1%c'.\n" + +#: src/mmg/tabs/chapters.cpp:704 +#, c-format +msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." +msgstr "No se pudo abrir el archivo de destino '%s' para su escritura. Código de error: %d (%s)." + +#: src/common/command_line.cpp:212 +msgid "Could not open the file '%1%' for directing the output.\n" +msgstr "No se pudo abrir el archivo '%1%' de la dirección de destino.\n" + +#: src/extract/timecodes_v2.cpp:106 +msgid "Could not open the timecode file '%1%' for writing (%2%).\n" +msgstr "No se pudo abrir el archivo de código de tiempo '%1%' para su escritura (%2%).\n" + +#: src/common/xml/element_parser.cpp:147 +msgid "Could not open/read the file '%1%'." +msgstr "No se pudo abrir/leer el archivo '%1%'." + +#: src/common/chapters/chapters.cpp:299 +msgid "Could not parse the chapters in '%1%': %2%\n" +msgstr "No se pudo analizar los capítulos en '%1%': %2%\n" + +#: src/input/r_ogm_flac.cpp:255 +msgid "Could not read the FLAC header packets.\n" +msgstr "No se puedo leer los paquetes de encabezado FLAC.\n" + +#: src/common/mm_io_win.cpp:167 +#: src/common/mm_io.cpp:181 +msgid "Could not write to the output file: %1% (%2%)\n" +msgstr "No se pudo escribir el archivo creado: %1% (%2%)\n" + +#: src/mmg/options/chapters.cpp:89 +#: src/mmg/tabs/chapters.cpp:350 +msgid "Country:" +msgstr "País:" + +#: src/mmg/mmg_dialog.cpp:279 +msgid "Create &option file" +msgstr "Crear y guardar archivo &opcional" + +#: src/mmg/tabs/global.cpp:300 +msgid "Create WebM compliant file" +msgstr "Crear archivo compatible WebM " + +#: src/mmg/tabs/global.cpp:301 +msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." +msgstr "Crear un archivo WebM. mkvmerge también lo realiza si la extensión del nombre del archivo de salida es \"webm\". Este modo obliga a cumplir una serie de restricciones. Lo únicos códecs permitidos son vídeo VP8, y pistas de audio Vorbis. Ningún capítulo o etiquetas son admitidas. El elemento del encabezado DocType es cambiado a \"webm\"." + +#: src/mmg/mmg_dialog.cpp:283 +msgid "Create a new chapter file" +msgstr "Crea un nuevo archivo de capítulos" + +#: src/merge/mkvmerge.cpp:670 +msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" +msgstr "Parámetros de recorte (Crooping): no asignados en la forma <TID>:<left>,<top>,<right>,<bottom> p.e. 0:10,5,10,5 (el argumento fue '%1%').\n" + +#: src/mmg/tabs/input_format.cpp:252 +msgid "Cropping:" +msgstr "Recorte (Cropping):" + +#: src/info/mkvinfo.cpp:1241 +msgid "Cue block number: %1%" +msgstr "Índice (cue) de número de bloque: %1%" + +#: src/info/mkvinfo.cpp:1237 +msgid "Cue cluster position: %1%" +msgstr "Índice (cue) de posición del clúster: %1%" + +#: src/info/mkvinfo.cpp:1246 +msgid "Cue codec state: %1%" +msgstr "Índice (cue) del codec state: %1%" + +#: src/mmg/tabs/global.cpp:286 +msgid "Cue name format:" +msgstr "Formato del nombre del índice:" + +#: src/info/mkvinfo.cpp:1212 +msgid "Cue point" +msgstr "Punto del índice" + +#: src/info/mkvinfo.cpp:1262 +msgid "Cue ref cluster: %1%" +msgstr "Índice (cue) del cluster de referencia: %1%" + +#: src/info/mkvinfo.cpp:1270 +msgid "Cue ref codec state: %1%" +msgstr "Índice del estado del códec de referencia: %1%" + +#: src/info/mkvinfo.cpp:1266 +msgid "Cue ref number: %1%" +msgstr "Índice del número de referencia: %1%" + +#: src/info/mkvinfo.cpp:1258 +msgid "Cue ref time: %|1$.3f|s" +msgstr "Índice del tiempo de referencia: %|1$.3f|s" + +#: src/info/mkvinfo.cpp:1249 +msgid "Cue reference" +msgstr "Índice de referencia" + +#: src/common/chapters/cue_parser.cpp:398 +msgid "Cue sheet parser: Invalid INDEX entry in line %1%.\n" +msgstr "Analizador de hoja de distribución de pistas (Cue Sheet): Registro del ÍNDICE no válido en la línea %1%.\n" + +#: src/common/chapters/cue_parser.cpp:417 +msgid "Cue sheet parser: Invalid INDEX number (got %1%, expected %2%) in line %3%,\n" +msgstr "Analizador de hoja de distribución de pistas (Cue Sheet): Número de ÍNDICE no válido (obtenido %1%, esperado %2%) en línea %3%,\n" + +#: src/common/chapters/cue_parser.cpp:279 +msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" +msgstr "Analizador de hoja de distribución de pistas (Cue Sheet): Ningún registro del ÍNDICE fue encontrado para el registro de la PISTA previa (línea actual: %1%)\n" + +#: src/info/mkvinfo.cpp:1221 +msgid "Cue time: %|1$.3f|s" +msgstr "Índice de tiempo: %|1$.3f|s" + +#: src/info/mkvinfo.cpp:1224 +msgid "Cue track positions" +msgstr "Índice de las posiciones de la pista" + +#: src/info/mkvinfo.cpp:1233 +msgid "Cue track: %1%" +msgstr "Índice de la pista: %1%" + +#: src/info/mkvinfo.cpp:1196 +msgid "Cues (subentries will be skipped)" +msgstr "Índices (los subregistros serán omitidos)" + +#: src/mmg/tabs/input_extra.cpp:50 +#: src/mmg/tabs/input_extra.cpp:124 +msgid "Cues:" +msgstr "Índices:" + +#: src/mmg/jobs.cpp:429 +msgid "Current and past jobs:" +msgstr "Trabajos actuales y anteriores:" + +#: src/mmg/mmg_dialog.cpp:730 +msgid "Current command line" +msgstr "Línea de comandos actual" + +#: src/mmg/jobs.cpp:174 +#, c-format +msgid "Current job ID %d:" +msgstr "Trabajo actual con ID %d:" + +#: src/mmg/jobs.cpp:80 +msgid "Current job ID 1000:" +msgstr "Id del actual trabajo 1000:" + +#: src/mmg/header_editor/value_page.cpp:166 +msgid "Current value:" +msgstr "Valor actual:" + +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "Versión actual:" + +#: src/mmg/jobs.cpp:484 +msgid "D&elete" +msgstr "&Eliminar" + +#: src/output/p_dts.cpp:84 +msgid "DTS header information changed! - New format:\n" +msgstr "¡La información de encabezado DTS ha cambiado! - Nuevo formato:\n" + +# (Digital Theater System) +#: src/common/file_types.cpp:31 +msgid "DTS/DTS-HD (Digital Theater System)" +msgstr "DTS/DTS-HD (Sistema Digital Theater)" + +#: src/common/dts.cpp:194 +msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" +msgstr "Problema de encabezado_DTS: codificado con una nueva versión de codificador incompatible\n" + +#: src/common/dts.cpp:158 +msgid "DTS_Header problem: invalid core sampling frequency\n" +msgstr "Problema de encabezado_DTS: núcleo de frecuencia de muestreo no válido\n" + +#: src/common/dts.cpp:140 +msgid "DTS_Header problem: invalid frame bytes size\n" +msgstr "Problema de encabezado_DTS: tamaño de bytes del fotograma (frame) no válido\n" + +#: src/common/dts.cpp:133 +msgid "DTS_Header problem: invalid number of blocks in frame\n" +msgstr "Problema de encabezado_DTS: número de bloques en el fotograma (frame) no válido\n" + +#: src/common/dts.cpp:234 +msgid "DTS_Header problem: invalid source PCM resolution\n" +msgstr "Problema de encabezado_DTS: resolución de la fuente PCM no válida\n" + +#: src/common/dts.cpp:292 +msgid "DTS_Header problem: not enough data to read header\n" +msgstr "Problema de encabezado_DTS: datos insuficientes para la lectura del encabezado\n" + +#: src/common/xml/element_parser.cpp:238 +msgid "Data is not allowed inside <%1%>." +msgstr "El dato no está pemitido en el interior <%1%>." + +#: src/info/mkvinfo.cpp:595 +msgid "Date (invalid, value: %1%)" +msgstr "Fecha (no válida, valor: %1%)" + +#: src/info/mkvinfo.cpp:593 +msgid "Date: %1% UTC" +msgstr "Fecha: %1% UTC" + +#: src/common/output.cpp:79 +msgid "Debug> " +msgstr "Depurador>" + +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 +msgid "Default" +msgstr "Predefinido" + +#: src/common/property_element.cpp:127 +#: src/mmg/header_editor/frame.cpp:419 +msgid "Default duration" +msgstr "Duración predefinida" + +#: src/info/mkvinfo.cpp:1071 +msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" +msgstr "Duración predefinida: %|1$.3f|ms (%|2$.3f| FPS para una pista de vídeo)" + +#: src/info/mkvinfo.cpp:1086 +msgid "Default flag: %1%" +msgstr "Flag predefinido: %1%" + +#: src/mmg/tabs/input_general.cpp:183 +msgid "Default track flag:" +msgstr "Flag predefinido de pista:" + +#: src/mmg/tabs/input_format.cpp:242 +msgid "Delay (in ms):" +msgstr "Retraso (Delay en ms):" + +#: src/mmg/tabs/input_format.cpp:243 +msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." +msgstr "Retraso (Delay) de los códigos de tiempo de esta pista en ms (milisegundos). Puede ser negativo. Funciona con todo tipo de pistas, pero los retrasos negativos no deberían ser utilizados con las pistas de vídeo." + +#: src/info/mkvinfo.cpp:196 +msgid "Delay: %|1$.3f|ms" +msgstr "Retraso (Delay): %|1$.3f|ms" + +#: src/propedit/propedit_cli_parser.cpp:151 +msgid "Delete all occurences of a property" +msgstr "Eliminar todos los sucesos de una propiedad" + +#: src/mmg/jobs.cpp:485 +msgid "Delete the selected job(s) from the job queue" +msgstr "Eliminar el/los trabajo/s seleccionado/s desde la lista de tareas" + +#: src/mmg/jobs.cpp:439 +msgid "Description" +msgstr "Descripción" + +#: src/mmg/mmg_dialog.cpp:1390 +msgid "Description already exists" +msgstr "La descripción ya existe" + +#: src/mmg/cli_options_dlg.cpp:51 +#: src/mmg/header_editor/value_page.cpp:155 +#: src/mmg/tabs/attachments.cpp:160 +msgid "Description:" +msgstr "Descripción:" + +# Es un códec de código abierto +#: src/common/file_types.cpp:29 +msgid "Dirac" +msgstr "Dirac" + +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "Deshabilitar eliminador de la compresión del encabezado para audio y vídeo predeterminadamente" + +#: src/mmg/jobs.cpp:480 +msgid "Disable the selected job(s) and sets their status to 'done'" +msgstr "Deshabilitar el/los trabajo/s seleccionado/s y establecer su estado como «hecho»" + +#: src/mmg/cli_options_dlg.cpp:134 +msgid "Disable the use of SimpleBlocks instead of BlockGroups." +msgstr "Deshabilitar el uso de bloques simples en lugar de grupo de bloques." + +# En otra revision la palabra lacing significa cordones, pero creo que atadura o enlace debería ser el empleo correcto. Sin embargo, es necesario ver su empleo contextualizado +#: src/mmg/cli_options_dlg.cpp:100 +msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." +msgstr "Deshabilitar ataduras para todas las pistas. Esto incrementará el tamaño del archivo, especialmente is hay varias pistas de audio. Úsalo únicamente para probar." + +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 +msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" +msgstr "Dimesiones de visualización: no dadas en la forma <TID>:<width>x<height>; p. ej., 1:640x480 (el argumento es '%1%').\n" + +#: src/info/mkvinfo.cpp:708 +msgid "Display height: %1%" +msgstr "Altura visualizada: %1%" + +#: src/info/mkvinfo.cpp:735 +msgid "Display unit: %1%%2%" +msgstr "Unidad de visualización: %1%%2%" + +#: src/mmg/header_editor/frame.cpp:150 +msgid "Display usage information" +msgstr "Muestra la infomación de ayuda" + +#: src/mmg/tabs/input_format.cpp:224 +msgid "Display width/height:" +msgstr "Anchura/altura de visualización:" + +#: src/info/mkvinfo.cpp:703 +msgid "Display width: %1%" +msgstr "Anchura visualizada: %1%" + +#: src/mmg/cli_options_dlg.cpp:116 +msgid "Do not add an entry for the chapters in the meta seek element." +msgstr "No añadir un registro para los capítulos en el elemento de meta seek. " + +#: src/mmg/cli_options_dlg.cpp:118 +msgid "Do not write meta seek elements at all." +msgstr "No escribir, en absoluto, elementos de meta seek." + +#: src/info/mkvinfo.cpp:1876 +msgid "Doc type read version: %1%" +msgstr "Leer versión del tipo de documento: %1%" + +#: src/info/mkvinfo.cpp:1873 +msgid "Doc type version: %1%" +msgstr "Versión del tipo de documento: %1%" + +#: src/info/mkvinfo.cpp:1870 +msgid "Doc type: %1%" +msgstr "Tipo de documento: %1%" + +# Dolby TrueHD +#: src/common/file_types.cpp:30 +msgid "Dolby TrueHD" +msgstr "Dolby TrueHD" + +#: src/extract/extract_cli_parser.cpp:66 +msgid "Don't write variable parts to output files (only for debugging)." +msgstr "No escribir partes variables para achivos creados (solo para método de depuración)." + +#: src/propedit/propedit.cpp:108 +msgid "Done.\n" +msgstr "Realizado.\n" + +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "URL de descarga:" + +#: src/info/mkvinfo.cpp:197 +msgid "Duration: %|1$.3f|ms" +msgstr "Duración: %|1$.3f|ms" + +#: src/info/mkvinfo.cpp:572 +msgid "Duration: %|1$.3f|s (%2%)" +msgstr "Duración: %|1$.3f|s (%2%)" + +#: src/info/wxwidgets_ui.cpp:111 +msgid "E&xit\tCtrl-Q" +msgstr "S&alir\tCtrl-Q" + +#: src/info/mkvinfo.cpp:1846 +msgid "EBML head" +msgstr "Encabezado EBML" + +#: src/info/mkvinfo.cpp:1864 +msgid "EBML maximum ID length: %1%" +msgstr "Máxima extensión de la ID de EBML: %1%" + +#: src/info/mkvinfo.cpp:1867 +msgid "EBML maximum size length: %1%" +msgstr "Máxima extensión de tamaño de EBML: %1%" + +#: src/info/mkvinfo.cpp:1861 +msgid "EBML read version: %1%" +msgstr "Versión de lectura EBML: %1%" + +#: src/info/mkvinfo.cpp:1858 +msgid "EBML version: %1%" +msgstr "Versión EBML: %1%" + +#: src/merge/output_control.cpp:1153 +msgid "EVIL internal bug! (unknown file type). %1%\n" +msgstr "¡DIABLOS, hay un error interno! (Tipo de archivo desconocido). %1%\n" + +#: src/mmg/tabs/chapters.cpp:338 +msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." +msgstr "Cada capítulo y edición tiene un identificador único. Este identificador es normalmente asignado de forma automática por los programas, pero puede ser cambiado manualmente si realmente es necesario." + +#: src/mmg/tabs/chapters.cpp:824 +msgid "Each edition must contain at least one chapter." +msgstr "Cada edición debe contener al menos un capítulo." + +#: src/info/mkvinfo.cpp:181 +msgid "EbmlVoid (size: %1%)" +msgstr "EbmlVoid (tamaño: %1%)" + +#: src/propedit/propedit_cli_parser.cpp:159 +msgid "Edit selectors" +msgstr "Editar selectores" + +#: src/mmg/tabs/chapters.cpp:472 +#, c-format +msgid "Edition %d" +msgstr "Conjunto %d" + +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 +#, c-format +msgid "EditionEntry %u" +msgstr "Conjunto de capítulos nº %u" + +#: src/propedit/propedit.cpp:63 +msgid "Element %1% is written.\n" +msgstr "El elemento %1% está escrito.\n" + +#: src/propedit/propedit_cli_parser.cpp:91 +msgid "Element types:\n" +msgstr "Clases de elementos:\n" + +#: src/info/qt_ui.cpp:55 +msgid "Elements" +msgstr "Elementos" + +#: src/propedit/propedit_cli_parser.cpp:119 +msgid "Elements in the category '%1%' ('--edit %2%'):\n" +msgstr "Elementos en la categoría '%1%' ('--edit %2%'):\n" + +#: src/mmg/tabs/global.cpp:233 +msgid "Enable splitting..." +msgstr "Habilitar el corte..." + +#: src/info/mkvinfo.cpp:1005 +msgid "Enabled: %1%" +msgstr "Activado:%1%" + +#: src/mmg/tabs/global.cpp:234 +msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." +msgstr "Habilita la división creado en más de un archivo. Puedes dividir a un determinado tamaño, a un cierto tiempo transcurrido por cada archivo o mediante una lista de códigos de tiempo (timecodes)." + +#: src/info/mkvinfo.cpp:863 +msgid "Encryption algorithm: %1% (%2%)" +msgstr "Algorítmo de encriptación: %1% (%2%)" + +#: src/info/mkvinfo.cpp:875 +msgid "Encryption key ID: %1%" +msgstr "ID de la clave de cifrado: %1%" + +#: src/mmg/tabs/chapters.cpp:336 +msgid "End:" +msgstr "Fin:" + +#: src/common/iso639.cpp:527 +msgid "English language name" +msgstr "Nombre del idioma inglés" + +#: src/info/qt_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:229 +msgid "Error" +msgstr "Error" + +#: src/input/r_avc.cpp:73 +msgid "Error %1%\n" +msgstr "Error %1%\n" + +#: src/input/subtitles.cpp:133 +msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" +msgstr "Error en la línea %1%: se esperaba una línea de código de tiempo SRT, pero se encontró algo más. Cancelando este archivo.\n" + +#: src/input/subtitles.cpp:124 +msgid "Error in line %1%: expected subtitle number and found some text.\n" +msgstr "Error en la línea %1%: se esperaba un número de subtítulo y se encontró algo de texto.\n" + +#: src/common/xml/element_mapping.cpp:43 +msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" +msgstr "Error inicializando las tablas para el capítulo, etiqueta y elementos de información del segmento: no ha podido encontrarse el elemento con el nombre depurado '%1%'. %2%\n" + +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 +msgid "Error loading settings" +msgstr "Error cargando ajustes" + +#: src/mmg/tabs/chapters.cpp:705 +msgid "Error opening file" +msgstr "Error abriendo archivo" + +#: src/input/r_mpeg_ps.cpp:1044 +msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" +msgstr "Error analizando un paquete MPEG PS durante la fase de lectura del encabezado. Este archivo parece estar muy corrupto.\n" + +#: src/mmg/tabs/chapters.cpp:585 +msgid "Error parsing the file" +msgstr "Error analizando el archivo" + +#: src/merge/mkvmerge.cpp:487 +msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" +msgstr "Error analizando las etiquetas en '%1%': algunos elementos obligatorios están ausentes.\n" + +#: src/info/qt_ui.cpp:77 +msgid "Error saving the information" +msgstr "Error guardando la información" + +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 +msgid "Error writing Matroska file" +msgstr "Error escribiendo el archivo Matroska" + +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 +msgid "Error:" +msgstr "Error:" + +#: src/common/output.cpp:73 +msgid "Error: " +msgstr "Error:" + +#: src/common/xml/element_parser.cpp:63 +msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" +msgstr "Error: %1% el analizador ha fallado para '%2%', línea %3%, columna %4%: %5%\n" + +#: src/info/mkvinfo.cpp:1928 +msgid "Error: Couldn't open input file %1% (%2%).\n" +msgstr "Error: No se pudo abrir el archivo de entrada %1% (%2%).\n" + +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 +msgid "Error: No EBML head found." +msgstr "Error: No se encontró el encabezado de EBML." + +#: src/merge/mkvmerge.cpp:1623 +msgid "" +"Error: no output file name was given.\n" +"\n" +msgstr "" +"Error: no has asignado ningún nombre al archivo de salida.\n" +"\n" + +#: src/output/p_vorbis.cpp:63 +msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" +msgstr "Error: vorbis_empaquetado: No se pudo extraer los parámetros del archivo desde los paquetes iniciales.\n" + +#: src/mmg/mux_dialog.cpp:95 +msgid "Errors:" +msgstr "Errores:" + +#: src/mmg/mux_dialog.cpp:360 +msgid "Everything went fine." +msgstr "Todo ha ido bien." + +#: src/extract/extract_cli_parser.cpp:79 +#: src/extract/extract_cli_parser.cpp:87 +#: src/extract/extract_cli_parser.cpp:96 +#: src/extract/extract_cli_parser.cpp:104 +#: src/extract/extract_cli_parser.cpp:113 +#: src/extract/extract_cli_parser.cpp:121 +msgid "Example" +msgstr "Ejemplo" + +#: src/mmg/options/mkvmerge.cpp:105 +#, c-format +msgid "Executable files (*.exe)|*.exe|%s" +msgstr "Archivos ejecutables (*.exe)|*.exe|%s" + +#: src/mmg/header_editor/frame.cpp:147 +msgid "Expand all entries so that their sub-entries will be shown" +msgstr "Expande todos los registros (sus registros secundarios serán mostrados)" + +#: src/common/xml/element_parser.cpp:111 +msgid "Expected a time in the following format: HH:MM:SS.nnn (HH = hour, MM = minute, SS = second, nnn = millisecond up to nanosecond. You may use up to nine digits for 'n' which would mean nanosecond precision). You may omit the hour as well. Found '%1%' instead. Additional error message: %2%" +msgstr "Se esperaba un tiempo en el siguiente formato: HH:MM:SS.nnn (HH = horas, MM = minutos, SS = segundos, nnn = milisegundos hasta nanosegundos. Debes usar un máximo de nueve dígitos para «n», lo que significaría una precisión de nanosegundos). Se puede omitir la hora de esa manera. Se ha encontrado '%1%' en su lugar. Mensaje de error adicional: %2%" + +#: src/common/xml/element_parser.cpp:78 +msgid "Expected an unsigned integer but found '%1%'." +msgstr "Se esperaba un número entero sin signo, pero se encontró '%1%'." + +#: src/extract/extract_cli_parser.cpp:102 +msgid "Exports the chapter infomartion in the simple format used in OGM tools (CHAPTER01=... CHAPTER01NAME=...)." +msgstr "Exporta la información del capítulo en un formato simple usado en las herramientas ODM (CHAPTER01=... CHAPTER01NAME=...)." + +#: src/mmg/tabs/input.cpp:192 +msgid "Extra options" +msgstr "Opciones adicionales" + +#: src/extract/extract_cli_parser.cpp:76 +msgid "Extract the data to a raw file including the CodecPrivate as a header." +msgstr "Extraer los datos a un archivo en bruto (no editado) incluido el códec particular (CodecPrivate) como un encabezado." + +#: src/extract/extract_cli_parser.cpp:75 +msgid "Extract the data to a raw file." +msgstr "Extraer los datos a un archivo en bruto (no editado)." + +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 +msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" +msgstr "Información extraída de la relación de aspecto (aspect ratio) de los datos del vídeo MPEG4 layer10 (AVC) y establecidas las dimensiones de visualización a %1%/%2%.\n" + +#: src/output/p_mpeg4_p2.cpp:338 +msgid "Extracted the aspect ratio information from the MPEG4 layer 2 video data and set the display dimensions to %1%/%2%.\n" +msgstr "Información extraída de la relación de aspecto (aspect ratio) de los datos del vídeo MPEG4 layer 2 y establecidas las dimensiones de visualización a %1%/%2%.\n" + +#: src/output/p_theora.cpp:74 +msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" +msgstr "Información extraída de la relación de aspecto (aspect ratio) de los encabezados de vídeo Theora y establecidas las dimensiones de visualización a %1%/%2%.\n" + +#: src/extract/tracks.cpp:110 +msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" +msgstr "Extrayendo pista %1% con la ID de códec '%2%' al archivo '%3%'. Formato del contenedor: %4%\n" + +#: src/extract/tracks.cpp:94 +msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" +msgstr "La extracción del número de pista %1% con el ID de códec '%2%' no se soporta.\n" + +# (Codec libre de Audio sin pérdidas) +#: src/common/file_types.cpp:33 +msgid "FLAC (Free Lossless Audio Codec)" +msgstr "FLAC (Free Lossless Audio Codec)" + +# Fotogramas por segundo +#: src/mmg/tabs/input_format.cpp:233 +msgid "FPS:" +msgstr "FPS:" + +#: src/extract/xtr_vobsub.cpp:81 +msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" +msgstr "Fallo al crear el archivo de datos VobSub '%1%': %2% (%3%)\n" + +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 +msgid "Failed to create the file '%1%': %2% (%3%)\n" +msgstr "Fallo al crear el archivo '%1%': %2% (%3%)\n" + +#: src/extract/xtr_tta.cpp:44 +msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" +msgstr "Fallo al crear el archivo temporal '%1%': %2% (%3%)\n" + +# USF= Universal Subtitile Format +# USF= Formato Universal de Subtítulos +#: src/extract/xtr_textsubs.cpp:379 +msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" +msgstr "Fallo al analizar el registro de un subtítulo USF para la pista %1%: %2%\n" + +# USF= Universal Subtitile Format +# USF= Formato Universal de Subtítulos +#: src/extract/xtr_textsubs.cpp:340 +msgid "Failed to parse the USF codec private data for track %1%: %2%\n" +msgstr "Fallo al analizar los datos privados del códec USF para la pista %1%: %2%\n" + +# USF= Universal Subtitile Format +# USF= Formato Universal de Subtítulos +#: src/extract/xtr_textsubs.cpp:391 +msgid "Failed to parse the USF end tag for track %1%: %2%\n" +msgstr "Fallo al analizar la etiqueta de cierre USF para la pista %1%: %2%\n" + +#: src/info/mkvinfo.cpp:603 +msgid "Family UID:%1%" +msgstr "Familia UID:%1%" + +#: src/merge/mkvmerge.cpp:391 +msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" +msgstr "El archivo %1% es de tipo desconocido. Por favor, busca los tipos de archivos compatibles ('mkvmerge --list-types'), y si el tipo de archivo es de los compatibles pero no lo reconoce correctamente, contacta con el autor, Moritz Bunkus <moritz@bunkus.org>\n" + +#: src/merge/pr_generic.cpp:1437 +msgid "File '%1%': container: %2%" +msgstr "Archivo '%1%': contenedor: %2%" + +#: src/merge/pr_generic.cpp:1355 +msgid "File '%1%': unsupported container: %2%\n" +msgstr "Archivo '%1%': contenedor no compatible: %2%\n" + +#: src/info/mkvinfo.cpp:1335 +msgid "File UID: %1%" +msgstr "Archivo UID:%1%" + +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 +msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" +msgstr "El archivo contiene menos fotogramas (frames) de los esperados o está dañado después del fotograma %1%.\n" + +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 +msgid "File creation failed" +msgstr "La creación del archivo ha fallado" + +#: src/info/mkvinfo.cpp:1331 +msgid "File data, size: %1%" +msgstr "Datos del archivo, tamaño: %1%" + +#: src/info/mkvinfo.cpp:1319 +msgid "File description: %1%" +msgstr "Descripción del archivo: %1%" + +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 +msgid "File identification failed" +msgstr "La identificación del archivo ha fallado" + +#: src/mmg/tabs/input.cpp:359 +#, c-format +msgid "File identification failed for '%s'. Return code: %d" +msgstr "La identificación del archivo ha fallado para '%s'. Código de respuesta: %d" + +#: src/mmg/tabs/input.cpp:362 +#, c-format +msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." +msgstr "La identificación del archivo ha fallado. Código de respuesta: %d. Error nº: %d (%s). Asegurese de que ha seleccionado el ejecutable de mkvmerge; y para eso dirijase a la barra del menús, seleccione 'Archivo' y después 'Opciones'. Se abrirá una ventana que consta de cuatro pestañas, entonces dirijase a la dice 'Mkvmerge' y verá que desde ahí, podrá indicar la ruta de localización del ejecutable." + +#: src/mmg/tabs/input.cpp:298 +msgid "File is already processed" +msgstr "El archivo ya está procesado" + +#: src/mmg/header_editor/frame.cpp:526 +msgid "File modified" +msgstr "Archivo modificado" + +#: src/info/mkvinfo.cpp:1323 +msgid "File name: %1%" +msgstr "Nombre de archivo: %1%" + +#: src/mmg/header_editor/frame.cpp:260 +#: src/mmg/tabs/chapters.cpp:549 +msgid "File parsing failed" +msgstr "El análisis del archivo ha fallado" + +#: src/mmg/tabs/input.cpp:737 +msgid "File removal not possible" +msgstr "No es posible eliminar el archivo" + +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 +msgid "File structure warning" +msgstr "Aviso de fallo en la estructura del archivo" + +#: src/mmg/tabs/global.cpp:261 +msgid "File/segment linking" +msgstr "Enlace de archivo/segmento" + +#: src/mmg/tabs/global.cpp:229 +msgid "File/segment title:" +msgstr "Título de archivo/segmento:" + +#: src/merge/output_control.cpp:843 +msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" +msgstr "Los archivos no pueden ser unidos así mismos. El argumento para '--append-to' fue no válido.\n" + +#: src/mmg/jobs.cpp:358 +#, c-format +msgid "Finished job ID %d on %s: status '%s'" +msgstr "" +"Finalizado el trabajo con ID %d en %s. \n" +"Estado '%s'" + +#: src/mmg/jobs.cpp:445 +msgid "Finished on" +msgstr "Terminado en" + +#: src/mmg/jobs.cpp:142 +#, c-format +msgid "Finished processing on %s" +msgstr "Terminado el proceso en %s" + +#: src/mmg/header_editor/value_page.cpp:147 +msgid "Floating point number" +msgstr "Número decimal" + +#: src/mmg/tabs/global.cpp:270 +#: src/mmg/tabs/global.cpp:272 +msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." +msgstr "Para una explicación más extensa del enlace de archivos/segmentos y sus características, por favor, lee la documentación de mkvmerge" + +#: src/mmg/cli_options_dlg.cpp:122 +msgid "Force EBML style lacing." +msgstr "Establecer ataduras de estilo de EBML." + +#: src/mmg/cli_options_dlg.cpp:120 +msgid "Force Xiph style lacing." +msgstr "Establecer ataduras de estilo de Xiph." + +#: src/common/cli_parser.cpp:177 +msgid "Force the translations for 'code' to be used." +msgstr "Establecer las traducciones del código para ser usado." + +#: src/info/mkvinfo.cpp:1090 +msgid "Forced flag: %1%" +msgstr "Flag forzada: %1%" + +#: src/mmg/tabs/input_general.cpp:185 +msgid "Forced track flag:" +msgstr "Flag de pista forzada:" + +#: src/mmg/tabs/input_format.cpp:228 +msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." +msgstr "Establece el valor de FourCC de la pista de vídeo. Únicamente funciona para pistas de vídeo que usan el modo de compatibilidad AVI o para pistas de vídeo de Quicktime. Esta opción NO PUEDE ser usada para cambiar la ID del códec de Matroska." + +#: src/mmg/cli_options_dlg.cpp:130 +msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." +msgstr "Establece el lector de Matroska para utilizar el empaquetado genérico incluso para tipos de pistas conocidos y compatibles." + +#: src/mmg/tabs/input_format.cpp:238 +msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." +msgstr "Establece la extensión de tamaño de NALU a un cierto número de bytes. Este parámetro solo está disponible para archivos primarios AVC/h.264; leídos de los archivos AVC/h.264 ES, AVI o archivos Matroska creados con '--engage allow_avc_in_vwf_mode'. El predefinido se establece a 4 bytes, pero hay archivos que no contienen un fotograma (frame) o corte, que sea mayor de 65535 bytes. Para los archivos de este tipo, se puede utilizar este parámetro y disminuir el tamaño a 2." + +#: src/mmg/cli_options_dlg.cpp:104 +msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." +msgstr "Establece el factor de escala del código de tiempo para REPLACEME. Tienes que sustituir REPLACEME con un valor entre 1000 y 10000000 o con -1. Normalmente, mkvmerge utillizará un valor de 1000000, lo que significa que los códigos de tiempo y duraciones tendrán una precisión de 1 ms (milisegundo). Para aquellos archivos que no contengan una pista de vídeo pero que al menos posean una pista de audio, MKVmerge elegirá automaticamente un factor de escala del código de tiempo para que todos los códigos de tiempo y duraciones tengan precisión de una muestra. Esto causa un aumento del consumo de recursos, pero permite la búsqueda y extracción de forma precisa. Si usamos el valor mágico -1, entonces MKVmerge utilizará la precisión de la muestra, incluso si la pista de vídeo está presente." + +#: src/mmg/tabs/input.cpp:191 +msgid "Format specific options" +msgstr "Opciones específicas de formato" + +#: src/mpegparser/M2VParser.cpp:442 +msgid "Found B frame without second reference in a non closed GOP. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "Se encontró un fotograma B sin una segunda referencia en un GOP no cerrado. Fija el archivo de vídeo MPEG2 antes de intentar multiplexarlo.\n" + +#: src/mpegparser/M2VParser.cpp:396 +msgid "Found group of picture with broken link. You may want use smart reencode before attempting to multiplex it.\n" +msgstr "Se encontró un grupo de imágenes con un enlace roto. Puedes necesitar el uso de una recodificación inteligente antes de intentar multiplexarlo.\n" + +#: src/common/xml/element_parser.cpp:131 +msgid "Found no encoded data nor '@file' to read binary data from." +msgstr "No se encontraron datos codificados ni '@file' para leer desde los datos binarios." + +#: src/mpegparser/M2VParser.cpp:444 +msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" +msgstr "Se encontró uno o más fotogramas B sin una segunda referencia en el primer GOP. Puede que necesites fijar el archivo de vídeo MPEG2 o usar una recodificación inteligente antes de intentar multiplexarlo.\n" + +#: src/mmg/tabs/input_format.cpp:227 +msgid "FourCC:" +msgstr "FourCC:" + +#: src/merge/mkvmerge.cpp:1116 +msgid "FourCC: Invalid track ID in '%1% %2%'.\n" +msgstr "FourCC: ID de pista no válido en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1112 +msgid "FourCC: Missing track ID in '%1% %2%'.\n" +msgstr "FourCC: ID de pista ausente en '%1% %2%'.\n" + +#: src/info/mkvinfo.cpp:195 +msgid "Frame number: %1%" +msgstr "Número de fotograma (frame): %1%" + +#: src/info/mkvinfo.cpp:773 +msgid "Frame rate: %1%" +msgstr "Velocidad de fotograma: %1%" + +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 +msgid "Frame with size %1%%2%%3%" +msgstr "Fotograma con tamaño %1%%2%%3%" + +#: src/mmg/tabs/input_extra.cpp:131 +msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." +msgstr "El campo de edición puede ser utilizado de forma libre por el usuario para definir las opciones de esta pista. Después de que mmg añada las otras opciones, la de este campo es la que usted debería volver a escribir en cualquiera de las opciones de mmg para esta pista. Todas las apariciones de la palabra \"<TID>\" serán sustituidas por las ID de las pistas." + +#: src/info/mkvinfo.cpp:744 +msgid "Gamma: %1%" +msgstr "Gamma: %1%" + +#: src/mmg/tabs/input.cpp:190 +msgid "General track options" +msgstr "Opciones generales de la pista" + +#: src/mmg/mmg_dialog.cpp:307 +msgid "Global" +msgstr "Opciones generales" + +#: src/mmg/tabs/global.cpp:228 +#: src/extract/extract_cli_parser.cpp:64 +msgid "Global options" +msgstr "Opciones generales" + +#: src/mmg/mmg.cpp:52 +#, c-format +msgid "Global tags (%d entries) from %s" +msgstr "Etiquetas generales (%d registros) de %s" + +#: src/merge/pr_generic.cpp:1443 +msgid "Global tags: %1% entries" +msgstr "Etiquetas generales: %1% registros" + +#: src/mmg/header_editor/frame.cpp:152 +msgid "H&eaders" +msgstr "&Encabezados" + +#: src/mmg/header_editor/frame.cpp:172 +msgid "Header editor" +msgstr "Editor de encabezado" + +#: src/mmg/header_editor/frame.cpp:131 +msgid "Header editor ready." +msgstr "Editor de encabezado preparado." + +#: src/mmg/header_editor/frame.cpp:174 +#, c-format +msgid "Header editor: %s" +msgstr "Editor de encabezado: %s" + +#: src/common/compression.cpp:284 +msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." +msgstr "No es posible la eliminación de la compresión del encabezado porque el búfer (memoria temporal de datos) contiene %1% bytes, que es menor que el tamaño de los encabezados que deben ser eliminados, %2%." + +#: src/common/compression.cpp:298 +msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." +msgstr "No es posible la eliminación de la compresión del encabezado porque el búfer (memoria temporal de datos) no se inició con los bytes que deben ser eliminados. Bytes necesarios: %1%; encontrados:%2%." + +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 +msgid "Header validation" +msgstr "Validación de encabezado" + +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 +msgid "Headers modified" +msgstr "Encabezados modificados" + +#: src/common/property_element.cpp:139 +#: src/mmg/header_editor/frame.cpp:448 +msgid "Height of the encoded video frames in pixels." +msgstr "Altura en píxeles de los fotogramas (frames) de vídeo codificado." + +#: src/common/property_element.cpp:141 +#: src/mmg/header_editor/frame.cpp:458 +msgid "Height of the video frames to display." +msgstr "Altura de visualización de los fotogramas (frames) de vídeo." + +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 +msgid "Help file not found" +msgstr "El archivo de ayuda no se encontró" + +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"La ayuda está disponible en forma de herramienta de información\n" +"desde el menú 'Ayuda' o pulsando la tecla 'F1'." + +#: src/mmg/cli_options_dlg.cpp:31 +msgid "" +"Here you can add more command line options either by\n" +"entering them below or by chosing one from the drop\n" +"down box and pressing the 'add' button." +msgstr "" +"Aquí puedes incluir más opciones a la línea de comandos, ya sea\n" +"introduciéndolos a continuación o al escoger uno de la lista desplegable\n" +"y pulsando el botón Añadir" + +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "" +"Esta opción te permite ajustar todos los códigos de tiempo del capítulo seleccionado con un valor establecido,\n" +"ya sea aumentando o disminuyéndolo. Por consiguiente, los códigos de tiempo de los subcapítulos tambien se veran afectados por este ajuste." + +#: src/mmg/options/chapters.cpp:76 +msgid "" +"Here you can set the default values that mmg will use\n" +"for each chapter that you create. These values can\n" +"then be changed if needed. The default values will be\n" +"saved when you exit mmg." +msgstr "" +"Aquí puedes establecer los valores predefinidos que mmg usará\n" +"para cada capítulo que realices. Estos valores pueden\n" +"ser cambiados si lo necesitas. Los cambios realizados serán\n" +"guardados cuando salgas de mmg." + +#: src/mmg/tabs/chapters.cpp:331 +msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." +msgstr "Aquí puedes establecer los valores para el idioma y país, que necesitas para aplicar a todos los capítulos, e incluso a los registros actualmente seleccionados." + +#: src/mmg/jobs.cpp:434 +msgid "ID" +msgstr "ID" + +#: src/common/iso639.cpp:529 +msgid "ISO639-1 code" +msgstr "Código ISO639-1" + +#: src/common/iso639.cpp:528 +msgid "ISO639-2 code" +msgstr "Código ISO639-2" + +#: src/common/file_types.cpp:35 +msgid "IVF with VP8 video files" +msgstr "IVF con archivos de vídeo VP8" + +#: src/mmg/tabs/chapters.cpp:341 +msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." +msgstr "Si un capítulo está marcado como «oculto» el reproductor no debería mostrar al usuario este registro del capítulo. Dichos registros todavía podrían ser usados por el sistema de menús." + +#: src/mmg/tabs/chapters.cpp:344 +msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." +msgstr "Si un capítulo no está marcado como «visible» el reproductor debería omitir la parte que ocupa este capítulo en el archivo." + +#: src/mmg/options/mmg.cpp:75 +msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." +msgstr "Mmg pedirá confirmación para sobreescribir archivos existentes si comprueba que al añadir un nuevo trabajo hay otro anterior cuya descripción coinciden." + +#: src/mmg/options/mmg.cpp:60 +msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." +msgstr "Mmg establecerá de forma automática el destino del archivo creado si comprueba que todavía no ha sido establecido. Esto sucede cuando añades el primer archivo. Si no se establece, Mmg no cambiará el nombre del archivo de salida." + +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "Si está marcado, mmg configurará la compresión a «ninguna» para todas las pistas de audio y vídeo. De todas maneras, el usuario puede cambiar la compresión después." + +#: src/mmg/options/mmg.cpp:95 +msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." +msgstr "Mmg te avisará si comprueba que lo estás usando no válidamente. Estas advertencias se muestran al menos una vez, incluso si desactivas esta función." + +#: src/mmg/options/mmg.cpp:71 +msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." +msgstr "Si lo dejas vacío mmg establecerá el nombre de archivo creado en el mismo directorio que del primer archivo añadido al proyecto. De lo contrario, se utilizará este directorio." + +#: src/mmg/tabs/attachments.cpp:168 +msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." +msgstr "Si la división es un archivo puede ser agregado, ya sea para todos los archivos creados o solo para el primero. Si la división (splitting) no es utilizada no tiene ningún efecto." + +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "Ignorando una entrada que se inicia después de haber finalizado (%1%).\n" + +#: src/input/subtitles.cpp:511 +msgid "Imported font from %1%" +msgstr "Fuente importada desde %1%" + +#: src/input/subtitles.cpp:511 +msgid "Imported picture from %1%" +msgstr "Imagen importada desde %1%" + +#: src/input/r_corepicture.cpp:226 +msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" +msgstr "Imposible usar el archivo '%1%': El archivo no puede abrirse para su lectura.\n" + +#: src/mmg/mmg_dialog.cpp:1870 +msgid "Incompatible mkvmerge version" +msgstr "Versión no compatible de mkvmerge" + +#: src/mmg/tabs/input.cpp:948 +msgid "Incompatible track" +msgstr "Pista incompatible" + +#: src/input/r_real.cpp:608 +msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" +msgstr "Paquete de audio AAC incompatible (extensión: %1% != len_check %2%)\n" + +#: src/common/cli_parser.cpp:175 +msgid "Increase verbosity." +msgstr "Incrementa el número de mensajes que se muestran indicando las tareas que se están llevando a cabo." + +#: src/mmg/mmg_dialog.cpp:305 +msgid "Input" +msgstr "Entrada" + +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 +msgid "Input data error" +msgstr "Datos erróneos de entrada" + +#: src/mmg/tabs/input.cpp:182 +msgid "Input files:" +msgstr "Archivos de entrada:" + +#: src/common/bitvalue.cpp:71 +msgid "Input too long: %1% > %2%" +msgstr "Entrada demasiado larga: %1% > %2%" + +#: src/mmg/options/mmg.cpp:116 +msgid "Interface language:" +msgstr "Idioma del interfaz:" + +#: src/info/mkvinfo.cpp:748 +msgid "Interlaced: %1%" +msgstr "Entrelazado: %1%" + +#: src/extract/xtr_textsubs.cpp:142 +msgid "Internal bug: tracks.cpp SSA #1. %1%" +msgstr "Fallo interno: pistas.cpp SSA #1. %1%" + +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 +msgid "Internal program error" +msgstr "Error interno del programa" + +#: src/merge/mkvmerge.cpp:1040 +msgid "Invalid %1% specified in '--%2% %3%'.\n" +msgstr "No es válido %1% especificado en '--%2% %3%'.\n" + +#: src/common/base64.cpp:135 +msgid "Invalid Base64 character encountered" +msgstr "No es válido el carácter en Base64 encontrado" + +#: src/extract/extract_cli_parser.cpp:160 +msgid "Invalid BlockAddition level in argument '%1%'.\n" +msgstr "No es válido el nivel del BlockAddition en el argumento '%1%'.\n" + +#: src/mmg/tabs/chapters.cpp:1472 +msgid "Invalid UID. A UID is simply a number." +msgstr "UID no válido. Un UID es simplemente un número." + +#: src/mmg/tabs/chapters.cpp:1481 +msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." +msgstr "UID no válido. Este UID del capítulo ya está en uso. El UID original no ha sido cambiado." + +#: src/mmg/tabs/chapters.cpp:1495 +msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." +msgstr "UID no válido. Esta versión de UID ya está en uso. El UID original no ha sido cambiado." + +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 +msgid "Invalid Vorbis headers in AVI audio track." +msgstr "No es válido el encabezado Vorbis en la pista de audio AVI." + +#: src/extract/extract_cli_parser.cpp:237 +msgid "Invalid attachment ID/file name specification in argument '%1%'.\n" +msgstr "No es válido el ID o nombre de archivo adjunto especificado en el argumento '%1%'.\n" + +#: src/common/xml/element_parser.cpp:211 +msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." +msgstr "No es válido el formato '%1%' de datos binarios especificado. Los datos compatibles son 'Base64', 'ASCII' y 'hex'." + +#: src/merge/mkvmerge.cpp:889 +msgid "Invalid boolean option specified in '--default-track %1%'.\n" +msgstr "No es válida la opción del boleano especificado en '--default-track %1%'.\n" + +#: src/merge/mkvmerge.cpp:915 +msgid "Invalid boolean option specified in '--forced-track %1%'.\n" +msgstr "No es válida la opción del boleano especificado en '--forced-track %1%'.\n" + +#: src/merge/mkvmerge.cpp:1299 +msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" +msgstr "No es válido el boleano especificado en '--aac-is-sbr %1%'.\n" + +#: src/propedit/propedit_cli_parser.cpp:63 +msgid "Invalid change spec (%3%) in '%1% %2%'.\n" +msgstr "No es válido el cambio de especificaciones (%3%) en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:970 +msgid "Invalid compression option specified in '--compression %1%'.\n" +msgstr "No es válida la opción de compresión especificada en '--compression %1%'.\n" + +#: src/merge/mkvmerge.cpp:963 +msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" +msgstr "No es válida la opción de compresión. Ninguna ID de la pista ha sido especificada en '--compression %1%'.\n" + +#: src/mmg/options/chapters.cpp:121 +msgid "Invalid country selected" +msgstr "No es válido el país seleccionado" + +#: src/merge/mkvmerge.cpp:940 +msgid "Invalid cues option specified in '--cues %1%'.\n" +msgstr "No es válida la opción de los índices (cues) especificados en '--cues %1%'.\n" + +#: src/merge/mkvmerge.cpp:933 +msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" +msgstr "No es válida la opción de de los índices (cues). Ninguna ID de pista especificado en '--cues %1%'.\n" + +#: src/mmg/mmg_dialog.cpp:585 +msgid "Invalid file name" +msgstr "No es válido el nombre de archivo" + +#: src/merge/mkvmerge.cpp:830 +msgid "Invalid format for '--split' in '--split %1%'.\n" +msgstr "No es válido el formato para '--split' in '--split %1%'.\n" + +#: src/extract/xtr_textsubs.cpp:211 +msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" +msgstr "No es válido el formato para una línea de SSA ('%1%') en el código de tiempo %2%: El primer campo no es un entero. Este registro será omitdo.\n" + +#: src/extract/xtr_textsubs.cpp:200 +msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" +msgstr "No es válido el formato para una línea de SSA ('%1%') en el código de tiempo %2%: Se encontraron demasiados campos (%3% en vez de 9). Este registro será omitido.\n" + +#: src/mmg/tabs/chapters.cpp:1379 +msgid "Invalid format used for the adjustment." +msgstr "No es válido el formato utilizado para el ajuste." + +#: src/mmg/tabs/chapters.cpp:1519 +#, c-format +msgid "Invalid format used for the end time for '%s'. Setting value to 0." +msgstr "No es válido el formato utilizado para la hora de finalización de %s'. Estableciendo valor a 0." + +#: src/mmg/tabs/chapters.cpp:1511 +#, c-format +msgid "Invalid format used for the start time for '%s'. Setting value to 0." +msgstr "No es válido formato utilizado para la hora de inicio de '%s'. Estableciendo valor a 0. " + +#: src/common/strings/parsing.cpp:221 +msgid "Invalid format: At least minutes and seconds have to be given, but no colon was found" +msgstr "El formato no es válido: al menos los minutos y los segundos tienen que ser fijados, pero no se ha encontrado ningún signo de dos puntos" + +#: src/common/strings/parsing.cpp:207 +msgid "Invalid format: Colon inside nano-second part" +msgstr "No es válido el formato: Signo de dos puntos en el interior de la parte de nanosegundo" + +#: src/common/strings/parsing.cpp:190 +msgid "Invalid format: More than nine nano-second digits" +msgstr "El formato no es válido: no se admiten más de nueve dígitos (nanosegundos)" + +#: src/common/strings/parsing.cpp:209 +msgid "Invalid format: More than two colons" +msgstr "El formato no es válido: más de dos signos de dos puntos" + +#: src/common/strings/parsing.cpp:211 +msgid "Invalid format: No digits before colon" +msgstr "No es válido el formato: Ningún digito antes del signo de dos puntos" + +#: src/common/strings/parsing.cpp:200 +msgid "Invalid format: No digits before decimal point" +msgstr "No es válido el formato: Ningún digito antes del punto decimal" + +#: src/common/strings/parsing.cpp:197 +msgid "Invalid format: Second decimal point after first decimal point" +msgstr "No es válido el formato: Segundo punto decimal después del primer punto decimal" + +#: src/common/strings/parsing.cpp:224 +msgid "Invalid format: The last character is a colon or a decimal point instead of a digit" +msgstr "No es válido el formato: El último carácter es un signo de dos puntos o un punto decimal en vez de un dígito." + +#: src/common/strings/parsing.cpp:217 +msgid "Invalid format: unknown character '%1%' found" +msgstr "No es válido el formato: se encontró el carácter desconocido '%1%' " + +#: src/input/r_vobsub.cpp:515 +msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" +msgstr "No es válida la extensión de encabezado: %1% (extensión total: %2%, idx: %3%, dataidx: %4%)\n" + +#: src/common/xml/element_parser.cpp:170 +msgid "Invalid hexadecimal data encountered: '%1%' is neither white space nor a hexadecimal number." +msgstr "No es válido el dato hexadecimal encontrado: '%1%' no es un espacio en blanco ni un número hexadecimal." + +#: src/mmg/options/chapters.cpp:114 +#: src/mmg/tabs/chapters.cpp:1307 +msgid "Invalid language selected" +msgstr "No es válido el idioma seleccionado" + +#: src/common/chapters/chapters.cpp:193 +msgid "Invalid minute: %1%" +msgstr "No es válido el minuto: %1%" + +#: src/mmg/tabs/global.cpp:610 +msgid "Invalid number of max. split files given." +msgstr "No es válido el número máximo de archivos divididos asignado." + +#: src/common/strings/parsing.cpp:260 +msgid "Invalid number of minutes: %1% > 59" +msgstr "No es válido el número de minutos: %1% > 59" + +#: src/common/strings/parsing.cpp:262 +msgid "Invalid number of seconds: %1% > 59" +msgstr "No es válido el número de segundos: %1% > 59" + +#: src/common/chapters/chapters.cpp:195 +msgid "Invalid second: %1%" +msgstr "No es válido el segundo: %1%" + +#: src/propedit/propedit_cli_parser.cpp:51 +msgid "Invalid selector in '%1% %2%'.\n" +msgstr "No es válido el selector en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:784 +msgid "Invalid split size in '--split %1%'.\n" +msgstr "No es válido el tamaño de la división: '--split %1%'.\n" + +#: src/input/r_usf.cpp:315 +msgid "Invalid start or stop timecode" +msgstr "No es válido el inicio o final del código de tiempo" + +#: src/input/r_corepicture.cpp:246 +msgid "Invalid start timecode" +msgstr "No es válido el inicio del código de tiempo" + +#: src/merge/mkvmerge.cpp:1064 +msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" +msgstr "No es válida la opción de la subcodificación de caracteres. Ninguna ID de pista especificado en '--sub-charset %1%'.\n" + +#: src/merge/mkvmerge.cpp:1071 +msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" +msgstr "No es válido la subcodificación de caracteres especificada en '--sub-charset %1%'.\n" + +#: src/merge/mkvmerge.cpp:545 +msgid "Invalid sync option specified in '%1% %2%'.\n" +msgstr "No es válida la opción de sincronización especificada en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:568 +msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" +msgstr "No es válida la opción de sincronización especificada en '%1% %2%'. El divisor es cero.\n" + +#: src/merge/mkvmerge.cpp:574 +msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" +msgstr "No es válida la opción de sincronización especificada en '%1% %2%'. El valor de la sincronización lineal no puede ser igual o menor que cero.\n" + +#: src/merge/mkvmerge.cpp:537 +msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" +msgstr "No es válida la opción de sincronización. Ninguna ID de pista especificada en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1095 +msgid "Invalid tags file name specified in '%1% %2%'.\n" +msgstr "No es válido el nombre del archivo de etiquetas especificado en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1088 +msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" +msgstr "No es válida la opción de etiquetas. Ninguna ID de pista especificado en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:749 +msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" +msgstr "Tiempo no válido para '--split' en '--split %1%'. Mensaje de error adicional: %2%\n" + +#: src/merge/mkvmerge.cpp:771 +msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" +msgstr "Tiempo no válido para '--split' en '--split %1%'. Mensaje de error adicional: %2%.\n" + +#: src/merge/mkvmerge.cpp:514 +msgid "Invalid track ID in '%1% %2%'.\n" +msgstr "ID de pista no válida en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 +msgid "Invalid track ID specified in '%1% %2%'.\n" +msgstr "ID de pista especificada en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1036 +msgid "Invalid track ID specified in '--%1% %2%'.\n" +msgstr "ID de pista especificada en '--%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1296 +msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" +msgstr "ID de pista especificada en '--aac-is-sbr %1%'.\n" + +#: src/merge/mkvmerge.cpp:967 +msgid "Invalid track ID specified in '--compression %1%'.\n" +msgstr "ID de pista especificada en '--compression %1%'.\n" + +#: src/merge/mkvmerge.cpp:937 +msgid "Invalid track ID specified in '--cues %1%'.\n" +msgstr "ID de pista especificada en '--cues %1%'.\n" + +#: src/merge/mkvmerge.cpp:883 +msgid "Invalid track ID specified in '--default-track %1%'.\n" +msgstr "ID de pista especificada en '--default-track %1%'.\n" + +#: src/merge/mkvmerge.cpp:909 +msgid "Invalid track ID specified in '--forced-track %1%'.\n" +msgstr "ID de pista especificada en '--forced-track %1%'.\n" + +#: src/merge/mkvmerge.cpp:1068 +msgid "Invalid track ID specified in '--sub-charset %1%'.\n" +msgstr "ID de pista especificada en '--sub-charset %1%'.\n" + +#: src/extract/extract_cli_parser.cpp:239 +msgid "Invalid track ID/file name specification in argument '%1%'.\n" +msgstr "La ID o el nombre de archivo de la pista especificada en el argumento '%1%' no son válidos.\n" + +#: src/mmg/mmg_dialog.cpp:1425 +msgid "Job added to job queue" +msgstr "Trabajo añadido a la lista de tareas" + +#: src/mmg/mmg_dialog.cpp:1378 +msgid "Job description" +msgstr "Descripción del trabajo" + +#: src/mmg/jobs.cpp:385 +msgid "Job output" +msgstr "Destino del trabajo" + +#: src/mmg/jobs.cpp:426 +msgid "Job queue management" +msgstr "Mantenimiento de la lista de tareas" + +# Kate significa KDE Advanced Text Editor +#: src/output/p_kate.cpp:78 +msgid "Kate packet is too small and is being skipped.\n" +msgstr "El paquete Kate (KDE Advanced Text Editor) es demasiado pequeño y está siendo omitido.\n" + +#: src/extract/extract_cli_parser.cpp:74 +msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" +msgstr "Mantener sólo los BlockAdditions hasta este nivel (predefinido: mantener todos los niveles)" + +#: src/common/compression.cpp:88 +msgid "LZO compression failed. Result: %1%\n" +msgstr "La compresión LZO ha fallado. Resultado: %1%\n" + +#: src/info/mkvinfo.cpp:194 +msgid "Lace number: %1%" +msgstr "Número de atadura: %1%" + +#: src/info/mkvinfo.cpp:1082 +msgid "Lacing flag: %1%" +msgstr "Flag de atadura: %1%" + +#: src/common/property_element.cpp:131 +#: src/mmg/header_editor/frame.cpp:431 +msgid "Language" +msgstr "Idioma" + +#: src/mmg/tabs/input_general.cpp:182 +msgid "Language for this track. Select one of the ISO639-2 language codes." +msgstr "Idioma para esta pista. Selecciona uno de los códigos de idiomas ISO639-2." + +#: src/common/kate.cpp:78 +msgid "Language is not NUL terminated" +msgstr "El idioma no terminó en NULO" + +#: src/mmg/options/chapters.cpp:86 +#: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 +msgid "Language:" +msgstr "Idioma:" + +#: src/info/mkvinfo.cpp:1094 +msgid "Language: %1%" +msgstr "Idioma: %1%" + +#: src/mmg/options/languages.cpp:116 +msgid "Languages" +msgstr "Idiomas" + +#: src/mmg/cli_options_dlg.cpp:114 +msgid "Leave additional space (EbmlVoid) in the output file after the chapters." +msgstr "Dejar un espacio adicional (EbmlVoid) en el archivo creado después de los capítulos." + +#: src/mmg/mmg_dialog.cpp:282 +msgid "Lets you add arbitrary options to the command line" +msgstr "Permite añadir opciones arbitrarias a la línea de comandos" + +#: src/merge/timecode_factory.cpp:349 +msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the duration or the FPS are smaller than zero).\n" +msgstr "Línea %1% del archivo del código de tiempo '%2%' contiene datos incompatibles (p. ej., la duración de los FPS son menores que cero).\n" + +#: src/merge/timecode_factory.cpp:120 +msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the start frame number is bigger than the end frame number, or some values are smaller than zero).\n" +msgstr "Línea %1% del archivo del código de tiempo '%2%' contiene datos incompatibles (p. ej., el número del fotograma (frame) inicial es mayor que el número del fotograma final, o algunos valores son menores que cero).\n" + +#: src/merge/timecode_factory.cpp:114 +#: src/merge/timecode_factory.cpp:342 +msgid "Line %1% of the timecode file '%2%' could not be parsed.\n" +msgstr "Línea %1% del archivo del código de tiempo '%2%' no puede ser analizado.\n" + +#: src/common/xml/element_parser.h:51 +msgid "Line %1%, column %2%: %3%" +msgstr "Línea %1%, columna %2%: %3%" + +#: src/input/subtitles.cpp:187 +msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" +msgstr "Línea %1%: Encontrado una marca de tiempo negativo. El registro será ajustado a partir de 00:00:00.000.\n" + +#: src/input/r_vobsub.cpp:277 +msgid "Line %1%: The current timestamp (%2%) is smaller than the previous one (%3%). The entries will be sorted according to their timestamps. This might result in the wrong order for some subtitle entries. If this is the case then you have to fix the .idx file manually.\n" +msgstr "Línea %1%: La actual marca de tiempo (%2%) es más pequeña que el anterior (%3%). Los registros serán ordenados conforme a sus códigos de tiempo. Esto podría dar a lugar un orden incorrecto de algunos registros de los subtítulos. Si este es tu caso, tienes que fijar el archivo IDX manualmente.\n" + +#: src/input/r_vobsub.cpp:234 +#: src/input/r_vobsub.cpp:257 +msgid "Line %1%: The line seems to be a subtitle entry but the format couldn't be recognized. This entry will be skipped.\n" +msgstr "Línea %1%: La línea parece ser un registro de un subtítulo, pero el formato no puede ser reconocido. Este registro será omitido.\n" + +#: src/input/r_vobsub.cpp:267 +msgid "Line %1%: The line seems to be a subtitle entry but the timecode was negative even after adding the track delay. Negative timecodes are not supported in Matroska. This entry will be skipped.\n" +msgstr "Línea %1%: La línea parece ser un registro de un subtítulo pero el código de tiempo era negativo incluso después de añadir el retraso (delay) de la pista. Los códigos de tiempo negativos no son compatibles en Matroska. Este registro será omitido.\n" + +#: src/propedit/propedit_cli_parser.cpp:142 +msgid "List all valid property names and exit" +msgstr "Lista de todos los nombres de propiedad y creado válidos" + +#: src/mmg/mmg_dialog.cpp:284 +msgid "Load a chapter file (simple/OGM format or XML format)" +msgstr "Carga un archivo de capítulo (simple/formato OGM o formato XML)" + +#: src/mmg/mmg_dialog.cpp:269 +msgid "Load muxing settings from a file" +msgstr "Carga desde un archivo los ajustes de un proyecto" + +#: src/mmg/mux_dialog.cpp:263 +#, c-format +msgid "Log files (*.txt)|*.txt|%s" +msgstr "Archivos de anotaciones (Log) (*.txt)|*.txt|%s" + +#: src/mmg/jobs.cpp:91 +msgid "Log output:" +msgstr "Informe de salida:" + +#: src/info/mkvinfo.cpp:893 +msgid "MD5" +msgstr "MD5" + +#: src/mmg/tabs/attachments.cpp:162 +msgid "MIME type for this track. Select one of the pre-defined MIME types or enter one yourself." +msgstr "Tipo MIME para esta pista. Selecciona una de los tipos predefinidos MIME o introduce una tu mismo." + +#: src/mmg/tabs/attachments.cpp:161 +msgid "MIME type:" +msgstr "Tipo MIME:" + +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix está licenciado bajo el GNU GPL v2" + +#: src/common/file_types.cpp:36 +msgid "MP4 audio/video files" +msgstr "Archivos de audio/vídeo MP4" + +#: src/common/file_types.cpp:37 +msgid "MPEG audio files" +msgstr "Archivos de audio MPEG" + +#: src/common/file_types.cpp:38 +msgid "MPEG program streams" +msgstr "Archivos de programa MPEG" + +#: src/common/file_types.cpp:39 +msgid "MPEG video elementary streams" +msgstr "Archivos primarios de vídeo MPEG" + +#: src/mmg/tabs/input_general.cpp:184 +msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." +msgstr "Convierte esta pista en la predefinida para cada de sus tipos (audio, vídeo o subtítulos). Los reproductores deberían preferir pistas establecidas como predeterminadas. " + +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 +msgid "Malformed AAC codec initialization data found.\n" +msgstr "Se encontraron datos de inicialización del códec AAC erróneos.\n" + +#: src/input/r_matroska.cpp:1518 +msgid "Malformed codec id '%1%'.\n" +msgstr "ID del codec erróneo '%1%'.\n" + +#: src/input/subtitles.cpp:357 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 +msgid "Malformed line? (%1%)\n" +msgstr "¿Línea errónea? (%1%)\n" + +#: src/mmg/tabs/input_general.cpp:186 +msgid "Mark this track as 'forced'. Players must play this track." +msgstr "Marca esta pista como «predeterminada». Los reproductores deben mostrar esta pista." + +#: src/mmg/mmg_dialog.cpp:336 +#, c-format +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Archivos Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/common/file_types.cpp:40 +msgid "Matroska audio/video files" +msgstr "Archivos Matroska de audio/vídeo" + +#: src/info/qt_ui.cpp:64 +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Archivos Matroska (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" + +#: src/mmg/tabs/chapters.cpp:637 +#, c-format +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Archivos Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/mmg/header_editor/frame.cpp:238 +#, c-format +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Archivos Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/info/mkvinfo.cpp:1103 +msgid "Max BlockAddition ID: %1%" +msgstr "ID del máximo BlockAddition: %1%" + +#: src/info/mkvinfo.cpp:1066 +msgid "MaxCache: %1%" +msgstr "Cache máxima: %1%" + +#: src/common/property_element.cpp:125 +#: src/mmg/header_editor/frame.cpp:414 +msgid "Maximum cache" +msgstr "Cache máxima" + +#: src/extract/xtr_rmff.cpp:47 +msgid "Memory allocation error: %1% (%2%).\n" +msgstr "Error de asignación de memoria: %1% (%2%).\n" + +#: src/extract/xtr_rmff.cpp:74 +msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" +msgstr "La memoria para un fotograma (frame) de un RealAudio/RealVideo no puede ser asignada.\n" + +#: src/info/mkvinfo.cpp:1327 +msgid "Mime type: %1%" +msgstr "Tipo Mime: %1%" + +#: src/info/mkvinfo.cpp:1062 +msgid "MinCache: %1%" +msgstr "Caché mínima: %1%" + +#: src/common/property_element.cpp:123 +#: src/mmg/header_editor/frame.cpp:409 +msgid "Minimum cache" +msgstr "Caché mínima" + +#: src/common/command_line.cpp:189 +msgid "Missing argument for '--output-charset'.\n" +msgstr "Argumento ausente para '--output-charset'.\n" + +#: src/common/command_line.cpp:223 +msgid "Missing argument for '--ui-language'.\n" +msgstr "Argumento ausente para '--ui-language'.\n" + +#: src/common/cli_parser.cpp:106 +msgid "Missing argument to '%1%'.\n" +msgstr "Argumento ausente para '%1%'.\n" + +#: src/mmg/mmg.cpp:216 +msgid "Missing file name" +msgstr "Nombre de archivo ausente" + +#: src/mmg/mmg.cpp:216 +msgid "Missing file name after for the option '--edit-headers'." +msgstr "Nombre de archivo ausente para la opción '--edit-headers'." + +#: src/input/r_ogm.cpp:941 +msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "Paquetes de encabezado/comentario ausentes para el archivo. El archivo está corrupto, pero debería ser multiplexado correctamente. Si no es así, por favor, contacta con el autor, Moritz Bunkus <moritz@bunkus.org>.\n" + +#: src/mmg/tabs/attachments.cpp:389 +msgid "Missing input" +msgstr "Entrada ausente" + +#: src/common/bitvalue.cpp:82 +msgid "Missing one hex digit" +msgstr "Falta un dígito hexadecimal" + +#: src/extract/extract_cli_parser.cpp:254 +msgid "Missing output file name in argument '%1%'.\n" +msgstr "Nombre de archivo creado ausente en el argumento '%1%'.\n" + +#: src/propedit/options.cpp:137 +msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" +msgstr "Fue requerida la modificación de propiedades en la sección '%1%', pero ningún elemento fue encontrado en el archivo correspondiente al nivel 1. %2%\n" + +#: src/info/mkvinfo.cpp:1474 +msgid "More" +msgstr "Más" + +#: src/merge/mkvmerge.cpp:1750 +msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" +msgstr "Más de un tipo MIME fue asignado por un único archivo adjunto. '%1%' será descartado y '%2%' utilizado en su lugar.\n" + +#: src/merge/mkvmerge.cpp:1741 +msgid "More than one description was given for a single attachment.\n" +msgstr "Más de una descripción fue dada para un único archivo adjunto.\n" + +#: src/propedit/options.cpp:75 +msgid "More than one file name has been given ('%1%' and '%2%').\n" +msgstr "Mas de un nombre de archivo ha sido asignado ('%1%' and '%2%').\n" + +#: src/merge/mkvmerge.cpp:1760 +msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" +msgstr "Más de un nombre fue asignado para un unico archivo adjunto. '%1%' será descartado y '%2%' utilizado en su lugar.\n" + +#: src/common/xml/element_parser.cpp:333 +msgid "More than one root element found." +msgstr "Se encontró más de un elemento fundamental." + +#: src/merge/output_control.cpp:920 +msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" +msgstr "Más de una pista es para ser unida a la pista %1% desde el archivo n.º %2% ('%3%'). El argumento para '--append-to' no es válido.\n" + +#: src/extract/tracks.cpp:70 +msgid "More than one track with the track number %1% found.\n" +msgstr "Se encontró mas de una pista con el número de pista %1%.\n" + +#: src/mmg/jobs.cpp:472 +msgid "Move the selected job(s) down" +msgstr "Bajar el/los trabajo/s seleccionado/s" + +#: src/mmg/jobs.cpp:469 +msgid "Move the selected job(s) up" +msgstr "Subir el/los trabajo/s seleccionado/s" + +#: src/info/mkvinfo.cpp:578 +msgid "Muxing application: %1%" +msgstr "Aplicación de multiplexado: %1%" + +#: src/mmg/mux_dialog.cpp:118 +msgid "Muxing in progress." +msgstr "Multiplexado en proceso." + +#: src/merge/mkvmerge.cpp:2206 +msgid "Muxing took %1% seconds.\n" +msgstr "El multiplexado se realizó en %1% segundos.\n" + +#: src/merge/mkvmerge.cpp:2208 +msgid "Muxing took 1 second.\n" +msgstr "El multiplexado se realizó en 1 segundo.\n" + +#: src/mmg/tabs/input_format.cpp:237 +msgid "NALU size length:" +msgstr "Extensión de tamaño NALU:" + +#: src/common/property_element.cpp:130 +#: src/mmg/header_editor/frame.cpp:428 +msgid "Name" +msgstr "Nombre" + +#: src/mmg/tabs/input_general.cpp:180 +msgid "Name for this track, e.g. \"director's comments\"." +msgstr "Nombre para esta pista; p. ej., \"Los comentarios del director\"." + +#: src/mmg/tabs/attachments.cpp:158 +#: src/mmg/tabs/chapters.cpp:348 +msgid "Name:" +msgstr "Nombre:" + +#: src/info/mkvinfo.cpp:1010 +msgid "Name: %1%" +msgstr "Nombre: %1%" + +#: src/mmg/tabs/chapters.cpp:410 +msgid "New chapters created." +msgstr "Los nuevos capítulos creados." + +#: src/mmg/header_editor/value_page.cpp:161 +msgid "New value:" +msgstr "Nuevo valor:" + +#: src/common/property_element.cpp:105 +#: src/mmg/header_editor/frame.cpp:338 +msgid "Next filename" +msgstr "El siguiente nombre de archivo" + +#: src/info/mkvinfo.cpp:622 +msgid "Next filename: %1%" +msgstr "El siguiente nombre de archivo: %1%" + +#: src/info/mkvinfo.cpp:1968 +msgid "Next level 0 element is not a segment but %1%" +msgstr "El siguiente elemento del nivel 0, no es un segmento pero %1%" + +#: src/mmg/tabs/global.cpp:271 +msgid "Next segment UID:" +msgstr "Segmento siguiente UID:" + +#: src/info/mkvinfo.cpp:618 +msgid "Next segment UID:%1%" +msgstr "Segmento siguiente UID:%1%" + +#: src/common/property_element.cpp:109 +#: src/mmg/header_editor/frame.cpp:349 +msgid "Next segment's unique ID" +msgstr "La única ID siguiente del segmento" + +#: src/merge/mkvmerge.cpp:1030 +msgid "No %1% specified in '--%2% %3%'.\n" +msgstr "Ningún %1% especificado en '--%2% %3%'.\n" + +#: src/input/r_qtmp4.cpp:1447 +msgid "No AC3 header found in first frame; track will be skipped.\n" +msgstr "No se encontró ningún encabezado AC3 en el primero fotograma (frame): la pista será omitida.\n" + +#: src/info/mkvinfo.cpp:1942 +msgid "No EBML head found." +msgstr "No se encontró ningún encabezado EBML" + +#: src/mmg/tabs/input.cpp:1348 +msgid "No FPS selected for AVC/h.264 track" +msgstr "Ningún FPS seleccionado para la pista AVC/h.264" + +#: src/mmg/tabs/attachments.cpp:389 +#, c-format +msgid "No MIME type has been selected for the attachment '%s'." +msgstr "Ningún tipo MIME ha sido seleccionado para el archivo adjunto '%s'." + +#: src/merge/mkvmerge.cpp:329 +msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" +msgstr "Ningún tipo MIME ha sido establecido para el archivo adjunto '%1%', y podría no ser el acertado.\n" + +#: src/merge/output_control.cpp:879 +msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" +msgstr "Ninguna asignación añadida ha sido dada al archivo n.º %1% ('%2%'). En su lugar se empleará un trazado por defecto de %3%. Por favor, tenlo en cuenta por si mkvmerge lo cancela, mostrando un mensaje de error, respecto a opciones no válidas '--append-to'.\n" + +#: src/mmg/tabs/chapters.cpp:802 +msgid "No chapter entries have been create yet." +msgstr "Todavía no ha sido creado ningún registro del capítulo." + +#: src/mmg/tabs/chapters.cpp:557 +msgid "No chapters found" +msgstr "No se encontró ningún capítulo" + +#: src/common/xml/element_parser.h:45 +msgid "No error" +msgstr "Ningún error" + +#: src/mmg/header_editor/frame.cpp:531 +msgid "No fields modified" +msgstr "No se modificó ningún campo" + +#: src/mmg/header_editor/frame.cpp:218 +msgid "" +"No file has been loaded yet. You can open a file by selecting\n" +"'Open' from the 'File' menu." +msgstr "" +"Todavía no ha sido cargado ningún archivo. Puedes abrir un archivo seleccionando\n" +"Abrir desde el menú Archivo." + +#: src/mmg/header_editor/frame.cpp:218 +msgid "No file loaded" +msgstr "Ningún archivo cargado" + +#: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 +msgid "No file name given.\n" +msgstr "No se dio ningún nombre al archivo.\n" + +#: src/common/xml/element_parser.cpp:135 +msgid "No filename found after the '@'." +msgstr "No se encontró ningún nombre para el archivo después de la @" + +#: src/mmg/cli_options_dlg.cpp:148 +msgid "No help available." +msgstr "Ayuda no disponible." + +#: src/merge/mkvmerge.cpp:2149 +msgid "No input files were given. No output will be created.\n" +msgstr "Los archivos de entrada no fueron seleccionados. Ningún archivo creado será creado.\n" + +#: src/input/r_flac.cpp:194 +msgid "No metadata block found. This file is broken.\n" +msgstr "No se encontró ningún bloque de metadatos. Este archivo está roto.\n" + +#: src/extract/extract_cli_parser.cpp:252 +msgid "No output file name specified, will use attachment name.\n" +msgstr "No se especificó ningún nombre para el archivo creado, por lo que será usado el nombre del archivo adjunto.\n" + +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 +msgid "No segment/level 0 element found." +msgstr "No se encontró ningún elemento del segmento/nivel 0." + +#: src/merge/mkvmerge.cpp:2197 +msgid "No streams to output were found. Aborting.\n" +msgstr "No fueron encontrados los archivos de salida. Cancelando.\n" + +#: src/merge/mkvmerge.cpp:1027 +msgid "No track ID specified in '--%1% %2%'.\n" +msgstr "Ninguna ID de pista especificada en '--%1% %2%'.\n" + +#: src/propedit/target.cpp:259 +msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" +msgstr "No se encontró ningúna pista que corresponda a la edición especificada '%1%'. %2%\n" + +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "Ninguna pista con ID %1% fue encontrada en el archivo origen.\n" + +#: src/mmg/tabs/input.cpp:615 +msgid "No tracks found" +msgstr "No se encontró ninguna pista" + +#: src/input/r_vobsub.cpp:90 +msgid "No version number found.\n" +msgstr "No se encontró ningún número de la versión.\n" + +#: src/mmg/header_editor/frame.cpp:531 +msgid "None of the header fields has been modified. Nothing has been saved." +msgstr "Ninguno de los campos del encabezado fue modificado. Nada ha sido guardado." + +#: src/mmg/cli_options_dlg.cpp:140 +msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." +msgstr "Normalmente, mkvmerge conserva la información de la relación de aspecto (aspect ratio) en los bitstreams (sucesiones de bits) del vídeo MPEG4 e inserta la información en el contenedor. Esta opción puede provocar que mkvmerge borre la información de la relación de aspecto del flujo de bits." + +#: src/common/bitvalue.cpp:67 +msgid "Not a hex digit at position %1%" +msgstr "No es un dígito hexadecimal en la posición %1%" + +#: src/common/kax_analyzer.cpp:225 +msgid "Not a valid Matroska file (no EBML head found)" +msgstr "No es un archivo de Matroska válido (no se encontró el encabezado EBML)" + +#: src/common/kax_analyzer.cpp:235 +msgid "Not a valid Matroska file (no segment/level 0 element found)" +msgstr "No es un archivo Matroska válido (no se encontró ningún elemento del segmento/nivel 0)" + +#: src/mmg/tabs/input.cpp:712 +msgid "Note" +msgstr "Nota" + +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 +#: src/propedit/options.cpp:30 +msgid "Nothing to do.\n" +msgstr "Nada que hacer.\n" + +#: src/common/property_element.cpp:127 +#: src/mmg/header_editor/frame.cpp:420 +msgid "Number of nanoseconds (not scaled) per frame." +msgstr "Número de nanosegundos (sin escala) por fotograma (frame)." + +#: src/common/property_element.cpp:155 +#: src/mmg/header_editor/frame.cpp:506 +msgid "Numbers of channels in the track." +msgstr "Número de canales en la pista" + +#: src/common/file_types.cpp:43 +msgid "Ogg/OGM audio/video files" +msgstr "Archivos de audio/vídeo ogg/OGM" + +#: src/mmg/message_dialog.cpp:31 +#: src/mmg/mux_dialog.cpp:101 +msgid "Ok" +msgstr "Listo" + +#: src/mmg/tabs/chapters.cpp:764 +msgid "One of the chapters does not have a name." +msgstr "Uno de los capítulos no tiene nombre." + +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "Comprobación online de actualizaciones" + +#: src/merge/mkvmerge.cpp:1445 +msgid "Only one chapter file allowed in '%1% %2%'.\n" +msgstr "Solo un archivo de capítulo permitido en '%1% %2%'.\n" + +#: src/info/info_cli_parser.cpp:112 +msgid "Only one input file is allowed.\n" +msgstr "Solo un archivo de entrada permitido.\n" + +#: src/common/xml/element_parser.cpp:295 +msgid "Only one instance of <%1%> is allowed beneath <%2%>." +msgstr "Solo una instancia de <%1%> se permite por debajo de <%2%>." + +#: src/common/tags/parser.cpp:48 +msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." +msgstr "Solo un <String> y<Binary> puede ser usado por debajo de <Simple>, no ambos a la vez." + +#: src/merge/mkvmerge.cpp:1607 +msgid "Only one output file allowed.\n" +msgstr "Solo está permitido un archivo creado.\n" + +#: src/merge/mkvmerge.cpp:1457 +msgid "Only one segment info file allowed in '%1% %2%'.\n" +msgstr "Solo está permitido un segmento de información del archivo en '%1% %2%'.\n" + +#: src/merge/output_control.cpp:860 +msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" +msgstr "Solo parte de las asignaciones añadidas se le dieron al archivo n.º %1% ('%2%'). Si no especificas ninguna asignación, se usará la establecida como predefinida; o puedes establecer una asignación para todas las pistas que van a ser copiadas.\n" + +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "Solo muestra un resumen de los contenidos y no de cada elemento." + +#: src/mmg/tabs/attachments.cpp:167 +msgid "Only to the first" +msgstr "Solo en la primera" + +#: src/input/r_vobsub.cpp:99 +msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" +msgstr "Solo v7 y los archivos VobSub más actuales son compatibles. Si tienes una versión antigua, usa la herramienta VSConv, que puedes descargar en http://sourceforge.net/projects/guliverkli/ y así convertir estos archivos al formato v7.\n" + +#: src/mmg/mmg_dialog.cpp:272 +msgid "Op&tions\tCtrl-P" +msgstr "Op&ciones\tCtrl-P" + +#: src/info/qt_ui.cpp:64 +msgid "Open File" +msgstr "Abrir archivo" + +#: src/mmg/header_editor/frame.cpp:238 +#: src/info/wxwidgets_ui.cpp:107 +msgid "Open a Matroska file" +msgstr "Abrir un archivo Matroska" + +#: src/mmg/header_editor/frame.cpp:142 +msgid "Open an existing Matroska file" +msgstr "Abrir un archivo Matroska existente" + +#: src/mmg/mux_dialog.cpp:328 +msgid "Open folder" +msgstr "Abrir carpeta" + +#: src/mmg/mmg_dialog.cpp:780 +msgid "Option file created." +msgstr "Archivo de opciones creado." + +#: src/mmg/options/dialog.cpp:43 +#: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 +msgid "Options" +msgstr "Opciones" + +#: src/mmg/cli_options_dlg.cpp:111 +msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" +msgstr "Opciones destinadas SOLO para desarrolladores. No deben usarse. ¡Si alguna opción está considerada oficialmente compatible, entonces NO está en la lista!" + +#: src/info/mkvinfo.cpp:800 +msgid "Order: %1%" +msgstr "Orden: %1%" + +#: src/mmg/header_editor/value_page.cpp:176 +msgid "Original value:" +msgstr "Valor original:" + +#: src/propedit/propedit_cli_parser.cpp:153 +msgid "Other options" +msgstr "Otras opciones" + +#: src/mmg/mux_dialog.cpp:88 +msgid "Output" +msgstr "Salida" + +#: src/mmg/mmg_dialog.cpp:310 +msgid "Output filename" +msgstr "Destino del archivo creado" + +#: src/common/cli_parser.cpp:179 +msgid "Output messages in this charset" +msgstr "Mensajes creado en este código de caracteres" + +#: src/mmg/jobs.cpp:389 +msgid "Output of the selected jobs:" +msgstr "Salida de los trabajos seleccionados:" + +#: src/info/mkvinfo.cpp:656 +msgid "Output sampling frequency: %1%" +msgstr "Frecuencia de muestreo creado: %1%" + +#: src/mmg/tabs/input.cpp:373 +msgid "Output:" +msgstr "Salida:" + +#: src/mmg/mmg_dialog.cpp:550 +msgid "Overwrite existing file(s)?" +msgstr "¿Sobreescribir los archivos existentes?" + +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 +msgid "Overwrite existing file?" +msgstr "¿Sobreescribir el archivo existente?" + +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "Subtítulos PGS/SUP" + +#: src/input/r_vobsub.cpp:523 +msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" +msgstr "Error PTS: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" + +#: src/output/p_flac.cpp:77 +msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" +msgstr "El número de paquete %1% contenido en el encabezado FLAC no es válido y está siendo omitido.\n" + +#: src/merge/pr_generic.cpp:252 +msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" +msgstr "La lista de paquetes no está vacía (nivelado: %1%). Los fotogramas (frames) se han perdido durante el remultiplexado. %2%\n" + +#: src/info/wxwidgets_ui.cpp:113 +msgid "Parse the file completely and show all elements" +msgstr "Analizar el archivo completamente y mostrar todos los elementos" + +#: src/extract/extract_cli_parser.cpp:65 +msgid "Parse the whole file instead of relying on the index." +msgstr "Analizar el archivo completo en lugar de confiar en el índice." + +#: src/info/mkvinfo.cpp:1706 +msgid "Parsing file" +msgstr "Analizandon archivo" + +#: src/info/mkvinfo.cpp:728 +msgid "Pixel crop bottom: %1%" +msgstr "Recorte inferior en píxeles: %1%" + +#: src/info/mkvinfo.cpp:713 +msgid "Pixel crop left: %1%" +msgstr "Recorte izquierdo en píxeles: %1%" + +#: src/info/mkvinfo.cpp:723 +msgid "Pixel crop right: %1%" +msgstr "Recorte derecho en píxeles: %1%" + +#: src/info/mkvinfo.cpp:718 +msgid "Pixel crop top: %1%" +msgstr "Recorte superior en píxeles: %1%" + +#: src/info/mkvinfo.cpp:698 +msgid "Pixel height: %1%" +msgstr "Altura en píxeles: %1%" + +#: src/info/mkvinfo.cpp:693 +msgid "Pixel width: %1%" +msgstr "Anchura en píxeles: %1%" + +#: src/mmg/options/mkvmerge.cpp:117 +msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." +msgstr "Por favor, no selecciones mmg como el ejecutable de mkvmerge" + +#: src/mmg/mmg_dialog.cpp:1378 +msgid "Please enter a description for the new job:" +msgstr "Por favor, introduce una descripción para el nuevo trabajo:" + +#: src/mmg/tabs/chapters.cpp:102 +msgid "" +"Please enter the values for the language and the\n" +"country that you want to apply to all the chapters\n" +"below and including the currently selected entry." +msgstr "" +"Por favor, introduce los valores para el idioma y el\n" +"país que necesitas para aplicar a todos los capítulos\n" +"y subcapítulos incluyendo el registro seleccionado actualmente." + +#: src/merge/mkvmerge.cpp:253 +msgid "" +"Please read the man page/the HTML documentation to mkvmerge. It\n" +"explains several details in great length which are not obvious from\n" +"this listing.\n" +msgstr "" +"Por favor, lee la página principal o la documentación HTML para mkvmerge. En ellos\n" +"se explican ciertos aspectos de una manera más detalla que no son tan obvias desde\n" +"este listado.\n" + +#: src/common/property_element.cpp:104 +#: src/mmg/header_editor/frame.cpp:335 +msgid "Previous filename" +msgstr "Nombre anterior del archivo" + +#: src/info/mkvinfo.cpp:614 +msgid "Previous filename: %1%" +msgstr "Nombre anterior del archivo: %1%" + +#: src/mmg/tabs/global.cpp:269 +msgid "Previous segment UID:" +msgstr "Segmento anterior UID:" + +#: src/info/mkvinfo.cpp:610 +msgid "Previous segment UID:%1%" +msgstr "Segmento anterior UID:%1%" + +#: src/common/property_element.cpp:108 +#: src/mmg/header_editor/frame.cpp:345 +msgid "Previous segment's unique ID" +msgstr "ID única del segmento anterior" + +#: src/mmg/options/mkvmerge.cpp:61 +msgid "Process priority:" +msgstr "Prioridad del proceso:" + +#: src/mmg/jobs.cpp:67 +msgid "Processing 1000/1000" +msgstr "Procesando 1000/1000" + +#: src/mmg/jobs.cpp:173 +#, c-format +msgid "Processing job %d/%d" +msgstr "Procesando trabajo %d/%d" + +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 +msgid "Progress" +msgstr "Progreso" + +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 +msgid "Progress: %1%%%%2%" +msgstr "Progreso: %1%%%%2%" + +#: src/extract/timecodes_v2.cpp:359 +#: src/extract/mkvextract.cpp:93 +msgid "Progress: 100%\n" +msgstr "Progreso: 100%\n" + +#: src/merge/output_control.cpp:1905 +msgid "Progress: 100%%%1%" +msgstr "Progreso: 100%%%1%" + +#: src/common/kax_analyzer.cpp:1110 +msgid "Progress: [%1%%2%] %3%%%" +msgstr "Progreso: [%1%%2%] %3%%%" + +#: src/mmg/mmg_dialog.cpp:1813 +msgid "Querying mkvmerge's capabilities" +msgstr "Consultar las capacidades de mkvmerge" + +#: src/common/file_types.cpp:42 +msgid "QuickTime audio/video files" +msgstr "Archivos de audio/vídeo QuickTime" + +#: src/input/r_qtmp4.cpp:473 +msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" +msgstr "Lector de Quicktime/MP4: '%1%' la partícula es demasiado pequeña. Tamaño esperado: >= %2%. Tamaño actual: %3%.\n" + +#: src/input/r_qtmp4.cpp:1909 +msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" +msgstr "Lector de Quicktime/MP4: El tamaño de muestra constante y de duración variable todavía no son compatibles. Contacta con el autor si tiense algún archivo de muestra.\n" + +#: src/input/r_qtmp4.cpp:1304 +msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" +msgstr "Lector de Quicktime/MP4: No puede ser leído el fragmento de información (chunk) número %1%/%2% con tamaño %3% desde la posición %4%. Cancelando.\n" + +#: src/input/r_qtmp4.cpp:1011 +#: src/input/r_qtmp4.cpp:1024 +msgid "Quicktime/MP4 reader: Could not read the extended sound description atom for track ID %1%.\n" +msgstr "Lector de Quicktime/MP4: No puede ser leída la partícula de amplia descripción del sonido para la ID de la pista %1%.\n" + +#: src/input/r_qtmp4.cpp:984 +msgid "Quicktime/MP4 reader: Could not read the sound description atom for track ID %1%.\n" +msgstr "Lector de Quicktime/MP4: No puede ser leída la partícula de descripción del sonido para la ID de la pista %1%.\n" + +#: src/input/r_qtmp4.cpp:129 +msgid "Quicktime/MP4 reader: Could not read the source file." +msgstr "Lector de Quicktime/MP4: No puede ser leído el archivo de origen." + +#: src/input/r_qtmp4.cpp:978 +msgid "Quicktime/MP4 reader: Could not read the stream description atom for track ID %1%.\n" +msgstr "Lector de Quicktime/MP4: No puede ser leída la partícula de descripción del archivo para la ID de la pista %1%.\n" + +#: src/input/r_qtmp4.cpp:1060 +msgid "Quicktime/MP4 reader: Could not read the video description atom for track ID %1%.\n" +msgstr "Lector de Quicktime/MP4: No puede ser leída la partícula de descripción del vídeo para la ID de la pista %1%.\n" + +#: src/input/r_qtmp4.cpp:212 +msgid "Quicktime/MP4 reader: Have not found any header atoms.\n" +msgstr "Lector de Quicktime/MP4: No se encontró ningúna partícula de encabezado.\n" + +#: src/input/r_qtmp4.cpp:214 +msgid "Quicktime/MP4 reader: Have not found the 'mdat' atom. No movie data found.\n" +msgstr "Lector de Quicktime/MP4: No se encontró la partícula mdat. No se encontró información de la pelicula.\n" + +#: src/input/r_qtmp4.cpp:161 +msgid "Quicktime/MP4 reader: Invalid chunk size %1% at %2%.\n" +msgstr "Lector de Quicktime/MP4: Tamaño del fragmento de información (chunk) no válido %1% at %2%.\n" + +#: src/input/r_qtmp4.cpp:290 +msgid "Quicktime/MP4 reader: MPEG4 part 10/AVC track %1% is missing its decoder config. Skipping this track.\n" +msgstr "Lector de Quicktime/MP4: A la pista MPEG4 part 10/AVC %1% le falta la configuración del decodificador. Omitiendo esta pista.\n" + +#: src/input/r_qtmp4.cpp:283 +msgid "Quicktime/MP4 reader: MPEG4 track %1% is missing the esds atom/the decoder config. Skipping this track.\n" +msgstr "Lector de Quicktime/MP4: La pista MPEG4 %1% está ausente de la configuración de el/la decodificador/partícula esds. Omitiendo esta pista.\n" + +#: src/input/r_qtmp4.cpp:121 +msgid "Quicktime/MP4 reader: Source is not a valid Quicktime/MP4 file." +msgstr "Lector de Quicktime/MP4: La fuente del archivo no es un Quicktime/MP4 no es válida." + +#: src/input/r_qtmp4.cpp:651 +msgid "Quicktime/MP4 reader: The 'media header' atom ('mdhd') uses the unsupported version %1%.\n" +msgstr "Lector de Quicktime/MP4: La partícula encabezado multimedia (\"mdhd\") utiliza una versión no compatible %1%.\n" + +#: src/input/r_qtmp4.cpp:971 +msgid "Quicktime/MP4 reader: The 'size' field is too small in the stream description atom for track ID %1%.\n" +msgstr "Lector de Quicktime/MP4: El campo «tamaño» es demasiado pequeño en la partícula de descripción del archivo para la ID de la pista %1%.\n" + +#: src/input/r_qtmp4.cpp:656 +msgid "Quicktime/MP4 reader: The 'time scale' parameter was 0. This is not supported.\n" +msgstr "Lector de Quicktime/MP4: El parámetro «extensión de tiempo» fue 0. Esto no es compatible.\n" + +#: src/input/r_qtmp4.cpp:251 +msgid "Quicktime/MP4 reader: The AAC track %1% is missing the esds atom/the decoder config. Skipping this track.\n" +msgstr "Lector de Quicktime/MP4: La pista AAC %1% está ausente de la configuración de el/la decodificador/partícula esds. Omitiendo esta pista.\n" + +#: src/input/r_qtmp4.cpp:245 +msgid "Quicktime/MP4 reader: The audio track %1% is using an unsupported 'object type id' of %2% in the 'esds' atom. Skipping this track.\n" +msgstr "Lector de Quicktime/MP4: La pista de audio %1% esta usando una id de tipo de objeto no compatible de %2% en la particula esds. Omitiendo esta pista.\n" + +#: src/input/r_qtmp4.cpp:263 +msgid "Quicktime/MP4 reader: The video track %1% is missing the ESDS atom. Skipping this track.\n" +msgstr "Lector de Quicktime/MP4: La pista de vídeo %1% está ausente de la partícula ESDS. Omitiendo esta pista.\n" + +#: src/input/r_qtmp4.cpp:505 +msgid "Quicktime/MP4 reader: This file uses compressed headers with an unknown or unsupported compression algorithm '%1%%2%%3%%4%'. Aborting.\n" +msgstr "Lector de Quicktime/MP4: Este archivo utilizado encabezados comprimidos con un algoritomo de compresión desconocido o no compatible '%1%%2%%3%%4%'. Cancelando.\n" + +#: src/input/r_qtmp4.cpp:538 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but the expected uncompressed size (%1%) was not what is available after uncompressing (%2%).\n" +msgstr "Lector de Quicktime/MP4: Este archivo utiliza encabezados comprimidos, pero el tamaño esperado sin comprimir (%1%) no fue el que esta disponible tras descomprimir (%2%).\n" + +#: src/input/r_qtmp4.cpp:529 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but the zlib library could not be initialized. Error code from zlib: %1%. Aborting.\n" +msgstr "Lector de Quicktime/MP4: Este archivo utiliza encabezados comprimidos, pero la librería zlib no puede ser inicializada. El código de error de zlib: %1%. Cancelando.\n" + +#: src/input/r_qtmp4.cpp:534 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but they could not be uncompressed. Error code from zlib: %1%. Aborting.\n" +msgstr "Lector de Quicktime/MP4: Este archivo utiliza encabezados comprimidos, pero no pueden ser descomprimidos. Código de error de zlib: %1%. Cancelando.\n" + +#: src/input/r_qtmp4.cpp:302 +msgid "Quicktime/MP4 reader: Track %1% has an unknown type.\n" +msgstr "Lector de Quicktime/MP4: La pista %1% tiene un formato desconocido.\n" + +#: src/input/r_qtmp4.cpp:258 +#: src/input/r_qtmp4.cpp:297 +msgid "Quicktime/MP4 reader: Track %1% is missing some data. Broken header atoms?\n" +msgstr "Lector de Quicktime/MP4: La pista %1% tiene ausente alguna información. ¿Están corruptas las partículas del encabezado?\n" + +#: src/input/r_qtmp4.cpp:992 +#: src/input/r_qtmp4.cpp:1066 +msgid "Quicktime/MP4 reader: Track ID %1% has more than one FourCC. Only using the first one (%|2$.4s|) and not this one (%|3$.4s|).\n" +msgstr "Lector de Quicktime/MP4: La ID de la pista %1% tiene más de un FourCC. Solo utilizará el primero (%|2$.4s|), y no este otro (%|3$.4s|).\n" + +#: src/input/r_qtmp4.cpp:237 +msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" +msgstr "Lector de Quicktime/MP4: FourCC desconocido/incompatible '%|1$.4s|' para la pista %2%.\n" + +#: src/mmg/mmg_dialog.cpp:274 +msgid "Quit the application" +msgstr "Salir de la aplicación" + +#: src/mmg/header_editor/frame.cpp:146 +msgid "Quit the header editor" +msgstr "Salir del editor de encabezado" + +#: src/info/wxwidgets_ui.cpp:111 +msgid "Quits mkvinfo" +msgstr "Cerrar mkvinfo" + +#: src/info/mkvinfo.cpp:883 +msgid "RSA" +msgstr "RSA" + +#: src/mmg/jobs.cpp:477 +msgid "Re-enable the selected job(s)" +msgstr "Rehabilitar el/los trabajo/s seleccionado/s" + +#: src/input/r_mpeg_ps.cpp:404 +msgid "Reading encrypted VOBs is not supported.\n" +msgstr "La lectura de VOB cifrados todavía no es compatible.\n" + +#: src/common/cli_parser.cpp:181 +msgid "Reads additional command line options from the specified file (see man page)." +msgstr "Lee las opciones adicionales de línea de comandos desde el archivo especificado (mira la página principal)." + +#: src/info/qt_ui.cpp:155 +msgid "Ready" +msgstr "Preparado" + +#: src/common/property_element.cpp:154 +#: src/mmg/header_editor/frame.cpp:502 +msgid "Real output sampling frequency in Hz." +msgstr "Frecuencia real de muestreo creado en Hz." + +#: src/common/file_types.cpp:44 +msgid "RealMedia audio/video files" +msgstr "Archivos de audio y vídeo de RealMedia" + +#: src/input/r_real.cpp:377 +msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" +msgstr "Los archivos RealMedia pueden contener audio HE-AAC/AAC+/SBR AAC. En algunos casos esto NO puede ser detectado automáticamente. Por consiguiente, si el archivo actual contiene SBR AAC, tienes que especificar '--aac-is-sbr %1%' manualmente para el archivo de entrada. De lo contrario, el archivo será multiplexado de manera ERRÓNEA. Además, deberías leer la documentación de mkvmerge.\n" + +#: src/common/cli_parser.cpp:180 +msgid "Redirects all messages into this file." +msgstr "Redirige todos los mensajes de ese archivo." + +#: src/info/mkvinfo.cpp:188 +msgid "Reference block: %1%.%|2$06d|ms" +msgstr "Bloque de referencia: %1%.%|2$06d|ms" + +#: src/info/mkvinfo.cpp:187 +msgid "Reference block: -%1%.%|2$06d|ms" +msgstr "Bloque de referencia: -%1%.%|2$06d|ms" + +#: src/info/mkvinfo.cpp:189 +msgid "Reference priority: %1%" +msgstr "Prioridad de referencia: %1%" + +#: src/info/mkvinfo.cpp:191 +msgid "Reference virtual: %1%" +msgstr "Referencia virtual: %1%" + +#: src/mmg/header_editor/frame.cpp:144 +msgid "Reload the current file without saving" +msgstr "Recargar el archivo actual sin guardar los cambios" + +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 +msgid "Remaining time:" +msgstr "Tiempo restante:" + +#: src/common/xml/element_parser.cpp:565 +msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." +msgstr "Recuerda que caracteres especiales como &, <, > and \" deben ser convertidos a la manera usual de HTML: & para &, < para <, > para > y " para \"." + +#: src/mmg/tabs/chapters.cpp:329 +msgid "Remove chapter" +msgstr "Eliminar capítulo" + +#: src/mmg/header_editor/value_page.cpp:167 +msgid "Remove element" +msgstr "Eliminar elemento" + +#: src/mmg/tabs/chapters.cpp:347 +msgid "Remove name" +msgstr "Eliminar nombre" + +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "La resincronización ha fallado: no se encontró un elemento de Matroska de nivel 1 que sea válido.\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "Resincronización con éxito en la posición %1%.\n" + +#: src/mmg/mmg_dialog.cpp:275 +msgid "Run mkvmerge and start the muxing process" +msgstr "Ejecuta mkvmerge e inicia el proceso de multiplexado" + +#: src/mmg/mmg_dialog.cpp:273 +msgid "Run the header field editor" +msgstr "Inicia el editor del campo de encabezado" + +#: src/mmg/mmg_dialog.cpp:276 +msgid "S&how the command line" +msgstr "M&uestra la línea de comandos" + +#: src/mmg/jobs.cpp:507 +msgid "S&tart selected" +msgstr "I&niciar selección" + +#: src/info/mkvinfo.cpp:892 +msgid "SHA1-160" +msgstr "SHA1-160" + +#: src/common/file_types.cpp:45 +msgid "SRT text subtitles" +msgstr "Subtítulos de texto SRT" + +#: src/common/file_types.cpp:46 +msgid "SSA/ASS text subtitles" +msgstr "Subtítulos de texto SSA/ASS " + +#: src/mmg/mmg_dialog.cpp:278 +msgid "Sa&ve command line" +msgstr "Gu&ardar la línea de comandos" + +#: src/mmg/options/mmg.cpp:64 +msgid "Same directory as the first input file's" +msgstr "El mismo directorio que del primer archivo añadido" + +#: src/common/property_element.cpp:153 +#: src/mmg/header_editor/frame.cpp:497 +msgid "Sampling frequency in Hz." +msgstr "Frecuencia de muestreo en Hz." + +#: src/info/mkvinfo.cpp:651 +msgid "Sampling frequency: %1%" +msgstr "Frecuencia de muestreo: %1%" + +#: src/mmg/mmg_dialog.cpp:287 +msgid "Save &as" +msgstr "Guardar &como" + +#: src/info/qt_ui.cpp:71 +msgid "Save information as" +msgstr "Guarda la información como" + +#: src/mmg/mux_dialog.cpp:108 +msgid "Save log" +msgstr "Guardar informe" + +#: src/mmg/mmg_dialog.cpp:270 +msgid "Save muxing settings to a file" +msgstr "Guarda a un archivo los ajustes del proyecto actual" + +#: src/mmg/mmg_dialog.cpp:278 +msgid "Save the command line to a file" +msgstr "Guarda la línea de comandos a un archivo" + +#: src/mmg/mmg_dialog.cpp:279 +msgid "Save the command line to an option file that can be read by mkvmerge" +msgstr "Guarda la línea de comandos a un archivo opciónal que puede ser leído por mkvmerge" + +#: src/mmg/mmg_dialog.cpp:285 +msgid "Save the current chapters to a XML file" +msgstr "Guarda los actuales capítulos a un archvo XML" + +#: src/mmg/mmg_dialog.cpp:287 +msgid "Save the current chapters to a file with another name" +msgstr "Guarda los actuales capítulos a un archivo con otro nombre" + +#: src/mmg/mmg_dialog.cpp:286 +msgid "Save the current chapters to an existing Matroska file" +msgstr "Guarda los actuales capítulos a un archivo Matroska ya existente" + +#: src/mmg/header_editor/frame.cpp:143 +msgid "Save the header values" +msgstr "Guarda valores del encabezado" + +#: src/mmg/mmg_dialog.cpp:286 +msgid "Save to &Matroska file" +msgstr "Guardar como archivo &Matroska" + +#: src/info/wxwidgets_ui.cpp:108 +msgid "Saves the information from the current file to a text file" +msgstr "Guarde la información desde el actual archivo a uno de texto" + +#: src/info/mkvinfo.cpp:814 +msgid "Scope: %1% (%2%)" +msgstr "Alcance: %1% (%2%)" + +#: src/info/mkvinfo.cpp:1164 +msgid "Seek ID:%1% (%2%)" +msgstr "Buscar ID: %1% (%2%)" + +#: src/info/mkvinfo.cpp:1152 +msgid "Seek entry" +msgstr "Buscar registro" + +#: src/info/mkvinfo.cpp:1140 +msgid "Seek head" +msgstr "Buscar encabezado" + +#: src/info/mkvinfo.cpp:1136 +msgid "Seek head (subentries will be skipped)" +msgstr "Buscar encabezado (los subregistros serán omitidos)" + +#: src/info/mkvinfo.cpp:1178 +msgid "Seek position: %1%" +msgstr "Buscar posicion: %1%" + +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 +#: src/info/qt_ui.cpp:177 +#: src/info/wxwidgets_ui.cpp:205 +msgid "Segment" +msgstr "Segmento" + +#: src/info/mkvinfo.cpp:599 +msgid "Segment UID:%1%" +msgstr "Segmento UID: %1%" + +#: src/mmg/tabs/global.cpp:262 +msgid "Segment UIDs:" +msgstr "UID del segmento:" + +#: src/common/property_element.cpp:103 +#: src/mmg/header_editor/frame.cpp:332 +msgid "Segment filename" +msgstr "Nombre del archivo del segmento" + +#: src/info/mkvinfo.cpp:627 +msgid "Segment filename: %1%" +msgstr "Nombre del archivo del segmento: %1%" + +#: src/mmg/tabs/global.cpp:296 +msgid "Segment info file:" +msgstr "Archivo de información del segmento:" + +#: src/mmg/tabs/global.cpp:318 +#, c-format +msgid "Segment info files (*.xml)|*.xml|%s" +msgstr "Archivos de información del segmento (*.xml)|*.xml|%s" + +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 +#: src/propedit/propedit_cli_parser.cpp:87 +#: src/propedit/propedit_cli_parser.cpp:160 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 +#: src/info/qt_ui.cpp:178 +#: src/info/wxwidgets_ui.cpp:208 +msgid "Segment information" +msgstr "Información del segmento" + +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 +#: src/info/qt_ui.cpp:179 +#: src/info/wxwidgets_ui.cpp:208 +msgid "Segment tracks" +msgstr "Pistas del segmento" + +#: src/common/property_element.cpp:106 +#: src/mmg/header_editor/frame.cpp:341 +msgid "Segment unique ID" +msgstr "ID única del segmento" + +#: src/info/mkvinfo.cpp:1964 +msgid "Segment, size %1%" +msgstr "Segmento, tamaño %1%" + +#: src/info/mkvinfo.cpp:1962 +msgid "Segment, size unknown" +msgstr "Segmento, tamaño desconocido" + +#: src/info/wxwidgets_ui.cpp:263 +msgid "Select Matroska file" +msgstr "Selecciona archivo Matroska" + +#: src/info/wxwidgets_ui.cpp:277 +msgid "Select output file" +msgstr "Selecciona el archivo creado" + +#: src/mmg/mmg_dialog.cpp:271 +msgid "Select the file you want to write to" +msgstr "Selecciona la carpeta donde deseas guardar el archivo" + +#: src/mmg/options/languages.cpp:84 +msgid "" +"Select the languages you want to be shown at the top\n" +"of language drop down boxes." +msgstr "" +"Selecciona los idiomas que deseas que se muestren en la parte superior\n" +"de la lista desplegable del idioma" + +#: src/mmg/tabs/chapters.cpp:100 +msgid "Select values to be applied" +msgstr "Selecciona los valores que se aplicarán" + +# ( = cue entries) +# ¿Dejarlo en idioma original? +#: src/mmg/tabs/input_extra.cpp:125 +msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." +msgstr "Selecciona para qué bloques mkvmerge creará los registros en el índice ( = cue entries). \"predefinido\" es una buena elección para casi todas las situaciones." + +#: src/mmg/tabs/input_format.cpp:250 +msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." +msgstr "Selecciona el código de caracteres con el que fue escrito un archivo de subtítulos o la información de un capítulo. Solo es necesario para archivos de subtítulos no codificados como UTF o para archivos con información de un capítulo (p. ej.: OGM, MP4...) para los que mkvmerge no puede detectar correctamente la codificación." + +#: src/mmg/mmg_dialog.cpp:271 +msgid "Set &output file" +msgstr "Establecer directorio de &salida" + +#: src/mmg/tabs/chapters.cpp:117 +msgid "Set country to:" +msgstr "Establecer como país a:" + +#: src/common/property_element.cpp:116 +#: src/mmg/header_editor/frame.cpp:397 +msgid "" +"Set if that track (audio, video or subs) SHOULD\n" +"be used if no language found matches the\n" +"user preference." +msgstr "" +"Establecer si esta pista (audio, vídeo o subtítulos) DEBE\n" +"ser usada si no coincide con el idioma encontrado\n" +"en las preferencias establecidas por el usuario." + +#: src/common/property_element.cpp:119 +#: src/mmg/header_editor/frame.cpp:404 +msgid "" +"Set if that track MUST be used during playback.\n" +"There can be many forced track for a kind (audio,\n" +"video or subs). The player should select the one\n" +"whose language matches the user preference or the\n" +"default + forced track." +msgstr "" +"Establecer si esta pista DEBE ser usada durante la reproducción.\n" +"Puede haber pistas forzadas de alguna clase (audio, vídeo\n" +"o subtítulos). El reproductor debería seleccionar el primer\n" +"idioma que coincida con las preferencias del usuario o la\n" +"pista como predefinida junto con la obligatoria." + +#: src/common/property_element.cpp:118 +#: src/mmg/header_editor/frame.cpp:400 +msgid "Set if the track is used." +msgstr "Establecer si la pista es utilizada." + +#: src/common/property_element.cpp:137 +msgid "Set if the video is interlaced." +msgstr "Establecer si el vídeo es entrelazado." + +#: src/mmg/tabs/chapters.cpp:110 +msgid "Set language to:" +msgstr "Establecer el idioma a:" + +#: src/mmg/options/mmg.cpp:82 +msgid "Set the delay input field from the file name" +msgstr "Establecer el retraso (delay) desde el nombre del archivo" + +#: src/mmg/tabs/chapters.cpp:330 +msgid "Set values" +msgstr "Establecer valores" + +#: src/propedit/propedit_cli_parser.cpp:150 +msgid "Sets a property to the value if it exists and add it otherwise" +msgstr "Establece una propiedad en el valor si es que existe; de lo contrario, lo añade." + +#: src/propedit/propedit_cli_parser.cpp:146 +msgid "Sets the Matroska file section that all following add/set/delete actions operate on (see below and man page for syntax)" +msgstr "Establece la seccion del archivo Matroska para que todas las siguientes acciones añadir/establecer/borrar funcionen (mira más abajo y en la página principal para la sintaxis)" + +#: src/propedit/propedit_cli_parser.cpp:143 +msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" +msgstr "Establecer el modo análisis de Matroska en «rápido» (predefinido) o «total»" + +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "Establece el algorítmo de compresión para ser usado en esta pista. Si no hsa seleccionado ninguna opción, mkvmerge decidirá si comprimirlo o no, y qué algoritmo usar basándose en el tipo de pista. La mayoría de los tipos de pista no se comprimen." + +#: src/mmg/tabs/input_format.cpp:253 +msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." +msgstr "Esteblece los parámetros de recorte (cropping). Para el recorte que se vaya a utilizar debe especificarse un secuencia de cuatro números separados por comas conforme a este orden: izquierda, arriba, derecha y abajo." + +#: src/mmg/tabs/input_format.cpp:234 +msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." +msgstr "Establece una duración predefinida o un número de fotogramas por segundo por cada pista. Esto solo es posible para las pistas de vídeo. Para archivos primarios AVC/h.264, debe establecerse esta opción. Esto puede ser un número decimal o una fracción." + +#: src/mmg/tabs/input_format.cpp:222 +msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." +msgstr "Establece la relación de aspecto (aspect ratio) de la visualización de la pista. El formato puede ser a/b, y en cualquier caso ambos números deben ser enteros (p. ej., 16/9) o solo un número decimal f (p. ej., 2,35)." + +#: src/mmg/tabs/input_format.cpp:226 +msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." +msgstr "Establece la altura de visualización de la pista. El ancho debe establecerse también o este campo será ignorado." + +#: src/mmg/tabs/input_format.cpp:225 +msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." +msgstr "Establece el ancho de la visualización de la pista. La altura debe establecerse también o este campo será ignorado." + +#: src/mmg/options/mkvmerge.cpp:64 +msgid "Sets the priority that mkvmerge will run with." +msgstr "Establece la prioridad con la que mkvmerge se ejecutará." + +#: src/mmg/tabs/global.cpp:263 +msgid "" +"Sets the segment UIDs to use. This is a comma-separated list of 128bit segment UIDs in the usual UID form: hex numbers with or without the \"0x\" prefix, with or without spaces, exactly 32 digits.\n" +"\n" +"Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." +msgstr "" +"Establece los segmentos UID que se utilizarán. Esto es una lista de 128 bit separadas por comas, la forma usual de los segmentos UID es: números hexadecimales con o sin el prefijo \"0x\", con o sin espacios, exactamente 32 dígitos.\n" +"\n" +"Cada archivo creado contiene un segmento, y cada segmento tiene un segmento UID. Si más segmentos UID son especificados con respecto a los segmentos creados, entonces el excedente de UID son ignorados. Si menos segmentos UID son especificados con respecto a los segmentos creados, entonces el resto de UID serán generados de manera aleatoria." + +#: src/mmg/tabs/input_format.cpp:231 +msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." +msgstr "Establece este valor para el modo estéreo de la pista de vídeo. Se mantendrá el modo estéreo original de la pista si se deja vacío, o no se establecerá si no hubiese una." + +#: src/info/mkvinfo.cpp:846 +msgid "Settings: %1%" +msgstr "Ajustes: %1%" + +#: src/mmg/cli_options_dlg.cpp:86 +msgid "Several options that control the overall output that mkvmerge creates." +msgstr "Hay varias opciones de mkvmerge que controlan de manera general lo que crea." + +#: src/input/r_real.cpp:595 +msgid "Short AAC audio packet (length: %1% < %2%)\n" +msgstr "Breve paquete de audio AAC (extensión: %1% < %2%)\n" + +#: src/input/r_real.cpp:588 +msgid "Short AAC audio packet (length: %1% < 2)\n" +msgstr "Breve paquete de audio AAC (extensión: %1% < 2)\n" + +#: src/mpegparser/M2VParser.cpp:392 +msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "Reducción GOP detectada. Algunos fotogramas (frames) han sido suprimidos. Puede que necesites fijar el archivo de vídeo MPEG2 antes de intentar multiplexarlo.\n" + +#: src/info/wxwidgets_ui.cpp:113 +msgid "Show &all elements\tCtrl-A" +msgstr "Muestra &todos los elementos\tCtrl-A" + +#: src/info/wxwidgets_ui.cpp:121 +msgid "Show about dialog" +msgstr "Muestra el cuadro de diálogo" + +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Muestra todos los bytes de cada fotograma como un volcado hexadecimal." + +#: src/info/wxwidgets_ui.cpp:114 +msgid "Show element si&zes\tCtrl-Z" +msgstr "Muestra los ta&maños de los elementos\tCtrl-Z" + +#: src/mmg/options/mmg.cpp:111 +msgid "Show mmg's debug window" +msgstr "Muestra la ventana del depuración de mmg" + +#: src/mmg/mmg_dialog.cpp:294 +msgid "Show program information" +msgstr "Muestra la información del programa" + +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "Mostrar estadisticas para cada pista en modo verbose." + +#: src/mmg/mmg_dialog.cpp:276 +msgid "Show the command line mmg creates for mkvmerge" +msgstr "Muestra la línea de comandos que mmg crea para mkvmerge" + +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Muestra todos los bytes de cada fotograma como un volcado hexadecimal." + +#: src/mmg/mmg_dialog.cpp:293 +msgid "Show the guide to mkvmerge GUI" +msgstr "Muestra la guía para mkvmerge GUI" + +#: src/info/wxwidgets_ui.cpp:114 +msgid "Show the size of each element including its header" +msgstr "Muestra el tamaño de cada elemento incluyento su encabezado" + +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "Muestra el tamaño de cada elemento incluyendo su encabezado." + +#: src/common/cli_parser.cpp:182 +msgid "Show this help." +msgstr "Muestra esta ayuda." + +#: src/common/cli_parser.cpp:183 +msgid "Show version information." +msgstr "Muestra la información de la versión." + +#: src/mmg/options/mmg.cpp:112 +msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." +msgstr "Muestra la ventana de depuración de mmg en la que aparecerán mensajes. Esto es útil únicamente si estás ayudando al autor a corregir un problema en mmg." + +#: src/info/mkvinfo.cpp:880 +msgid "Signature algorithm: %1% (%2%)" +msgstr "Firma algorítmica: %1% (%2%)" + +#: src/info/mkvinfo.cpp:889 +msgid "Signature hash algorithm: %1% (%2%)" +msgstr "Ninguna firma con función algorítmica: %1% (%2%)" + +#: src/info/mkvinfo.cpp:898 +msgid "Signature key ID: %1%" +msgstr "ID clave de la firma: %1%" + +#: src/info/mkvinfo.cpp:902 +msgid "Signature: %1%" +msgstr "Firma: %1%" + +#: src/mmg/header_editor/value_page.cpp:146 +msgid "Signed integer" +msgstr "Entero con signo" + +#: src/info/mkvinfo.cpp:1362 +msgid "Silent Track Number: %1%" +msgstr "Número de pista muda: %1%" + +#: src/extract/timecodes_v2.cpp:289 +msgid "Simple block" +msgstr "Bloque simple" + +#: src/common/chapters/chapters.cpp:48 +msgid "Simple chapter parser: %1%\n" +msgstr "Analizador simple de capítulo: %1%\n" + +#: src/extract/tracks.cpp:418 +msgid "SimpleBlock" +msgstr "Bloque simple" + +#: src/info/mkvinfo.cpp:203 +msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" +msgstr "Bloque simple (%1% número de pista %2%, %3% fotograma(s), código de tiempo %|4$.3f|s = %5%)" + +#: src/mpegparser/M2VParser.cpp:389 +msgid "Single field frame before GOP header detected. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "Fotograma con un único campo antes del encabezado GOP detectado. Fija el archivo de vídeo MPEG2 antes de intentar multiplexarlo.\n" + +#: src/output/p_aac.cpp:73 +msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" +msgstr "Omitiendo %1% bytes (se encontró encabezado AAC no válido). Esto podría causar desincronizacion del audio/vídeo.\n" + +#: src/output/p_dts.cpp:100 +msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" +msgstr "Omitiendo %1% bytes (se encontró encabezado DTS no válido). Esto podría causar desincronización de audio/vídeo.\n" + +#: src/input/r_mp3.cpp:53 +msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" +msgstr "Omitiendo %1% bytes al inicio (se encontró encabezado MP3 no válido).\n" + +# ¿Rebanadas? +#: src/info/mkvinfo.cpp:1500 +msgid "Slices" +msgstr "Cortes" + +#: src/mmg/header_editor/frame.cpp:577 +msgid "Some header values have been modified. Do you really want to close without saving the file?" +msgstr "Algunos valores del encabezado han sido modificados. ¿De verdad quieres cerrar sin guardar el archivo?" + +#: src/mmg/header_editor/frame.cpp:783 +msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" +msgstr "Algunos valores del encabezado han sido modificados. ¿De verdad quieres cargar un archivo nuevo sin guardar el archivo actual?" + +#: src/mmg/header_editor/frame.cpp:567 +msgid "Some header values have been modified. Do you really want to reload without saving the file?" +msgstr "Algunos valores del encabezado han sido modificados. ¿De verdad quieres recargar sin guardar el archivo?" + +#: src/merge/output_control.cpp:1338 +msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" +msgstr "Algunos elementos de la etiqueta estan ausentes (este error no debería haber ocurrido; otro error similar habrá ocurrido anteriormente). %1%\n" + +#: src/common/property_element.cpp:131 +#: src/mmg/header_editor/frame.cpp:432 +msgid "" +"Specifies the language of the track in the\n" +"Matroska languages form." +msgstr "" +"Especifica el idioma de la pista en el\n" +"formaulario de idiomas de Matroska." + +#: src/common/property_element.cpp:147 +#: src/mmg/header_editor/frame.cpp:488 +msgid "" +"Specify the possible modifications to the aspect ratio\n" +"(0: free resizing, 1: keep aspect ratio, 2: fixed)." +msgstr "" +"Especificar las posibles modificaciones de la relación de aspecto\n" +"(0: libre redimensionado, 1: mantener relación de aspecto, 2: fijado)." + +#: src/mmg/tabs/global.cpp:232 +msgid "Splitting" +msgstr "División" + +#: src/mmg/tabs/global.cpp:532 +msgid "Splitting by size was selected, but no size has been given." +msgstr "La división por tamaño fue seleccionada, pero ningún tamaño ha sido establecido." + +#: src/mmg/tabs/global.cpp:565 +msgid "Splitting by timecode/duration was selected, but nothing was entered." +msgstr "La división por código de tiempo/duración fue seleccionada, pero nada fue escalaado." + +#: src/mmg/mmg_dialog.cpp:548 +#, c-format +msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" +msgstr "La división está activa, y al menos uno de los posibles archivos creado '%s%s*%s' ya existe. ¿Deseas sobreescribirlo(s)?" + +#: src/mmg/mmg_dialog.cpp:312 +msgid "Sta&rt muxing" +msgstr "Inicia&r multiplexado" + +#: src/mmg/mmg_dialog.cpp:275 +msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" +msgstr "Inicia&r multiplexado (ejecuta mkvmerge)\tCtrl-R" + +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "Inicia la interfaz gráfica (y abre la fuente de origen si se establece)." + +#: src/mmg/jobs.cpp:504 +msgid "Start the jobs whose status is 'pending'" +msgstr "Iniciar los trabajos cuyo estado es «pendiente»" + +#: src/mmg/jobs.cpp:508 +msgid "Start the selected job(s) regardless of their status" +msgstr "Iniciar el/los trabajo/s seleccionado/s independientemente de su estado" + +#: src/mmg/mmg_dialog.cpp:268 +msgid "Start with empty settings" +msgstr "Crea un archivo nuevo" + +#: src/mmg/tabs/chapters.cpp:335 +msgid "Start:" +msgstr "Inicio:" + +#: src/mmg/jobs.cpp:443 +msgid "Started on" +msgstr "Inciado en" + +#: src/mmg/jobs.cpp:228 +#, c-format +msgid "Starting job ID %d (%s) on %s" +msgstr "Iniciando trabajo con ID %d (%s) en %s" + +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "Estadísticas para la pista número %1%: número de bloques: %2%; tamaño en bytes: %3%; duración en segundos: %4%; bitrate aproximado en bits/segundo: %5%\n" + +#: src/mmg/jobs.cpp:437 +msgid "Status" +msgstr "Estado" + +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 +msgid "Status and progress" +msgstr "Estado y progreso" + +#: src/mmg/update_checker.cpp:57 +#: src/mmg/header_editor/value_page.cpp:174 +msgid "Status:" +msgstr "Estado:" + +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "Parámetro de modo estéreo: no asignado en la forma <TID>:<n|keyword> donde n es un número entre 0 y %1% o una de estas palabras clave: %2% (el argumento fue '%3%').\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "Modo estéreo: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "Modo de video Stereo-3D (0 - 11, ver documentación)." + +#: src/common/property_element.cpp:149 +msgid "" +"Stereo-3D video mode (0: mono, 1: right eye,\n" +"2: left eye, 3: both eyes)." +msgstr "" +"Modo de vídeo estéreo 3D (0: mono, 1: ojo derecho,\n" +"2: ojo izquierdo, 3: ambos ojos)." + +#: src/mmg/tabs/input_format.cpp:230 +msgid "Stereoscopy:" +msgstr "Estereoscopia:" + +#: src/mmg/tabs/input_format.cpp:245 +msgid "Stretch by:" +msgstr "Extendido por:" + +#: src/mmg/tabs/input_format.cpp:246 +msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." +msgstr "Extender los códigos de tiempo de esta pista. Este registro pude tener dos formatos. Es un número decimal positivo, o un fracción como 1200/1253. Funciona mejor en pistas de vídeo y subtítulos." + +#: src/mmg/header_editor/value_page.cpp:144 +msgid "String" +msgstr "Palabra (cadena de caracteres)" + +#: src/extract/xtr_textsubs.cpp:180 +msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" +msgstr "La pista del subtítulo %1%, tiene algunos elementos de duración ausentes. Por favor, comprueba que los registros del archivo resultante SSA/ASS tengan el mismo tiempo de inicio y finalización.\n" + +#: src/mmg/header_editor/track_type_page.cpp:52 +#, c-format +msgid "Subtitle track %u" +msgstr "Pista del subtítulo %u" + +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "Tipos de archivos compatibles:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "Suprime el estado creado." + +#: src/common/file_types.cpp:47 +msgid "TTA (The lossless True Audio codec)" +msgstr "TTA (The lossless True Audio codec)" + +#: src/extract/extract_cli_parser.cpp:84 +msgid "Tag extraction" +msgstr "Extracción de etiqueta" + +#: src/mmg/tabs/global.cpp:292 +msgid "Tag file:" +msgstr "Archivo de etiqueta (Tag):" + +#: src/mmg/tabs/global.cpp:308 +#, c-format +msgid "Tag files (*.xml)|*.xml|%s" +msgstr "Archivos de etiquetas (*.xml)|*.xml|%s" + +#: src/mmg/tabs/input_general.cpp:275 +#, c-format +msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" +msgstr "Archivos de etiquetas (*.xml;*.txt)|*.xml;*.txt|%s" + +#: src/info/mkvinfo.cpp:1828 +msgid "Tags" +msgstr "Etiquetas" + +#: src/merge/output_control.cpp:1326 +msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" +msgstr "Las etiquetas no están permitidas en archivos compatibles WebM. Las etiquetas no serán escritas en ningún archivo creado.\n" + +#: src/merge/pr_generic.cpp:1444 +msgid "Tags for track ID %1%: %2% entries" +msgstr "Etiquetas para la ID de la pista %1%: %2% registros" + +#: src/mmg/mmg.cpp:56 +#, c-format +msgid "Tags for track ID %lld (%d entries) from %s" +msgstr "Etiquetas para la ID de la pista %lld (%d registros) de %s" + +#: src/mmg/tabs/input_general.cpp:187 +msgid "Tags:" +msgstr "Etiquetas:" + +#: src/mmg/cli_options_dlg.cpp:94 +msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." +msgstr "Indica a mkvmerge no crear y escribir información del índice (cue) que puede ser comparada con la de un AVI. Los archivos Matroska pueden ser reproducidos sin información del marcador, pero la búsqueda será probablemente imprecisa y lenta. Usa esta opción únicamente con el propósito de probar." + +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "Indica a mkvmerge crear un elemento meta seek al final del archivo que contenga todos los clústeres." + +#: src/info/qt_ui.cpp:71 +msgid "Text files (*.txt);;All files (*.*)" +msgstr "Archivos de texto (*.txt);;Todos los archivos (*.*)" + +#: src/mmg/jobs.cpp:410 +#, c-format +msgid "Text files (*.txt)|*.txt|%s" +msgstr "Archivos de texto (*.txt)|*.txt|%s" + +#: src/info/wxwidgets_ui.cpp:277 +msgid "Text files (*.txt)|*.txt|All files|*.*" +msgstr "Archivos de texto (*.txt)|*.txt|Todos los archivos|*.*" + +#: src/input/r_vobsub.cpp:227 +msgid "The .idx file does not contain an 'id: ...' line to indicate the language.\n" +msgstr "El archivo .idx no contiene una línea 'id: ...' para indicar el idioma.\n" + +#: src/output/p_aac.cpp:207 +msgid "The AAC profiles are different: %1% and %2%" +msgstr "Los perfiles de AAC son diferentes: %1% y %2%" + +#: src/input/r_qtmp4.cpp:1496 +msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" +msgstr "A la pista de audio AVC le falta la partícula «CTTS» para el ajuste del código de tiempo. Sin embargo, AVC/h.264 permite a los fotogramas tener más de una (para fotogramas P) o dos (para fotogramas B) referencias a otros fotogramas. Los códigos de tiempo para tales fotogramas serán malogrados, y la partícula «CTTS» es necesaria para obtener los códigos de tiempo correctos. Como está ausente, los códigos de tiempo para esta pista serán erróneos. Deberías ver el archivo obtenido y asegurarte de que acaba tal como esperabas.\n" + +#: src/extract/tracks.cpp:279 +msgid "The CUE sheet for track %1% will be written to '%2%'.\n" +msgstr "Las hojas de distribución de pistas (CUE Sheet) para la pista %1% serán escritas a '%2%'.\n" + +#: src/merge/pr_generic.h:399 +msgid "The CodecID of the two tracks is different: %1% and %2%" +msgstr "La ID del codec de las dos pistas es diferente: %1% y %2%" + +#: src/output/p_flac.cpp:102 +msgid "The FLAC header data is different for the two tracks (lengths: %1% and %2%)" +msgstr "Los datos del encabezado FLAC es diferentes para las dos pistas (longitudes: %1% y %2%)" + +#: src/output/p_flac.cpp:49 +msgid "The FLAC headers could not be parsed: the stream info structure was not found.\n" +msgstr "Los encabezados FLAC no pudieron ser analizados: la información de la estructrura del archivo no se encontró.\n" + +#: src/output/p_video.cpp:91 +msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" +msgstr "Los frames (fotogramas) por segundo (FPS) son 0,0, pero el lector no escaló un código de tiempo para un paquete. %1%\n" + +#: src/mmg/tabs/input.cpp:1332 +#, c-format +msgid "The FPS setting for track nr. %s in file '%s' is invalid." +msgstr "Los frames (fotogramas) por segundo (FPS) establecidos para la pista n.º %s en el archivo '%s' no son válidos." + +#: src/merge/mkvmerge.cpp:1119 +msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" +msgstr "El FourCC debe ser exactamente de cuatro caracteres de extensión en '%1% %2%'.\n" + +#: src/mmg/tabs/input.cpp:1320 +#, c-format +msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." +msgstr "El FourCC establecido para la pista n.º %s en el archivo '%s' no es exactamente de cuatro caracteres de extensión." + +#: src/mmg/mmg_dialog.cpp:1866 +#, c-format +msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." +msgstr "La interfaz gráfica está configurada para usar el ejecutable de mkvmerge desde una versión diferente (%s) de la propia interfaz (%s). Esta no es compatible, pero tampoco será evitada. Debes cambiar la ruta del ejecutable de mkvmerge; para ello, dirígete a la barra de menús, selecciona Archivo y después Opciones. Se abrirá una ventana que consta de cuatro pestañas, entonces dirígete a la que dice mkvmerge y verás que desde ahí podrás indicar la ruta de localización del ejecutable." + +#: src/input/r_ogm.cpp:1508 +msgid "The Kate identifaction header could not be parsed (%1%).\n" +msgstr "El encabezado de identificación KATE no puede ser analizado (%1%).\n" + +#: src/mmg/wx_kax_analyzer.cpp:35 +msgid "The Matroska file is analyzed." +msgstr "El archivo Matroska está analizado." + +#: src/mmg/header_editor/frame.cpp:701 +#: src/propedit/propedit.cpp:38 +msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" +msgstr "El archivo Matroska ha sido modificado, pero el registro meta seek no ha podido ser actualizado. Esto significa que los reproductores podrían tener dificultades en encontrar este elemento. Por favor, usa tu reproductor favorito para comprobar este archivo.\n" + +#: src/mmg/tabs/chapters.cpp:1903 +msgid "" +"The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" +"\n" +"The proper solution is to save these chapters into a XML file and then to remux the file with the chapters included." +msgstr "" +"El archivo Matroska ha sido modificado, pero el registro meta seek no ha podido ser actualizado. Esto significa que los reproductores podrían tener dificultades en encontrar este elemento. Por favor, usa tu reproductor favorito para comprobar este archivo.\n" +".\n" +"\n" +"La solucion apropiada es guardar estos capítulos en un archivo XML y entonces remultiplexar el archivo con los capítulos incluidos." + +#: src/merge/mkvmerge.cpp:1250 +msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" +msgstr "La extensión de tamaño NALU debe ser un número entre el 2 y el 4 incluido en '--nalu-size-length %1%'.\n" + +#: src/input/r_ogm.cpp:1338 +msgid "The Theora identifaction header could not be parsed (%1%).\n" +msgstr "El encabezado de identificación Theora no pudo ser analizado (%1%).\n" + +#: src/output/p_vorbis.cpp:142 +msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" +msgstr "Los libros de códigos Vorbis son diferentes; algunas pistas no pueden ser concatenadas sin recodificar" + +#: src/merge/mkvmerge.cpp:1513 +msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" +msgstr "El argumento '%1%' a '%2%' no es válido: '%3%' el ID de la pista no es válido.\n" + +#: src/merge/mkvmerge.cpp:1522 +msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" +msgstr "El argumento '%1%' a '%2%' no es válido: '%3%' debe ser 'todos' o 'primero'.\n" + +#: src/merge/mkvmerge.cpp:1509 +msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" +msgstr "El argumento '%1%' a '%2%' no es válido: demasiados signos de dos puntos en el elemento '%3%'.\n" + +#: src/merge/mkvmerge.cpp:1472 +msgid "The argument to '--timecode-scale' must be a number.\n" +msgstr "El argumento para '--timecode-scale' debe ser un número.\n" + +#: src/mmg/tabs/input.cpp:1388 +#, c-format +msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." +msgstr "La relación de aspecto (aspect ratio) establecida para la pista n.º %s en el archivo '%s' no es válida." + +#: src/extract/attachments.cpp:115 +msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" +msgstr "El archivo adjunto #%1%, ID %2%, tipo MIME %3%, tamaño %4%, es escrito a '%5%'.\n" + +#: src/merge/mkvmerge.cpp:1403 +msgid "The attachment '%1%' could not be read.\n" +msgstr "El archivo adjunto '%1%' no pudo ser leído.\n" + +#: src/common/xml/element_parser.cpp:217 +msgid "The binary data must be at least %1% bytes long." +msgstr "Los datos binarios deben ser al menos de %1% bytes de extensión." + +#: src/common/xml/element_parser.cpp:220 +msgid "The binary data must be at most %1% bytes long." +msgstr "Los datos binarios deben ser como máximo de %1% bytes de extensión." + +#: src/common/xml/element_parser.cpp:214 +msgid "The binary data must be exactly %1% bytes long." +msgstr "Los datos binarios deben ser exactamente de %1% bytes de extensión." + +#: src/propedit/propedit.cpp:104 +msgid "The changes are written to the file.\n" +msgstr "Los cambios son escritos al archivo.\n" + +#: src/mmg/tabs/chapters.cpp:778 +#, c-format +msgid "The chapter '%s' is missing its language." +msgstr "En el capítulo '%s' está ausente el idioma." + +#: src/mmg/tabs/chapters.cpp:772 +#, c-format +msgid "The chapter '%s' is missing the start time." +msgstr "En el capítulo '%s' está ausente el tiempo de inicio." + +#: src/mmg/mmg_dialog.cpp:598 +msgid "" +"The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" +"\n" +"Do you really want to continue muxing?\n" +"\n" +"Note: This warning can be deactivated in the 'options' dialog. Turn off the 'Warn about usage...' option." +msgstr "" +"El editor de capítulos ha sido utilizado y contiene una serie de datos. Sin embargo, ningún archivo de capítulos ha sido seleccionado en la pestaña de Opciones generales. En mmg, el editor del capítulos es totalmente independiente del proceso de multiplexado. Por lo tanto, los capítulos creados en el editor NO serán multiplexados al archivo de salida. Para guardarlos dirígete al Editor de capítulos de la barra de menús y utiliza la opción del comando Guardar que más se ajuste a tus necesidades.\n" +"\n" +"¿Estás seguro de querer continuar el multiplexado?\n" +"\n" +"Nota: Esta advertencia puede ser desactivada en el cuadro de Opciones. Desactiva la opción «Aviso acerca del uso...»." + +#: src/output/p_mpeg4_p10.cpp:156 +msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" +msgstr "La extensión de tamaño NALU elegida de %1% es demasiado pequeña. Prueba a utilizar '4'.\n" + +#: src/merge/pr_generic.cpp:1240 +msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" +msgstr "El tipo de códec '%1%' no puede ser usado en archivos compatibles WebM.\n" + +#: src/output/p_textsubs.cpp:102 +#: src/output/p_passthrough.cpp:63 +#: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 +msgid "The codec's private data does not match (lengths: %1% and %2%)." +msgstr "Los datos privados del códec no coinciden (extensiónes: %1% y %2%)." + +#: src/output/p_mpeg4_p10.cpp:103 +msgid "The codec's private data does not match. Both have the same length (%1%) but different content." +msgstr "Los datos privados del códec no coinciden. Ambos tienen la misma extensión (%1%), pero el contenido es diferente." + +#: src/input/r_wavpack.cpp:72 +msgid "The correction file header was not read correctly.\n" +msgstr "El encabezado del archivo de correción no puede ser leído correctamente.\n" + +#: src/mmg/options/chapters.cpp:120 +#, c-format +msgid "The country '%s' is not a valid ccTLD and cannot be selected." +msgstr "El país '%s' no es un ccTLD válido y no puede ser seleccionado." + +#: src/merge/output_control.cpp:1401 +msgid "The cue entries (the index) are being written..." +msgstr "El índice está siendo escrito..." + +#: src/mmg/tabs/input.cpp:733 +#, c-format +msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." +msgstr "El archivo actual (número %d) no puede ser eliminado. Hay otros archivos -- al menos el número de archivo %d -- cuyas pistas se supone que van a ser unidas a las pistas de ese archivo. Por favor, elimina estos archivos primero." + +#: src/merge/pr_generic.cpp:844 +msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "El código de tiempo del paquete actual es mas pequeño que el del anterior paquete. Normalmente, significa que el archivo de origen es un archivo Matroska que no ha sido creado correctamente al 100%%. Los códigos de tiempo de todos los paquetes serán ajustados por %1%ms a fin de no perder ningún dato. Esto puede deshacer la sincronizacion de audio/vídeo, pero puede ser corregida con la opción de mkvmerge \"--sync\". Si ya usaste \"--sync\" y todavía obtienes este aviso, NO te preocupes, es normal. Si el error sucede más de una vez, vuelves a obtener este mensaje para una pista en particular, entonces el archivo de origen puede estar mal editado, o MKVmerge tiene un fallo. En ese caso deberías contactar con el autor, Moritz Bunkus <moritz@bunkus.org>.\n" + +#: src/input/r_usf.cpp:129 +msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" +msgstr "El código del idioma predefinido '%1%' no es un código de idioma ISO639-2 válido y será ignorado.\n" + +#: src/mmg/tabs/input.cpp:1299 +#, c-format +msgid "The delay setting for track nr. %s in file '%s' is invalid." +msgstr "Los ajustes de retraso (delay) para la pista n.º %s en el archivo '%s' no es válido." + +#: src/merge/output_control.cpp:1157 +msgid "" +"The demultiplexer for the file '%1%' failed to initialize:\n" +"%2%\n" +msgstr "" +"El demultiplexado para el archivo '%1%' ha fallado al iniciarse:\n" +"%2%\n" + +#: src/mmg/tabs/global.cpp:294 +#: src/mmg/tabs/global.cpp:298 +msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." +msgstr "La diferencia entre etiquetas asociadas con una pista y las etiquetas generales estan explicadas en la documentación de mkvmerge. En pocas palabras, las etiquetas generales se aplican a un archivo completo, mientras que las etiquetas que puedes añadir en la pestaña Entrada, se aplican a una sola pista." + +#: src/merge/pr_generic.h:394 +msgid "The display height of the two tracks is different: %1% and %2%" +msgstr "La altura de visualización de las dos pistas es diferente: %1% and %2%" + +#: src/merge/pr_generic.h:389 +msgid "The display width of the two tracks is different: %1% and %2%" +msgstr "La anchura de visualización de las dos pistas es diferente: %1% and %2%" + +#: src/info/wxwidgets_ui.cpp:364 +#, c-format +msgid "" +"The dragged file '%s'\n" +"is not a Matroska file." +msgstr "" +"El archivo arrastrado '%s'\n" +"no es un archivo Matroska." + +#: src/mmg/tabs/global.cpp:240 +msgid "The duration after which a new output file is started. The time can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH' and the number of nanoseconds 'nnnnnnnnn'. If given then you may use up to nine digits after the decimal point. Examples: 01:00:00 (after one hour) or 1800s (after 1800 seconds)." +msgstr "La duración después de la cual un nuevo archivo de salida se inicia. El tiempo puede ser asigando, ya sea en la forma HH:MM:SS.nnnnnnnnn o como el número de los segundos seguido de «s». Puedes omitir el número de las horas y el número de los nanosegundos. Puedes utilizar hasta nueve dígitos después del punto decimal. Ejemplos: 01:00:00 (después de una hora) o 1800s (después de 1800 segundos)." + +#: src/propedit/options.cpp:188 +msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" +msgstr "Los ajustes de edición '%1%' y '%2%' determinan la misma pista con la UID %3%.\n" + +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 +#: src/propedit/propedit.cpp:28 +msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" +msgstr "El elemento fue escrito al final del archivo, pero el tamaño del segmento no pudo ser actualizado. Por lo tanto, el elemento no será visible. El proceso será cancelado. ¡El archivo ha sido cambiado!" + +#: src/output/p_mpeg4_p2.cpp:379 +msgid "The extracted values for video width and height from the MPEG4 layer 2 video data bitstream differ from what the values in the source container. The ones from the video data bitstream (%1%x%2%) will be used.\n" +msgstr "Los valores extraídos para el ancho y alto del vídeo desde los datos de las cadenas de bits del vídeo MPEG4 layer2 serán distintos a los valores de la fuente del contenedor. Los datos del paquete de bits del vídeo (%1%x%2%) serán usados.\n" + +#: src/extract/extract_cli_parser.cpp:110 +msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." +msgstr "El quinto modo intenta extraer información del capítulo y etiquetas y los exporta en una hoja de distribución de pistas (CUE Sheet). Esto es lo inverso de usar una hoja de distribución de pistas con la opción de mkvmerge '--chapters'." + +#: src/merge/mkvmerge.cpp:1384 +msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" +msgstr "El archivo %1% no puede ser adjuntado porque no existe o no puede ser leído.\n" + +#: src/extract/attachments.cpp:141 +#: src/extract/cuesheets.cpp:208 +#: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 +msgid "The file '%1%' could not be opened for reading (%2%)." +msgstr "El archivo %1% no pudo ser abierto para su lectura (%2%)." + +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 +msgid "The file '%1%' could not be opened for reading (%2%).\n" +msgstr "El archivo %1% no pudo ser abierto para su lectura (%2%).\n" + +#: src/common/command_line.cpp:45 +msgid "The file '%1%' could not be opened for reading command line arguments.\n" +msgstr "El archivo %1% no pudo ser abierto para leer los argumentos de la línea de comandos.\n" + +#: src/extract/tracks.cpp:276 +#: src/extract/xtr_avi.cpp:52 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 +msgid "The file '%1%' could not be opened for writing (%2%).\n" +msgstr "El archivo %1% no pudo ser abierto para su escritura (%2%).\n" + +#: src/extract/attachments.cpp:121 +#: src/extract/xtr_rmff.cpp:40 +msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" +msgstr "El archivo %1% no pudo ser abierto para su escritura (%2%, %3%).\n" + +#: src/merge/output_control.cpp:1366 +msgid "The file '%1%' has been opened for writing.\n" +msgstr "El archivo %1% ha sido abierto para su escritura.\n" + +#: src/merge/mkvmerge.cpp:2127 +msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" +msgstr "El archivo %1% es de un tipo desconocido. Por favor, observa los archivos compatibles ('mkvmerge --list-types') y contacta con el autor, Moritz Bunkus <moritz@bunkus.org>, si el tipo de archivo es compatible pero no es reconocido correctamente.\n" + +#: src/merge/pr_generic.cpp:1359 +msgid "The file '%1%' is a non-supported file type (%2%).\n" +msgstr "El archivo %1% es un tipo de archivo incompatible (%2%).\n" + +#: src/common/xml/element_parser.cpp:142 +msgid "The file '%1%' is empty." +msgstr "El archivo %1% está vacío." + +#: src/mmg/mmg.cpp:225 +#, c-format +msgid "The file '%s' does not exist." +msgstr "El archivo '%s' no existe." + +#: src/mmg/tabs/input.cpp:296 +#, c-format +msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." +msgstr "El archivo '%s' ya se ha procesado en combinación con el archivo '%s'. No puede ser añadido una segunda vez." + +#: src/info/qt_ui.cpp:77 +msgid "The file could not be opened for writing." +msgstr "El archivo no pudo ser abierto para su escritura." + +#: src/mmg/mmg_dialog.cpp:389 +msgid "The file does not exist." +msgstr "El archivo no existe." + +#: src/mmg/mmg_dialog.cpp:408 +msgid "The file does not seem to be a valid mkvmerge GUI settings file." +msgstr "El archivo no parece ser un archivo de ajustes del mkvmerge GUI." + +#: src/mmg/header_editor/frame.cpp:525 +msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." +msgstr "El archivo ha sido cambiado por otro programa ya que ha sido leído por el editor del encabezado. Por lo tanto, tienes que recargarlo. Desafortunadamente, esto significa que todos los cambios se perderán." + +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "El archivo no ha sido modificado." + +#: src/input/r_tta.cpp:64 +msgid "The file header is too short.\n" +msgstr "El encabezado del archivo es demasiado corto.\n" + +#: src/input/r_wavpack.cpp:56 +msgid "The file header was not read correctly.\n" +msgstr "El encabezado no fue leído correctamente.\n" + +#: src/mmg/tabs/input.cpp:346 +#, c-format +msgid "The file is an unsupported container format (%s)." +msgstr "El archivo es un formato de contenedor no compatible (%s)." + +#: src/propedit/propedit.cpp:87 +msgid "The file is analyzed.\n" +msgstr "El archivo está analizado.\n" + +#: src/merge/output_control.cpp:255 +msgid "The file is being fixed, part 1/4..." +msgstr "El archivo esta siendo fijado, parte 1/4..." + +#: src/merge/output_control.cpp:261 +msgid "The file is being fixed, part 2/4..." +msgstr "El archivo esta siendo fijado, parte 2/4..." + +#: src/merge/output_control.cpp:270 +msgid "The file is being fixed, part 3/4..." +msgstr "El archivo esta siendo fijado, parte 3/4..." + +#: src/merge/output_control.cpp:282 +msgid "The file is being fixed, part 4/4..." +msgstr "El archivo esta siendo fijado, parte 4/4..." + +#: src/common/property_element.cpp:103 +#: src/mmg/header_editor/frame.cpp:332 +msgid "The file name for this segment." +msgstr "El nombre del archivo para este segmento." + +#: src/merge/output_control.cpp:893 +msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" +msgstr "El archivo n.º %1% ('%2%') no contiene una pista con la ID %3%, o que la pista no se va a copiar. El argumento para '--append-to' no es válido.\n" + +#: src/merge/output_control.cpp:899 +msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" +msgstr "El archivo n.º %1% ('%2%') no contiene una pista con la ID %3%, o que la pista no se va a copiar. Por lo tanto, ninguna pista puede ser unida al archivo. El argumento para '--append-to' no es válido.\n" + +#: src/merge/output_control.cpp:835 +msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" +msgstr "El archivo n.º %1% ('%2%') no está siendo unido. El argumento para '--append-to' no es válido.\n" + +#: src/mmg/header_editor/frame.cpp:248 +msgid "The file you tried to open is not a Matroska file." +msgstr "El archivo que intentas abrir no es un archivo Matroska." + +#: src/mmg/tabs/chapters.cpp:642 +msgid "The file you tried to save to is NOT a Matroska file." +msgstr "El archivo que intentas guardar NO es un archivo Matroska." + +#: src/mmg/tabs/chapters.cpp:684 +msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." +msgstr "El archivo que intentas guardar es un archivo Matroska. Para realizar este trabajo tienes que usar la opción del menu Guardar a archivo Matroska." + +#: src/merge/mkvmerge.cpp:2116 +msgid "The first file cannot be appended because there are no files to append to.\n" +msgstr "El primer archivo no puede ser unido porque no hay archivos con que unirlo.\n" + +#: src/extract/extract_cli_parser.cpp:71 +msgid "The first mode extracts some tracks to external files." +msgstr "El primer modo extrae algunas pistas a archivos externos." + +#: src/extract/extract_cli_parser.cpp:60 +msgid "The first word tells mkvextract what to extract. The second must be the source file. There are few global options that can be used with all modes. All other options depend on the mode." +msgstr "La primera palabra le indica a mkvextract lo que debe extraer. La segunda debe ser el archivo de origen. Hay pocas opciones generales que se puedan usar con todos los modos. Todas las demás opciones dependen del modo usado." + +#: src/mmg/tabs/global.cpp:554 +msgid "The format of the split size is invalid (size too small)." +msgstr "El formato del tamaño de división no es válido (tamaño demasiado pequeño)." + +#: src/mmg/tabs/global.cpp:546 +#: src/mmg/tabs/global.cpp:550 +msgid "The format of the split size is invalid." +msgstr "El formato del tamaño de la división no es válido." + +#: src/mmg/tabs/global.cpp:573 +msgid "The format of the split timecode/duration is invalid." +msgstr "El formato del código de tiempo/duración de la división no es válido." + +#: src/merge/output_control.cpp:963 +msgid "The formats do not match." +msgstr "Los formatos no coinciden." + +#: src/extract/extract_cli_parser.cpp:101 +msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." +msgstr "El cuarto modo extrae los capítulos y los convierte a XML. El archivo se crea en la dirección de salida estándar. El archivo creado puede ser utilizado como un archivo origen para mkvmerge." + +#: src/merge/mkvmerge.cpp:1478 +msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" +msgstr "El factor de escala asignado en los códigos de tiempo esta fuera de un rango válido (1... 10000000 o -1 para precisión de la muestra incluso si una pista de vídeo está presente).\n" + +#: src/common/xml/element_writer.cpp:187 +#: src/common/xml/element_writer.cpp:197 +#: src/common/xml/element_writer.cpp:206 +msgid "The header has already been written." +msgstr "El encabezado ya ha sido escrito." + +#: src/merge/pr_generic.h:384 +msgid "The height of the two tracks is different: %1% and %2%" +msgstr "La altura de las dos pistas es diferentes: %1% y %2%" + +#: src/mmg/tabs/input.cpp:615 +#, c-format +msgid "The input file '%s' does not contain any tracks." +msgstr "El archivo de entrada '%s' no contiene ningúna pista." + +#: src/mmg/tabs/input.cpp:1223 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #1)" +msgstr "" +"El archivo de trabajo no ha podido ser analizado correctamente,\n" +"ya sea porque es inválido o está corrupto, o porque has encontrado\n" +"un fallo en mmg. Por favor, contacta con el autor,\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problema ocurrido en tab_input::load(), #1)" + +#: src/mmg/tabs/input.cpp:1230 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #2)" +msgstr "" +"El archivo de trabajo no ha podido ser analizado correctamente,\n" +"ya sea porque es inválido o está corrupto, o porque has encontrado\n" +"un fallo en mmg. Por favor, contacta con el autor,\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problema ocurrido en tab_input::load(), #2)" + +#: src/mmg/tabs/input.cpp:1243 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #3)" +msgstr "" +"El archivo de trabajo no ha podido ser analizado correctamente,\n" +"ya sea porque es inválido o está corrupto, o porque has encontrado\n" +"un fallo en mmg. Por favor, contacta con el autor,\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problema ocurrido en tab_input::load(), #3)" + +#: src/mmg/options/chapters.cpp:113 +#: src/mmg/tabs/chapters.cpp:1307 +#, c-format +msgid "The language '%s' is not a valid language and cannot be selected." +msgstr "El idioma '%s' no es válido y no puede ser seleccionado." + +#: src/input/r_usf.cpp:161 +msgid "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" +msgstr "El código del idioma '%1%' no es un código de idioma ISO639-2 válido y será ignorado.\n" + +#: src/merge/timecode_factory.cpp:214 +msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" +msgstr "La línea %1% del archivo del código de tiempo '%2%' no contiene un número decimal válido.\n" + +#: src/common/translation.cpp:283 +msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" +msgstr "La carpeta local no ha podido establecerse correctamente. Comprueba el LANG, LC_ALL y las variables de entorno LC_MESSAGES.\n" + +#: src/mmg/tabs/global.cpp:258 +msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." +msgstr "El máximo número archivos serán creados incluso si el ultimo archivo contiene más bytes/tiempo que los necesarios. Un ejemplo útil sería cuando necesitas exactamente dos archivos. Si dejas esto vacío no hay ningún limite para el número de archivos que mkvmerge puede crear." + +#: src/common/property_element.cpp:125 +#: src/mmg/header_editor/frame.cpp:415 +msgid "" +"The maximum number of frames a player\n" +"should be able to cache during playback.\n" +"If set to 0, the reference pseudo-cache system\n" +"is not used." +msgstr "" +"El número máximo de fotogramas que un reproductor\n" +"debería ser capaz de almacenar en la memoria caché\n" +"durante la reproducción.\n" +"Si lo estableces a 0, el sistema de referencia pseudo-cache\n" +"no es utilizada." + +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 +#: src/propedit/propedit.cpp:33 +msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" +msgstr "El elemento meta seek fue escrito al final del archivo, pero el tamaño del segmento no pudo ser actualizado. Por lo tanto, no será visible. El proceso será cancelado. ¡El archivo ha sido modificado!" + +#: src/common/property_element.cpp:123 +#: src/mmg/header_editor/frame.cpp:410 +msgid "" +"The minimum number of frames a player\n" +"should be able to cache during playback.\n" +"If set to 0, the reference pseudo-cache system\n" +"is not used." +msgstr "" +"El número mínimo de fotogramas que un reproductor\n" +"debería ser capaz de almacenar en la memoria caché\n" +"durante la reproducción.\n" +"Si lo estableces a 0, el sistema de referencia pseudocaché\n" +"no es utilizada." + +#: src/mmg/mmg_dialog.cpp:694 +msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." +msgstr "El archivo de ayuda de mkvmerge GUI no se ha encontrado en la ruta que has seleccionado. Por favor, inténtalo otra vez o cancela la acción pulsando el botón Cancelar." + +#: src/mmg/mmg_dialog.cpp:687 +msgid "" +"The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" +"\n" +"Please select the location of the 'mkvmerge-gui.hhp' file." +msgstr "" +"El archivo de ayuda de mkvmerge GUI no fue encontrado. Esto indica que ha sido abierto con anterioridad, o que la ruta de instalación ha sido cambiada desde entonces.\n" +"\n" +"Por favor, selecciona la localización del archivo mkvmerge-gui.hhp." + +#: src/propedit/change.cpp:61 +msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" +msgstr "El nombre '%1%' no es un nombre de propiedad válido para la especificación de edición actual en '%2%'.\n" + +#: src/merge/mkvmerge.cpp:2087 +msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" +msgstr "El nombre del archivo de salida '%1%' y del único archivo de entrada es el mismo. Esto causaría que mkvmerge sobrescribiera uno de tus archivos de entrada, y probablemente no es eso lo que quieres hacer.\n" + +#: src/merge/mkvmerge.cpp:1335 +msgid "The next UID was already given in '%1% %2%'.\n" +msgstr "El próximo UID ya fue asignado en '%1% %2%'.\n" + +#: src/merge/pr_generic.h:374 +msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" +msgstr "El número de bits por muestra de las dos pistas de audio es diferente: %1% y %2%" + +#: src/merge/pr_generic.h:369 +msgid "The number of channels of the two audio tracks is different: %1% and %2%" +msgstr "El número de canales de las dos pistas de audio es diferente: %1% y %2%" + +#: src/merge/timecode_factory.cpp:262 +msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" +msgstr "El número de los códigos de tiempos externos %1% es más pequeño que el número de fotogramas de la pista. Los fotogramas restantes de esta pista podrían no estar marcados por el tiempo que se pretendía hacer. mkvmerge puede incluso bloquearse.\n" + +#: src/common/property_element.cpp:146 +#: src/mmg/header_editor/frame.cpp:483 +msgid "" +"The number of video pixels to remove\n" +"on the bottom of the image." +msgstr "" +"El número de píxeles de vídeo por eliminar\n" +"en la parte inferior de la imagen." + +#: src/common/property_element.cpp:143 +#: src/mmg/header_editor/frame.cpp:468 +msgid "" +"The number of video pixels to remove\n" +"on the left of the image." +msgstr "" +"El número de píxeles de vídeo por eliminar\n" +"en la parte izquierda de la imagen." + +#: src/common/property_element.cpp:145 +#: src/mmg/header_editor/frame.cpp:478 +msgid "" +"The number of video pixels to remove\n" +"on the right of the image." +msgstr "" +"El número de píxeles de vídeo por eliminar\n" +"en la parte derecha de la imagen." + +#: src/common/property_element.cpp:144 +#: src/mmg/header_editor/frame.cpp:473 +msgid "" +"The number of video pixels to remove\n" +"on the top of the image." +msgstr "" +"El número de píxeles de vídeo por eliminar\n" +"en la parte superior de la imagen." + +#: src/merge/mkvmerge.cpp:1842 +msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" +msgstr "La opción '--meta-seek-size' ya no es compatible. Por favor, lee la documentacion de mkvmerge, especialmente la sección acerca de MATROSKA FILE LAYOUT.\n" + +#: src/propedit/propedit_cli_parser.cpp:157 +msgid "The order of the various options is not important." +msgstr "El orden de las diferentes opciones no es importante." + +#: src/merge/output_control.cpp:1362 +msgid "The output file '%1%' could not be opened for writing (%2%).\n" +msgstr "El archivo de salida '%1%' no pudo ser abierto para su escritura (%2%).\n" + +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 +#, c-format +msgid "The output file '%s' already exists. Do you want to overwrite it?" +msgstr "El archivo de salida '%s' ya existe. ¿Quieres sobreescribirlo?" + +#: src/mmg/mmg_dialog.cpp:585 +msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." +msgstr "El nombre del archivo de salida no es válido; p. ej., debería contener un carácter como \":\". " + +#: src/input/r_corepicture.cpp:154 +msgid "The panoramic mode '%1%' is not recognized.\n" +msgstr "El modo panorámico '%1%' no fue reconocido.\n" + +#: src/input/r_corepicture.cpp:138 +msgid "The picture type '%1%' is not recognized.\n" +msgstr "El tipo de imagen '%1%' no fue reconocida.\n" + +#: src/merge/mkvmerge.cpp:1322 +msgid "The previous UID was already given in '%1% %2%'.\n" +msgstr "El anterior UID ya fue asignado en '%1% %2%'.\n" + +#: src/propedit/change.cpp:114 +msgid "The property value contains non-ASCII characters, but the property is not a Unicode string in '%1%'. %2%\n" +msgstr "El valor de la propiedad contiene caracteres no ASCII, pero la propiedad no es una cadena de caracteres Unicode en '%1%'. %2%\n" + +#: src/propedit/change.cpp:156 +msgid "The property value is not a valid binary spec or it is not exactly 128 bits long in '%1%'. %2%\n" +msgstr "El valor de la propiedad no es una especificación binaria o no es exactamente de 128 bits de longitud en '%1%'. %2%\n" + +#: src/propedit/change.cpp:141 +msgid "The property value is not a valid boolean in '%1%'. %2%\n" +msgstr "El valor de la propiedad no es un booleano válido en '%1%'. %2%\n" + +#: src/propedit/change.cpp:148 +msgid "The property value is not a valid floating point number in '%1%'. %2%\n" +msgstr "El valor de la propiedad no es un número decimal válido en '%1%'. %2%\n" + +#: src/propedit/change.cpp:133 +msgid "The property value is not a valid signed integer in '%1%'. %2%\n" +msgstr "El valor de la propiedad no es un entero con signo válido en '%1%'. %2%\n" + +#: src/propedit/change.cpp:127 +msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" +msgstr "El valor de la propiedad no es un entero sin signo válido en '%1%'. %2%\n" + +#: src/merge/output_control.cpp:965 +msgid "The reason is unknown." +msgstr "La razón es desconocida." + +#: src/common/xml/element_parser.cpp:335 +msgid "The root element must be <%1%>." +msgstr "El elemento fundamental (root) debe ser <%1%>." + +#: src/merge/pr_generic.h:364 +msgid "The sample rate of the two audio tracks is different: %1% and %2%" +msgstr "La frecuencia de muestreo de dos pistas de audio es diferente: %1% y %2%" + +#: src/common/property_element.cpp:128 +#: src/mmg/header_editor/frame.cpp:424 +msgid "" +"The scale to apply on this track to work at normal\n" +"speed in relation with other tracks (mostly used\n" +"to adjust video speed when the audio length differs)." +msgstr "" +"La escala que aplicar en esta pista para trabajar a velocidad normal\n" +"en relación a otras pistas (en su mayoría utilizados para ajustar\n" +" la velocidad de vídeo cuando la longitud de audio es diferente)." + +#: src/extract/extract_cli_parser.cpp:85 +msgid "The second mode extracts the tags and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." +msgstr "El segundo modo extrae las etiquetas y las convierte a XML. El archivo se crea en la dirección de salida estándar. El archivo creado puede ser utilizado como un archivo origen para mkvmerge." + +#: src/input/r_tta.cpp:84 +msgid "The seek table in this TTA file seems to be broken.\n" +msgstr "La tabla de búsqueda en este archivo TTA parece que está corrupta.\n" + +#: src/mmg/tabs/chapters.cpp:783 +#, c-format +msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." +msgstr "El idioma seleccionado '%s' para el capítulo '%s' no es un código de idioma válido. Por favor, selecciona uno de los predefinidos." + +#: src/extract/extract_cli_parser.cpp:119 +msgid "The sixth mode finds the timecodes of all blocks for a track and outputs a timecode v2 file with these timecodes." +msgstr "El sexto modo encuentra los códigos de tiempo de todos los bloques para una pista y genera un archivo de código de tiempo v2 (timecodes v2) para esos códigos." + +#: src/mmg/tabs/global.cpp:237 +msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." +msgstr "El tamaño después del cual un nuevo archivo de salida se inicia. Las letras G, M y K pueden ser usadas para indicar giga-, mega- o kilobytes, respectivamente. Todas las unidades están basadas en 1024 (G = 1024^3, M = 1024^2, k = 1024)." + +#: src/merge/mkvmerge.cpp:1397 +msgid "The size of attachment '%1%' is 0.\n" +msgstr "El tamaño del archivo adjunto '%1%' es 0.\n" + +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 +msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" +msgstr "El archivo de origen '%1%' no pudo ser abierto correctamente, o recuperar su tamaño buscando hasta el final no funcionó.\n" + +#: src/mmg/tabs/input.cpp:1310 +#, c-format +msgid "The stretch setting for track nr. %s in file '%s' is invalid." +msgstr "El tramo de ajuste para la pista n.º %s en el archivo '%s' no es válido." + +#: src/propedit/propedit_cli_parser.cpp:165 +msgid "The string 'track:' followed by one of the chars 'a', 'b', 's' or 'v' followed by a number 'n' selects the nth audio, button, subtitle or video track (e.g. '--edit track:a2')." +msgstr "La cadena de caracteres 'track:' seguida por uno de los caracteres a, b, s o v, y estos de un número n, selecciona el enésimo: audio, botón, subtítulo o pista de vídeo (p. ej., '--edit track:a2')." + +#: src/propedit/propedit_cli_parser.cpp:167 +msgid "The string 'track:=uid' with 'uid' being a number selects the track whose 'track UID' element equals 'uid'." +msgstr "La cadena de caracteres 'track:=uid' con 'uid' siendo un número de la pista seleccionada cuyo 'track UID' es igual al elemento 'uid'." + +#: src/propedit/propedit_cli_parser.cpp:168 +msgid "The string 'track:@number' with 'number' being a number selects the track whose 'track number' element equals 'number'." +msgstr "La cadena de caracteres 'track:@number' con 'number' siendo un número de pista seleccionada cuyo 'track number' es igual al elemento 'number'." + +#: src/propedit/propedit_cli_parser.cpp:164 +msgid "The string 'track:n' with 'n' being a number selects the nth track." +msgstr "La cadena de caracteres 'track:n' con n siendo un número que selecciona la enésima pista." + +#: src/propedit/propedit_cli_parser.cpp:161 +msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." +msgstr "Las cadenas de caracteres 'info', 'segment_info' o 'segmentinfo' seleccionan el elemento de información del segmento. Esta es la opción predefinina hasta que '--edit' es encontrada." + +#: src/merge/pr_generic.cpp:291 +msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" +msgstr "Las etiquetas en '%1%' se pudieron analizar: algunos elementos obligatorios están ausentes.\n" + +#: src/extract/xtr_tta.cpp:80 +msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" +msgstr "Al archivo temporal '%1%' no ha podido ser abierto para su lectura (%2%).\n" + +#: src/extract/extract_cli_parser.cpp:93 +msgid "The third mode extracts attachments from the source file." +msgstr "El tercer modo extrae los adjuntos desde el archivo de origen." + +#: src/merge/timecode_factory.cpp:54 +msgid "The timecode file '%1%' contains an unsupported/unrecognized format (version %2%).\n" +msgstr "El archivo del código de tiempo '%1%' contiene un formato no compatible/reconocido (versión %2%).\n" + +#: src/merge/timecode_factory.cpp:40 +msgid "The timecode file '%1%' contains an unsupported/unrecognized format line. The very first line must look like '# timecode format v1'.\n" +msgstr "El archivo del código de tiempo '%1%' con tiene formato de línea no compatible/reconocida. En la primera línea debe aparecer '# timecode format v1'.\n" + +#: src/merge/timecode_factory.cpp:34 +msgid "The timecode file '%1%' could not be opened for reading.\n" +msgstr "El archivo del código de tiempo '%1%' no ha podido ser abierto para su lectura.\n" + +#: src/merge/timecode_factory.cpp:87 +#: src/merge/timecode_factory.cpp:95 +#: src/merge/timecode_factory.cpp:101 +#: src/merge/timecode_factory.cpp:296 +msgid "The timecode file '%1%' does not contain a valid 'Assume' line with the default number of frames per second.\n" +msgstr "El archivo del código de tiempo '%1%' no contiene una línea válida con la palabra «Assume», la cual define el número de fotogramas por segundo predeterminados.\n" + +#: src/merge/timecode_factory.cpp:331 +msgid "The timecode file '%1%' does not contain a valid 'Gap' line with the duration of the gap.\n" +msgstr "El archivo del código de tiempo '%1%' no contiene una línea válida con la palabra «Gap», la cual define la duración del desfase.\n" + +#: src/merge/timecode_factory.cpp:241 +#: src/merge/timecode_factory.cpp:360 +msgid "The timecode file '%1%' does not contain any valid entry.\n" +msgstr "El archivo del código de tiempo '%1%' no contiene ningún registro válido.\n" + +#: src/merge/timecode_factory.cpp:217 +msgid "" +"The timecode v2 file '%1%' contains timecodes that are not ordered. Due to a bug in mkvmerge versions up to and including v1.5.0 this was necessary if the track to which the timecode file was applied contained B frames. Starting with v1.5.1 mkvmerge now handles this correctly, and the timecodes in the timecode file must be ordered normally. For example, the frame sequence 'IPBBP...' at 25 FPS requires a timecode file with the first timecodes being '0', '40', '80', '120' etc and not '0', '120', '40', '80' etc.\n" +"\n" +"If you really have to specify non-sorted timecodes then use the timecode format v4. It is identical to format v2 but allows non-sorted timecodes.\n" +msgstr "" +"El archivo de código de tiempo v2 (timecode v2) '%1%' contiene códigos de tiempo que no están ordenados. Debido a un fallo de mkvmerge que existía hasta la versión 1.5.0 (incluida), esto era necesario si a la pista que se le aplicó el archivo de código de tiempo contenía fotogramas B. A partir de la versión 1.5.1 de MKVmerge los códigos de tiempo se ordenan correctamente en el archivo de códigos de tiempo (timecodes). Por ejemplo, la secuencia de fotogramas 'IPBBP...' a 25 FPS requiere un archivo de código de tiempo en el que los primeros códigos de tiempo sean 0, 40, 80, 120, etc., y no 0, 120, 40, 80, etc.\n" +"\n" +"Si aun asi necesitas realmente especificar códigos de tiempo no ordenados, usa el fomato v4 del código de tiempo. Es idéntico al formato v2, pero permite códigos de tiempo no ordenados.\n" + +#: src/mmg/tabs/global.cpp:245 +msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." +msgstr "Los códigos de tiempo posteriores al inicio del nuevo archivo de salida. Los códigos de tiempo se refieren a una pista y no a cada archivo de salida. Los códigos de tiempo pueden ser asignados en la forma HH:MM:SS.nnnnnnnn, o también como un número de segundos. Puedes omitir el número de horas. Puedes especificar hasta nueve dígitos para la parte de los nanosegundos, o ninguno. Si los asignas puedes usar hasta los nueve dígitos después del punto decimal. Si dos o más códigos de tiempo son usados tienes que separarlos con comas. Los formatos también pueden ser mezclados. Ejemplos: 01:00:00, 01:30:00 (después de una hora y después de una hora y treinta minutos) o 1800s, 3000s, 00:10:00 (después de 3, 5 ó 10 minutos)." + +#: src/input/r_ogm.cpp:598 +msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" +msgstr "Los códigos de tiempo han sido reestablecidos a la mitad del archivo. Esto no es compatible. El paquete actual será descartado.\n" + +#: src/common/property_element.cpp:102 +#: src/mmg/header_editor/frame.cpp:329 +msgid "The title for the whole movie." +msgstr "El título de la película entera." + +#: src/merge/output_control.cpp:909 +msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" +msgstr "La pista %1% del archivo n.º %2% ('%3%') puede ser unida más de una vez. El argumento para '--append-to' no es válido.\n" + +#: src/merge/output_control.cpp:734 +msgid "The track headers could not be rendered correctly. %1%\n" +msgstr "Los encabezados de la pista no han podido ser reproducidos correctamente. %1%\n" + +#: src/extract/tracks.cpp:90 +msgid "The track number %1% does not have a valid CodecID.\n" +msgstr "El número de pista %1% no tiene un ID del codec válido.\n" + +#: src/merge/output_control.cpp:955 +msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" +msgstr "El número de pista %1% del archivo '%2%' probablemente no puede ser unida correctamente al número de pista %3% del archivo '%4%': %5% Por favor, asegúrate de que el archivo resultante se reproduce todo el tiempo de forma correcta. El autor del programa probablemente no desarrollará ninguna herramienta de compatibilidad para los fallos de reproducción con el archivo resultante.\n" + +#: src/merge/output_control.cpp:966 +msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" +msgstr "El número de pista %1% del archivo '%2%' no puede ser unido al número de pista %3% del archivo '%4%'. %5%\n" + +#: src/common/property_element.cpp:113 +#: src/mmg/header_editor/frame.cpp:389 +msgid "The track number as used in the Block Header." +msgstr "El número de pista que se utiliza en el encabezado de bloque." + +#: src/merge/output_control.cpp:964 +msgid "The track parameters do not match." +msgstr "Los parámetros de la pista no coinciden." + +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "La información de la actualización no se pudo recuperar desde %1%.\n" + +#: src/merge/pr_generic.h:379 +msgid "The width of the two tracks is different: %1% and %2%" +msgstr "El ancho de las dos pistas es diferente: %1% y %2%" + +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "Hay una nueva versión disponible." + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 +msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" +msgstr "No hay archivo con la ID '%1%'. El argumento para '--append-to' no fue válido.\n" + +#: src/common/command_line.cpp:236 +msgid "There is no translation available for '%1%'.\n" +msgstr "No hay traducción disponible para '%1%'.\n" + +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "Hubo un error al consultar el estado de la actualización." + +#: src/mmg/mux_dialog.cpp:362 +msgid "There were ERRORs." +msgstr "Se han producido ERRORES." + +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 +msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." +msgstr "Se han producido errores en los valores del encabezado que van a ser guardados para la conservacion de los encabezados. El primer error ha sido seleccionado." + +#: src/mmg/mux_dialog.cpp:357 +msgid "There were warnings" +msgstr "Se han producido advertencias" + +#: src/mmg/mux_dialog.cpp:355 +msgid "There were warnings, or the process was terminated." +msgstr "Se han producido advertencias o el proceso ha terminado." + +#: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 +msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" +msgstr "Esta pista AAC no contiene encabezados válidos. La información AAC no ha podido ser analizada.\n" + +#: src/input/r_avi.cpp:624 +msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" +msgstr "Esta pista AAC no contiene encabezados válidos. El tamaño adicional del encabezado es %1% bytes, se esperaba 2 ó 5 bytes.\n" + +#: src/output/p_ac3.cpp:81 +msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" +msgstr "Esta pista AC3 contiene %1% bytes de información que no son datos AC3 en el inicio. Esto corresponde a un retraso (delay) de %2%ms. Este retraso (delay) será utilizado en lugar de los datos que no son AC3.\n" + +#: src/output/p_ac3.cpp:93 +msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" +msgstr "Esta pista AC3 contiene %1% bytes de información que no son datos AC3, por lo que serán omitidos. La sincronización de audio/vídeo ha podido perderse.\n" + +#: src/output/p_avc.cpp:102 +msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" +msgstr "Esta pista AVC/h.264 contiene fotogramas que son demasiado grandes para el tamaño máximo de NALU. Tienes que volver a ejecutar mkvmerge y establecer el tamaño máximo de NALU to %1% para la pista (parametro de línea de comando '--nalu-size-length %2%:%1%').\n" + +#: src/output/p_avc.cpp:153 +msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" +msgstr "Esta pista AVC/h.264 no se inicia con un fotograma clave (keyframe). El primer %1% fotograma ha sido omitido.\n" + +#: src/output/p_mp3.cpp:61 +msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" +msgstr "Esta pista de audio MPEG contiene %1% bytes de información de datos no MP3 en el inicio. Esto corresponde a un retraso (delay) de %2%ms. Este retraso (delay) será utilizado en lugar de los datos inservibles.\n" + +#: src/output/p_mp3.cpp:70 +msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" +msgstr "Esta pista de audio MPEG contiene %1% bytes de información de datos no MP3 que serán omitidos. La sincronizacion de audio/vídeo ha podido perderse.\n" + +#: src/input/r_ogm.cpp:847 +msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" +msgstr "Este archivo Ogg/OGM contiene un capítulo o título de información. Lamentablemente, la codificación de caracteres utilizada para almacenar esta información en el archivo no se puede identificar sin ambigüedad. El programa asumirá que la actual codfiicación de caracteres del sistema es el apropiado. Esto puede ser anulado aplicando el código '--chapter-charset <charset>'\n" + +#: src/mmg/header_editor/value_page.cpp:171 +msgid "" +"This element is currently present in the file.\n" +"It cannot be removed because it is a\n" +"mandatory header field." +msgstr "" +"Este elemento está presente en el archivo actual.\n" +"No puede ser eliminado porque es un\n" +"campo obligatorio del encabezado." + +#: src/mmg/header_editor/value_page.cpp:165 +msgid "" +"This element is currently present in the file.\n" +"You can let the header editor remove the element\n" +"from the file." +msgstr "" +"Este elemento está presente en el archivo actual.\n" +"Puedes permitir al editor del encabezado eliminar este elemento\n" +"desde el archivo." + +#: src/mmg/header_editor/value_page.cpp:160 +msgid "" +"This element is not currently present in the file.\n" +"You can let the header editor add the element\n" +"to the file." +msgstr "" +"Este elemento está presente en el archivo actual.\n" +"Puedes permitir al editor del encabezado añadir este elemento\n" +"desde el archivo." + +#: src/input/r_qtmp4.cpp:339 +msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" +msgstr "El archivo contiene al menos un fotograma con un código de tiempo negativo. Todos los códigos de tiempo serán ajustados a %1% por lo que, nunca más, ninguno será negativo.\n" + +#: src/input/subtitles.cpp:154 +msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" +msgstr "Este archivo contiene las coordenadas en las líneas del código de tiempo. Algunas coordenadas no son compatibles con el formato del subtítulos SRT en Matroska. Las coordenadas serán eliminadas automáticamente.\n" + +#: src/mmg/header_editor/frame.cpp:260 +#: src/mmg/tabs/chapters.cpp:549 +msgid "This file could not be opened or parsed." +msgstr "Este archivo no pudo ser abierto o analizado." + +#: src/propedit/propedit.cpp:92 +msgid "This file could not be opened or parsed.\n" +msgstr "Este archivo no pudo ser abierto o analizado.\n" + +#: src/mmg/tabs/chapters.cpp:557 +msgid "This file does not contain any chapters." +msgstr "Este archivo no contiene ninguno de los capítulos" + +#: src/mmg/tabs/chapters.cpp:565 +msgid "This file does not contain valid chapters." +msgstr "Este archivo no contiene ningún capítulo válido" + +#: src/mmg/tabs/attachments.cpp:159 +msgid "This is the name that will be stored in the output file for this attachment. It defaults to the file name of the original file but can be changed." +msgstr "Este es el nombre que será almacenado en el archivo de salida para este archivo adjunto. Su valor predefinido es el nombre del archivo original, pero puede ser cambiado." + +#: src/mmg/tabs/global.cpp:230 +msgid "This is the title that players may show as the 'main title' for this movie." +msgstr "Este es el título que el reproductor debe mostrar como el título principal para esta pelicula." + +#: src/mmg/cli_options_dlg.cpp:88 +msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." +msgstr "Esta opción requiere un argumento adicional 'n'. Indica a mkvmerge poner la mayoría de los \"n\" bloques de datos en cada clúster. Si el número es fijado con posterioridad en ms, pon la mayoría de los n milisegundos de datos en cada parte (clúster). La extensión máxima para una parte que mkvmerge admite es 60000 bloques y 32000 ms; la extensión mínina es de 100 ms. Los programas solo serán capaces de buscar los clústeres, por lo que crear partes muy grandes podría llevar a una búsqueda lenta o imprecisa." + +#: src/propedit/change.cpp:253 +msgid "This property is mandatory and cannot be deleted in '%1%'. %2%\n" +msgstr "Esta propiedad es obligatoria y no puede ser eliminada en '%1%'. %2%\n" + +#: src/propedit/change.cpp:219 +msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" +msgstr "Esta propiedad es única. No pueden ser añadidos más instancias en '%1%'. %2%\n" + +#: src/merge/output_control.cpp:278 +msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" +msgstr "REALMENTE esto no debería haber ocurrido. El espacio reservado para el primer elemento meta seek es demasiado pequeño. %1%\n" + +#: src/merge/output_control.cpp:1551 +msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" +msgstr "REALMENTE esto no debería haber ocurrido. El espacio reservado para el primer elemento de meta seek es demasiado pequeño. Tamaño necesario: %1%. %2%\n" + +#: src/common/common.h:56 +msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." +msgstr "Esto no debería haber ocurrido. Por favor, contacta con el autor, Moritz Bunkus <moritz@bunkus.org>, con un mensaje de este error/aviso, una descripción de lo que intentabas hacer, la línea de comandos utilizada y el sistema operativo que estás usando. Gracias." + +#: src/mmg/tabs/input_format.cpp:255 +msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." +msgstr "Esta pista contiene datos SBR AAC/HE-AAC/AAC+. Solo es necesario para archivos de entrada AAC, porque los archivos SBR AAC no pueden ser detectados automáticamente. No es necesario para leer las pistas AAC desde archivos MP4 o Matroska." + +#: src/mmg/tabs/input.cpp:948 +msgid "This track is not compatible with the WebM mode and cannot be enabled." +msgstr "Esta pista no es compatible con el modo WebM y no puede ser habilitada." + +#: src/info/mkvinfo.cpp:1508 +msgid "Time slice" +msgstr "Tiempo de corte" + +#: src/extract/extract_cli_parser.cpp:117 +msgid "Timecode extraction" +msgstr "Código de tiempo de extracción" + +#: src/mmg/tabs/input_general.cpp:289 +#, c-format +msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" +msgstr "Archivos de código de tiempo (*.tmc;*.txt)|*.tmc;*.txt|%s" + +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 +msgid "Timecode scale: %1%" +msgstr "Código de tiempo de escala: %1%" + +#: src/common/property_element.cpp:128 +#: src/mmg/header_editor/frame.cpp:423 +msgid "Timecode scaling" +msgstr "Códigos de tiempo escalados" + +#: src/mmg/tabs/input_general.cpp:189 +msgid "Timecodes:" +msgstr "Códigos de tiempo:" + +#: src/common/property_element.cpp:102 +#: src/mmg/header_editor/frame.cpp:329 +msgid "Title" +msgstr "Título" + +#: src/info/mkvinfo.cpp:631 +msgid "Title: %1%" +msgstr "Título: %1%" + +#: src/mmg/tabs/attachments.cpp:166 +msgid "To all files" +msgstr "Para todos los archivos" + +#: src/common/xml/element_parser.cpp:176 +msgid "Too few hexadecimal digits found. The number of digits must be > 0 and divisable by 2." +msgstr "Se encontraron muy pocos dígitos hexadecimales. El número de digitos debe ser > 0 y divisible por 2." + +#: src/extract/xtr_avc.cpp:59 +msgid "Track %1% CodecPrivate is too small.\n" +msgstr "Las pista %1% de códec privado es demasiado pequeña.\n" + +#: src/common/compression.cpp:617 +msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" +msgstr "Las pista %1% ha sido comprimida con un algoritmo de compresión desconocido/incompatible (%2%).\n" + +#: src/common/compression.cpp:597 +msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" +msgstr "Las pista %1% fue comprimida con bzlib, pero mkvmerge no ha sido compilado con compatibilidad para compresión bzlib.\n" + +#: src/common/compression.cpp:605 +msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" +msgstr "La pista %1% fue comprimida con lzo1x, pero mkvmerge no ha sido compilado con compatibilidad para la compresión lzo1x.\n" + +#: src/common/compression.cpp:589 +msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" +msgstr "La pista %1% fue comprimida con zlib, pero mkvmerge no ha sido compilado con compatibilidad para la compresión zlib.\n" + +#: src/extract/xtr_aac.cpp:51 +msgid "Track %1% with the CodecID '%2%' contains invalid \"codec private\" data for AAC.\n" +msgstr "La pista %1% con la ID del códec '%2%' no contiene \"codec private\" válidos para AAC.\n" + +#: src/extract/xtr_ogg.cpp:87 +msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" +msgstr "La pista %1% con la ID de codec '%2%' no contiene encabezados válidos.\n" + +#: src/extract/xtr_wav.cpp:41 +msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" +msgstr "La pista %1% con la ID de códec '%2%' no encuentra el elemento \"bits per second (bps)\" y no puede ser extraído.\n" + +#: src/extract/xtr_textsubs.cpp:104 +msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" +msgstr "La pista %1% con la ID de códec '%2%' no encuentra el elemento \"codec private \" y no puede ser extraído.\n" + +#: src/extract/xtr_ogg.cpp:37 +#: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 +#: src/extract/xtr_rmff.cpp:31 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 +msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" +msgstr "La pista %1% con la ID de códec '%2%' no encuentra el elemento \"codec private\" y no puede ser extraído.\n" + +#: src/extract/xtr_avi.cpp:41 +msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" +msgstr "La pista %1% con la ID de códec '%2%' no encuentra el elemento \"default duration\" y no puede ser extraído.\n" + +#: src/info/mkvinfo.cpp:1114 +msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" +msgstr "La pista %1%: %2%, la ID del códec: %3%%4%%5%%6%\n" + +#: src/input/r_qtmp4.cpp:439 +msgid "Track %1%: AAC found, but decoder config data has length %2%.\n" +msgstr "Pista %1%: AAC encontrada, pero el decodificador de configuración de datos tiene la extensión %2%.\n" + +#: src/extract/xtr_avc.cpp:39 +msgid "Track %1%: NAL too big\n" +msgstr "Pista %1%: NAL demasiado grande\n" + +#: src/extract/xtr_textsubs.cpp:55 +msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" +msgstr "Pista %1%: Subtítulo con número de registro %2% carece de duración. Asumiendo una duración de 1 s.\n" + +#: src/input/r_qtmp4.cpp:442 +msgid "Track %1%: The AAC information could not be parsed.\n" +msgstr "Pista %1%: La información AAC no ha podido ser analizada.\n" + +#: src/extract/xtr_aac.cpp:62 +#: src/extract/xtr_aac.cpp:74 +msgid "Track ID %1% has an unknown AAC type.\n" +msgstr "La ID de la pista %1% tiene un tipo AAC desconocido.\n" + +#: src/merge/pr_generic.cpp:1438 +msgid "Track ID %1%: %2% (%3%)" +msgstr "La ID de la pista %1%: %2% (%3%)" + +#: src/common/property_element.cpp:114 +#: src/mmg/header_editor/frame.cpp:392 +msgid "Track UID" +msgstr "Pista UID" + +#: src/info/mkvinfo.cpp:970 +msgid "Track UID: %1%" +msgstr "Pista UID: %1%" + +#: src/extract/extract_cli_parser.cpp:70 +msgid "Track extraction" +msgstr "Extracción de pista" + +#: src/propedit/propedit_cli_parser.cpp:88 +#: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 +msgid "Track headers" +msgstr "Encabezado de pista" + +#: src/mmg/tabs/input_general.cpp:179 +msgid "Track name:" +msgstr "Nombre de pista:" + +#: src/common/property_element.cpp:113 +#: src/mmg/header_editor/frame.cpp:388 +msgid "Track number" +msgstr "Número de pista" + +#: src/common/compression.cpp:576 +msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" +msgstr "La pista con número %1% ha sido cifrada y el desencriptado no ha sido aplicado todavía.\n" + +#: src/info/mkvinfo.cpp:961 +msgid "Track number: %1%" +msgstr "Número de pista: %1%" + +#: src/info/mkvinfo.cpp:1057 +msgid "Track overlay: %1%" +msgstr "Superposicion de pista: %1%" + +#: src/info/mkvinfo.cpp:995 +msgid "Track type: %1%" +msgstr "Tipo de pista: %1%" + +#: src/extract/xtr_base.cpp:120 +msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" +msgstr "Las pistas con contenido codificado de forma esquematica no compatible (compresión o cifrado) no pueden ser extraídas.\n" + +#: src/mmg/tabs/input.cpp:187 +msgid "Tracks, chapters and tags:" +msgstr "Pistas, capítulos y etiquetas:" + +#: src/mmg/cli_options_dlg.cpp:143 +msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." +msgstr "Las pistas de audio TrueHD reconocen dos tipos de fotogramas: sincronizados y no sincronizados. Con esta opción seleccionada, mkvmerge pondrá un fotograma sincronizado y todos los siguientes fotogramas no sincronizados, los incluirá en un único bloque de Matroska. Sin esta opción, cada fotograma no sincronizado no se pone en su propio bloque de Matroska." + +#: src/extract/xtr_vobsub.cpp:92 +msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" +msgstr "Las dos pistas VobSub solo pueden ser extraídas en el mismo archivo si sus datos privados del códec que coinciden. Este no es el caso para las pistas %1% y %2%.\n" + +#: src/common/property_element.cpp:142 +#: src/mmg/header_editor/frame.cpp:463 +msgid "" +"Type of the unit for DisplayWidth/Height\n" +"(0: pixels, 1: centimeters, 2: inches)." +msgstr "" +"Tipo de unidad para mostrar la anchura/altura\n" +"(0: píxeles, 1: centímetros, 2: pulgadas)." + +#: src/mmg/header_editor/value_page.cpp:152 +msgid "Type:" +msgstr "Tipo:" + +#: src/info/mkvinfo.cpp:819 +msgid "Type: %1% (%2%)" +msgstr "Tipo: %1% (%2%)" + +#: src/mmg/tabs/chapters.cpp:337 +msgid "UID:" +msgstr "UID:" + +#: src/common/file_types.cpp:48 +msgid "USF text subtitles" +msgstr "Subtítulos de texto USF" + +#: src/common/ebml.cpp:84 +msgid "UTFstring_to_cstrutf8: Invalid wide character. Please contact moritz@bunkus.org if you think that this is not true." +msgstr "UTFstring_to_cstrutf8: Válido todo el carácter. Por favor, contacta con moritz@bunkus.org si piensas que esto no es cierto." + +#: src/mpegparser/M2VParser.cpp:237 +msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "Fotograma de imagen inesperado después de un fotograma de un único campo. Fija el archivo del vídeo MPEG2 antes de intentar multiplexarlo.\n" + +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "Desconocido" + +#: src/output/p_aac.cpp:130 +msgid "Unknown AAC MPEG-2 profile %1%." +msgstr "Perfil desconocido de AAC MPEG-2 %1%." + +#: src/output/p_aac.cpp:118 +msgid "Unknown AAC MPEG-4 object type %1%." +msgstr "Tipo de objeto desconocido de AAC MPEG-4 %1%." + +#: src/input/r_ogm.cpp:548 +msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" +msgstr "Tipo de pista de audio desconocida 0x%|1$04x|. La ID del archivo %2% será ignorado.\n" + +#: src/common/chapters/chapters.cpp:374 +msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" +msgstr "Formato del archivo del capítulo desconocido en '%1%'. No contiene ningún formato de capítulo compatible.\n" + +#: src/common/compression.cpp:582 +msgid "Unknown content encoding type %1% for track %2%.\n" +msgstr "Contenido codificado de tipo desconocido %1% para la pista %2%.\n" + +#: src/merge/mkvmerge.cpp:1340 +msgid "Unknown format for the next UID in '%1% %2%'.\n" +msgstr "Formato desconocido para el próximo UID en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1327 +msgid "Unknown format for the previous UID in '%1% %2%'.\n" +msgstr "Formato desconocido para el anterior UID en '%1% %2%'.\n" + +#: src/merge/mkvmerge.cpp:1352 +msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" +msgstr "Formato desconocido para el segmento UID '%3%' in '%1% %2%'.\n" + +#: src/input/r_vobsub.cpp:593 +msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" +msgstr "Encabezado desconocido 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" + +#: src/extract/extract_cli_parser.cpp:222 +msgid "Unknown mode '%1%'.\n" +msgstr "Modo desconocido '%1%'.\n" + +#: src/common/mm_io_win.cpp:69 +#: src/common/mm_io.cpp:112 +msgid "Unknown open mode" +msgstr "Modo de apertura desconocida" + +#: src/common/cli_parser.cpp:113 +msgid "Unknown option '%1%'.\n" +msgstr "Opción desconocida '%1%'.\n" + +#: src/propedit/propedit_cli_parser.cpp:42 +msgid "Unknown parse mode in '%1% %2%'.\n" +msgstr "Modo de analizador desconocido en '%1% %2%'.\n" + +#: src/input/r_avi.cpp:581 +msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" +msgstr "Formato de audio desconocido/incompatible 0x%|1$04x| para esta pista de audio.\n" + +#: src/extract/extract_cli_parser.cpp:230 +msgid "Unrecognized command line option '%1%'.\n" +msgstr "Opción de línea de comandos no reconocida '%1%'.\n" + +#: src/mmg/header_editor/value_page.cpp:145 +msgid "Unsigned integer" +msgstr "Entero sin signo" + +#: src/common/xml/element_parser.cpp:81 +msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." +msgstr "El entero sin signo (%1%) es demasiado pequeño. El valor mínimo es %2%." + +#: src/input/r_vobsub.cpp:462 +msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" +msgstr "MPEG no compatible mpeg_version: 0x%|1$02x| en el paquete %2% para el código de tiempo %3%, asumiendo MPEG2. Ninguna advertencia más será mostrada para esta pista.\n" + +#: src/mmg/tabs/input.cpp:349 +msgid "Unsupported format" +msgstr "Formato no compatible" + +#: src/input/r_matroska.cpp:1787 +msgid "Unsupported track type for this track.\n" +msgstr "Tipo de pista no compatible para esta pista.\n" + +#: src/propedit/propedit.cpp:24 +msgid "Updating the '%1%' element failed. Reason:\n" +msgstr "Actualizando el '%1%' elemento que ha fallado. Razón:\n" + +#: src/extract/extract_cli_parser.cpp:49 +msgid "Usage" +msgstr "Uso" + +#: src/mmg/tabs/global.cpp:256 +msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." +msgstr "Usar el enlace del segmento para los archivos obtenidos. Para una explicación detallada de esta característica cosulta la documentación de mkvmerge." + +#: src/mmg/cli_options_dlg.cpp:127 +msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." +msgstr "Usar los valores fijados para los elementos que cambian con cada archivo de otro modo (fecha de multiplexado, segmento UID, UID de pistas, etc.). Dos archivos multiplexados con las mismos ajustes y esta opción activada serán identicos." + +#: src/mmg/cli_options_dlg.cpp:136 +msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." +msgstr "Usar las ID del antiguo códec AAC (p. ej., 'A_AAC/MPEG4/SBR') en lugar de uno nuevo ('A_AAC')" + +#: src/mmg/options/mmg.cpp:65 +msgid "Use the previous output directory" +msgstr "Usar el anterior directorio de salida" + +#: src/mmg/options/mmg.cpp:66 +msgid "Use this directory:" +msgstr "Usar este directorio:" + +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 +msgid "User defined options:" +msgstr "Opciones definidas por el usuario:" + +#: src/merge/mkvmerge.cpp:1254 +msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" +msgstr "Usando un tamaño de extensión NALU de 3 bytes debería dar lugar a pistas que no podrán ser decodificables con ciertos códecs AVC/h.264.\n" + +#: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 +msgid "Using the %1%AC3 output module.\n" +msgstr "Usando el módulo de salida %1%AC3.\n" + +#: src/input/r_avi.cpp:647 +msgid "Using the AAC audio output module.\n" +msgstr "Usando el módulo de salida de audio AAC.\n" + +#: src/input/r_aac.cpp:92 +msgid "Using the AAC demultiplexer.\n" +msgstr "Usando el multiplexor AAC.\n" + +#: src/input/r_real.cpp:371 +msgid "Using the AAC output module (FourCC: %1%).\n" +msgstr "Usando el módulo de salida AAC (FourCC: %1%).\n" + +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 +msgid "Using the AAC output module.\n" +msgstr "Usando el módulo de salida AAC.\n" + +#: src/input/r_ac3.cpp:77 +msgid "Using the AC3 demultiplexer.\n" +msgstr "Usando el multiplexor AC3.\n" + +#: src/input/r_real.cpp:305 +msgid "Using the AC3 output module (FourCC: %1%).\n" +msgstr "Usando el módulo de salida AC3 (FourCC: %1%).\n" + +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 +#: src/input/r_wav.cpp:225 +msgid "Using the AC3 output module.\n" +msgstr "Usando el módulo de salida AC3.\n" + +#: src/input/r_avc.cpp:126 +msgid "Using the AVC/h.264 ES demultiplexer.\n" +msgstr "Usando el multiplexor AVC/h.264 ES.\n" + +#: src/input/r_avi.cpp:111 +msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" +msgstr "Usando el multiplexor AVI. Abriendo el archivo. Esto debería llevar algún tiempo dependiendo del tamaño del archivo.\n" + +#: src/input/r_corepicture.cpp:89 +msgid "Using the CorePanorama subtitle reader.\n" +msgstr "Usando el lector de subtítulos CorePanorama.\n" + +#: src/input/r_dts.cpp:83 +msgid "Using the DTS demultiplexer.\n" +msgstr "Usando el multiplexor DTS.\n" + +#: src/input/r_avi.cpp:680 +#: src/input/r_dts.cpp:114 +#: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 +msgid "Using the DTS output module.\n" +msgstr "Usando el módulo de salida DTS.\n" + +#: src/input/r_dirac.cpp:86 +msgid "Using the Dirac demultiplexer.\n" +msgstr "Usando el multiplexor Dirac.\n" + +#: src/input/r_dirac.cpp:96 +#: src/input/r_matroska.cpp:1473 +msgid "Using the Dirac video output module.\n" +msgstr "Usando el módulo de salida de vídeo Dirac.\n" + +#: src/input/r_flac.cpp:124 +msgid "Using the FLAC demultiplexer.\n" +msgstr "Usando el multiplexor FLAC.\n" + +#: src/input/r_flac.cpp:164 +#: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 +msgid "Using the FLAC output module.\n" +msgstr "Usando el módulo de salida FLAC.\n" + +#: src/input/r_ivf.cpp:66 +msgid "Using the IVF demultiplexer.\n" +msgstr "Usando el multiplexor IVF.\n" + +#: src/input/r_matroska.cpp:1713 +msgid "Using the Kate output module.\n" +msgstr "Usando el módulo de salida Kate.\n" + +#: src/input/r_ogm.cpp:1520 +msgid "Using the Kate subtitle output module.\n" +msgstr "Usando el módulo de salida de subtítulo Dirac.\n" + +#: src/input/r_mp3.cpp:50 +msgid "Using the MP2/MP3 demultiplexer.\n" +msgstr "Usando el multiplexor MP2/MP3.\n" + +#: src/input/r_mpeg_es.cpp:166 +msgid "Using the MPEG ES demultiplexer.\n" +msgstr "Usando el multiplexor MPEG ES.\n" + +#: src/input/r_mpeg_ps.cpp:179 +msgid "Using the MPEG PS demultiplexer.\n" +msgstr "Usando el multiplexor MPEG PS.\n" + +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 +#: src/input/r_mpeg_ps.cpp:1171 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 +msgid "Using the MPEG audio output module.\n" +msgstr "Usando el módulo de salida de audio MPEG.\n" + +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 +msgid "Using the MPEG-%1% video output module.\n" +msgstr "Usando el módulo de salida de vídeo MPEG-%1%.\n" + +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 +#: src/input/r_mpeg_ps.cpp:1197 +msgid "Using the MPEG-1/2 video output module.\n" +msgstr "Usando el módulo de salida de vídeo MPEG-1/2.\n" + +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 +msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" +msgstr "Usando el módulo de salida de vídeo MPEG4 part 10 (AVC).\n" + +#: src/input/r_ogm.cpp:1154 +#: src/input/r_avc.cpp:136 +#: src/input/r_avi.cpp:348 +#: src/input/r_mpeg_ps.cpp:1210 +#: src/input/r_matroska.cpp:1844 +msgid "Using the MPEG-4 part 10 ES video output module.\n" +msgstr "Usando el módulo de salida de vídeo MPEG-4 part 10 ES.\n" + +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 +msgid "Using the MPEG-4 part 2 video output module.\n" +msgstr "Usando el módulo de salida de vídeo MPEG-4 part 2.\n" + +#: src/input/r_matroska.cpp:210 +msgid "Using the Matroska demultiplexer.\n" +msgstr "Usando el multiplexor Matroska.\n" + +#: src/input/r_ogm.cpp:337 +msgid "Using the OGG/OGM demultiplexer.\n" +msgstr "Usando el multiplexor OGG/OGM.\n" + +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 +#: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 +msgid "Using the PCM output module.\n" +msgstr "Usando el módulo de salida PCM.\n" + +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "Usando el módulo de salida PGS.\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "Usando el demultiplexor PGSSUP.\n" + +#: src/input/r_qtmp4.cpp:124 +msgid "Using the Quicktime/MP4 demultiplexer.\n" +msgstr "Usando el multiplexor Quicktime/MP4.\n" + +#: src/input/r_real.cpp:401 +msgid "Using the RealAudio output module (FourCC: %1%).\n" +msgstr "Usando el módulo de salida RealAudio (FourCC: %1%).\n" + +#: src/input/r_real.cpp:158 +msgid "Using the RealMedia demultiplexer.\n" +msgstr "Usando el multiplexor RealMedia.\n" + +#: src/input/r_srt.cpp:44 +msgid "Using the SRT subtitle reader.\n" +msgstr "Usando el lector de subtítulo SRT.\n" + +#: src/input/r_avi.cpp:428 +msgid "Using the SSA/ASS subtitle output module.\n" +msgstr "Usando el módulo de salida de subtítulo SSA/ASS.\n" + +#: src/input/r_ssa.cpp:58 +msgid "Using the SSA/ASS subtitle reader.\n" +msgstr "Usando el lector de subtítulo SSA/ASS.\n" + +#: src/input/r_tta.cpp:96 +msgid "Using the TTA demultiplexer.\n" +msgstr "Usando el multiplexor TTA.\n" + +#: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 +msgid "Using the TTA output module.\n" +msgstr "Usando el módulo de salida TTA.\n" + +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 +msgid "Using the Theora video output module.\n" +msgstr "Usando el módulo de salida de vídeo Theora.\n" + +#: src/input/r_mpeg_ps.cpp:1186 +msgid "Using the TrueHD output module.\n" +msgstr "Usando el módulo de salida TrueHD.\n" + +#: src/input/r_truehd.cpp:73 +msgid "Using the TrueHD/MLP demultiplexer.\n" +msgstr "Usando el multiplexor TrueHD/MLP.\n" + +#: src/input/r_truehd.cpp:89 +msgid "Using the TrueHD/MLP output module.\n" +msgstr "Usando el módulo de salida TrueHD/MLP.\n" + +#: src/input/r_usf.cpp:100 +msgid "Using the USF subtitle reader.\n" +msgstr "Usando el lector de subtítulo USF.\n" + +#: src/input/r_vc1.cpp:86 +msgid "Using the VC1 ES demultiplexer.\n" +msgstr "Usando el multiplexor VC1 ES.\n" + +#: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 +msgid "Using the VC1 video output module.\n" +msgstr "Usando el módulo de salida VC1.\n" + +#: src/input/r_ogm.cpp:1445 +#: src/input/r_ivf.cpp:87 +#: src/input/r_matroska.cpp:1477 +msgid "Using the VP8 video output module.\n" +msgstr "Usando el módulo de salida VP8.\n" + +#: src/input/r_vobbtn.cpp:67 +msgid "Using the VobBtn button reader.\n" +msgstr "Usando el lector del boton VobBtn.\n" + +#: src/input/r_matroska.cpp:1730 +msgid "Using the VobBtn output module.\n" +msgstr "Usando el módulo de salida VobBtn.\n" + +#: src/input/r_matroska.cpp:1697 +msgid "Using the VobSub output module.\n" +msgstr "Usando el módulo de salida VobSub.\n" + +#: src/input/r_vobsub.cpp:149 +msgid "Using the VobSub subtitle output module (language: %1%).\n" +msgstr "Usando el módulo de salida de subtítulo VobSub (idioma: %1%).\n" + +#: src/input/r_vobsub.cpp:104 +msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" +msgstr "Usando el lector de subtítulo VobSub (Archivo SUB '%1%').\n" + +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 +msgid "Using the Vorbis output module.\n" +msgstr "Usando el módulo de salida Vorbis.\n" + +#: src/input/r_wav.cpp:546 +msgid "Using the WAV demultiplexer.\n" +msgstr "Usando el multiplexor WAV.\n" + +#: src/input/r_wavpack.cpp:84 +msgid "Using the WAVPACK demultiplexer with a correction file.\n" +msgstr "Usando el demultiplexor WAV/PACK con un archivo de corrección.\n" + +#: src/input/r_wavpack.cpp:86 +msgid "Using the WAVPACK demultiplexer.\n" +msgstr "Usando el multiplexor WAVPACK.\n" + +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 +msgid "Using the WAVPACK output module.\n" +msgstr "Usando el módulo de salida WAVPACK.\n" + +#: src/input/r_qtmp4.cpp:1557 +msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" +msgstr "Usando el módulo de salida genérico de audio (FourCC: %|1$.4s|).\n" + +#: src/input/r_matroska.cpp:1374 +msgid "Using the passthrough output module for this %1% track.\n" +msgstr "Usando módulo de salida de pasarela para esta %1% pista.\n" + +#: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 +msgid "Using the text subtitle output module.\n" +msgstr "Usando el módulo de salida de subtítulos de texto.\n" + +#: src/input/r_real.cpp:299 +msgid "Using the video output module (FourCC: %1%).\n" +msgstr "Usando el módulo de salida de vídeo (FourCC: %1%).\n" + +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 +msgid "Using the video output module (FourCC: %|1$.4s|).\n" +msgstr "Usando el módulo de salida de vídeo (FourCC: %|1$.4s|).\n" + +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 +msgid "Using the video output module.\n" +msgstr "Usando el módulo de salida de vídeo.\n" + +#: src/common/file_types.cpp:49 +msgid "VC1 elementary streams" +msgstr "Archivos primarios VC1" + +#: src/common/hacks.cpp:60 +msgid "Valid hacks are:\n" +msgstr "Las modificaciones validas son:\n" + +#: src/mmg/header_editor/frame.cpp:149 +msgid "Validates the content of all changeable headers" +msgstr "Valide el contenido de todos los encabezados modificados" + +#: src/mmg/mmg_dialog.cpp:288 +msgid "Verify the current chapter entries to see if there are any errors" +msgstr "Verifica los registros del capítulo actual para ver si hay algunos errores" + +#: src/common/property_element.cpp:147 +#: src/mmg/header_editor/frame.cpp:487 +msgid "Video aspect ratio type" +msgstr "Tipo de relación de aspecto del vídeo" + +#: src/common/property_element.cpp:146 +#: src/mmg/header_editor/frame.cpp:483 +msgid "Video crop bottom" +msgstr "Recorte (crop) inferior del vídeo" + +#: src/common/property_element.cpp:143 +#: src/mmg/header_editor/frame.cpp:468 +msgid "Video crop left" +msgstr "Recorte (crop) izquierdo del vídeo" + +#: src/common/property_element.cpp:145 +#: src/mmg/header_editor/frame.cpp:478 +msgid "Video crop right" +msgstr "Recorte (crop) derecho del vídeo" + +#: src/common/property_element.cpp:144 +#: src/mmg/header_editor/frame.cpp:473 +msgid "Video crop top" +msgstr "Recorte (crop) superior del vídeo" + +#: src/common/property_element.cpp:141 +#: src/mmg/header_editor/frame.cpp:458 +msgid "Video display height" +msgstr "Altura de visualización del vídeo" + +#: src/common/property_element.cpp:142 +#: src/mmg/header_editor/frame.cpp:463 +msgid "Video display unit" +msgstr "Unidad de visualización del vídeo" + +#: src/common/property_element.cpp:140 +#: src/mmg/header_editor/frame.cpp:453 +msgid "Video display width" +msgstr "Altura de visualización del vídeo" + +#: src/mpegparser/M2VParser.cpp:163 +msgid "Video ended with a shortened group of pictures. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "Vídeo finalizado con un grupo acortado de imágenes. Algunos fotogramas han sido omitidos. Puede que necesites fijar el archivo de vídeo MPEG2 antes de intentar multiplexarlo.\n" + +#: src/common/property_element.cpp:137 +msgid "Video interlaced flag" +msgstr "Flag de vídeo entrelazado" + +#: src/input/r_real.cpp:651 +msgid "Video packet assembly failed. Error code: %1% (%2%)\n" +msgstr "El montaje del paquete del vídeo ha fallado. Código de error: %1% (%2%)\n" + +#: src/common/property_element.cpp:139 +#: src/mmg/header_editor/frame.cpp:448 +msgid "Video pixel height" +msgstr "Altura del vídeo en píxeles" + +#: src/common/property_element.cpp:138 +#: src/mmg/header_editor/frame.cpp:443 +msgid "Video pixel width" +msgstr "Anchura del vídeo en píxeles" + +#: src/common/property_element.cpp:149 +#: src/mmg/header_editor/frame.cpp:492 +msgid "Video stereo mode" +msgstr "Modo estereo del vídeo " + +#: src/info/mkvinfo.cpp:684 +msgid "Video track" +msgstr "Pista de vídeo" + +#: src/mmg/header_editor/track_type_page.cpp:49 +#, c-format +msgid "Video track %u" +msgstr "Pista de vídeo %u" + +#: src/mmg/jobs.cpp:490 +msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" +msgstr "Ve el archivo de salida que mkvmerge ha creado durante el proceso de multiplexado para el/los trabajo/s seleccionado/s" + +#: src/common/file_types.cpp:50 +msgid "VobButtons" +msgstr "Botones VOB" + +#: src/common/file_types.cpp:51 +msgid "VobSub subtitles" +msgstr "Subtítulos VobSub" + +#: src/common/file_types.cpp:52 +msgid "WAVE (uncompressed PCM audio)" +msgstr "WAVE (audio PCM sin comprimir)" + +#: src/common/file_types.cpp:53 +msgid "WAVPACK v4 audio" +msgstr "Audio WAVPACK v4" + +#: src/mmg/options/mmg.cpp:94 +msgid "Warn about possible incorrect usage of mmg" +msgstr "Avisos acerca de un posible uso incorrecto de mmg" + +#: src/input/subtitles.cpp:199 +msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" +msgstr "Advertencia en línea %1%: El código de tiempo inicial es mas pequeño que el del registro anterior. Todos los registros de este archivo serán ordenados por su tiempo de inicio.\n" + +#: src/mmg/mux_dialog.cpp:187 +msgid "Warning:" +msgstr "Advertencia:" + +#: src/common/output.cpp:76 +msgid "Warning: " +msgstr "Advertencia:" + +#: src/info/mkvinfo.cpp:972 +msgid "Warning: There's more than one track with the UID %1%." +msgstr "Advertencia: Hay mas de una pista con el UID %1%." + +#: src/info/mkvinfo.cpp:963 +msgid "Warning: There's more than one track with the number %1%." +msgstr "Advertencia: Hay mas de una pista con el número %1%." + +#: src/mmg/mux_dialog.cpp:92 +msgid "Warnings:" +msgstr "Advertencias:" + +#: src/common/file_types.cpp:54 +msgid "WebM audio/video files" +msgstr "Archivos de audio/vídeo WebM" + +#: src/mmg/options/mmg.cpp:83 +msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." +msgstr "Cuando un archivo es añadido, su nombre es analizado. Si contiene la palabra DELAY seguida de un número, este último será puesto automáticamente en el campo «delay» para cualquier pista de audio que aparece en el archivo." + +#: src/common/property_element.cpp:138 +#: src/mmg/header_editor/frame.cpp:443 +msgid "Width of the encoded video frames in pixels." +msgstr "La anchura de los fotogramas del vídeo codificado en píxeles." + +#: src/common/property_element.cpp:140 +#: src/mmg/header_editor/frame.cpp:453 +msgid "Width of the video frames to display." +msgstr "Anchura de los fotogramas del vídeo para visualizar." + +#: src/mmg/cli_options_dlg.cpp:102 +msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." +msgstr "Escribe duraciones para todos lo bloques. Esto incrementara el tamaño del archivo, y por el momento no ofrecera ningún valor adicional para los reproductores." + +#: src/extract/extract_cli_parser.cpp:94 +msgid "Write the attachment with the ID 'AID' to 'outname'." +msgstr "Escribe el archivo adjunto con la ID 'AID' a 'outname'." + +#: src/extract/extract_cli_parser.cpp:77 +msgid "Write track with the ID TID to the file 'out'." +msgstr "Escribe las pistas con la ID TID al archivo 'out'." + +#: src/info/mkvinfo.cpp:582 +msgid "Writing application: %1%" +msgstr "Escritura: %1%" + +#: src/info/wxwidgets_ui.cpp:248 +msgid "Writing info" +msgstr "Información de escritura" + +#: src/extract/xtr_vobsub.cpp:224 +msgid "Writing the VobSub index file '%1%'.\n" +msgstr "Escritura del índice del archivo VobSub '%1%'.\n" + +#: src/common/kate.cpp:61 +msgid "Wrong Kate version: %1%.%2% > %3%.x" +msgstr "Version errónea de Kate: %1%.%2% > %3%.x" + +#: src/common/theora.cpp:47 +msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" +msgstr "Version errónea de Theora: %1%.%2%.%3% != 3.2.x" + +#: src/merge/mkvmerge.cpp:1689 +msgid "Wrong argument to '--split-max-files'.\n" +msgstr "Argumento erróneo para '--split-max-files'.\n" + +#: src/mmg/options/mkvmerge.cpp:117 +msgid "Wrong file chosen" +msgstr "Archivo elegido erróneo" + +#: src/mmg/header_editor/frame.cpp:248 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 +msgid "Wrong file selected" +msgstr "Archivo seleccionado erróneo" + +#: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 +msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" +msgstr "Tipo de encabezado erróneo: 0x%|1$02x| != 0x%|2$02x|" + +#: src/common/theora.cpp:40 +msgid "Wrong identifaction string: '%|1$6s|' != 'theora'" +msgstr "Cadena de caracteres de identificación errónea: '%|1$6s|' != 'theora'" + +#: src/common/kate.cpp:51 +msgid "Wrong identification string: '%|1$7s|' != 'kate\\0\\0\\0'" +msgstr "Cadena de caracteres de identificación errónea: '%|1$7s|' != 'kate\\0\\0\\0'" + +#: src/common/xml/element_parser.cpp:457 +msgid "XML parser error at line %1% of '%2%': %3%.%4%%5%" +msgstr "Error de análisis XML en la línea %1% de '%2%': %3%.%4%%5%" + +#: src/common/xml/element_writer.cpp:232 +msgid "XML parser error at line %1%: %2%." +msgstr "Error de análisis XML en la línea %1%: %2%." + +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "Ya está ejecutando la última versión." + +#: src/mmg/tabs/chapters.cpp:1351 +msgid "" +"You can use this function for adjusting the timecodes\n" +"of the selected chapter and all its children by a fixed amount.\n" +"The amount can be positive or negative. The format used can be\n" +"either just a number in which case it is interpreted as the number of seconds,\n" +"it can be followed by the unit like 'ms' or 's' for milliseconds and seconds respectively,\n" +"or it can have the usual HH:MM:SS.mmm or HH:MM:SS format.\n" +"Example: -00:05:23 would let all the chapters begin\n" +"5minutes and 23seconds earlier than now." +msgstr "" +"Puedes usar esta funcion para ajustar con un valor fijo\n" +"los códigos de tiempo del capítulo seleccionado y sus subcapítulos.\n" +"El valor puede ser positivo o negativo. El formato utilizado puede ser\n" +"un número, en cuyo caso se interpreta como el número de segundos, y que pueden ir\n" +"seguidos por la partícula 'ms' o 's', ya sea para milisegundos o segundos, respectivamente.\n" +"También puede tener el formato HH:MM:SS.mmm o HH:MM:SS.\n" +"Ejemplo: -00:05:23 permitiría a todos los capítulos empezar\n" +"5 minutos y 23 segundos antes que ahora." + +#: src/mmg/tabs/input.cpp:1342 +#, c-format +msgid "" +"You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" +"\n" +"If you don't do this then mkvmerge will assume 25 fps.\n" +"\n" +"Do you still want to continue?" +msgstr "" +"No has seleccionado un número de fotogramas por segundo para la pista %lld del archivo '%s'. mkvmerge no puede determinar, por sí mismo, el número de fotogramas por segundo de los archivos. Por lo tanto, tiense que establecer, este parámetro en la pestaña Opciones específicas del archivo.\n" +"\n" +"Si no lo haces MKVmerge asumirá 25 FPS (fotogramas por segundo).\n" +"\n" +"¿Todavía deseas continuar?" + +#: src/mmg/tabs/input.cpp:488 +msgid "" +"You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" +"\n" +"If you don't do this then mkvmerge will assume 25 fps.\n" +"\n" +"This message will only be shown once unless you have enabled mmg's warnings on its 'settings' page." +msgstr "" +"Estás añadiendo un archivo primario AVC/h.264 al archivo de salida. mkvmerge no puede determinar por sí mismo el número de fotogramas por segundo de los archivos. Por lo tanto, tienes que establecer este parámetro en la pestaña Opciones específicas del archivo.\n" +"\n" +"Si no lo haces mkvmerge asumirá 25 FPS (fotogramas por segundo).\n" +"\n" +"Este mensaje solo se mostrará una vez, a menos que habilites los avisos desde la ventana Opciones en la pestaña de mmg." + +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 +msgid "Zlib decompression failed. Result: %1%\n" +msgstr "Descompresión de zlib ha fallado. Resultado: %1%\n" + +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 +msgid "[%1% frame for track %2%, timecode %3%]" +msgstr "[%1% fotogramas por pista %2%, código de tiempo %3%]" + +#: src/input/r_aac.cpp:62 +msgid "aac_reader: ADIF header files are not supported." +msgstr "aac_reader: Archivos de encabezado ADIF no compatibles." + +#: src/input/r_aac.cpp:88 +msgid "aac_reader: Could not open the file." +msgstr "aac_reader: No se pudo abrir el archivo." + +#: src/input/r_aac.cpp:57 +msgid "aac_reader: Could not read %1% bytes." +msgstr "aac_reader: No se pudieron leer %1% bytes." + +#: src/input/r_aac.cpp:65 +msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" +msgstr "aac_reader: Al inicio se encontró un paquete ACC no válido %1% bytes.\n" + +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 +msgid "aborted" +msgstr "cancelado" + +#: src/output/p_ac3.cpp:213 +msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" +msgstr "ac3_bs_packetizer::add_to_buffer(): código no probado (el tamaño es extraño). Si mkvmerge se bloquea o si el archivo generado no contiene la pista de audio correcta y completa, contacta con el autor, Moritz Bunkus, en moritz@bunkus.org.\n" + +#: src/input/r_ac3.cpp:67 +msgid "ac3_reader: Could not open the source file." +msgstr "ac3_reader: No se puedo abrir el archivo." + +#: src/input/r_ac3.cpp:62 +msgid "ac3_reader: Could not read %1% bytes." +msgstr "ac3_reader: No se pudieron leer %1% bytes." + +#: src/input/r_ac3.cpp:71 +msgid "ac3_reader: No valid AC3 packet found in the first %1% bytes.\n" +msgstr "ac3_reader: Al inicio se encontró un paquete AC3 no válido %1% bytes.\n" + +#: src/mmg/tabs/attachments.cpp:156 +#: src/mmg/tabs/input.cpp:183 +msgid "add" +msgstr "añadir" + +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "anáglifo" + +#: src/mmg/tabs/input.cpp:185 +msgid "append" +msgstr "unir" + +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 +msgid "audio" +msgstr "audio" + +#: src/input/r_avc.cpp:122 +msgid "avc_es_reader: Could not open the source file." +msgstr "avc_es_reader: No puede abrirse el archivo de origen." + +#: src/input/r_avc.cpp:106 +msgid "avc_es_reader: Should not have happened." +msgstr "avc_es_reader: No debería haber ocurrido." + +#: src/input/r_avi.cpp:114 +msgid "avi_reader: Could not initialize AVI source. Reason: %1%" +msgstr "avi_reader: No puede iniciarse el archivo origen AVI. Motivo: %1%" + +#: src/input/r_avi.cpp:107 +msgid "avi_reader: Could not read the source file." +msgstr "avi_reader: No puede leerse el archivo origen." + +#: src/input/r_avi.cpp:104 +msgid "avi_reader: Source is not a valid AVI file." +msgstr "avi_reader: El archivo de origen no es un AVI válido." + +#: src/info/mkvinfo.cpp:673 +msgid "bits per sample: %1%" +msgstr "bits por muestra: %1%" + +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 +msgid "buttons" +msgstr "botones" + +#: src/common/byte_buffer.h:73 +msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" +msgstr "byte_buffer_c: (pos + num) > size. No debería haber ocurrido. Por favor, envía el informe del fallo.\n" + +#: src/common/compression.cpp:240 +msgid "bzip2 compression failed. Result: %1%\n" +msgstr "La compresión bzip2 ha fallado. Resultado: %1%\n" + +#: src/common/compression.cpp:203 +msgid "bzlib_compressor_c::decompress() not implemented\n" +msgstr "bzlib_compressor_c::decompress() no se ha aplicado\n" + +#: src/common/chapters/writer.cpp:196 +#: src/common/chapters/xml_parser.cpp:143 +msgid "cet_index: '%1%' not found\n" +msgstr "cet_index: '%1%' no se ha encontrado\n" + +#: src/info/mkvinfo.cpp:662 +msgid "channels: %1%" +msgstr "canales: %1%" + +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "damero (izquierda primero)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "damero (derecha primero)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "columna intercalada (izquierda primero)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "columna intercalada (derecha primero)" + +#: src/mmg/jobs.cpp:347 +msgid "completed OK" +msgstr "finalizado correctamente" + +#: src/mmg/jobs.cpp:350 +msgid "completed with warnings" +msgstr "finalizado con advertencias" + +#: src/info/mkvinfo.cpp:821 +msgid "compression" +msgstr "compresión" + +#: src/input/r_corepicture.cpp:85 +msgid "corepicture_reader: Could not open the source file." +msgstr "corepicture_reader: No puede abrirse el archivo origen." + +#: src/input/r_corepicture.cpp:72 +msgid "corepicture_reader: Source is not a valid CorePanorama file." +msgstr "corepicture_reader: El archivo de origen no es un CorePanorama válido." + +#: src/merge/mkvmerge.cpp:293 +msgid "create_track_number: file_num not found. %1%\n" +msgstr "create_track_number: file_num no se encuentra. %1%\n" + +#: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 +msgid "default" +msgstr "Predefinido" + +#: src/info/mkvinfo.cpp:1074 +msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" +msgstr "Duración predefinida: %|1$.3f|ms (%|2$.3f| FPS para una pista de vídeo)" + +#: src/common/compression.cpp:161 +msgid "deflateInit() failed. Result: %1%\n" +msgstr "deflateInit() ha fallado. Resultado: %1%\n" + +#: src/input/r_dirac.cpp:82 +msgid "dirac_es_reader: Could not open the source file." +msgstr "dirac_es_reader: El archivo origen no ha podido ser abierto." + +#: src/mmg/tabs/attachments.cpp:154 +msgid "disable all" +msgstr "desabilitar todo" + +#: src/info/mkvinfo.cpp:1629 +msgid "discardable, " +msgstr "descartable," + +#: src/info/mkvinfo.cpp:709 +msgid "display height: %1%" +msgstr "altura de visualización: %1%" + +#: src/info/mkvinfo.cpp:704 +msgid "display width: %1%" +msgstr "anchura de visualización: %1%" + +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 +msgid "done" +msgstr "hecho" + +#: src/mmg/jobs.cpp:530 +msgid "done/warnings" +msgstr "hecho/advertencias" + +#: src/mmg/tabs/input.cpp:189 +msgid "down" +msgstr "bajar" + +#: src/input/r_dts.cpp:66 +msgid "dts_reader: Could not open the source file." +msgstr "dts_reader: No ha podido abrirse el archivo de origen." + +#: src/input/r_dts.cpp:62 +msgid "dts_reader: Could not read %1% bytes." +msgstr "dts_reader: No han podido leerse %1% bytes." + +#: src/input/r_dts.cpp:77 +msgid "dts_reader: No valid DTS packet found in the first %1% bytes.\n" +msgstr "dts_reader: Al inicio se ha encontrado un paquete DTS no válido %1% bytes.\n" + +#: src/mmg/tabs/attachments.cpp:153 +msgid "enable all" +msgstr "habilitar todo" + +#: src/mmg/tabs/chapters.cpp:343 +msgid "enabled" +msgstr "habilitado" + +#: src/info/mkvinfo.cpp:822 +msgid "encryption" +msgstr "cifrado" + +#: src/input/r_qtmp4.cpp:516 +#: src/input/r_qtmp4.cpp:598 +#: src/input/r_qtmp4.cpp:632 +#: src/input/r_qtmp4.cpp:644 +#: src/input/r_qtmp4.cpp:738 +#: src/input/r_qtmp4.cpp:1234 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 +#: src/common/mm_io.cpp:471 +#: src/common/mm_io.cpp:481 +#: src/common/mm_io.cpp:491 +#: src/common/mm_io.cpp:501 +#: src/common/mm_io.cpp:511 +#: src/common/mm_io.cpp:521 +#: src/common/mm_io.cpp:531 +#: src/common/mm_io.cpp:541 +#: src/common/mm_io.cpp:551 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 +msgid "end-of-file" +msgstr "final del archivo" + +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 +msgid "failed" +msgstr "ha fallado" + +#: src/merge/output_control.cpp:534 +msgid "filelist_t not found for generic_packetizer_c. %1%\n" +msgstr "filelist_t no se encuentra para generic_packetizer_c. %1%\n" + +#: src/input/r_ogm_flac.cpp:132 +msgid "flac_header_extraction: Could not initialize the FLAC decoder.\n" +msgstr "flac_header_extraction: No ha podido iniciarse el decodificador FLAC.\n" + +#: src/input/r_ogm_flac.cpp:130 +msgid "flac_header_extraction: Could not set metadata_respond_all.\n" +msgstr "flac_header_extraction: No ha podido establecerse metadata_respond_all.\n" + +#: src/input/r_ogm_flac.cpp:128 +msgid "flac_header_extraction: FLAC__stream_decoder_new() failed.\n" +msgstr "flac_header_extraction: FLAC__stream_decoder_new() ha fallado.\n" + +#: src/input/r_ogm_flac.cpp:42 +msgid "flac_header_extraction: bytes (%1%) < op.bytes (%2%). Could not read the FLAC headers.\n" +msgstr "flac_header_extraction: bytes (%1%) < op.bytes (%2%). No han podido leerse los encabezados FLAC.\n" + +#: src/input/r_flac.cpp:187 +msgid "flac_reader: Could not initialize the FLAC decoder.\n" +msgstr "flac_reader: No ha podido iniciarse el decodificador FLAC.\n" + +#: src/input/r_flac.cpp:118 +msgid "flac_reader: Could not open the source file." +msgstr "flac_reader: No ha podido abrirse el archivo de origen." + +#: src/input/r_flac.cpp:141 +msgid "flac_reader: Could not read a header packet.\n" +msgstr "flac_reader: No ha podido abrirse el paquete del encabezado.\n" + +#: src/input/r_flac.cpp:127 +msgid "flac_reader: Could not read all header packets." +msgstr "flac_reader: No han podido abrirse todos los paquetes del encabezado." + +#: src/input/r_flac.cpp:240 +msgid "flac_reader: Could not read all header packets.\n" +msgstr "flac_reader: No han podido abrirse todos los paquetes del encabezado.\n" + +#: src/input/r_flac.cpp:184 +msgid "flac_reader: Could not set metadata_respond_all.\n" +msgstr "flac_reader: No ha podido establecerse metadata_respond_all.\n" + +#: src/input/r_flac.cpp:321 +msgid "flac_reader: Error parsing the file: %1%\n" +msgstr "flac_reader: Error analizando el archivo: %1%\n" + +#: src/input/r_flac.cpp:182 +msgid "flac_reader: FLAC__stream_decoder_new() failed.\n" +msgstr "flac_reader: FLAC__stream_decoder_new() ha fallado.\n" + +#: src/input/r_flac.cpp:149 +msgid "flac_reader: could not initialize the FLAC packetizer.\n" +msgstr "flac_reader: no ha podido iniciarse el empaquetador FLAC.\n" + +#: src/mmg/tabs/input_extra.cpp:87 +msgid "for all frames" +msgstr "Para todos los fotogramas" + +#: src/input/r_avc.cpp:76 +#: src/input/r_vc1.cpp:52 +msgid "have an xcptn\n" +msgstr "Tener un xcptn\n" + +#: src/info/mkvinfo.cpp:841 +msgid "header removal" +msgstr "Encabezado eliminado" + +#: src/mmg/tabs/chapters.cpp:340 +msgid "hidden" +msgstr "oculto" + +#: src/mmg/options/mkvmerge.cpp:48 +msgid "higher" +msgstr "alta" + +#: src/mmg/options/mkvmerge.cpp:47 +msgid "highest" +msgstr "muy alta" + +#: src/common/compression.cpp:124 +msgid "inflateInit() failed. Result: %1%\n" +msgstr "inflateInit() ha fallado. Resultado: %1%\n" + +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 +msgid "is being estimated" +msgstr "está siendo estimado" + +#: src/input/r_ivf.cpp:62 +msgid "ivf_reader: Could not open the file." +msgstr "ivf_reader: No ha podido abrirse el archivo." + +#: src/info/mkvinfo.cpp:1627 +msgid "key, " +msgstr "clave," + +#: src/info/mkvinfo.cpp:1095 +msgid "language: %1%" +msgstr "idioma: %1%" + +#: src/info/mkvinfo.cpp:182 +msgid "length %1%, data: %2%" +msgstr "Extensión %1%, datos: %2%" + +#: src/input/r_vobsub.cpp:221 +msgid "line %1%: The 'delay' timestamp could not be parsed.\n" +msgstr "línea %1%: el retraso de la marca de tiempo no pudo ser analizado.\n" + +#: src/mmg/tabs/global.cpp:255 +msgid "link files" +msgstr "archivos vinculados" + +#: src/mmg/options/mkvmerge.cpp:51 +msgid "lower" +msgstr "baja" + +#: src/mmg/options/mkvmerge.cpp:52 +msgid "lowest" +msgstr "muy baja" + +#: src/common/compression.cpp:77 +msgid "lzo_compressor_c::decompress() not implemented\n" +msgstr "lzo_compressor_c::decompress() no se ha aplicado\n" + +#: src/common/compression.cpp:64 +msgid "lzo_init() failed. Result: %1%\n" +msgstr "lzo_init() ha fallado. Resultado: %1%\n" + +#: src/common/compression.cpp:68 +msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" +msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) ha fallado.\n" + +#: src/input/r_matroska.cpp:327 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" +msgstr "matroska_reader: (modo de compatibilidad MS para la pista %1%) Matroska dice que hay %2% bits por muestra, pero el WAVEFORMATEX dice que hay %3%.\n" + +#: src/input/r_matroska.cpp:318 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" +msgstr "matroska_reader: (modo de compatibilidad MS para la pista %1%) Matroska dice que hay %2% canales, pero el WAVEFORMATEX dice que hay %3%.\n" + +#: src/input/r_matroska.cpp:309 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" +msgstr "matroska_reader: (modo de compatibilidad MS para la pista %1%) Matroska dice que hay %2% muestras por segundo, pero el WAVEFORMATEX dice que hay %3%.\n" + +#: src/input/r_matroska.cpp:447 +msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" +msgstr "matroska_reader: (modo de compatibilidad MS, pista %1%) la anchura del vídeo Matroska es %2%, pero el BITMAPINFOHEADER dice %3%.\n" + +#: src/input/r_matroska.cpp:456 +msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" +msgstr "matroska_reader: (modo de compatibilidad MS, pista %1%) la altura del vídeo Matroska es %2%, pero el BITMAPINFOHEADER dice %3%.\n" + +#: src/input/r_matroska.cpp:1077 +msgid "matroska_reader: A track is missing its track UID.\n" +msgstr "matroska_reader: A una pista le falta su UID de pista.\n" + +#: src/input/r_matroska.cpp:1068 +msgid "matroska_reader: A track is missing its track number.\n" +msgstr "matroska_reader: A una pista le falta su número de pista.\n" + +#: src/input/r_matroska.cpp:1437 +msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" +msgstr "matroska_reader: No pudo mantenerse la pista UID %1% porque ya está asignada al nuevo archivo.\n" + +#: src/input/r_matroska.cpp:208 +msgid "matroska_reader: Failed to read the headers." +msgstr "matroska_reader: Fallo al leer los encabezados." + +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 +msgid "matroska_reader: No segment found.\n" +msgstr "matroska_reader: Ningún segmento encontrado.\n" + +#: src/input/r_matroska.cpp:967 +msgid "matroska_reader: Pixel height is missing.\n" +msgstr "matroska_reader: Falta la altura en píxeles.\n" + +#: src/input/r_matroska.cpp:960 +msgid "matroska_reader: Pixel width is missing.\n" +msgstr "matroska_reader: Falta la anchura en píxeles.\n" + +#: src/input/r_matroska.cpp:548 +msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" +msgstr "matroska_reader:La ID del códec para la pista %1% es '%2%' es desconocido.\n" + +#: src/input/r_matroska.cpp:435 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" +msgstr "matroska_reader: La ID del códec para la pista %1% es '%2%', pero no había presente estructura BITMAPINFOHEADER. Por lo tanto, no tenemos un FourCC para identificar el códec de vídeo usado.\n" + +#: src/input/r_matroska.cpp:288 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" +msgstr "matroska_reader: La ID del códec para la pista %1% es '%2%', pero no había presente estructura WAVEFORMATEX. Por lo tanto, no tenemos una ID del formato para identificar el códec de audio usado.\n" + +#: src/input/r_matroska.cpp:473 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" +msgstr "matroska_reader: La ID del códec para la pista %1% es '%2%', pero no había encabezados privados del códec.\n" + +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" +msgstr "matroska_reader: La ID del códec para la pista %1% es '%2%', pero no se ha encontrado ningún dato privado.\n" + +#: src/input/r_matroska.cpp:352 +msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" +msgstr "matroska_reader: La ID del códec para la pista %1% es 'A_VORBI', pero no hay presentes paquetes de encabezado.\n" + +#: src/input/r_matroska.cpp:1113 +msgid "matroska_reader: The CodecID is missing.\n" +msgstr "matroska_reader: La ID del códec está ausente.\n" + +#: src/input/r_matroska.cpp:501 +msgid "matroska_reader: The height for track %1% was not set.\n" +msgstr "matroska_reader: La altura para la pista %1% no ha sido establecida.\n" + +#: src/input/r_matroska.cpp:495 +msgid "matroska_reader: The width for track %1% was not set.\n" +msgstr "matroska_reader: La anchura para la pista %1% no ha sido establecida.\n" + +#: src/input/r_matroska.cpp:601 +msgid "matroska_reader: Track %1% seems to be ok.\n" +msgstr "matroska_reader: La pista %1% parece estar bien.\n" + +#: src/input/r_matroska.cpp:1092 +msgid "matroska_reader: Track type was not found.\n" +msgstr "matroska_reader: No se encuentra el tipo de pista.\n" + +#: src/input/r_matroska.cpp:358 +msgid "matroska_reader: Vorbis track does not contain valid headers.\n" +msgstr "matroska_reader: La pista Vorbis no contiene encabezados válidos.\n" + +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 +msgid "matroska_reader: caught exception\n" +msgstr "matroska_reader: se ha detectado una excepción\n" + +#: src/input/r_matroska.cpp:343 +msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" +msgstr "matroska_reader: mkvmerge no fue compilado con compatibiliad para archivos FLAC. Ignorando pista %1%.\n" + +#: src/input/r_matroska.cpp:1236 +msgid "matroska_reader: no EBML head found.\n" +msgstr "matroska_reader: no se encontró el encabezado EBML.\n" + +#: src/input/r_matroska.cpp:596 +msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" +msgstr "matroska_reader: tipo de demultiplexión desconocido para la pista %1%: '%2%'\n" + +#: src/input/r_matroska.cpp:1081 +msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" +msgstr "matroska_reader:| + Hay más de una pista con la UID %1%.\n" + +#: src/input/r_matroska.cpp:1073 +msgid "matroska_reader: | + There's more than one track with the number %1%.\n" +msgstr "matroska_reader: | + Hay más de una pista con el número %1%.\n" + +#: src/mmg/tabs/global.cpp:257 +msgid "max. number of files:" +msgstr "número máx. de archivos:" + +#: src/common/memory.cpp:134 +msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" +msgstr "memory.cpp/safemalloc() llamada desde el archivo %1%, línea %2%: malloc() ha devuelto NULL para un tamaño de %3% bytes.\n" + +#: src/common/memory.cpp:122 +msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" +msgstr "memory.cpp/safememdup() llamadoa desde el archivo %1%, línea %2%: malloc() ha devuelto NULL para un tamaño de %3% bytes.\n" + +#: src/common/memory.cpp:150 +msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" +msgstr "memory.cpp/saferealloc() llamada desde el archivo %1%, línea %2%: realloc() returned NULL por un tamaño de %3% bytes.\n" + +#: src/common/memory.h:213 +msgid "memory_slice_cursor_c copy c'tor: Must not be used!" +msgstr "memory_slice_cursor_c copy c'tor: ¡No dede ser usado!" + +#: src/propedit/target.cpp:81 +msgid "missing property name" +msgstr "propiedad del nombre ausente" + +#: src/propedit/target.cpp:74 +msgid "missing value" +msgstr "valor ausente" + +#: src/common/fs_sys_helpers.cpp:53 +#: src/common/fs_sys_helpers.cpp:192 +msgid "mkdir(%1%) failed; errno = %2% (%3%)" +msgstr "mkdir(%1%) ha fallado; error nº = %2% (%3%)" + +#: src/extract/extract_cli_parser.cpp:56 +msgid "mkvextract <-h|-V>" +msgstr "mkvextract <-h|-V>" + +#: src/extract/extract_cli_parser.cpp:47 +msgid "mkvextract <mode> <source-filename> [options] <extraction-spec>" +msgstr "mkvextract <mode> <source-filename> [options] <extraction-spec>" + +#: src/extract/extract_cli_parser.cpp:98 +msgid "mkvextract attachments \"a movie.mkv\" 4:cover.jpg" +msgstr "Adjuntos de mkvextract \"a movie.mkv\" 4:carátula.jpg" + +#: src/extract/extract_cli_parser.cpp:52 +msgid "mkvextract attachments <inname> [options] [AID1:out1 [AID2:out2 ...]]" +msgstr "Adjuntos de mkvextract <inname> [options] [AID1:out1 [AID2:out2 ...]]" + +#: src/extract/extract_cli_parser.cpp:106 +msgid "mkvextract chapters \"a movie.mkv\" > movie_chapters.xml" +msgstr "Capítulos mkvextract \"a movie.mkv\" > movie_chapters.xml" + +#: src/extract/extract_cli_parser.cpp:53 +msgid "mkvextract chapters <inname> [options]" +msgstr "Capítulos mkvextract <inname> [options]" + +#: src/extract/extract_cli_parser.cpp:115 +msgid "mkvextract cuesheet \"audiofile.mka\" > audiofile.cue" +msgstr "Hojas de distribución de pistas (CueSheet) mkvextract \"audiofile.mka\" > audiofile.cue" + +#: src/extract/extract_cli_parser.cpp:54 +msgid "mkvextract cuesheet <inname> [options]" +msgstr "Hojas de distribución de pistas (CueSheet) mkvextract <inname> [options]" + +#: src/extract/extract_cli_parser.cpp:89 +msgid "mkvextract tags \"a movie.mkv\" > movie_tags.xml" +msgstr "Etiquetas mkvextract \"a movie.mkv\" > movie_tags.xml" + +#: src/extract/extract_cli_parser.cpp:51 +msgid "mkvextract tags <inname> [options]" +msgstr "Etiquetas mkvextract <inname> [options]" + +#: src/extract/extract_cli_parser.cpp:123 +msgid "mkvextract timecodes_v2 \"a movie.mkv\" 1:timecodes_track1.txt" +msgstr "mkvextract códigos de tiempo_v2 \"a movie.mkv\" 1:timecodes_track1.txt" + +#: src/extract/extract_cli_parser.cpp:55 +msgid "mkvextract timecodes_v2 <inname> [TID1:out1 [TID2:out2 ...]]" +msgstr "mkvextract códigos de tiempo_v2 <inname> [TID1:out1 [TID2:out2 ...]]" + +#: src/extract/extract_cli_parser.cpp:81 +msgid "mkvextract tracks \"a movie.mkv\" 2:audio.ogg -c ISO8859-1 3:subs.srt" +msgstr "Pistas mkvextract \"a movie.mkv\" 2:audio.ogg -c ISO8859-1 3:subs.srt" + +#: src/extract/extract_cli_parser.cpp:50 +msgid "mkvextract tracks <inname> [options] [TID1:out1 [TID2:out2 ...]]" +msgstr "Pistas mkvextract <inname> [options] [TID1:out1 [TID2:out2 ...]]" + +#: src/extract/mkvextract.cpp:51 +msgid "mkvextract.cpp/show_element(): level > 9: %1%" +msgstr "mkvextract.cpp/show_element(): level > 9: %1%" + +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [options] <inname>" + +#: src/mmg/options/mkvmerge.cpp:142 +msgid "mkvmerge" +msgstr "mkvmerge" + +#: src/merge/mkvmerge.cpp:73 +msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" +msgstr "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" + +#: src/mmg/mux_dialog.cpp:350 +#, c-format +msgid "mkvmerge FAILED with a return code of %d. %s" +msgstr "mkvmerge ha FALLADO con un código de respuesta igual a %d. %s" + +#: src/mmg/tabs/global.cpp:532 +#: src/mmg/tabs/global.cpp:546 +#: src/mmg/tabs/global.cpp:550 +#: src/mmg/tabs/global.cpp:554 +#: src/mmg/tabs/global.cpp:565 +#: src/mmg/tabs/global.cpp:573 +#: src/mmg/tabs/global.cpp:610 +msgid "mkvmerge GUI error" +msgstr "Error de la interfaz de mkvmerge" + +#: src/mmg/mmg_dialog.cpp:176 +msgid "mkvmerge GUI ready" +msgstr "Preparada la interfaz gráfica de mkvmerge" + +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 +#, c-format +msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" +msgstr "Ajustes de la interfaz gráfica de mkvmerge (*.mmg)|*.mmg|%s" + +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 +msgid "mkvmerge GUI: error" +msgstr "Interfaz gráfica de mkvmerge: se ha producido un error" + +#: src/mmg/tabs/global.cpp:287 +msgid "mkvmerge can read CUE sheets for audio CDs and automatically convert them to chapters. This option controls how the chapter names are created. The sequence '%p' is replaced by the track's PERFORMER, the sequence '%t' by the track's TITLE, '%n' by the track's number and '%N' by the track's number padded with a leading 0 for track numbers < 10. The rest is copied as is. If nothing is entered then '%p - %t' will be used." +msgstr "mkvmerge no puede leer las hojas de distribución de pistas (CUE Sheet) para los CD de audio y automáticamente las convertirá en capítulos. Esta opción controla cómo aparecen los nombres capítulo se crean. La secuencia '%p' es reemmplazada por el INTÉRPRETE de la pista, la secuencia '%t' por los títulos de las pistas, '%n' por el número de la pista y '%N' por el número acolchado de la pista con el indicador 0 para los números de pista < 10. El resto es copiado como es. Si nada es insertado, '%p - %t' será usado." + +#: src/mmg/tabs/input_general.cpp:190 +#: src/mmg/tabs/input_general.cpp:192 +msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." +msgstr "mkvmerge no puede leer y usa los códigos de tiempo desde un archivo de texto externo. Esta característica es muy avanzada: casi todos los usuarios deberían dejar este registro vacío." + +#: src/output/p_avc.cpp:109 +msgid "" +"mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" +"%1%\n" +msgstr "" +"mkvmerge ha encontrado datos corruptos o sin datos aptos para su procesamiento en esta pista de vídeo AVC/h.264. Puede ser que tu archivo esté corrupto (al que mkvmerge todavía no puede hacer frente)\n" +"o se trata de un error del propio mkvmerge. El mensaje del error es: %1%\n" + +#: src/mmg/options/mkvmerge.cpp:57 +msgid "mkvmerge executable" +msgstr "Ejecutable de mkvmerge" + +#: src/mmg/mux_dialog.cpp:352 +#, c-format +msgid "mkvmerge finished with a return code of %d. %s" +msgstr "mkvmerge ha finalizado con un código de respuesta igual a %d. %s" + +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 +msgid "mkvmerge has finished" +msgstr "mkvmerge ha finalizado" + +#: src/input/r_ogm.cpp:500 +msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" +msgstr "mkvmerge no ha sido compilado con compatibilidad para archivos FLAC, pero la manipulación de estos archivos ha sido solicitado.\n" + +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 +msgid "mkvmerge is running" +msgstr "mkvmerge está ejecutándose" + +#: src/mmg/options/mkvmerge.cpp:80 +msgid "mkvmerge options" +msgstr "Opciones de mkvmerge" + +#: src/mmg/mux_dialog.cpp:89 +msgid "mkvmerge output:" +msgstr "Proceso de creación de mkvmerge:" + +#: src/mmg/tabs/global.cpp:275 +#: src/mmg/tabs/global.cpp:277 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format." +msgstr "mkvmerge admite dos formatos de capítulos: El OGM como formato de texto y el formato XML con todas sus funciones." + +#: src/mmg/tabs/global.cpp:283 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. If the OGM format is used and the file's charset is not recognized correctly then this option can be used to correct that. This option is ignored for XML chapter files." +msgstr "mkvmerge admite dos formatos de capítulos: el OGM como formato de texto y el formato XML con todas sus funciones. Si se utiliza el formato OGM y el código de caracteres del archivo no es reconocido correctamente, esta opción pude ser usada para corregir eso. Esta opción es ignorada para los archivos de capítulo XML." + +#: src/mmg/tabs/global.cpp:279 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." +msgstr "mkvmerge admite dos formatos de capítulos: El OGM como formato de texto y el formato XML con todas sus funciones. Esta opción especifica el idioma que se asocia con los capítulos si el formato del capítulo utilizado es OGM. Esto es ignorado para los archivos de capítulos XML." + +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 +msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" +msgstr "mkvmerge fue interrumpido por un SIGINT (señales de inteligencia) (¿Ctrl+C?)\n" + +#: src/input/r_qtmp4.cpp:557 +msgid "mkvmerge was not compiled with zlib. Compressed headers in QuickTime/MP4 files are therefore not supported.\n" +msgstr "mkvmerge no fue compilado con zlib. Los encabezados comprimidos en archivos QuickTime/MP4 no son compatibles.\n" + +#: src/propedit/propedit_cli_parser.cpp:139 +msgid "mkvpropedit [options] <file> <actions>" +msgstr "mkvpropedit [options] <file> <actions>" + +#: src/common/mm_io.cpp:1100 +msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" +msgstr "mm_text_io_c: UTF32_* no es compatible por el momento.\n" + +#: src/common/mm_io.cpp:1052 +msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" +msgstr "mm_text_io_c::read_next_char(): código de caracteres UTF-8 no válido. Primer byte: 0x%|1$02x|" + +#: src/mmg/options/mmg.cpp:323 +msgid "mmg" +msgstr "mmg" + +#: src/mmg/mmg_dialog.cpp:266 +msgid "mmg debug output" +msgstr "Depurador de mmg" + +#: src/mmg/options/mmg.cpp:178 +msgid "mmg options" +msgstr "Opciones de mmg" + +#: src/mmg/options/languages.cpp:86 +msgid "mmg will reset to the default list if no entry is selected." +msgstr "mmg reiniciará la lista a predeterminada si ninguna entrada se selecciona." + +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "mono" + +#: src/input/r_mp3.cpp:58 +msgid "mp3_reader: Could not open the source file." +msgstr "mp3_reader: No pudo abrirse el archivo de origen." + +#: src/input/r_mpeg_es.cpp:163 +msgid "mpeg_es_reader: Could not open the file." +msgstr "mpeg_es_reader: No puede abrirse el archivo." + +#: src/input/r_mpeg_ps.cpp:82 +msgid "mpeg_ps_reader: Could not open the file." +msgstr "mpeg_ps_reader: No puede abrirse el archivo." + +#: src/input/r_mpeg_ps.cpp:1190 +msgid "mpeg_ps_reader: Should not have happened #1. %1%" +msgstr "mpeg_ps_reader: No tendria que haber ocurrido #1. %1%" + +#: src/input/r_mpeg_ps.cpp:1219 +msgid "mpeg_ps_reader: Should not have happened #2. %1%" +msgstr "mpeg_ps_reader: No tendria que haber ocurrido #2. %1%" + +#: src/mmg/header_editor/bool_value_page.cpp:43 +#: src/mmg/tabs/input_general.cpp:108 +#: src/mmg/tabs/input_general.cpp:124 +msgid "no" +msgstr "no" + +#: src/info/mkvinfo.cpp:865 +msgid "no encryption" +msgstr "ningún cifrado" + +#: src/common/strings/parsing.cpp:265 +msgid "no error" +msgstr "ningún error" + +#: src/info/qt_ui.cpp:59 +msgid "no file loaded" +msgstr "ningún archivo cargado" + +#: src/info/mkvinfo.cpp:882 +msgid "no signature algorithm" +msgstr "ninguna firma algorítmica" + +#: src/info/mkvinfo.cpp:891 +msgid "no signature hash algorithm" +msgstr "ninguna firma con función algorítmica" + +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 +msgid "none" +msgstr "ninguno" + +#: src/mmg/options/mkvmerge.cpp:50 +msgid "normal" +msgstr "normal" + +#: src/input/r_ogm.cpp:472 +msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" +msgstr "ogg_stream_init para el archivo número %1% ha fallado. Continuará e ignorará este archivo.\n" + +#: src/input/r_ogm.cpp:384 +msgid "ogg_sync_buffer failed\n" +msgstr "ogg_sync_buffer ha fallado\n" + +#: src/input/r_ogm.cpp:329 +msgid "ogm_reader: Could not open the source file." +msgstr "ogm_reader: No puede abrirse el archivo de origen." + +#: src/input/r_ogm.cpp:340 +msgid "ogm_reader: Could not read all header packets." +msgstr "ogm_reader: No pueden leerse todos los paquetes del encabezado." + +#: src/input/r_ogm.cpp:332 +msgid "ogm_reader: Source is not a valid OGG media file." +msgstr "ogm_reader: El archivo multimedia OGG seleccionado no es válido." + +#: src/mmg/tabs/chapters.cpp:1066 +msgid "on_entry_selected: display == NULL. Should not have happened." +msgstr "on_entry_selected: display == NULL. Esto no debería haber ocurrido." + +#: src/mmg/tabs/input_extra.cpp:86 +msgid "only for I frames" +msgstr "solo para fotogramas I" + +#: src/info/mkvinfo.cpp:657 +msgid "output sampling freq: %1%" +msgstr "frecuencia de muestreo de salida: %1%" + +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 +msgid "pending" +msgstr "pendiente" + +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: No puede abrirse el archivo." + +#: src/info/mkvinfo.cpp:729 +msgid "pixel crop bottom: %1%" +msgstr "recorte inferior en píxeles: %1%" + +#: src/info/mkvinfo.cpp:714 +msgid "pixel crop left: %1%" +msgstr "recorte izquierdo en píxeles: %1%" + +#: src/info/mkvinfo.cpp:724 +msgid "pixel crop right: %1%" +msgstr "recorte derecho en píxeles: %1%" + +#: src/info/mkvinfo.cpp:719 +msgid "pixel crop top: %1%" +msgstr "recorte superior en píxeles: %1%" + +#: src/info/mkvinfo.cpp:699 +msgid "pixel height: %1%" +msgstr "altura de píxeles: %1%" + +#: src/info/mkvinfo.cpp:694 +msgid "pixel width: %1%" +msgstr "anchura en píxeles: %1%" + +#: src/merge/pr_generic.cpp:856 +msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" +msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" + +#: src/merge/pr_generic.cpp:1207 +msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." +msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): El tipo de pista no es válida %1%." + +#: src/extract/xtr_base.cpp:47 +msgid "raw data" +msgstr "Información en bruto (datos no editados)" + +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 +msgid "ready" +msgstr "a punto" + +#: src/input/r_real.cpp:149 +msgid "real_reader: Could not read the source file." +msgstr "real_reader: No puede leerse el archivo de origen." + +#: src/input/r_real.cpp:246 +msgid "real_reader: Couldn't find RealAudio FourCC for id %1% (description length: %2%) Skipping track.\n" +msgstr "real_reader: No se encuentra el FourCC de RealAudio para id %1% (descripción de extensión: %2%). Omitiendo pista.\n" + +#: src/input/r_real.cpp:274 +msgid "real_reader: Only audio header versions 3, 4 and 5 are supported. Track ID %1% uses version %2% and will be skipped.\n" +msgstr "real_reader: Solo las versiones 3,4 y 5 de los encabezados de audio son compatibles. La ID de la pista %1% usa una versión %2% y será omitida.\n" + +#: src/input/r_real.cpp:147 +msgid "real_reader: Source is not a valid RealMedia file." +msgstr "real_reader: El archvo ReaMedia seleccionado no es válido." + +#: src/mmg/tabs/attachments.cpp:157 +#: src/mmg/tabs/input.cpp:184 +msgid "remove" +msgstr "quitar" + +#: src/mmg/tabs/input.cpp:186 +msgid "remove all" +msgstr "quitar todos" + +#: src/info/mkvinfo.cpp:811 +msgid "rest: unknown" +msgstr "interrupción desconocida" + +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "fila intercalada (izquierda primero)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "fila intercalada (derecha primero)" + +#: src/info/mkvinfo.cpp:652 +msgid "sampling freq: %1%" +msgstr "frecuencia de muestreo: %1%" + +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "lado por lado (izquierda primero)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "lado por lado (derecha primero)" + +#: src/input/subtitles.cpp:589 +msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" +msgstr "spu_extraction_duration: Encontrados paquetes corruptos SPU (next_off < start_off) en el código de tiempo %1%. Este paquete puede ser reproducido de forma errónea, o no.\n" + +#: src/input/r_srt.cpp:40 +msgid "srt_reader: Could not open the source file." +msgstr "srt_reader: El archivo de origen no puede abrirse." + +#: src/input/r_srt.cpp:34 +msgid "srt_reader: Source is not a valid SRT file." +msgstr "srt_reader: El archvo seleccionado no es archivo SRT válido." + +#: src/input/r_ssa.cpp:40 +msgid "ssa_reader: Could not open the source file." +msgstr "ssa_reader: El archivo de origen no puede abrirse." + +#: src/input/subtitles.cpp:342 +msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." +msgstr "ssa_reader: Formato no válido. No se encuentra la línea \"Format\" en la sección \"[Events]\"." + +#: src/input/r_ssa.cpp:44 +msgid "ssa_reader: Source is not a valid SSA/ASS file." +msgstr "ssa_reader: El archivo SSA/ASS seleccionado no es válido " + +#: src/mmg/tabs/chapters.cpp:910 +msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." +msgstr "start >= m->ListSize(). Esto no debería haber ocurrido. Por favor, informa del fallo. Gracias." + +#: src/input/r_matroska.cpp:93 +msgid "subtitle" +msgstr "subtítulo" + +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 +msgid "subtitles" +msgstr "subtítulos" + +#: src/common/tags/parser.cpp:37 +msgid "tet_index: '%1%' not found\n" +msgstr "tet_index: '%1%' no encontrado\n" + +#: src/merge/mkvmerge.cpp:2034 +msgid "timecodes" +msgstr "códigos de tiempo" + +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "Arriba abajo (izquierda primero)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "Arriba abajo (derecha primero)" + +#: src/merge/mkvmerge.cpp:2027 +msgid "track name" +msgstr "nombre de la pista" + +#: src/input/r_truehd.cpp:76 +msgid "truehd_reader: Could not open the source file." +msgstr "truehd_reader: El archivo de origen no se pudo abrir." + +#: src/input/r_truehd.cpp:63 +msgid "truehd_reader: Could not read %1% bytes." +msgstr "truehd_reader: No se pueden leer %1% bytes." + +#: src/input/r_tta.cpp:93 +msgid "tta_reader: Could not open the file." +msgstr "tta_reader: El archivo no pudo ser abierto." + +#: src/input/r_tta.cpp:60 +msgid "tta_reader: tag_size < 0 in the c'tor. %1%\n" +msgstr "tta_reader: tamaño_etiqueta < 0 en el c'tor. %1%\n" + +#: src/mmg/tabs/input_general.cpp:143 +msgid "und (Undetermined)" +msgstr "und (Indeterminado)" + +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 +#: src/mmg/header_editor/value_page.cpp:150 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 +msgid "unknown" +msgstr "desconocido" + +#: src/mmg/tabs/input.cpp:188 +msgid "up" +msgstr "subir" + +#: src/input/r_usf.cpp:96 +msgid "usf_reader: Could not open the source file." +msgstr "usf_reader: El archivo de origen no puede ser abierto." + +#: src/input/r_usf.cpp:75 +msgid "usf_reader: Source is not a valid USF file." +msgstr "usf_reader: El archivo de origen no es un USF válido." + +#: src/common/strings/editing.cpp:270 +msgid "utf8_strlen(): Invalid UTF-8 char. First byte: 0x%|1$02x|" +msgstr "utf8_strlen(): Codificación de caracteres UTF-8 no válida. Primer byte: 0x%|1$02x|" + +#: src/input/r_vc1.cpp:82 +msgid "vc1_es_reader: Could not open the source file." +msgstr "vc1_es_reader: El archivo origen no puede ser abierto." + +#: src/mmg/tabs/chapters.cpp:839 +msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" +msgstr "La verificación ha fallado: capítulos->CheckMandatory() es falso. Esto no debería haber pasado. Por favor, envía un informe del fallo.\n" + +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 +msgid "video" +msgstr "vídeo" + +#: src/input/r_vobbtn.cpp:56 +msgid "vobbtn_reader: Could not open the file." +msgstr "vobbtn_reader: El archivo no puede ser abierto." + +#: src/input/r_vobsub.cpp:82 +msgid "vobsub_reader: Could not open the sub file" +msgstr "vobsub_reader: El archivo del subtítulo no puede ser abierto" + +#: src/input/r_vobsub.cpp:70 +msgid "vobsub_reader: Cound not open the source file." +msgstr "vobsub_reader: El archivo origen no puede ser abierto." + +#: src/input/r_vobsub.cpp:559 +msgid "vobsub_reader: sub_file->read failure" +msgstr "vobsub_reader: archivo del subtítulo: fallo de lectura" + +#: src/input/r_wav.cpp:449 +msgid "wav_reader: Could not open the source file." +msgstr "wav_reader: El archivo origen no puede ser abierto." + +#: src/input/r_wav.cpp:481 +msgid "wav_reader: No data chunk was found." +msgstr "wav_reader: No se encontró ningún fragmento de información (chunk)." + +#: src/input/r_wav.cpp:472 +msgid "wav_reader: No format chunk found." +msgstr "wav_reader: No se encontró ningún fragmento del formato (chunk)." + +#: src/input/r_wav.cpp:453 +msgid "wav_reader: Source is not a valid WAVE file." +msgstr "wav_reader: El archivo de origen no es un WAVE válido." + +#: src/input/r_wav.cpp:478 +msgid "wav_reader: The format chunk could not be read." +msgstr "wav_reader: El fragmento del formato no puede ser leído (chunk)." + +#: src/input/r_wav.cpp:467 +msgid "wav_reader: could not read WAVE header." +msgstr "wav_reader: No puede ser leído el encabezado WAVE." + +#: src/input/r_wavpack.cpp:58 +msgid "wavpack_reader: Could not open the file." +msgstr "wavpack_reader: El archivo no puede ser abierto." + +#: src/common/wavpack.cpp:149 +msgid "wavpack_reader: non-audio block found\n" +msgstr "wavpack_reader: No se encontró bloque de audio\n" + +#: src/common/wavpack.cpp:117 +msgid "wavpack_reader: unknown sample rate!\n" +msgstr "wavpack_reader: ¡Frecuencia de muestreo desconocida!\n" + +#: src/common/mm_io.cpp:812 +msgid "wrong usage: increase < 0" +msgstr "Uso extraño: incremento < 0" + +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 +msgid "wrong usage: read-only with NULL memory" +msgstr "Uso extraño: solo lectura con memoria NULA" + +#: src/common/mm_io.cpp:883 +msgid "wrong usage: writing to read-only memory" +msgstr "Uso extraño: escribiendo en la memoria de solo lectura" + +#: src/mmg/header_editor/bool_value_page.cpp:44 +#: src/mmg/tabs/input_general.cpp:107 +#: src/mmg/tabs/input_general.cpp:125 +msgid "yes" +msgstr "sí" + +#~ msgid " (both eyes)" +#~ msgstr " (ambos ojos)" + +#~ msgid " (left eye)" +#~ msgstr " (ojo izquierdo)" + +#~ msgid " (right eye)" +#~ msgstr " (ojo derecho)" + +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "Esta interfaz gráfica de usuario (GUI) fue escrita por Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Basado en mmg de Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI está licenciado de acuerdo a GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "La ayuda está disponible como herramienta de información desde el\n" +#~ "menú Ayuda o presionando la tecla F1." + +#~ msgid "About mkvmerge's GUI" +#~ msgstr "Acerca de mkvmerge GUI (interfaz gráfica de usuario)" + +#~ msgid "Both eyes" +#~ msgstr "Ambos ojos" + +#~ msgid "Left eye" +#~ msgstr "Ojo izquierdo" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Archivos Matroska de A/V (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Archivos Matroska (*.mkv;*.mka)|*.mkv;*.mka|%s" + +#~ msgid "None" +#~ msgstr "Ninguno" + +#~ msgid "Right eye" +#~ msgstr "Ojo derecho" + +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "Uso: mkvinfo [options] inname\n" +#~ "\n" +#~ " Opciones:\n" +#~ " -g, --gui Inicia la interfaz gráfica (y abre la fuente de origen si se establece).\n" +#~ " inname Usa 'inname' como la fuente de origen.\n" +#~ " -v, --verbose Incrementa el número de mensajes que se muestran. Mira la página principal para una descripción\n" +#~ " más detallada de lo que mkvinfo genera.\n" +#~ " -c, --checksum Calcula y muestra checksums del contenido de un fotograma.\n" +#~ " -s, --summary Solo muestra un resumen de los contenidos y no de cada elemento.\n" +#~ " -x, --hexdump Muestra los primeros 16 bytes de cada fotograma como un volcado hexadecimal.\n" +#~ " -X, --full-hexdump\n" +#~ " Muestra todos los bytes de cada fotograma como un volcado hexadecimal.\n" +#~ " -z, --size Muestra el tamaño de cada elemento incluyendo su encabezado.\n" +#~ " --output-charset <charset>\n" +#~ " Mensajes de salida este código de caracteres\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirige todos los mensajes a este archivo.\n" +#~ " -h, --help Muestra la ayuda.\n" +#~ " -V, --version Muestra información de la versión.\n" + +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "Usando el módulo de salida VP8.\n" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: Se ha encontrado una secuencia UTF-8 no válida. Por favor, contacta con moritz@bunkus.org y solicita que se mejore el analizador de UTF-8." + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: ¿¡Modo desconocido!?\n" diff -Nru mkvtoolnix-4.0.0/po/fr.po mkvtoolnix-4.5.0+dfsg/po/fr.po --- mkvtoolnix-4.0.0/po/fr.po 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/fr.po 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,8132 @@ +# translation of fr.po to French +# This file is distributed under the same license as the mkvtoolnix package. +# Trinine <trinine@free.fr> 2010. +# commit dfe3b118dcc20a1504c0814fb1470a0c694de970 (Option for disabling compression for added audio and video tracks) +msgid "" +msgstr "" +"Project-Id-Version: mkvtoolnix-4.4.0\n" +"POT-Creation-Date: 2009-07-30 19:00+0100\n" +"PO-Revision-Date: 2011-01-20 11:13+0100\n" +"Last-Translator: Trinine <trinine@free.fr>\n" +"Language-Team: French\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" +"X-Poedit-Country: FRANCE\n" + +#: src/extract/xtr_tta.cpp:118 +msgid "" +"\n" +"The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" +msgstr "" + +#: src/merge/output_control.cpp:251 +msgid "" +"\n" +"mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:195 +msgid "" +" --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" +" or not. The value ':1' can be omitted.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:116 +msgid "" +" --append-mode <file|track>\n" +" Selects how mkvmerge calculates timecodes when\n" +" appending files.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:111 +msgid "" +" --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" +" A comma separated list of file and track IDs\n" +" that controls which track of a file is\n" +" appended to another track of the preceding\n" +" file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:208 +msgid "" +" --aspect-ratio <TID:f|a/b>\n" +" Sets the display dimensions by calculating\n" +" width and height for this aspect ratio.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:211 +msgid "" +" --aspect-ratio-factor <TID:f|a/b>\n" +" First calculates the aspect ratio by multi-\n" +" plying the video's original aspect ratio\n" +" with this factor and calculates the display\n" +" dimensions from this factor.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:140 +msgid "" +" --attach-file <file> Creates a file attachment inside the\n" +" Matroska file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:142 +msgid "" +" --attach-file-once <file>\n" +" Creates a file attachment inside the\n" +" firsts Matroska file written.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:134 +msgid "" +" --attachment-description <desc>\n" +" Description for the following attachment.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:136 +msgid "" +" --attachment-mime-type <mime type>\n" +" Mime type for the following attachment.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:138 +msgid "" +" --attachment-name <name> The name should be stored for the \n" +" following attachment.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:187 +msgid "" +" --blockadd <TID:x> Sets the max number of block additional\n" +" levels for this track.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:86 +msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:85 +msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:84 +msgid " --chapters <file> Read chapter information from the file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:103 +msgid "" +" --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" +" If the number is postfixed with 'ms' then\n" +" put at most n milliseconds of data into each\n" +" cluster.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:108 +msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:242 +msgid "" +" --command-line-charset <charset>\n" +" Charset for strings on the command line\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:231 +msgid "" +" --compression <TID:method>\n" +" Sets the compression method used for the\n" +" specified track ('none' or 'zlib').\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:218 +msgid "" +" --cropping <TID:left,top,right,bottom>\n" +" Sets the cropping parameters.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:87 +msgid "" +" --cue-chapter-name-format <format>\n" +" Pattern for the conversion from CUE sheet\n" +" entries to chapter names.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:190 +msgid "" +" --cues <TID:none|iframes|all>\n" +" Create cue (index) entries for this track:\n" +" None at all, only for I frames, for all.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:198 +msgid "" +" --default-duration <TID:Xs|ms|us|ns|fps>\n" +" Force the default duration of a track to X.\n" +" X can be a floating point number or a fraction.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:90 +msgid "" +" --default-language <lng> Use this language for all tracks unless\n" +" overridden with the --language option.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:181 +msgid "" +" --default-track <TID[:bool]>\n" +" Sets the 'default' flag for this track or\n" +" forces it not to be present if bool is 0.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:109 +msgid " --disable-lacing Do not Use lacing.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:216 +msgid "" +" --display-dimensions <TID:width>x<height>\n" +" Explicitly set the display dimensions.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:110 +msgid " --enable-durations Enable block durations for all blocks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:184 +msgid "" +" --forced-track <TID[:bool]>\n" +" Sets the 'forced' flag for this track or\n" +" forces it not to be present if bool is 0.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:81 +msgid " --global-tags <file> Read global tags from a XML file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:193 +msgid "" +" --language <TID:lang> Sets the language for the track (ISO639-2\n" +" code, see --list-languages).\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:129 +msgid " --link Link splitted files.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:131 +msgid " --link-to-next <SID> Link the last file to the given SID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:130 +msgid " --link-to-previous <SID> Link the first file to the given SID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:238 +msgid "" +" --list-languages Lists all ISO639 languages and their\n" +" ISO639-2 codes.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:201 +msgid "" +" --nalu-size-length <TID:n>\n" +" Force the NALU size length to n bytes with\n" +" 2 <= n <= 4 with 4 being the default.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:173 +msgid " --no-chapters Don't keep chapters from the source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:107 +msgid " --no-cues Do not write the cue data (the index).\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:172 +msgid " --no-global-tags Don't keep global tags from the source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:244 +msgid " --output-charset <cset> Output messages in this charset\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:240 +msgid " --priority <priority> Set the priority mkvmerge runs with.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:95 +msgid "" +" --segment-uid <SID1,[SID2...]>\n" +" Set the segment UIDs to SID1, SID2 etc.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:94 +msgid " --segmentinfo <file> Read segment information from the file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:122 +msgid "" +" --split <d[K,M,G]|HH:MM:SS|s>\n" +" Create a new file after d bytes (KB, MB, GB)\n" +" or after a specific time.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:125 +msgid "" +" --split timecodes:A[,B...]\n" +" Create a new file after each timecode A, B\n" +" etc.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:128 +msgid " --split-max-files <n> Create at most n files.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:220 +msgid "" +" --stereo-mode <TID:n|keyword>\n" +" Sets the stereo mode parameter. It can\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:226 +msgid "" +" --sub-charset <TID:charset>\n" +" Determines the charset the text subtitles are\n" +" read as for the conversion to UTF-8.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:119 +msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:197 +msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:80 +msgid " --title <title> Title for this output file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:189 +msgid " --track-name <TID:name> Sets the name for a track.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:99 +msgid "" +" --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" +" A comma separated list of both file IDs\n" +" and track IDs that controls the order of the\n" +" tracks in the output file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:169 +msgid "" +" --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" +" tags for all tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:241 +msgid " --ui-language <code> Force the translations for 'code' to be used.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:150 +msgid " -A, --no-audio Don't copy any audio track from this file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:162 +msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:154 +msgid " -D, --no-video Don't copy any video track from this file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:167 +msgid " -M, --no-attachments Don't copy attachments from a source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:158 +msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:171 +msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:250 +msgid " -V, --version Show version information.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:147 +msgid "" +" -a, --audio-tracks <n,m,...>\n" +" Copy audio tracks n,m etc. Default: copy all\n" +" audio tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:159 +msgid "" +" -b, --button-tracks <n,m,...>\n" +" Copy buttons tracks n,m etc. Default: copy\n" +" all buttons tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:151 +msgid "" +" -d, --video-tracks <n,m,...>\n" +" Copy video tracks n,m etc. Default: copy all\n" +" video tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:206 +msgid "" +" -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" +" Works only for video tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:249 +msgid " -h, --help Show this help.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:236 +msgid " -i, --identify <file> Print information about the source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:237 +msgid " -l, --list-types Lists supported input file types.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:163 +msgid "" +" -m, --attachments <n[:all|first],m[:all|first],...>\n" +" Copy the attachments with the IDs n, m etc to\n" +" all or only the first output file. Default: copy\n" +" all attachments to all output files.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:78 +msgid " -o, --output out Write to the file 'out'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:77 +msgid " -q, --quiet suppress status output\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:245 +msgid "" +" -r, --redirect-output <file>\n" +" Redirects all messages into this file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:155 +msgid "" +" -s, --subtitle-tracks <n,m,...>\n" +" Copy subtitle tracks n,m etc. Default: copy\n" +" all subtitle tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:168 +msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:76 +msgid " -v, --verbose verbose status\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:79 +msgid " -w, --webm Create WebM compliant file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:174 +msgid "" +" -y, --sync <TID:d[,o[/p]]>\n" +" Synchronize, adjust the track's timecodes with\n" +" the id TID by 'd' ms.\n" +" 'o/p': Adjust the timecodes by multiplying with\n" +" 'o/p' to fix linear drifts. 'p' defaults to\n" +" 1 if omitted. Both 'o' and 'p' can be\n" +" floating point numbers.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:247 +msgid "" +" @optionsfile Reads additional command line options from\n" +" the specified file (see man page).\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:94 +msgid " B: boolean (0 or 1)\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:98 +msgid " FP: floating point number\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:95 +msgid " S: string\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:92 +msgid " SI: signed integer\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:93 +msgid " UI: unsigned integer\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:96 +msgid " US: Unicode string\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:97 +msgid " X: binary in hex\n" +msgstr "" + +#: src/info/mkvinfo.cpp:349 +msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" +msgstr "" + +#: src/info/mkvinfo.cpp:183 src/info/mkvinfo.cpp:1026 +msgid " (adler: 0x%|1$08x|)" +msgstr "" + +#: src/info/mkvinfo.cpp:738 +msgid " (centimeters)" +msgstr "" + +#: src/info/mkvinfo.cpp:764 +msgid " (fixed)" +msgstr "" + +#: src/info/mkvinfo.cpp:354 +msgid " (format tag: 0x%|1$04x|)" +msgstr "" + +#: src/info/mkvinfo.cpp:762 +msgid " (free resizing)" +msgstr "" + +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr "" + +#: src/info/mkvinfo.cpp:739 +msgid " (inches)" +msgstr "" + +#: src/info/mkvinfo.cpp:763 +msgid " (keep aspect ratio)" +msgstr "" + +#: src/info/mkvinfo.cpp:737 +msgid " (pixels)" +msgstr "" + +#: src/common/xml/element_parser.cpp:464 +msgid " Aborting.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:133 +msgid " Attachment support (more global options):\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:83 +msgid " Chapter handling:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:121 +msgid " File splitting and linking (more global options):\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:98 +msgid " General output control (advanced global options):\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:75 +msgid " Global options:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:146 +msgid " Options for each input file:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:230 +msgid " Options that only apply to VobSub subtitle tracks:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:225 +msgid " Options that only apply to text subtitle tracks:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:205 +msgid " Options that only apply to video tracks:\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:235 +msgid " Other options:\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:460 +msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." +msgstr "" + +#: src/merge/mkvmerge.cpp:93 +msgid " Segment info handling:\n" +msgstr "" + +#: src/extract/mkvextract.cpp:63 src/info/mkvinfo.cpp:211 +msgid " at %1%" +msgstr "" + +#: src/merge/output_control.cpp:259 src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 src/merge/output_control.cpp:287 +msgid " done\n" +msgstr "" + +#: src/info/mkvinfo.cpp:212 +msgid " size %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:228 +msgid " size is unknown" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:85 +msgid "### Global output control ###" +msgstr "" + +#: src/common/version.cpp:143 +msgid "%1% built on %2% %3%" +msgstr "" + +#: src/info/mkvinfo.cpp:200 +msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:205 +msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:201 +msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" +msgstr "" + +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:627 +msgid "%1%: divisor is 0 in '%2% %3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:602 +msgid "%1%: invalid track ID in '%2% %3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:619 +msgid "%1%: missing dividend in '%2% %3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:622 +msgid "%1%: missing divisor in '%2% %3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:598 +msgid "%1%: missing track ID in '%2% %3%'.\n" +msgstr "" + +#: src/info/qt_ui.cpp:116 +msgid "" +"%1.\n" +"Compiled with libebml %2 + libmatroska %3.\n" +"\n" +"This program is licensed under the GPL v2 (see COPYING).\n" +"It was written by Moritz Bunkus <moritz@bunkus.org>.\n" +"Sources and the latest binaries are always available at\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" +msgstr "" + +#: src/mmg/jobs.cpp:297 src/mmg/jobs.cpp:307 src/mmg/mux_dialog.cpp:249 +#, c-format +msgid "%d minute(s) %d second(s)" +msgstr "%d minute(s) %d seconde(s)" + +#: src/mmg/tabs/attachments.cpp:401 +#, c-format +msgid "%s (MIME type %s, size %ld) from %s (%s)" +msgstr "" + +#: src/mmg/mmg.cpp:61 +#, c-format +msgid "%s%s (ID %lld, type: %s) from %s" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:332 +#, c-format +msgid "" +"%s.\n" +"Compiled with libebml %s + libmatroska %s.\n" +"\n" +"This program is licensed under the GPL v2 (see COPYING).\n" +"It was written by Moritz Bunkus <moritz@bunkus.org>.\n" +"Sources and the latest binaries are always available at\n" +"http://www.bunkus.org/videotools/mkvtoolnix/" +msgstr "" + +#: src/mmg/jobs.cpp:103 +msgid "&Abort" +msgstr "&Abandonner" + +#: src/mmg/mmg_dialog.cpp:294 +msgid "&About" +msgstr "&À propos…" + +#: src/info/wxwidgets_ui.cpp:121 +msgid "&About\tF1" +msgstr "&À propos…\tF1" + +#: src/mmg/mmg_dialog.cpp:280 src/mmg/mmg_dialog.cpp:314 +msgid "&Add to job queue" +msgstr "Ajouter à la liste de &tâches" + +#: src/mmg/mmg_dialog.cpp:290 +msgid "&Attachments\tAlt-2" +msgstr "&Fichiers joints\tAlt-2" + +#: src/mmg/mmg_dialog.cpp:301 +msgid "&Chapter Editor" +msgstr "&Chapitres" + +#: src/mmg/mmg_dialog.cpp:292 +msgid "&Chapter editor\tAlt-4" +msgstr "Éditeur de &Chapitres\tAlt-4" + +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "&Fermer" + +#: src/mmg/header_editor/frame.cpp:145 +msgid "&Close\tCtrl-W" +msgstr "Fermer\tCtrl-W" + +#: src/mmg/header_editor/frame.cpp:148 +msgid "&Collapse all entries\tCtrl-P" +msgstr "Replier toutes les entrées\tCtrl-P" + +#: src/mmg/mmg_dialog.cpp:277 +msgid "&Copy command line to clipboard" +msgstr "&Copier la ligne de commande" + +#: src/mmg/mmg_dialog.cpp:313 +msgid "&Copy to clipboard" +msgstr "&Copier dans le presse-papier" + +#: src/mmg/jobs.cpp:479 +msgid "&Disable" +msgstr "&Désactiver" + +#: src/mmg/jobs.cpp:471 +msgid "&Down" +msgstr "&Descendre" + +#: src/mmg/header_editor/frame.cpp:147 +msgid "&Expand all entries\tCtrl-E" +msgstr "Dérouler toutes les entrées\tCtrl-E" + +#: src/info/wxwidgets_ui.cpp:115 +msgid "&Expand important elements\tCtrl-E" +msgstr "Dérouler les éléments importants\tCtrl-E" + +#: src/mmg/mmg_dialog.cpp:299 src/mmg/header_editor/frame.cpp:151 +#: src/info/wxwidgets_ui.cpp:123 +msgid "&File" +msgstr "&Fichier" + +#: src/mmg/mmg_dialog.cpp:291 +msgid "&Global options\tAlt-3" +msgstr "Options &globales\tAlt-3" + +#: src/mmg/mmg_dialog.cpp:273 +msgid "&Header editor\tCtrl-E" +msgstr "Éditeur d'en-têtes\tCtrl-E" + +#: src/mmg/mmg_dialog.cpp:303 src/mmg/header_editor/frame.cpp:153 +#: src/info/wxwidgets_ui.cpp:125 +msgid "&Help" +msgstr "&Aide" + +#: src/mmg/mmg_dialog.cpp:293 src/mmg/header_editor/frame.cpp:150 +msgid "&Help\tF1" +msgstr "&Aide\tF1" + +#: src/mmg/mmg_dialog.cpp:289 +msgid "&Input\tAlt-1" +msgstr "&Entrée\tAlt-1" + +#: src/mmg/mmg_dialog.cpp:284 +msgid "&Load" +msgstr "&Charger" + +#: src/mmg/mmg_dialog.cpp:269 +msgid "&Load settings\tCtrl-L" +msgstr "Charger les réglages\tCtrl-L" + +#: src/mmg/mmg_dialog.cpp:281 +msgid "&Manage jobs\tCtrl-J" +msgstr "Gestion des tâches\tCtrl-J" + +#: src/mmg/mmg_dialog.cpp:300 +msgid "&Muxing" +msgstr "&Multiplexage" + +#: src/mmg/mmg_dialog.cpp:268 +msgid "&New\tCtrl-N" +msgstr "&Nouveau\tCtrl-N" + +#: src/mmg/mmg_dialog.cpp:283 +msgid "&New chapters" +msgstr "&Nouveaux chapitres" + +#: src/mmg/jobs.cpp:101 src/mmg/jobs.cpp:394 src/mmg/jobs.cpp:498 +msgid "&Ok" +msgstr "&Ok" + +#: src/mmg/header_editor/frame.cpp:142 src/info/wxwidgets_ui.cpp:107 +msgid "&Open\tCtrl-O" +msgstr "&Ouvrir\tCtrl-O" + +#: src/info/wxwidgets_ui.cpp:124 +msgid "&Options" +msgstr "&Options" + +#: src/mmg/mmg_dialog.cpp:274 src/mmg/header_editor/frame.cpp:146 +msgid "&Quit\tCtrl-Q" +msgstr "&Quitter\tCtrl-Q" + +#: src/mmg/jobs.cpp:476 +msgid "&Re-enable" +msgstr "&Réactiver" + +#: src/mmg/header_editor/frame.cpp:144 +msgid "&Reload\tCtrl-R" +msgstr "&Recharger\tCtrl-R" + +#: src/mmg/header_editor/value_page.cpp:140 +msgid "&Reset" +msgstr "&Remise à zéro" + +#: src/mmg/jobs.cpp:399 src/mmg/mmg_dialog.cpp:285 +msgid "&Save" +msgstr "Enregistrer" + +#: src/mmg/header_editor/frame.cpp:143 +msgid "&Save\tCtrl-S" +msgstr "Enregistrer\tCtrl-S" + +#: src/info/wxwidgets_ui.cpp:108 +msgid "&Save info as text\tCtrl-S" +msgstr "Enregistrer les infos au format texte\tCtrl-S" + +#: src/mmg/mmg_dialog.cpp:270 +msgid "&Save settings\tCtrl-S" +msgstr "Enregistrer les réglages\tCtrl-S" + +#: src/mmg/jobs.cpp:503 +msgid "&Start" +msgstr "Démarrer" + +#: src/mmg/jobs.cpp:468 +msgid "&Up" +msgstr "Monter" + +#: src/mmg/header_editor/frame.cpp:149 +msgid "&Validate\tCtrl-T" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:288 +msgid "&Verify" +msgstr "&Vérifier" + +#: src/mmg/jobs.cpp:489 +msgid "&View log" +msgstr "Afficher le journal" + +#: src/mmg/mmg_dialog.cpp:302 +msgid "&Window" +msgstr "&Onglets" + +#: src/merge/mkvmerge.cpp:1584 +msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:464 +msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:949 +msgid "'%1%' is an unsupported argument for --cues.\n" +msgstr "" + +#: src/common/command_line.cpp:203 +msgid "'%1%' is missing the file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1421 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1489 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1044 +msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" +msgstr "" + +#: src/common/chapters/chapters.cpp:184 src/common/chapters/chapters.cpp:201 +msgid "'%1%' is not a CHAPTERxx=... line." +msgstr "" + +#: src/common/chapters/chapters.cpp:207 +msgid "'%1%' is not a CHAPTERxxNAME=... line." +msgstr "" + +#: src/merge/mkvmerge.cpp:442 +msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" +msgstr "" + +#: src/common/chapters/xml_parser.cpp:122 +msgid "'%1%' is not a valid ISO639-2 language code." +msgstr "" + +#: src/merge/mkvmerge.cpp:1207 +msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1278 +msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" +msgstr "" + +#: src/common/chapters/xml_parser.cpp:132 +msgid "'%1%' is not a valid ccTLD country code." +msgstr "" + +#: src/merge/mkvmerge.cpp:1143 src/merge/mkvmerge.cpp:1146 +msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" +msgstr "" + +#: src/common/hacks.cpp:87 +msgid "'%1%' is not a valid hack.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1191 +msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1140 +msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1270 +msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1315 +msgid "'%1%' is not a valid priority class.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1274 +msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1225 +msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1246 +msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1242 +msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1221 +msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:136 +msgid "'%1%' is only allowed when extracting chapters.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:133 +msgid "'%1%' is only allowed when extracting tracks.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1604 +msgid "'%1%' lacks a file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1833 src/merge/mkvmerge.cpp:1997 +msgid "'%1%' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1906 +msgid "'%1%' lacks the FourCC.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1948 +msgid "'%1%' lacks the delay.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1767 +msgid "'%1%' lacks the file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2004 +msgid "'%1%' lacks the track ID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1871 src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 +msgid "'%1%' lacks the track number(s).\n" +msgstr "" + +#: src/common/output.cpp:134 src/common/output.cpp:147 +#: src/common/output.cpp:160 src/common/output.cpp:181 +msgid "'%1%' track %2%: %3%" +msgstr "" + +#: src/common/output.cpp:127 src/common/output.cpp:140 +#: src/common/output.cpp:153 src/common/output.cpp:170 +msgid "'%1%': %2%" +msgstr "" + +#: src/common/mm_multi_file_io.cpp:165 src/mmg/tabs/input.cpp:711 +msgid "'%1%': Processing the following files as well: %2%\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2056 +msgid "'--append-mode' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2049 +msgid "'--append-to' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1913 +msgid "'--aspect-ratio' lacks the aspect ratio.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1920 +msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1738 +msgid "'--attachment-description' lacks the description.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1747 +msgid "'--attachment-mime-type' lacks the MIME type.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1757 +msgid "'--attachment-name' lacks the name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2018 +msgid "'--blockadd' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1792 +msgid "'--chapter-charset' lacks the charset.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1432 +msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1435 +msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1785 +msgid "'--chapter-language' lacks the language.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1414 +msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1417 +msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1809 +msgid "'--chapters' lacks the file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1719 +msgid "'--cluster-length' lacks the length.\n" +msgstr "" + +#: src/common/command_line.cpp:104 +msgid "'--command-line-charset' is missing its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2011 +msgid "'--compression' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1934 +msgid "'--cropping' lacks the crop parameters.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1799 +msgid "'--cue-chapter-name-format' lacks the format.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1802 +msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1955 +msgid "'--cues' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2063 +msgid "'--default-duration' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1983 +msgid "'--default-language' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1962 +msgid "'--default-track' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1927 +msgid "'--display-dimensions' lacks the dimensions.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1614 +msgid "'--engage' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1969 +msgid "'--forced-track' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1776 +msgid "'--global-tags' lacks the file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1976 +msgid "'--language' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2144 +msgid "'--link' is only useful in combination with '--split'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1705 +msgid "'--link-to-next' lacks the next UID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1698 +msgid "'--link-to-previous' lacks the previous UID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2070 +msgid "'--nalu-size-length' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1658 +msgid "'--priority' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1712 +msgid "'--segment-uid' lacks the segment UID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1818 +msgid "'--segmentinfo' lacks the file name.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1679 +msgid "'--split' lacks the size.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1686 +msgid "'--split-max-files' lacks the number of files.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1941 +msgid "'--stereo-mode' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1990 +msgid "'--sub-charset' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1847 +msgid "'--timecode-scale' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1468 +msgid "'--timecode-scale' was used more than once.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2032 +msgid "'--timecodes' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1671 +msgid "'--title' lacks the title.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2025 +msgid "'--track-name' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2039 +msgid "'--track-order' lacks its argument.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2042 +msgid "'--track-order' may only be given once.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2091 +msgid "'-A' and '-a' used on the same source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2100 +msgid "'-B' and '-b' used on the same source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2094 +msgid "'-D' and '-d' used on the same source file.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2097 +msgid "'-S' and '-s' used on the same source file.\n" +msgstr "" + +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:396 +msgid "'Default track' flag" +msgstr "" + +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:403 +msgid "'Forced display' flag" +msgstr "" + +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 +msgid "'Track enabled' flag" +msgstr "" + +#: src/info/mkvinfo.cpp:180 +msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:389 +msgid "(new chapter file)" +msgstr "" + +#: src/common/xml/element_parser.cpp:56 +msgid "(none)" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:423 +msgid "(unnamed chapter)" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:885 src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 +msgid "(unnamed)" +msgstr "" + +#: src/input/r_flac.cpp:179 +msgid "+-> Parsing the FLAC file. This can take a LONG time.\n" +msgstr "" + +#: src/input/r_flac.cpp:214 +msgid "+-> Pre-parsing FLAC file: %1%%%%2%" +msgstr "" + +#: src/input/r_flac.cpp:235 +msgid "+-> Pre-parsing FLAC file: 100%\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1440 +msgid ", description '%1%'" +msgstr "" + +#: src/merge/pr_generic.cpp:1441 +msgid ", file name '%1%'" +msgstr "" + +#: src/mmg/jobs.cpp:743 +#, c-format +msgid ", finished on %s" +msgstr ", terminé le %s" + +#: src/info/mkvinfo.cpp:199 +msgid ", position %1%" +msgstr "" + +#: src/mmg/jobs.cpp:733 +#, c-format +msgid ", started on %s" +msgstr ", démarré le %s" + +#: src/mmg/jobs.cpp:731 +#, c-format +msgid "--- BEGIN job %d (%s, added on %s)" +msgstr "--- DÉMARRAGE de la tâche %d (%s, ajoutée le %s)" + +#: src/mmg/jobs.cpp:741 +#, c-format +msgid "--- END job %d" +msgstr "--- FIN de la tâche %d" + +#: src/mmg/jobs.cpp:736 +msgid "--- No job output found.\n" +msgstr "--- Aucun message de sortie.\n" + +#: src/mmg/options/languages.cpp:46 src/mmg/tabs/input_general.cpp:159 +msgid "---all---" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:144 +msgid "---common---" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:103 +msgid "--timecode-scale REPLACEME" +msgstr "" + +#: src/mmg/tabs/global.cpp:239 +msgid "...after this duration:" +msgstr "" + +#: src/mmg/tabs/global.cpp:236 +msgid "...after this size:" +msgstr "" + +#: src/mmg/tabs/global.cpp:244 +msgid "...after timecodes:" +msgstr "" + +#: src/info/mkvinfo.cpp:807 +msgid "1: all frames" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:195 +msgid "2 bytes" +msgstr "" + +#: src/info/mkvinfo.cpp:809 +msgid "2: codec private data" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:196 +msgid "4 bytes" +msgstr "" + +#: src/common/xml/element_writer.cpp:109 +msgid "<!-- Unknown element '%1%' -->\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:268 src/common/xml/element_parser.cpp:285 +#: src/common/xml/element_parser.cpp:348 +msgid "<%1%> is not a valid child element of <%2%>." +msgstr "" + +#: src/common/chapters/xml_parser.cpp:85 +msgid "<ChapterAtom> is missing the <ChapterTimeStart> child." +msgstr "" + +#: src/common/chapters/xml_parser.cpp:107 +msgid "<ChapterDisplay> is missing the <ChapterString> child." +msgstr "" + +#: src/common/chapters/xml_parser.cpp:99 +msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." +msgstr "" + +#: src/input/r_matroska.cpp:2122 +msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" +msgstr "" + +#: src/input/r_matroska.cpp:2021 src/input/r_matroska.cpp:2132 +msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" +msgstr "" + +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 +msgid "A human-readable string specifying the codec." +msgstr "" + +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 +msgid "A human-readable track name." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1389 +#, c-format +msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" +msgstr "" + +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:342 +msgid "" +"A randomly generated unique ID to identify the current\n" +"segment between many others (128 bits)." +msgstr "" + +#: src/info/mkvinfo.cpp:937 +msgid "A track" +msgstr "" + +#: src/merge/pr_generic.cpp:1296 +msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" +msgstr "" + +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:393 +msgid "" +"A unique ID to identify the Track. This should be\n" +"kept the same when making a direct stream copy\n" +"of the Track to another file." +msgstr "" + +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:350 +msgid "" +"A unique ID to identify the next chained\n" +"segment (128 bits)." +msgstr "" + +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:346 +msgid "" +"A unique ID to identify the previous chained\n" +"segment (128 bits)." +msgstr "" + +#: src/common/file_types.cpp:25 +msgid "A/52 (aka AC3)" +msgstr "" + +#: src/common/file_types.cpp:26 +msgid "AAC (Advanced Audio Coding)" +msgstr "" + +#: src/input/r_aac.cpp:104 +msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:254 +msgid "AAC is SBR/HE-AAC/AAC+" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:143 +msgid "" +"ASCII string (no special chars like\n" +"Umlaute etc)" +msgstr "" + +#: src/common/file_types.cpp:27 +msgid "AVC/h.264 elementary streams" +msgstr "" + +#: src/common/file_types.cpp:28 +msgid "AVI (Audio/Video Interleaved)" +msgstr "" + +#: src/mmg/mux_dialog.cpp:105 +msgid "Abort" +msgstr "Abandonner" + +#: src/mmg/jobs.cpp:97 +msgid "Abort after current job" +msgstr "Abandonner après la tâche en cours" + +#: src/mmg/jobs.cpp:98 +msgid "Abort processing after the current job" +msgstr "Abandonner le traitement après la tâche en cours" + +#: src/mmg/jobs.cpp:104 +msgid "Abort the muxing process right now" +msgstr "Abandonner le multiplexage immédiatement" + +#: src/mmg/jobs.cpp:140 +#, c-format +msgid "Aborted processing on %s" +msgstr "Traitement abandonné le %s" + +#: src/info/qt_ui.cpp:125 src/info/wxwidgets_ui.cpp:338 +msgid "About mkvinfo" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:145 +msgid "Actions" +msgstr "Actions" + +#: src/mmg/cli_options_dlg.cpp:47 +msgid "Add" +msgstr "Ajouter" + +#: src/mmg/mmg_dialog.cpp:282 +msgid "Add &command line options" +msgstr "Ajouter des options à la ligne de &commande" + +#: src/mmg/tabs/chapters.cpp:327 +msgid "Add chapter" +msgstr "Ajouter un chapitre" + +#: src/mmg/cli_options_dlg.cpp:24 +msgid "Add command line options" +msgstr "Ajouter des options à la ligne de commande" + +#: src/mmg/header_editor/value_page.cpp:162 +msgid "Add element" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:346 +msgid "Add name" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:328 +msgid "Add subchapter" +msgstr "Ajouter un sous-chapitre" + +#: src/mmg/jobs.cpp:441 +msgid "Added on" +msgstr "Ajouté le" + +#: src/info/mkvinfo.cpp:192 +msgid "AdditionalID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1466 +msgid "Additions" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:148 +msgid "Adds a property with the value even if such a property already exists" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:280 +msgid "Adds the current settings as a new job entry to the job queue" +msgstr "Utilise la configuration courante pour générer une nouvelle tâche dans la liste des tâches" + +#: src/mmg/tabs/chapters.cpp:1359 +msgid "Adjust chapter timecodes" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:333 +msgid "Adjust timecodes" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:115 +msgid "After loading a file expand the most important elements" +msgstr "" + +#: src/info/mkvinfo.cpp:836 +msgid "Algorithm: %1% (%2%)" +msgstr "" + +#: src/mmg/mmg.h:42 +msgid "All Files (*)|*" +msgstr "Tous les fichiers (*)|*" + +#: src/mmg/mmg.h:36 +msgid "All Files (*.*)|*.*" +msgstr "Tous les fichiers (*.*)|*.*" + +#: src/mmg/tabs/chapters.cpp:843 +msgid "All chapter entries are valid." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:634 +msgid "All header values are OK." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:85 +msgid "All known property names and their meaning\n" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Tous les fichiers supportés|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Fichiers Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|Fichiers WebM (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Tous les fichiers|*.*" + +#: src/mmg/tabs/input.cpp:252 +#, c-format +msgid "All supported media files|%s%s|%s" +msgstr "Tous les fichiers supportés|%s%s|%s" + +#: src/mmg/cli_options_dlg.cpp:132 +msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:138 +msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:73 +msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." +msgstr "" + +#: src/mmg/options/mmg.cpp:92 +msgid "Always on top" +msgstr "" + +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 +msgid "An ID corresponding to the codec." +msgstr "" + +#: src/extract/attachments.cpp:109 +msgid "An attachment with the ID %1% was not found.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2076 +msgid "An empty file name is not valid.\n" +msgstr "" + +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 +msgid "" +"An escaped filename corresponding to\n" +"the next segment." +msgstr "" + +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 +msgid "" +"An escaped filename corresponding to\n" +"the previous segment." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 +#: src/propedit/propedit.cpp:43 +msgid "An unknown error occured. The file has been modified." +msgstr "" + +#: src/mmg/wx_kax_analyzer.cpp:35 +msgid "Analysis is running" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:124 +msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." +msgstr "" + +#: src/merge/pr_generic.cpp:525 +msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:577 +msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." +msgstr "" + +#: src/mmg/tabs/input.cpp:1272 +#, c-format +msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." +msgstr "" + +#: src/merge/output_control.cpp:1655 +msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" +msgstr "" + +#: src/mmg/options/mmg.cpp:74 +msgid "Ask before overwriting things (files, jobs)" +msgstr "" + +#: src/merge/mkvmerge.cpp:593 +msgid "Aspect ratio" +msgstr "" + +#: src/merge/mkvmerge.cpp:593 +msgid "Aspect ratio factor" +msgstr "" + +#: src/info/mkvinfo.cpp:760 +msgid "Aspect ratio type: %1%%2%" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:221 +msgid "Aspect ratio:" +msgstr "" + +#: src/common/chapters/xml_parser.cpp:51 +msgid "At least one <ChapterAtom> element is needed." +msgstr "" + +#: src/common/xml/element_parser.cpp:382 +msgid "At least one <EditionEntry> element is needed." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:91 +msgid "Atatchment extraction" +msgstr "" + +#: src/info/mkvinfo.cpp:1310 +msgid "Attached" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:152 +msgid "Attached files" +msgstr "Fichiers déjà attachés" + +#: src/merge/pr_generic.cpp:1439 +msgid "Attachment ID %1%: type '%2%', size %3% bytes" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:163 +msgid "Attachment style:" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:306 src/mmg/tabs/attachments.cpp:155 +#: src/info/mkvinfo.cpp:1298 +msgid "Attachments" +msgstr "Fichiers joints" + +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 +msgid "Audio bit depth" +msgstr "" + +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 +msgid "Audio channels" +msgstr "" + +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 +msgid "Audio output sampling frequency" +msgstr "" + +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 +msgid "Audio sampling frequency" +msgstr "" + +#: src/mmg/header_editor/track_type_page.cpp:46 +#, c-format +msgid "Audio track %u" +msgstr "" + +#: src/mmg/options/mmg.cpp:59 +msgid "Auto-set output filename" +msgstr "" + +#: src/merge/mkvmerge.cpp:325 +msgid "Automatic MIME type recognition for '%1%': %2%\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1629 +msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:36 +msgid "Available options:" +msgstr "" + +#: src/common/command_line.cpp:226 +msgid "Available translations:\n" +msgstr "" + +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "" + +#: src/common/compression.cpp:213 src/common/compression.cpp:231 +msgid "BZ2_bzCompressInit() failed. Result: %1%\n" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:148 +msgid "Binary (displayed as hex numbers)" +msgstr "" + +#: src/info/mkvinfo.cpp:672 +msgid "Bit depth: %1%" +msgstr "" + +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 +msgid "Bits per sample, mostly used for PCM." +msgstr "" + +#: src/info/mkvinfo.cpp:184 +msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" +msgstr "" + +#: src/info/mkvinfo.cpp:198 +msgid "Block additional ID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:193 +msgid "Block additional: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:186 +msgid "Block duration: %1%.%|2$06d|ms" +msgstr "" + +#: src/extract/tracks.cpp:414 src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 +msgid "Block group" +msgstr "" + +#: src/info/mkvinfo.cpp:190 +msgid "Block virtual: %1%" +msgstr "" + +#: src/input/r_vobsub.cpp:532 +msgid "Bogus aid %1%\n" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:149 +msgid "Boolean (yes/no, on/off etc)" +msgstr "" + +#: src/merge/pr_generic.cpp:193 +msgid "Both the aspect ratio and '--display-dimensions' were given.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:191 +msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:281 +msgid "Brings up the job queue editor" +msgstr "Affiche le gestionnaire de la liste de tâches" + +#: src/mmg/mmg_dialog.cpp:311 src/mmg/options/mmg.cpp:69 +#: src/mmg/options/mkvmerge.cpp:59 src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 src/mmg/tabs/global.cpp:276 +#: src/mmg/tabs/global.cpp:293 src/mmg/tabs/global.cpp:297 +msgid "Browse" +msgstr "Parcourir…" + +#: src/extract/extract_cli_parser.cpp:108 +msgid "CUE sheet extraction" +msgstr "" + +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "" + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "" + +#: src/output/p_mpeg4_p2.cpp:117 +msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" +msgstr "" + +#: src/extract/xtr_vobsub.cpp:88 +msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:578 +msgid "Cannot start second muxing job" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:313 +msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" +msgstr "" + +#: src/extract/xtr_avi.cpp:46 src/extract/xtr_ivf.cpp:53 +#: src/extract/xtr_base.cpp:65 src/extract/xtr_textsubs.cpp:308 +msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" +msgstr "" + +#: src/common/kate.cpp:82 +msgid "Category is not NUL terminated" +msgstr "" + +#: src/extract/tracks.cpp:464 src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 +msgid "Caught exception" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:146 +msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." +msgstr "" + +#: src/propedit/change.cpp:207 +msgid "Change for '%1%' executed. No property of this type found. One entry added.\n" +msgstr "" + +#: src/propedit/change.cpp:187 +msgid "Change for '%1%' executed. Number of entries deleted: %2%\n" +msgstr "" + +#: src/propedit/change.cpp:213 +msgid "Change for '%1%' executed. Number of entries set: %2%.\n" +msgstr "" + +#: src/propedit/change.cpp:224 +msgid "Change for '%1%' executed. One entry added.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:272 +msgid "Change mmg's preferences and options" +msgstr "Permet de changer les paramètres de l'interface graphique de mkvmerge" + +#: src/mmg/options/languages.cpp:88 +msgid "Changes to this list do not take effect until mmg is restarted." +msgstr "" + +#: src/info/mkvinfo.cpp:667 +msgid "Channel positions: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:661 +msgid "Channels: %1%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:308 +msgid "Chapter Editor" +msgstr "Éditeur de chapitres" + +#: src/info/mkvinfo.cpp:528 +msgid "Chapter Translate" +msgstr "" + +#: src/info/mkvinfo.cpp:541 +msgid "Chapter Translate Codec: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:537 +msgid "Chapter Translate Edition UID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:545 +msgid "Chapter Translate ID: %1%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:606 +msgid "Chapter editor is not empty" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:100 +msgid "Chapter extraction" +msgstr "" + +#: src/mmg/tabs/global.cpp:274 +msgid "Chapter file:" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:681 +#, c-format +msgid "Chapter files (*.xml)|*.xml|%s" +msgstr "" + +#: src/mmg/tabs/global.cpp:329 +#, c-format +msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:525 +#, c-format +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:345 +msgid "Chapter names and languages" +msgstr "" + +#: src/mmg/options/chapters.cpp:70 +msgid "Chapter options" +msgstr "" + +#: src/common/chapters/xml_parser.cpp:75 +msgid "Chapter parser: The ChapterUID %1% is not unique and could not be reused. A new one will be created.\n" +msgstr "" + +#: src/common/chapters/xml_parser.cpp:65 +msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:764 src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 src/mmg/tabs/chapters.cpp:824 +msgid "Chapter verification error" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:843 +msgid "Chapter verification succeeded" +msgstr "" + +#: src/mmg/options/chapters.cpp:130 src/mmg/tabs/global.cpp:273 +#: src/info/mkvinfo.cpp:1812 +msgid "Chapters" +msgstr "" + +#: src/mmg/mmg.cpp:49 +#, c-format +msgid "Chapters (%d entries) from %s" +msgstr "" + +#: src/merge/output_control.cpp:1297 +msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:610 +msgid "Chapters loaded." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:726 src/mmg/tabs/chapters.cpp:1887 +msgid "Chapters written." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:326 +msgid "Chapters:" +msgstr "" + +#: src/merge/pr_generic.cpp:1442 +msgid "Chapters: %1% entries" +msgstr "" + +#: src/common/cli_parser.cpp:178 +msgid "Charset for strings on the command line" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:249 src/mmg/tabs/global.cpp:282 +msgid "Charset:" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:296 src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "" + +#: src/common/cli_parser.cpp:184 src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "" + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:524 +msgid "Choose a chapter file" +msgstr "Choisir un fichier de chapitres" + +#: src/mmg/tabs/input_general.cpp:275 +msgid "Choose a tag file" +msgstr "Choisir un fichier d'étiquettes" + +#: src/mmg/tabs/input_general.cpp:289 +msgid "Choose a timecodes file" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:193 +msgid "Choose an attachment file" +msgstr "Choisir un fichier à attacher" + +#: src/mmg/mmg_dialog.cpp:384 +msgid "Choose an input file" +msgstr "Choisir un fichier d'entrée" + +#: src/mmg/tabs/input.cpp:259 +msgid "Choose an input file to add" +msgstr "Choisir un fichier d'entrée à ajouter" + +#: src/mmg/tabs/input.cpp:259 +msgid "Choose an input file to append" +msgstr "Choisir un fichier d'entrée à mettre à la suite" + +#: src/mmg/jobs.cpp:410 src/mmg/mmg_dialog.cpp:334 src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 +msgid "Choose an output file" +msgstr "Choisir un fichier de sortie" + +#: src/mmg/tabs/global.cpp:328 +msgid "Choose the chapter file" +msgstr "Choisir le fichier de chapitres" + +#: src/mmg/mmg_dialog.cpp:640 +msgid "Choose the location of the mkvmerge GUI help files" +msgstr "Choisir l'emplacement des fichiers d'aide de l'interface graphique de mkvmerge" + +#: src/mmg/options/mkvmerge.cpp:103 +msgid "Choose the mkvmerge executable" +msgstr "" + +#: src/mmg/options/mmg.cpp:254 +msgid "Choose the output directory" +msgstr "Choisir le répertoire de sortie" + +#: src/mmg/tabs/global.cpp:318 +msgid "Choose the segment info file" +msgstr "" + +#: src/mmg/tabs/global.cpp:308 +msgid "Choose the tags file" +msgstr "" + +#: src/mmg/options/mmg.cpp:90 +msgid "Clear inputs after a successful muxing run" +msgstr "" + +#: src/mmg/options/mmg.cpp:88 +msgid "Clear inputs after adding a job to the job queue" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:145 +msgid "Close the current file without saving" +msgstr "" + +#: src/extract/tracks.cpp:396 src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 +msgid "Cluster" +msgstr "" + +#: src/merge/mkvmerge.cpp:1371 +msgid "Cluster length '%1%' out of range (0..65535).\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1364 +msgid "Cluster length '%1%' out of range (100..32000).\n" +msgstr "" + +#: src/info/mkvinfo.cpp:208 +msgid "Cluster position: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:209 +msgid "Cluster previous size: %1%" +msgstr "" + +#: src/extract/tracks.cpp:405 src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 +msgid "Cluster timecode: %|1$.3f|s" +msgstr "" + +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 +msgid "Codec ID" +msgstr "" + +#: src/info/mkvinfo.cpp:1016 +msgid "Codec ID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1053 +msgid "Codec decode all: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1048 +msgid "Codec download URL: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1044 +msgid "Codec info URL: %1%" +msgstr "" + +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 +msgid "Codec name" +msgstr "" + +#: src/info/mkvinfo.cpp:1035 +msgid "Codec name: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1040 +msgid "Codec settings: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:210 +msgid "Codec state: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1031 +msgid "CodecPrivate, length %1%%2%" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:148 +msgid "Collapse all entries so that none of their sub-entries will be shown" +msgstr "" + +#: src/info/mkvinfo.cpp:769 +msgid "Colour space: %1%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:790 +msgid "Command line copied to clipboard." +msgstr "Ligne de commande copiée dans le presse-papier." + +#: src/mmg/cli_options_dlg.cpp:57 +msgid "Command line options:" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:748 +msgid "Command line saved." +msgstr "" + +#: src/mmg/tabs/input.cpp:369 +msgid "Command line used:" +msgstr "" + +#: src/mmg/options/languages.cpp:79 +msgid "Common languages" +msgstr "" + +#: src/merge/pr_generic.cpp:782 +msgid "Compression failed: %1%\n" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:58 src/mmg/tabs/input_extra.cpp:126 +msgid "Compression:" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:379 +msgid "Configuration cleared." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:424 +msgid "Configuration loaded." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:459 +msgid "Configuration saved." +msgstr "" + +#: src/info/mkvinfo.cpp:826 +msgid "Content compression" +msgstr "" + +#: src/info/mkvinfo.cpp:791 +msgid "Content encoding" +msgstr "" + +#: src/info/mkvinfo.cpp:783 +msgid "Content encodings" +msgstr "" + +#: src/info/mkvinfo.cpp:853 +msgid "Content encryption" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:72 +msgid "Convert text subtitles to this charset (default: UTF-8)." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:277 +msgid "Copy the command line to the clipboard" +msgstr "Copie la ligne de commande dans le presse-papiers" + +#: src/extract/xtr_cpic.cpp:54 +msgid "CorePicture frame %1% has an invalid header size %2%.\n" +msgstr "" + +#: src/extract/xtr_cpic.cpp:47 +msgid "CorePicture frame %1% not supported.\n" +msgstr "" + +#: src/mmg/jobs.cpp:184 src/mmg/mux_dialog.cpp:130 src/mmg/tabs/input.cpp:311 +#, c-format +msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." +msgstr "Impossible de créer un fichier temporaire pour l'option de commande de mkvmerge appelée '%s' (code d'erreur %d, %s)." + +#: src/info/wxwidgets_ui.cpp:283 +#, c-format +msgid "Could not create the file '%s'." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:768 +msgid "Could not create the specified file." +msgstr "" + +#: src/common/xml/element_parser.cpp:154 +msgid "Could not decode the Base64 encoded data - it seems to be malformed." +msgstr "" + +#: src/input/r_ogm.cpp:1157 src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 +msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" +msgstr "" + +#: src/input/r_avi.cpp:301 src/input/r_avi.cpp:306 +msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" +msgstr "" + +#: src/input/r_mp3.cpp:40 +msgid "Could not find a valid MP3 packet." +msgstr "" + +#: src/input/r_avi.cpp:513 +msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" +msgstr "" + +#: src/merge/output_control.cpp:1610 +msgid "Could not find gptzr when appending. %1%\n" +msgstr "" + +#: src/output/p_mpeg4_p2.cpp:181 +msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" +msgstr "" + +#: src/input/r_ogm.cpp:380 +msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" +msgstr "" + +#: src/input/r_avi.cpp:685 src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "" + +#: src/common/locale.cpp:133 +msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" +msgstr "" + +#: src/common/locale.cpp:140 +msgid "Could not initialize the iconv library for the conversion from UFT-8 to %1%. Some strings cannot be converted from UTF-8 and might be displayed incorrectly (error: %2%, %3%).\n" +msgstr "" + +#: src/common/chapters/chapters.cpp:303 src/common/chapters/chapters.cpp:305 +#: src/common/tags/parser.cpp:58 +msgid "Could not open '%1%' for reading.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:792 +msgid "Could not open the clipboard." +msgstr "" + +#: src/input/r_wavpack.cpp:79 +msgid "Could not open the corresponding correction file '%1%c'.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:704 +#, c-format +msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." +msgstr "" + +#: src/common/command_line.cpp:212 +msgid "Could not open the file '%1%' for directing the output.\n" +msgstr "" + +#: src/extract/timecodes_v2.cpp:106 +msgid "Could not open the timecode file '%1%' for writing (%2%).\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:147 +msgid "Could not open/read the file '%1%'." +msgstr "" + +#: src/common/chapters/chapters.cpp:299 +msgid "Could not parse the chapters in '%1%': %2%\n" +msgstr "" + +#: src/input/r_ogm_flac.cpp:255 +msgid "Could not read the FLAC header packets.\n" +msgstr "" + +#: src/common/mm_io_win.cpp:167 src/common/mm_io.cpp:181 +msgid "Could not write to the output file: %1% (%2%)\n" +msgstr "" + +#: src/mmg/options/chapters.cpp:89 src/mmg/tabs/chapters.cpp:350 +msgid "Country:" +msgstr "Pays :" + +#: src/mmg/mmg_dialog.cpp:279 +msgid "Create &option file" +msgstr "Créer un fichier d'&options" + +#: src/mmg/tabs/global.cpp:300 +msgid "Create WebM compliant file" +msgstr "Créer un fichier compatible avec le format WebM" + +#: src/mmg/tabs/global.cpp:301 +msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:283 +msgid "Create a new chapter file" +msgstr "Crée un nouveau fichier de chapitres" + +#: src/merge/mkvmerge.cpp:670 +msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:252 +msgid "Cropping:" +msgstr "" + +#: src/info/mkvinfo.cpp:1241 +msgid "Cue block number: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1237 +msgid "Cue cluster position: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1246 +msgid "Cue codec state: %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:286 +msgid "Cue name format:" +msgstr "" + +#: src/info/mkvinfo.cpp:1212 +msgid "Cue point" +msgstr "" + +#: src/info/mkvinfo.cpp:1262 +msgid "Cue ref cluster: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1270 +msgid "Cue ref codec state: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1266 +msgid "Cue ref number: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1258 +msgid "Cue ref time: %|1$.3f|s" +msgstr "" + +#: src/info/mkvinfo.cpp:1249 +msgid "Cue reference" +msgstr "" + +#: src/common/chapters/cue_parser.cpp:398 +msgid "Cue sheet parser: Invalid INDEX entry in line %1%.\n" +msgstr "" + +#: src/common/chapters/cue_parser.cpp:417 +msgid "Cue sheet parser: Invalid INDEX number (got %1%, expected %2%) in line %3%,\n" +msgstr "" + +#: src/common/chapters/cue_parser.cpp:279 +msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1221 +msgid "Cue time: %|1$.3f|s" +msgstr "" + +#: src/info/mkvinfo.cpp:1224 +msgid "Cue track positions" +msgstr "" + +#: src/info/mkvinfo.cpp:1233 +msgid "Cue track: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1196 +msgid "Cues (subentries will be skipped)" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:50 src/mmg/tabs/input_extra.cpp:124 +msgid "Cues:" +msgstr "" + +#: src/mmg/jobs.cpp:429 +msgid "Current and past jobs:" +msgstr "Travaux/tâches en cours et terminés :" + +#: src/mmg/mmg_dialog.cpp:730 +msgid "Current command line" +msgstr "" + +#: src/mmg/jobs.cpp:174 +#, c-format +msgid "Current job ID %d:" +msgstr "Tâche en cours n°%d :" + +#: src/mmg/jobs.cpp:80 +msgid "Current job ID 1000:" +msgstr "Tâche en cours n°1000 :" + +#: src/mmg/header_editor/value_page.cpp:166 +msgid "Current value:" +msgstr "" + +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "" + +#: src/mmg/jobs.cpp:484 +msgid "D&elete" +msgstr "Supprim&er" + +#: src/output/p_dts.cpp:84 +msgid "DTS header information changed! - New format:\n" +msgstr "" + +#: src/common/file_types.cpp:31 +msgid "DTS/DTS-HD (Digital Theater System)" +msgstr "" + +#: src/common/dts.cpp:194 +msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" +msgstr "" + +#: src/common/dts.cpp:158 +msgid "DTS_Header problem: invalid core sampling frequency\n" +msgstr "" + +#: src/common/dts.cpp:140 +msgid "DTS_Header problem: invalid frame bytes size\n" +msgstr "" + +#: src/common/dts.cpp:133 +msgid "DTS_Header problem: invalid number of blocks in frame\n" +msgstr "" + +#: src/common/dts.cpp:234 +msgid "DTS_Header problem: invalid source PCM resolution\n" +msgstr "" + +#: src/common/dts.cpp:292 +msgid "DTS_Header problem: not enough data to read header\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:238 +msgid "Data is not allowed inside <%1%>." +msgstr "" + +#: src/info/mkvinfo.cpp:595 +msgid "Date (invalid, value: %1%)" +msgstr "" + +#: src/info/mkvinfo.cpp:593 +msgid "Date: %1% UTC" +msgstr "" + +#: src/common/output.cpp:79 +msgid "Debug> " +msgstr "" + +#: src/mmg/tabs/input_format.cpp:194 src/mmg/tabs/input_format.cpp:212 +msgid "Default" +msgstr "" + +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:419 +msgid "Default duration" +msgstr "" + +#: src/info/mkvinfo.cpp:1071 +msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" +msgstr "" + +#: src/info/mkvinfo.cpp:1086 +msgid "Default flag: %1%" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:183 +msgid "Default track flag:" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:242 +msgid "Delay (in ms):" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:243 +msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." +msgstr "" + +#: src/info/mkvinfo.cpp:196 +msgid "Delay: %|1$.3f|ms" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:151 +msgid "Delete all occurences of a property" +msgstr "" + +#: src/mmg/jobs.cpp:485 +msgid "Delete the selected job(s) from the job queue" +msgstr "Supprimer les tâches sélectionnées de la liste des tâches" + +#: src/mmg/jobs.cpp:439 +msgid "Description" +msgstr "Description" + +#: src/mmg/mmg_dialog.cpp:1390 +msgid "Description already exists" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:51 src/mmg/header_editor/value_page.cpp:155 +#: src/mmg/tabs/attachments.cpp:160 +msgid "Description:" +msgstr "Description :" + +#: src/common/file_types.cpp:29 +msgid "Dirac" +msgstr "" + +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "" + +#: src/mmg/jobs.cpp:480 +msgid "Disable the selected job(s) and sets their status to 'done'" +msgstr "Désactiver les tâches sélectionnées et définir leur statut à l'état 'terminé'" + +#: src/mmg/cli_options_dlg.cpp:134 +msgid "Disable the use of SimpleBlocks instead of BlockGroups." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:100 +msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." +msgstr "" + +#: src/merge/mkvmerge.cpp:645 src/merge/mkvmerge.cpp:651 +msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" +msgstr "" + +#: src/info/mkvinfo.cpp:708 +msgid "Display height: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:735 +msgid "Display unit: %1%%2%" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:150 +msgid "Display usage information" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:224 +msgid "Display width/height:" +msgstr "" + +#: src/info/mkvinfo.cpp:703 +msgid "Display width: %1%" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:116 +msgid "Do not add an entry for the chapters in the meta seek element." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:118 +msgid "Do not write meta seek elements at all." +msgstr "" + +#: src/info/mkvinfo.cpp:1876 +msgid "Doc type read version: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1873 +msgid "Doc type version: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1870 +msgid "Doc type: %1%" +msgstr "" + +#: src/common/file_types.cpp:30 +msgid "Dolby TrueHD" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:66 +msgid "Don't write variable parts to output files (only for debugging)." +msgstr "" + +#: src/propedit/propedit.cpp:108 +msgid "Done.\n" +msgstr "" + +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "" + +#: src/info/mkvinfo.cpp:197 +msgid "Duration: %|1$.3f|ms" +msgstr "" + +#: src/info/mkvinfo.cpp:572 +msgid "Duration: %|1$.3f|s (%2%)" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:111 +msgid "E&xit\tCtrl-Q" +msgstr "" + +#: src/info/mkvinfo.cpp:1846 +msgid "EBML head" +msgstr "" + +#: src/info/mkvinfo.cpp:1864 +msgid "EBML maximum ID length: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1867 +msgid "EBML maximum size length: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1861 +msgid "EBML read version: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1858 +msgid "EBML version: %1%" +msgstr "" + +#: src/merge/output_control.cpp:1153 +msgid "EVIL internal bug! (unknown file type). %1%\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:338 +msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:824 +msgid "Each edition must contain at least one chapter." +msgstr "" + +#: src/info/mkvinfo.cpp:181 +msgid "EbmlVoid (size: %1%)" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:159 +msgid "Edit selectors" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:472 +#, c-format +msgid "Edition %d" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:875 src/mmg/tabs/chapters.cpp:947 +#, c-format +msgid "EditionEntry %u" +msgstr "" + +#: src/propedit/propedit.cpp:63 +msgid "Element %1% is written.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:91 +msgid "Element types:\n" +msgstr "" + +#: src/info/qt_ui.cpp:55 +msgid "Elements" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:119 +msgid "Elements in the category '%1%' ('--edit %2%'):\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:233 +msgid "Enable splitting..." +msgstr "" + +#: src/info/mkvinfo.cpp:1005 +msgid "Enabled: %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:234 +msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." +msgstr "" + +#: src/info/mkvinfo.cpp:863 +msgid "Encryption algorithm: %1% (%2%)" +msgstr "" + +#: src/info/mkvinfo.cpp:875 +msgid "Encryption key ID: %1%" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:336 +msgid "End:" +msgstr "Fin :" + +#: src/common/iso639.cpp:527 +msgid "English language name" +msgstr "" + +#: src/info/qt_ui.cpp:130 src/info/wxwidgets_ui.cpp:229 +msgid "Error" +msgstr "" + +#: src/input/r_avc.cpp:73 +msgid "Error %1%\n" +msgstr "" + +#: src/input/subtitles.cpp:133 +msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" +msgstr "" + +#: src/input/subtitles.cpp:124 +msgid "Error in line %1%: expected subtitle number and found some text.\n" +msgstr "" + +#: src/common/xml/element_mapping.cpp:43 +msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" +msgstr "" + +#: src/mmg/mmg.cpp:225 src/mmg/mmg_dialog.cpp:389 src/mmg/mmg_dialog.cpp:408 +msgid "Error loading settings" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:705 +msgid "Error opening file" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1044 +msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:585 +msgid "Error parsing the file" +msgstr "" + +#: src/merge/mkvmerge.cpp:487 +msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" +msgstr "" + +#: src/info/qt_ui.cpp:77 +msgid "Error saving the information" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:691 src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 src/mmg/tabs/chapters.cpp:1899 +msgid "Error writing Matroska file" +msgstr "" + +#: src/common/output.cpp:72 src/mmg/mux_dialog.cpp:189 +msgid "Error:" +msgstr "" + +#: src/common/output.cpp:73 +msgid "Error: " +msgstr "" + +#: src/common/xml/element_parser.cpp:63 +msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1928 +msgid "Error: Couldn't open input file %1% (%2%).\n" +msgstr "" + +#: src/extract/tracks.cpp:339 src/extract/timecodes_v2.cpp:184 +msgid "Error: No EBML head found." +msgstr "" + +#: src/merge/mkvmerge.cpp:1623 +msgid "" +"Error: no output file name was given.\n" +"\n" +msgstr "" + +#: src/output/p_vorbis.cpp:63 +msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" +msgstr "" + +#: src/mmg/mux_dialog.cpp:95 +msgid "Errors:" +msgstr "Erreurs :" + +#: src/mmg/mux_dialog.cpp:360 +msgid "Everything went fine." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:79 src/extract/extract_cli_parser.cpp:87 +#: src/extract/extract_cli_parser.cpp:96 +#: src/extract/extract_cli_parser.cpp:104 +#: src/extract/extract_cli_parser.cpp:113 +#: src/extract/extract_cli_parser.cpp:121 +msgid "Example" +msgstr "Exemple" + +#: src/mmg/options/mkvmerge.cpp:105 +#, c-format +msgid "Executable files (*.exe)|*.exe|%s" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:147 +msgid "Expand all entries so that their sub-entries will be shown" +msgstr "" + +#: src/common/xml/element_parser.cpp:111 +msgid "Expected a time in the following format: HH:MM:SS.nnn (HH = hour, MM = minute, SS = second, nnn = millisecond up to nanosecond. You may use up to nine digits for 'n' which would mean nanosecond precision). You may omit the hour as well. Found '%1%' instead. Additional error message: %2%" +msgstr "" + +#: src/common/xml/element_parser.cpp:78 +msgid "Expected an unsigned integer but found '%1%'." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:102 +msgid "Exports the chapter infomartion in the simple format used in OGM tools (CHAPTER01=... CHAPTER01NAME=...)." +msgstr "" + +#: src/mmg/tabs/input.cpp:192 +msgid "Extra options" +msgstr "Options supplémentaires" + +#: src/extract/extract_cli_parser.cpp:76 +msgid "Extract the data to a raw file including the CodecPrivate as a header." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:75 +msgid "Extract the data to a raw file." +msgstr "" + +#: src/output/p_mpeg4_p10.cpp:68 src/output/p_avc.cpp:131 +msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" +msgstr "" + +#: src/output/p_mpeg4_p2.cpp:338 +msgid "Extracted the aspect ratio information from the MPEG4 layer 2 video data and set the display dimensions to %1%/%2%.\n" +msgstr "" + +#: src/output/p_theora.cpp:74 +msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" +msgstr "" + +#: src/extract/tracks.cpp:110 +msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" +msgstr "" + +#: src/extract/tracks.cpp:94 +msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" +msgstr "" + +#: src/common/file_types.cpp:33 +msgid "FLAC (Free Lossless Audio Codec)" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:233 +msgid "FPS:" +msgstr "FPS :" + +#: src/extract/xtr_vobsub.cpp:81 +msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" +msgstr "" + +#: src/extract/xtr_vobsub.cpp:236 src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 +msgid "Failed to create the file '%1%': %2% (%3%)\n" +msgstr "" + +#: src/extract/xtr_tta.cpp:44 +msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:379 +msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:340 +msgid "Failed to parse the USF codec private data for track %1%: %2%\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:391 +msgid "Failed to parse the USF end tag for track %1%: %2%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:603 +msgid "Family UID:%1%" +msgstr "" + +#: src/merge/mkvmerge.cpp:391 +msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1437 +msgid "File '%1%': container: %2%" +msgstr "" + +#: src/merge/pr_generic.cpp:1355 +msgid "File '%1%': unsupported container: %2%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1335 +msgid "File UID: %1%" +msgstr "" + +#: src/input/r_real.cpp:469 src/input/r_real.cpp:479 +msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:768 src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 +msgid "File creation failed" +msgstr "" + +#: src/info/mkvinfo.cpp:1331 +msgid "File data, size: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1319 +msgid "File description: %1%" +msgstr "" + +#: src/mmg/tabs/input.cpp:364 src/mmg/tabs/input.cpp:377 +msgid "File identification failed" +msgstr "" + +#: src/mmg/tabs/input.cpp:359 +#, c-format +msgid "File identification failed for '%s'. Return code: %d" +msgstr "" + +#: src/mmg/tabs/input.cpp:362 +#, c-format +msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." +msgstr "" + +#: src/mmg/tabs/input.cpp:298 +msgid "File is already processed" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:526 +msgid "File modified" +msgstr "" + +#: src/info/mkvinfo.cpp:1323 +msgid "File name: %1%" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 +msgid "File parsing failed" +msgstr "" + +#: src/mmg/tabs/input.cpp:737 +msgid "File removal not possible" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:703 src/mmg/tabs/chapters.cpp:1906 +msgid "File structure warning" +msgstr "" + +#: src/mmg/tabs/global.cpp:261 +msgid "File/segment linking" +msgstr "" + +#: src/mmg/tabs/global.cpp:229 +msgid "File/segment title:" +msgstr "" + +#: src/merge/output_control.cpp:843 +msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/mmg/jobs.cpp:358 +#, c-format +msgid "Finished job ID %d on %s: status '%s'" +msgstr "Tâche n°%d terminée le %s : statut '%s'" + +#: src/mmg/jobs.cpp:445 +msgid "Finished on" +msgstr "Terminé le" + +#: src/mmg/jobs.cpp:142 +#, c-format +msgid "Finished processing on %s" +msgstr "Traitement terminé le %s" + +#: src/mmg/header_editor/value_page.cpp:147 +msgid "Floating point number" +msgstr "" + +#: src/mmg/tabs/global.cpp:270 src/mmg/tabs/global.cpp:272 +msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:122 +msgid "Force EBML style lacing." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:120 +msgid "Force Xiph style lacing." +msgstr "" + +#: src/common/cli_parser.cpp:177 +msgid "Force the translations for 'code' to be used." +msgstr "" + +#: src/info/mkvinfo.cpp:1090 +msgid "Forced flag: %1%" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:185 +msgid "Forced track flag:" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:228 +msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:130 +msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:238 +msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:104 +msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." +msgstr "" + +#: src/mmg/tabs/input.cpp:191 +msgid "Format specific options" +msgstr "Options spécifiques de format" + +#: src/mpegparser/M2VParser.cpp:442 +msgid "Found B frame without second reference in a non closed GOP. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "" + +#: src/mpegparser/M2VParser.cpp:396 +msgid "Found group of picture with broken link. You may want use smart reencode before attempting to multiplex it.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:131 +msgid "Found no encoded data nor '@file' to read binary data from." +msgstr "" + +#: src/mpegparser/M2VParser.cpp:444 +msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:227 +msgid "FourCC:" +msgstr "" + +#: src/merge/mkvmerge.cpp:1116 +msgid "FourCC: Invalid track ID in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1112 +msgid "FourCC: Missing track ID in '%1% %2%'.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:195 +msgid "Frame number: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:773 +msgid "Frame rate: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:185 src/info/mkvinfo.cpp:204 +msgid "Frame with size %1%%2%%3%" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:131 +msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." +msgstr "" + +#: src/info/mkvinfo.cpp:744 +msgid "Gamma: %1%" +msgstr "" + +#: src/mmg/tabs/input.cpp:190 +msgid "General track options" +msgstr "Options générales de la piste" + +#: src/mmg/mmg_dialog.cpp:307 +msgid "Global" +msgstr "Options globales" + +#: src/mmg/tabs/global.cpp:228 src/extract/extract_cli_parser.cpp:64 +msgid "Global options" +msgstr "Options globales" + +#: src/mmg/mmg.cpp:52 +#, c-format +msgid "Global tags (%d entries) from %s" +msgstr "" + +#: src/merge/pr_generic.cpp:1443 +msgid "Global tags: %1% entries" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:152 +msgid "H&eaders" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:172 +msgid "Header editor" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:131 +msgid "Header editor ready." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:174 +#, c-format +msgid "Header editor: %s" +msgstr "" + +#: src/common/compression.cpp:284 +msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." +msgstr "" + +#: src/common/compression.cpp:298 +msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 +msgid "Header validation" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:567 src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 +msgid "Headers modified" +msgstr "" + +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 +msgid "Height of the encoded video frames in pixels." +msgstr "" + +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 +msgid "Height of the video frames to display." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:690 src/mmg/mmg_dialog.cpp:696 +msgid "Help file not found" +msgstr "Fichier d'aide non trouvé" + +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:31 +msgid "" +"Here you can add more command line options either by\n" +"entering them below or by chosing one from the drop\n" +"down box and pressing the 'add' button." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "" + +#: src/mmg/options/chapters.cpp:76 +msgid "" +"Here you can set the default values that mmg will use\n" +"for each chapter that you create. These values can\n" +"then be changed if needed. The default values will be\n" +"saved when you exit mmg." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:331 +msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." +msgstr "" + +#: src/mmg/jobs.cpp:434 +msgid "ID" +msgstr "N°" + +#: src/common/iso639.cpp:529 +msgid "ISO639-1 code" +msgstr "" + +#: src/common/iso639.cpp:528 +msgid "ISO639-2 code" +msgstr "" + +#: src/common/file_types.cpp:35 +msgid "IVF with VP8 video files" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:341 +msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:344 +msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." +msgstr "" + +#: src/mmg/options/mmg.cpp:75 +msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." +msgstr "" + +#: src/mmg/options/mmg.cpp:60 +msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." +msgstr "" + +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "" + +#: src/mmg/options/mmg.cpp:95 +msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." +msgstr "" + +#: src/mmg/options/mmg.cpp:71 +msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:168 +msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." +msgstr "" + +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "" + +#: src/input/subtitles.cpp:511 +msgid "Imported font from %1%" +msgstr "" + +#: src/input/subtitles.cpp:511 +msgid "Imported picture from %1%" +msgstr "" + +#: src/input/r_corepicture.cpp:226 +msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1870 +msgid "Incompatible mkvmerge version" +msgstr "" + +#: src/mmg/tabs/input.cpp:948 +msgid "Incompatible track" +msgstr "" + +#: src/input/r_real.cpp:608 +msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" +msgstr "" + +#: src/common/cli_parser.cpp:175 +msgid "Increase verbosity." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:305 +msgid "Input" +msgstr "Entrée" + +#: src/mmg/tabs/chapters.cpp:1379 src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 src/mmg/tabs/chapters.cpp:1519 +msgid "Input data error" +msgstr "" + +#: src/mmg/tabs/input.cpp:182 +msgid "Input files:" +msgstr "Fichiers d'entrée :" + +#: src/common/bitvalue.cpp:71 +msgid "Input too long: %1% > %2%" +msgstr "" + +#: src/mmg/options/mmg.cpp:116 +msgid "Interface language:" +msgstr "" + +#: src/info/mkvinfo.cpp:748 +msgid "Interlaced: %1%" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:142 +msgid "Internal bug: tracks.cpp SSA #1. %1%" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 +msgid "Internal program error" +msgstr "" + +#: src/merge/mkvmerge.cpp:1040 +msgid "Invalid %1% specified in '--%2% %3%'.\n" +msgstr "" + +#: src/common/base64.cpp:135 +msgid "Invalid Base64 character encountered" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:160 +msgid "Invalid BlockAddition level in argument '%1%'.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1472 +msgid "Invalid UID. A UID is simply a number." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1481 +msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1495 +msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." +msgstr "" + +#: src/input/r_avi.cpp:694 src/input/r_avi.cpp:699 src/input/r_avi.cpp:716 +msgid "Invalid Vorbis headers in AVI audio track." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:237 +msgid "Invalid attachment ID/file name specification in argument '%1%'.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:211 +msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." +msgstr "" + +#: src/merge/mkvmerge.cpp:889 +msgid "Invalid boolean option specified in '--default-track %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:915 +msgid "Invalid boolean option specified in '--forced-track %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1299 +msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:63 +msgid "Invalid change spec (%3%) in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:970 +msgid "Invalid compression option specified in '--compression %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:963 +msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" +msgstr "" + +#: src/mmg/options/chapters.cpp:121 +msgid "Invalid country selected" +msgstr "" + +#: src/merge/mkvmerge.cpp:940 +msgid "Invalid cues option specified in '--cues %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:933 +msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:585 +msgid "Invalid file name" +msgstr "" + +#: src/merge/mkvmerge.cpp:830 +msgid "Invalid format for '--split' in '--split %1%'.\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:211 +msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:200 +msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1379 +msgid "Invalid format used for the adjustment." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1519 +#, c-format +msgid "Invalid format used for the end time for '%s'. Setting value to 0." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1511 +#, c-format +msgid "Invalid format used for the start time for '%s'. Setting value to 0." +msgstr "" + +#: src/common/strings/parsing.cpp:221 +msgid "Invalid format: At least minutes and seconds have to be given, but no colon was found" +msgstr "" + +#: src/common/strings/parsing.cpp:207 +msgid "Invalid format: Colon inside nano-second part" +msgstr "" + +#: src/common/strings/parsing.cpp:190 +msgid "Invalid format: More than nine nano-second digits" +msgstr "" + +#: src/common/strings/parsing.cpp:209 +msgid "Invalid format: More than two colons" +msgstr "" + +#: src/common/strings/parsing.cpp:211 +msgid "Invalid format: No digits before colon" +msgstr "" + +#: src/common/strings/parsing.cpp:200 +msgid "Invalid format: No digits before decimal point" +msgstr "" + +#: src/common/strings/parsing.cpp:197 +msgid "Invalid format: Second decimal point after first decimal point" +msgstr "" + +#: src/common/strings/parsing.cpp:224 +msgid "Invalid format: The last character is a colon or a decimal point instead of a digit" +msgstr "" + +#: src/common/strings/parsing.cpp:217 +msgid "Invalid format: unknown character '%1%' found" +msgstr "" + +#: src/input/r_vobsub.cpp:515 +msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:170 +msgid "Invalid hexadecimal data encountered: '%1%' is neither white space nor a hexadecimal number." +msgstr "" + +#: src/mmg/options/chapters.cpp:114 src/mmg/tabs/chapters.cpp:1307 +msgid "Invalid language selected" +msgstr "" + +#: src/common/chapters/chapters.cpp:193 +msgid "Invalid minute: %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:610 +msgid "Invalid number of max. split files given." +msgstr "" + +#: src/common/strings/parsing.cpp:260 +msgid "Invalid number of minutes: %1% > 59" +msgstr "" + +#: src/common/strings/parsing.cpp:262 +msgid "Invalid number of seconds: %1% > 59" +msgstr "" + +#: src/common/chapters/chapters.cpp:195 +msgid "Invalid second: %1%" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:51 +msgid "Invalid selector in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:784 +msgid "Invalid split size in '--split %1%'.\n" +msgstr "" + +#: src/input/r_usf.cpp:315 +msgid "Invalid start or stop timecode" +msgstr "" + +#: src/input/r_corepicture.cpp:246 +msgid "Invalid start timecode" +msgstr "" + +#: src/merge/mkvmerge.cpp:1064 +msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1071 +msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:545 +msgid "Invalid sync option specified in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:568 +msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:574 +msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:537 +msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1095 +msgid "Invalid tags file name specified in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1088 +msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:749 +msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:771 +msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:514 +msgid "Invalid track ID in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:541 src/merge/mkvmerge.cpp:1092 +msgid "Invalid track ID specified in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1036 +msgid "Invalid track ID specified in '--%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1296 +msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:967 +msgid "Invalid track ID specified in '--compression %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:937 +msgid "Invalid track ID specified in '--cues %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:883 +msgid "Invalid track ID specified in '--default-track %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:909 +msgid "Invalid track ID specified in '--forced-track %1%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1068 +msgid "Invalid track ID specified in '--sub-charset %1%'.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:239 +msgid "Invalid track ID/file name specification in argument '%1%'.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1425 +msgid "Job added to job queue" +msgstr "Tâche ajoutée à la liste des tâches" + +#: src/mmg/mmg_dialog.cpp:1378 +msgid "Job description" +msgstr "Descriptif de la tâche" + +#: src/mmg/jobs.cpp:385 +msgid "Job output" +msgstr "Messages de sortie lors du traitement de la tâche" + +#: src/mmg/jobs.cpp:426 +msgid "Job queue management" +msgstr "Gestion de la liste des tâches" + +#: src/output/p_kate.cpp:78 +msgid "Kate packet is too small and is being skipped.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:74 +msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" +msgstr "" + +#: src/common/compression.cpp:88 +msgid "LZO compression failed. Result: %1%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:194 +msgid "Lace number: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1082 +msgid "Lacing flag: %1%" +msgstr "" + +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:431 +msgid "Language" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:182 +msgid "Language for this track. Select one of the ISO639-2 language codes." +msgstr "" + +#: src/common/kate.cpp:78 +msgid "Language is not NUL terminated" +msgstr "" + +#: src/mmg/options/chapters.cpp:86 src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 src/mmg/tabs/global.cpp:278 +msgid "Language:" +msgstr "Langue :" + +#: src/info/mkvinfo.cpp:1094 +msgid "Language: %1%" +msgstr "" + +#: src/mmg/options/languages.cpp:116 +msgid "Languages" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:114 +msgid "Leave additional space (EbmlVoid) in the output file after the chapters." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:282 +msgid "Lets you add arbitrary options to the command line" +msgstr "Vous permet d'ajouter des options particulières à la ligne de commande" + +#: src/merge/timecode_factory.cpp:349 +msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the duration or the FPS are smaller than zero).\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:120 +msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the start frame number is bigger than the end frame number, or some values are smaller than zero).\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:114 src/merge/timecode_factory.cpp:342 +msgid "Line %1% of the timecode file '%2%' could not be parsed.\n" +msgstr "" + +#: src/common/xml/element_parser.h:51 +msgid "Line %1%, column %2%: %3%" +msgstr "" + +#: src/input/subtitles.cpp:187 +msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" +msgstr "" + +#: src/input/r_vobsub.cpp:277 +msgid "Line %1%: The current timestamp (%2%) is smaller than the previous one (%3%). The entries will be sorted according to their timestamps. This might result in the wrong order for some subtitle entries. If this is the case then you have to fix the .idx file manually.\n" +msgstr "" + +#: src/input/r_vobsub.cpp:234 src/input/r_vobsub.cpp:257 +msgid "Line %1%: The line seems to be a subtitle entry but the format couldn't be recognized. This entry will be skipped.\n" +msgstr "" + +#: src/input/r_vobsub.cpp:267 +msgid "Line %1%: The line seems to be a subtitle entry but the timecode was negative even after adding the track delay. Negative timecodes are not supported in Matroska. This entry will be skipped.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:142 +msgid "List all valid property names and exit" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:284 +msgid "Load a chapter file (simple/OGM format or XML format)" +msgstr "Charge un fichier de chapitres (au format simple/OGM ou XML)" + +#: src/mmg/mmg_dialog.cpp:269 +msgid "Load muxing settings from a file" +msgstr "Charge les paramètres de multiplexage depuis un fichier" + +#: src/mmg/mux_dialog.cpp:263 +#, c-format +msgid "Log files (*.txt)|*.txt|%s" +msgstr "" + +#: src/mmg/jobs.cpp:91 +msgid "Log output:" +msgstr "Messages de sortie :" + +#: src/info/mkvinfo.cpp:893 +msgid "MD5" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:162 +msgid "MIME type for this track. Select one of the pre-defined MIME types or enter one yourself." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:161 +msgid "MIME type:" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "" + +#: src/common/file_types.cpp:36 +msgid "MP4 audio/video files" +msgstr "" + +#: src/common/file_types.cpp:37 +msgid "MPEG audio files" +msgstr "" + +#: src/common/file_types.cpp:38 +msgid "MPEG program streams" +msgstr "" + +#: src/common/file_types.cpp:39 +msgid "MPEG video elementary streams" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:184 +msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." +msgstr "" + +#: src/input/r_matroska.cpp:1510 src/input/r_matroska.cpp:1525 +msgid "Malformed AAC codec initialization data found.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1518 +msgid "Malformed codec id '%1%'.\n" +msgstr "" + +#: src/input/subtitles.cpp:357 src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 +msgid "Malformed line? (%1%)\n" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:186 +msgid "Mark this track as 'forced'. Players must play this track." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:336 +#, c-format +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Fichiers Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/common/file_types.cpp:40 +msgid "Matroska audio/video files" +msgstr "Fichiers Matroska audio/vidéo" + +#: src/info/qt_ui.cpp:64 +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Fichiers Matroska (*.mkv *.mka *.mks *.mk3d);;Tous les fichiers (*.*)" + +#: src/mmg/tabs/chapters.cpp:637 +#, c-format +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Fichiers Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/mmg/header_editor/frame.cpp:238 +#, c-format +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Fichiers Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" + +#: src/info/mkvinfo.cpp:1103 +msgid "Max BlockAddition ID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1066 +msgid "MaxCache: %1%" +msgstr "" + +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:414 +msgid "Maximum cache" +msgstr "" + +#: src/extract/xtr_rmff.cpp:47 +msgid "Memory allocation error: %1% (%2%).\n" +msgstr "" + +#: src/extract/xtr_rmff.cpp:74 +msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1327 +msgid "Mime type: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1062 +msgid "MinCache: %1%" +msgstr "" + +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:409 +msgid "Minimum cache" +msgstr "" + +#: src/common/command_line.cpp:189 +msgid "Missing argument for '--output-charset'.\n" +msgstr "" + +#: src/common/command_line.cpp:223 +msgid "Missing argument for '--ui-language'.\n" +msgstr "" + +#: src/common/cli_parser.cpp:106 +msgid "Missing argument to '%1%'.\n" +msgstr "" + +#: src/mmg/mmg.cpp:216 +msgid "Missing file name" +msgstr "" + +#: src/mmg/mmg.cpp:216 +msgid "Missing file name after for the option '--edit-headers'." +msgstr "" + +#: src/input/r_ogm.cpp:941 +msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:389 +msgid "Missing input" +msgstr "" + +#: src/common/bitvalue.cpp:82 +msgid "Missing one hex digit" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:254 +msgid "Missing output file name in argument '%1%'.\n" +msgstr "" + +#: src/propedit/options.cpp:137 +msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1474 +msgid "More" +msgstr "" + +#: src/merge/mkvmerge.cpp:1750 +msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1741 +msgid "More than one description was given for a single attachment.\n" +msgstr "" + +#: src/propedit/options.cpp:75 +msgid "More than one file name has been given ('%1%' and '%2%').\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1760 +msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:333 +msgid "More than one root element found." +msgstr "" + +#: src/merge/output_control.cpp:920 +msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/extract/tracks.cpp:70 +msgid "More than one track with the track number %1% found.\n" +msgstr "" + +#: src/mmg/jobs.cpp:472 +msgid "Move the selected job(s) down" +msgstr "Descendre la tâche dans la liste" + +#: src/mmg/jobs.cpp:469 +msgid "Move the selected job(s) up" +msgstr "Monter la tâche dans la liste" + +#: src/info/mkvinfo.cpp:578 +msgid "Muxing application: %1%" +msgstr "" + +#: src/mmg/mux_dialog.cpp:118 +msgid "Muxing in progress." +msgstr "" + +#: src/merge/mkvmerge.cpp:2206 +msgid "Muxing took %1% seconds.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2208 +msgid "Muxing took 1 second.\n" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:237 +msgid "NALU size length:" +msgstr "" + +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 +msgid "Name" +msgstr "Nom" + +#: src/mmg/tabs/input_general.cpp:180 +msgid "Name for this track, e.g. \"director's comments\"." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:158 src/mmg/tabs/chapters.cpp:348 +msgid "Name:" +msgstr "Nom :" + +#: src/info/mkvinfo.cpp:1010 +msgid "Name: %1%" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:410 +msgid "New chapters created." +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:161 +msgid "New value:" +msgstr "" + +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 +msgid "Next filename" +msgstr "" + +#: src/info/mkvinfo.cpp:622 +msgid "Next filename: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1968 +msgid "Next level 0 element is not a segment but %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:271 +msgid "Next segment UID:" +msgstr "" + +#: src/info/mkvinfo.cpp:618 +msgid "Next segment UID:%1%" +msgstr "" + +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:349 +msgid "Next segment's unique ID" +msgstr "" + +#: src/merge/mkvmerge.cpp:1030 +msgid "No %1% specified in '--%2% %3%'.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1447 +msgid "No AC3 header found in first frame; track will be skipped.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1942 +msgid "No EBML head found." +msgstr "" + +#: src/mmg/tabs/input.cpp:1348 +msgid "No FPS selected for AVC/h.264 track" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:389 +#, c-format +msgid "No MIME type has been selected for the attachment '%s'." +msgstr "" + +#: src/merge/mkvmerge.cpp:329 +msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" +msgstr "" + +#: src/merge/output_control.cpp:879 +msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:802 +msgid "No chapter entries have been create yet." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:557 +msgid "No chapters found" +msgstr "" + +#: src/common/xml/element_parser.h:45 +msgid "No error" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:531 +msgid "No fields modified" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:218 +msgid "" +"No file has been loaded yet. You can open a file by selecting\n" +"'Open' from the 'File' menu." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:218 +msgid "No file loaded" +msgstr "" + +#: src/propedit/options.cpp:27 src/info/mkvinfo.cpp:2073 +msgid "No file name given.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:135 +msgid "No filename found after the '@'." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:148 +msgid "No help available." +msgstr "" + +#: src/merge/mkvmerge.cpp:2149 +msgid "No input files were given. No output will be created.\n" +msgstr "" + +#: src/input/r_flac.cpp:194 +msgid "No metadata block found. This file is broken.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:252 +msgid "No output file name specified, will use attachment name.\n" +msgstr "" + +#: src/extract/tracks.cpp:354 src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 +msgid "No segment/level 0 element found." +msgstr "" + +#: src/merge/mkvmerge.cpp:2197 +msgid "No streams to output were found. Aborting.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1027 +msgid "No track ID specified in '--%1% %2%'.\n" +msgstr "" + +#: src/propedit/target.cpp:259 +msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" +msgstr "" + +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:615 +msgid "No tracks found" +msgstr "" + +#: src/input/r_vobsub.cpp:90 +msgid "No version number found.\n" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:531 +msgid "None of the header fields has been modified. Nothing has been saved." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:140 +msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." +msgstr "" + +#: src/common/bitvalue.cpp:67 +msgid "Not a hex digit at position %1%" +msgstr "" + +#: src/common/kax_analyzer.cpp:225 +msgid "Not a valid Matroska file (no EBML head found)" +msgstr "" + +#: src/common/kax_analyzer.cpp:235 +msgid "Not a valid Matroska file (no segment/level 0 element found)" +msgstr "" + +#: src/mmg/tabs/input.cpp:712 +msgid "Note" +msgstr "" + +#: src/extract/attachments.cpp:131 src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 src/propedit/options.cpp:30 +msgid "Nothing to do.\n" +msgstr "" + +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:420 +msgid "Number of nanoseconds (not scaled) per frame." +msgstr "" + +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 +msgid "Numbers of channels in the track." +msgstr "" + +#: src/common/file_types.cpp:43 +msgid "Ogg/OGM audio/video files" +msgstr "" + +#: src/mmg/message_dialog.cpp:31 src/mmg/mux_dialog.cpp:101 +msgid "Ok" +msgstr "Ok" + +#: src/mmg/tabs/chapters.cpp:764 +msgid "One of the chapters does not have a name." +msgstr "" + +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "" + +#: src/merge/mkvmerge.cpp:1445 +msgid "Only one chapter file allowed in '%1% %2%'.\n" +msgstr "" + +#: src/info/info_cli_parser.cpp:112 +msgid "Only one input file is allowed.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:295 +msgid "Only one instance of <%1%> is allowed beneath <%2%>." +msgstr "" + +#: src/common/tags/parser.cpp:48 +msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." +msgstr "" + +#: src/merge/mkvmerge.cpp:1607 +msgid "Only one output file allowed.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1457 +msgid "Only one segment info file allowed in '%1% %2%'.\n" +msgstr "" + +#: src/merge/output_control.cpp:860 +msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" +msgstr "" + +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:167 +msgid "Only to the first" +msgstr "" + +#: src/input/r_vobsub.cpp:99 +msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:272 +msgid "Op&tions\tCtrl-P" +msgstr "" + +#: src/info/qt_ui.cpp:64 +msgid "Open File" +msgstr "Ouvrir un fichier" + +#: src/mmg/header_editor/frame.cpp:238 src/info/wxwidgets_ui.cpp:107 +msgid "Open a Matroska file" +msgstr "Ouvrir un fichier Matroska" + +#: src/mmg/header_editor/frame.cpp:142 +msgid "Open an existing Matroska file" +msgstr "" + +#: src/mmg/mux_dialog.cpp:328 +msgid "Open folder" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:780 +msgid "Option file created." +msgstr "" + +#: src/mmg/options/dialog.cpp:43 src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 +msgid "Options" +msgstr "Options" + +#: src/mmg/cli_options_dlg.cpp:111 +msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" +msgstr "" + +#: src/info/mkvinfo.cpp:800 +msgid "Order: %1%" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:176 +msgid "Original value:" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:153 +msgid "Other options" +msgstr "" + +#: src/mmg/mux_dialog.cpp:88 +msgid "Output" +msgstr "Sortie" + +#: src/mmg/mmg_dialog.cpp:310 +msgid "Output filename" +msgstr "Fichier de sortie :" + +#: src/common/cli_parser.cpp:179 +msgid "Output messages in this charset" +msgstr "" + +#: src/mmg/jobs.cpp:389 +msgid "Output of the selected jobs:" +msgstr "Messages de sortie des tâches sélectionnées :" + +#: src/info/mkvinfo.cpp:656 +msgid "Output sampling frequency: %1%" +msgstr "" + +#: src/mmg/tabs/input.cpp:373 +msgid "Output:" +msgstr "Sortie :" + +#: src/mmg/mmg_dialog.cpp:550 +msgid "Overwrite existing file(s)?" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1372 +msgid "Overwrite existing file?" +msgstr "" + +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "" + +#: src/input/r_vobsub.cpp:523 +msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" +msgstr "" + +#: src/output/p_flac.cpp:77 +msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:252 +msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:113 +msgid "Parse the file completely and show all elements" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:65 +msgid "Parse the whole file instead of relying on the index." +msgstr "" + +#: src/info/mkvinfo.cpp:1706 +msgid "Parsing file" +msgstr "" + +#: src/info/mkvinfo.cpp:728 +msgid "Pixel crop bottom: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:713 +msgid "Pixel crop left: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:723 +msgid "Pixel crop right: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:718 +msgid "Pixel crop top: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:698 +msgid "Pixel height: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:693 +msgid "Pixel width: %1%" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:117 +msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1378 +msgid "Please enter a description for the new job:" +msgstr "Merci de saisir un descriptif de cette tâche :" + +#: src/mmg/tabs/chapters.cpp:102 +msgid "" +"Please enter the values for the language and the\n" +"country that you want to apply to all the chapters\n" +"below and including the currently selected entry." +msgstr "" + +#: src/merge/mkvmerge.cpp:253 +msgid "" +"Please read the man page/the HTML documentation to mkvmerge. It\n" +"explains several details in great length which are not obvious from\n" +"this listing.\n" +msgstr "" + +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 +msgid "Previous filename" +msgstr "" + +#: src/info/mkvinfo.cpp:614 +msgid "Previous filename: %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:269 +msgid "Previous segment UID:" +msgstr "" + +#: src/info/mkvinfo.cpp:610 +msgid "Previous segment UID:%1%" +msgstr "" + +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:345 +msgid "Previous segment's unique ID" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:61 +msgid "Process priority:" +msgstr "" + +#: src/mmg/jobs.cpp:67 +msgid "Processing 1000/1000" +msgstr "Traitement de la tâche 1000/1000" + +#: src/mmg/jobs.cpp:173 +#, c-format +msgid "Processing job %d/%d" +msgstr "Traitement de la tâche %d/%d" + +#: src/mmg/jobs.cpp:249 src/mmg/mux_dialog.cpp:191 +msgid "Progress" +msgstr "Avancement" + +#: src/extract/tracks.cpp:400 src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 +msgid "Progress: %1%%%%2%" +msgstr "" + +#: src/extract/timecodes_v2.cpp:359 src/extract/mkvextract.cpp:93 +msgid "Progress: 100%\n" +msgstr "" + +#: src/merge/output_control.cpp:1905 +msgid "Progress: 100%%%1%" +msgstr "" + +#: src/common/kax_analyzer.cpp:1110 +msgid "Progress: [%1%%2%] %3%%%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1813 +msgid "Querying mkvmerge's capabilities" +msgstr "" + +#: src/common/file_types.cpp:42 +msgid "QuickTime audio/video files" +msgstr "" + +#: src/input/r_qtmp4.cpp:473 +msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1909 +msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1304 +msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1011 src/input/r_qtmp4.cpp:1024 +msgid "Quicktime/MP4 reader: Could not read the extended sound description atom for track ID %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:984 +msgid "Quicktime/MP4 reader: Could not read the sound description atom for track ID %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:129 +msgid "Quicktime/MP4 reader: Could not read the source file." +msgstr "" + +#: src/input/r_qtmp4.cpp:978 +msgid "Quicktime/MP4 reader: Could not read the stream description atom for track ID %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1060 +msgid "Quicktime/MP4 reader: Could not read the video description atom for track ID %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:212 +msgid "Quicktime/MP4 reader: Have not found any header atoms.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:214 +msgid "Quicktime/MP4 reader: Have not found the 'mdat' atom. No movie data found.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:161 +msgid "Quicktime/MP4 reader: Invalid chunk size %1% at %2%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:290 +msgid "Quicktime/MP4 reader: MPEG4 part 10/AVC track %1% is missing its decoder config. Skipping this track.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:283 +msgid "Quicktime/MP4 reader: MPEG4 track %1% is missing the esds atom/the decoder config. Skipping this track.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:121 +msgid "Quicktime/MP4 reader: Source is not a valid Quicktime/MP4 file." +msgstr "" + +#: src/input/r_qtmp4.cpp:651 +msgid "Quicktime/MP4 reader: The 'media header' atom ('mdhd') uses the unsupported version %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:971 +msgid "Quicktime/MP4 reader: The 'size' field is too small in the stream description atom for track ID %1%.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:656 +msgid "Quicktime/MP4 reader: The 'time scale' parameter was 0. This is not supported.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:251 +msgid "Quicktime/MP4 reader: The AAC track %1% is missing the esds atom/the decoder config. Skipping this track.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:245 +msgid "Quicktime/MP4 reader: The audio track %1% is using an unsupported 'object type id' of %2% in the 'esds' atom. Skipping this track.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:263 +msgid "Quicktime/MP4 reader: The video track %1% is missing the ESDS atom. Skipping this track.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:505 +msgid "Quicktime/MP4 reader: This file uses compressed headers with an unknown or unsupported compression algorithm '%1%%2%%3%%4%'. Aborting.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:538 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but the expected uncompressed size (%1%) was not what is available after uncompressing (%2%).\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:529 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but the zlib library could not be initialized. Error code from zlib: %1%. Aborting.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:534 +msgid "Quicktime/MP4 reader: This file uses compressed headers, but they could not be uncompressed. Error code from zlib: %1%. Aborting.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:302 +msgid "Quicktime/MP4 reader: Track %1% has an unknown type.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:258 src/input/r_qtmp4.cpp:297 +msgid "Quicktime/MP4 reader: Track %1% is missing some data. Broken header atoms?\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:992 src/input/r_qtmp4.cpp:1066 +msgid "Quicktime/MP4 reader: Track ID %1% has more than one FourCC. Only using the first one (%|2$.4s|) and not this one (%|3$.4s|).\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:237 +msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:274 +msgid "Quit the application" +msgstr "Quitte le programme" + +#: src/mmg/header_editor/frame.cpp:146 +msgid "Quit the header editor" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:111 +msgid "Quits mkvinfo" +msgstr "" + +#: src/info/mkvinfo.cpp:883 +msgid "RSA" +msgstr "" + +#: src/mmg/jobs.cpp:477 +msgid "Re-enable the selected job(s)" +msgstr "Remettre les tâches sélectionnées dans la liste d'attente" + +#: src/input/r_mpeg_ps.cpp:404 +msgid "Reading encrypted VOBs is not supported.\n" +msgstr "" + +#: src/common/cli_parser.cpp:181 +msgid "Reads additional command line options from the specified file (see man page)." +msgstr "" + +#: src/info/qt_ui.cpp:155 +msgid "Ready" +msgstr "" + +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 +msgid "Real output sampling frequency in Hz." +msgstr "" + +#: src/common/file_types.cpp:44 +msgid "RealMedia audio/video files" +msgstr "" + +#: src/input/r_real.cpp:377 +msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" +msgstr "" + +#: src/common/cli_parser.cpp:180 +msgid "Redirects all messages into this file." +msgstr "" + +#: src/info/mkvinfo.cpp:188 +msgid "Reference block: %1%.%|2$06d|ms" +msgstr "" + +#: src/info/mkvinfo.cpp:187 +msgid "Reference block: -%1%.%|2$06d|ms" +msgstr "" + +#: src/info/mkvinfo.cpp:189 +msgid "Reference priority: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:191 +msgid "Reference virtual: %1%" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:144 +msgid "Reload the current file without saving" +msgstr "" + +#: src/mmg/jobs.cpp:72 src/mmg/jobs.cpp:74 src/mmg/mux_dialog.cpp:76 +msgid "Remaining time:" +msgstr "Temps restant :" + +#: src/common/xml/element_parser.cpp:565 +msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:329 +msgid "Remove chapter" +msgstr "Enlever le chapitre" + +#: src/mmg/header_editor/value_page.cpp:167 +msgid "Remove element" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:347 +msgid "Remove name" +msgstr "" + +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:275 +msgid "Run mkvmerge and start the muxing process" +msgstr "Exécute le programme mkvmerge et démarre le multiplexage" + +#: src/mmg/mmg_dialog.cpp:273 +msgid "Run the header field editor" +msgstr "Lance l'éditeur d'en-têtes" + +#: src/mmg/mmg_dialog.cpp:276 +msgid "S&how the command line" +msgstr "Affic&her la ligne de commande" + +#: src/mmg/jobs.cpp:507 +msgid "S&tart selected" +msgstr "Démarrer la sélection" + +#: src/info/mkvinfo.cpp:892 +msgid "SHA1-160" +msgstr "SHA1-160" + +#: src/common/file_types.cpp:45 +msgid "SRT text subtitles" +msgstr "" + +#: src/common/file_types.cpp:46 +msgid "SSA/ASS text subtitles" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:278 +msgid "Sa&ve command line" +msgstr "Enregistrer la ligne de commande" + +#: src/mmg/options/mmg.cpp:64 +msgid "Same directory as the first input file's" +msgstr "" + +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 +msgid "Sampling frequency in Hz." +msgstr "" + +#: src/info/mkvinfo.cpp:651 +msgid "Sampling frequency: %1%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:287 +msgid "Save &as" +msgstr "Enregistrer &sous" + +#: src/info/qt_ui.cpp:71 +msgid "Save information as" +msgstr "" + +#: src/mmg/mux_dialog.cpp:108 +msgid "Save log" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:270 +msgid "Save muxing settings to a file" +msgstr "Enregistre les paramètres de multiplexage dans un fichier" + +#: src/mmg/mmg_dialog.cpp:278 +msgid "Save the command line to a file" +msgstr "Enregistre la ligne de commande dans un fichier" + +#: src/mmg/mmg_dialog.cpp:279 +msgid "Save the command line to an option file that can be read by mkvmerge" +msgstr "Enregistre la ligne de commande dans un fichier d'options pouvant être lu par mkvmerge" + +#: src/mmg/mmg_dialog.cpp:285 +msgid "Save the current chapters to a XML file" +msgstr "Enregistre les chapitres dans un fichier xml" + +#: src/mmg/mmg_dialog.cpp:287 +msgid "Save the current chapters to a file with another name" +msgstr "Enregistre les chapitres dans un autre fichier" + +#: src/mmg/mmg_dialog.cpp:286 +msgid "Save the current chapters to an existing Matroska file" +msgstr "Enregistre les chapitres dans un fichier Matroska existant" + +#: src/mmg/header_editor/frame.cpp:143 +msgid "Save the header values" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:286 +msgid "Save to &Matroska file" +msgstr "Enregistrer dans le fichier &Matroska" + +#: src/info/wxwidgets_ui.cpp:108 +msgid "Saves the information from the current file to a text file" +msgstr "" + +#: src/info/mkvinfo.cpp:814 +msgid "Scope: %1% (%2%)" +msgstr "" + +#: src/info/mkvinfo.cpp:1164 +msgid "Seek ID:%1% (%2%)" +msgstr "" + +#: src/info/mkvinfo.cpp:1152 +msgid "Seek entry" +msgstr "" + +#: src/info/mkvinfo.cpp:1140 +msgid "Seek head" +msgstr "" + +#: src/info/mkvinfo.cpp:1136 +msgid "Seek head (subentries will be skipped)" +msgstr "" + +#: src/info/mkvinfo.cpp:1178 +msgid "Seek position: %1%" +msgstr "" + +#: src/extract/tracks.cpp:359 src/extract/timecodes_v2.cpp:202 +#: src/info/qt_ui.cpp:177 src/info/wxwidgets_ui.cpp:205 +msgid "Segment" +msgstr "" + +#: src/info/mkvinfo.cpp:599 +msgid "Segment UID:%1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:262 +msgid "Segment UIDs:" +msgstr "" + +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 +msgid "Segment filename" +msgstr "" + +#: src/info/mkvinfo.cpp:627 +msgid "Segment filename: %1%" +msgstr "" + +#: src/mmg/tabs/global.cpp:296 +msgid "Segment info file:" +msgstr "" + +#: src/mmg/tabs/global.cpp:318 +#, c-format +msgid "Segment info files (*.xml)|*.xml|%s" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:322 src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 src/propedit/propedit_cli_parser.cpp:87 +#: src/propedit/propedit_cli_parser.cpp:160 src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 src/info/qt_ui.cpp:178 +#: src/info/wxwidgets_ui.cpp:208 +msgid "Segment information" +msgstr "" + +#: src/extract/tracks.cpp:389 src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 src/info/qt_ui.cpp:179 +#: src/info/wxwidgets_ui.cpp:208 +msgid "Segment tracks" +msgstr "" + +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:341 +msgid "Segment unique ID" +msgstr "" + +#: src/info/mkvinfo.cpp:1964 +msgid "Segment, size %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1962 +msgid "Segment, size unknown" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:263 +msgid "Select Matroska file" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:277 +msgid "Select output file" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:271 +msgid "Select the file you want to write to" +msgstr "Permet de définir le fichier de sortie qui sera créé" + +#: src/mmg/options/languages.cpp:84 +msgid "" +"Select the languages you want to be shown at the top\n" +"of language drop down boxes." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:100 +msgid "Select values to be applied" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:125 +msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:250 +msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:271 +msgid "Set &output file" +msgstr "Définir le fichier de s&ortie" + +#: src/mmg/tabs/chapters.cpp:117 +msgid "Set country to:" +msgstr "" + +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:397 +msgid "" +"Set if that track (audio, video or subs) SHOULD\n" +"be used if no language found matches the\n" +"user preference." +msgstr "" + +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:404 +msgid "" +"Set if that track MUST be used during playback.\n" +"There can be many forced track for a kind (audio,\n" +"video or subs). The player should select the one\n" +"whose language matches the user preference or the\n" +"default + forced track." +msgstr "" + +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 +msgid "Set if the track is used." +msgstr "" + +#: src/common/property_element.cpp:137 +msgid "Set if the video is interlaced." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:110 +msgid "Set language to:" +msgstr "" + +#: src/mmg/options/mmg.cpp:82 +msgid "Set the delay input field from the file name" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:330 +msgid "Set values" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:150 +msgid "Sets a property to the value if it exists and add it otherwise" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:146 +msgid "Sets the Matroska file section that all following add/set/delete actions operate on (see below and man page for syntax)" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:143 +msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "" + +#: src/mmg/tabs/input_format.cpp:253 +msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:234 +msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:222 +msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:226 +msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:225 +msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:64 +msgid "Sets the priority that mkvmerge will run with." +msgstr "" + +#: src/mmg/tabs/global.cpp:263 +msgid "" +"Sets the segment UIDs to use. This is a comma-separated list of 128bit segment UIDs in the usual UID form: hex numbers with or without the \"0x\" prefix, with or without spaces, exactly 32 digits.\n" +"\n" +"Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:231 +msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." +msgstr "" + +#: src/info/mkvinfo.cpp:846 +msgid "Settings: %1%" +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:86 +msgid "Several options that control the overall output that mkvmerge creates." +msgstr "" + +#: src/input/r_real.cpp:595 +msgid "Short AAC audio packet (length: %1% < %2%)\n" +msgstr "" + +#: src/input/r_real.cpp:588 +msgid "Short AAC audio packet (length: %1% < 2)\n" +msgstr "" + +#: src/mpegparser/M2VParser.cpp:392 +msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:113 +msgid "Show &all elements\tCtrl-A" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:121 +msgid "Show about dialog" +msgstr "" + +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "" + +#: src/info/wxwidgets_ui.cpp:114 +msgid "Show element si&zes\tCtrl-Z" +msgstr "" + +#: src/mmg/options/mmg.cpp:111 +msgid "Show mmg's debug window" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:294 +msgid "Show program information" +msgstr "Affiche les informations sur ce programme" + +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:276 +msgid "Show the command line mmg creates for mkvmerge" +msgstr "Affiche la ligne de commandes générée par l'interface graphique et passée à mkvmerge" + +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:293 +msgid "Show the guide to mkvmerge GUI" +msgstr "Affiche le guide d'utilisation de l'interface graphique de mkvmerge" + +#: src/info/wxwidgets_ui.cpp:114 +msgid "Show the size of each element including its header" +msgstr "" + +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "" + +#: src/common/cli_parser.cpp:182 +msgid "Show this help." +msgstr "" + +#: src/common/cli_parser.cpp:183 +msgid "Show version information." +msgstr "" + +#: src/mmg/options/mmg.cpp:112 +msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." +msgstr "" + +#: src/info/mkvinfo.cpp:880 +msgid "Signature algorithm: %1% (%2%)" +msgstr "" + +#: src/info/mkvinfo.cpp:889 +msgid "Signature hash algorithm: %1% (%2%)" +msgstr "" + +#: src/info/mkvinfo.cpp:898 +msgid "Signature key ID: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:902 +msgid "Signature: %1%" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:146 +msgid "Signed integer" +msgstr "" + +#: src/info/mkvinfo.cpp:1362 +msgid "Silent Track Number: %1%" +msgstr "" + +#: src/extract/timecodes_v2.cpp:289 +msgid "Simple block" +msgstr "" + +#: src/common/chapters/chapters.cpp:48 +msgid "Simple chapter parser: %1%\n" +msgstr "" + +#: src/extract/tracks.cpp:418 +msgid "SimpleBlock" +msgstr "" + +#: src/info/mkvinfo.cpp:203 +msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" +msgstr "" + +#: src/mpegparser/M2VParser.cpp:389 +msgid "Single field frame before GOP header detected. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "" + +#: src/output/p_aac.cpp:73 +msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" +msgstr "" + +#: src/output/p_dts.cpp:100 +msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" +msgstr "" + +#: src/input/r_mp3.cpp:53 +msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1500 +msgid "Slices" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:577 +msgid "Some header values have been modified. Do you really want to close without saving the file?" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:783 +msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:567 +msgid "Some header values have been modified. Do you really want to reload without saving the file?" +msgstr "" + +#: src/merge/output_control.cpp:1338 +msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" +msgstr "" + +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:432 +msgid "" +"Specifies the language of the track in the\n" +"Matroska languages form." +msgstr "" + +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:488 +msgid "" +"Specify the possible modifications to the aspect ratio\n" +"(0: free resizing, 1: keep aspect ratio, 2: fixed)." +msgstr "" + +#: src/mmg/tabs/global.cpp:232 +msgid "Splitting" +msgstr "" + +#: src/mmg/tabs/global.cpp:532 +msgid "Splitting by size was selected, but no size has been given." +msgstr "" + +#: src/mmg/tabs/global.cpp:565 +msgid "Splitting by timecode/duration was selected, but nothing was entered." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:548 +#, c-format +msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:312 +msgid "Sta&rt muxing" +msgstr "Déma&rrer le multiplexage" + +#: src/mmg/mmg_dialog.cpp:275 +msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" +msgstr "Déma&rrer le multiplexage (lancer mkvmerge)\tCtrl-R" + +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "" + +#: src/mmg/jobs.cpp:504 +msgid "Start the jobs whose status is 'pending'" +msgstr "Démarrer les tâches dont le statut est 'en attente'" + +#: src/mmg/jobs.cpp:508 +msgid "Start the selected job(s) regardless of their status" +msgstr "Démarrer les tâches sélectionnées quel que soit leur statut" + +#: src/mmg/mmg_dialog.cpp:268 +msgid "Start with empty settings" +msgstr "Démarre avec des paramètres remis à zéro" + +#: src/mmg/tabs/chapters.cpp:335 +msgid "Start:" +msgstr "Début :" + +#: src/mmg/jobs.cpp:443 +msgid "Started on" +msgstr "Démarré le" + +#: src/mmg/jobs.cpp:228 +#, c-format +msgid "Starting job ID %d (%s) on %s" +msgstr "Démarre la tâche n°%d (%s) le %s" + +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "" + +#: src/mmg/jobs.cpp:437 +msgid "Status" +msgstr "Statut" + +#: src/mmg/jobs.cpp:63 src/mmg/mux_dialog.cpp:74 +msgid "Status and progress" +msgstr "Statut et avancement" + +#: src/mmg/update_checker.cpp:57 src/mmg/header_editor/value_page.cpp:174 +msgid "Status:" +msgstr "" + +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "" + +#: src/common/property_element.cpp:149 +msgid "" +"Stereo-3D video mode (0: mono, 1: right eye,\n" +"2: left eye, 3: both eyes)." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:230 +msgid "Stereoscopy:" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:245 +msgid "Stretch by:" +msgstr "" + +#: src/mmg/tabs/input_format.cpp:246 +msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:144 +msgid "String" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:180 +msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" +msgstr "" + +#: src/mmg/header_editor/track_type_page.cpp:52 +#, c-format +msgid "Subtitle track %u" +msgstr "" + +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "" + +#: src/common/file_types.cpp:47 +msgid "TTA (The lossless True Audio codec)" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:84 +msgid "Tag extraction" +msgstr "" + +#: src/mmg/tabs/global.cpp:292 +msgid "Tag file:" +msgstr "" + +#: src/mmg/tabs/global.cpp:308 +#, c-format +msgid "Tag files (*.xml)|*.xml|%s" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:275 +#, c-format +msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" +msgstr "" + +#: src/info/mkvinfo.cpp:1828 +msgid "Tags" +msgstr "" + +#: src/merge/output_control.cpp:1326 +msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1444 +msgid "Tags for track ID %1%: %2% entries" +msgstr "" + +#: src/mmg/mmg.cpp:56 +#, c-format +msgid "Tags for track ID %lld (%d entries) from %s" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:187 +msgid "Tags:" +msgstr "Étiquettes :" + +#: src/mmg/cli_options_dlg.cpp:94 +msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "" + +#: src/info/qt_ui.cpp:71 +msgid "Text files (*.txt);;All files (*.*)" +msgstr "Fichiers texte (*.txt);;Tous les fichiers (*.*)" + +#: src/mmg/jobs.cpp:410 +#, c-format +msgid "Text files (*.txt)|*.txt|%s" +msgstr "Fichiers texte (*.txt)*.txt|%s" + +#: src/info/wxwidgets_ui.cpp:277 +msgid "Text files (*.txt)|*.txt|All files|*.*" +msgstr "Fichiers texte (*.txt)|*.txt|Tous les fichiers|*.*" + +#: src/input/r_vobsub.cpp:227 +msgid "The .idx file does not contain an 'id: ...' line to indicate the language.\n" +msgstr "" + +#: src/output/p_aac.cpp:207 +msgid "The AAC profiles are different: %1% and %2%" +msgstr "" + +#: src/input/r_qtmp4.cpp:1496 +msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" +msgstr "" + +#: src/extract/tracks.cpp:279 +msgid "The CUE sheet for track %1% will be written to '%2%'.\n" +msgstr "" + +#: src/merge/pr_generic.h:399 +msgid "The CodecID of the two tracks is different: %1% and %2%" +msgstr "" + +#: src/output/p_flac.cpp:102 +msgid "The FLAC header data is different for the two tracks (lengths: %1% and %2%)" +msgstr "" + +#: src/output/p_flac.cpp:49 +msgid "The FLAC headers could not be parsed: the stream info structure was not found.\n" +msgstr "" + +#: src/output/p_video.cpp:91 +msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:1332 +#, c-format +msgid "The FPS setting for track nr. %s in file '%s' is invalid." +msgstr "" + +#: src/merge/mkvmerge.cpp:1119 +msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:1320 +#, c-format +msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1866 +#, c-format +msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." +msgstr "" + +#: src/input/r_ogm.cpp:1508 +msgid "The Kate identifaction header could not be parsed (%1%).\n" +msgstr "" + +#: src/mmg/wx_kax_analyzer.cpp:35 +msgid "The Matroska file is analyzed." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:701 src/propedit/propedit.cpp:38 +msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1903 +msgid "" +"The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" +"\n" +"The proper solution is to save these chapters into a XML file and then to remux the file with the chapters included." +msgstr "" + +#: src/merge/mkvmerge.cpp:1250 +msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1338 +msgid "The Theora identifaction header could not be parsed (%1%).\n" +msgstr "" + +#: src/output/p_vorbis.cpp:142 +msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" +msgstr "" + +#: src/merge/mkvmerge.cpp:1513 +msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1522 +msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1509 +msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1472 +msgid "The argument to '--timecode-scale' must be a number.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:1388 +#, c-format +msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." +msgstr "" + +#: src/extract/attachments.cpp:115 +msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1403 +msgid "The attachment '%1%' could not be read.\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:217 +msgid "The binary data must be at least %1% bytes long." +msgstr "" + +#: src/common/xml/element_parser.cpp:220 +msgid "The binary data must be at most %1% bytes long." +msgstr "" + +#: src/common/xml/element_parser.cpp:214 +msgid "The binary data must be exactly %1% bytes long." +msgstr "" + +#: src/propedit/propedit.cpp:104 +msgid "The changes are written to the file.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:778 +#, c-format +msgid "The chapter '%s' is missing its language." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:772 +#, c-format +msgid "The chapter '%s' is missing the start time." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:598 +msgid "" +"The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" +"\n" +"Do you really want to continue muxing?\n" +"\n" +"Note: This warning can be deactivated in the 'options' dialog. Turn off the 'Warn about usage...' option." +msgstr "" + +#: src/output/p_mpeg4_p10.cpp:156 +msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1240 +msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" +msgstr "" + +#: src/output/p_textsubs.cpp:102 src/output/p_passthrough.cpp:63 +#: src/output/p_video.cpp:139 src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 +msgid "The codec's private data does not match (lengths: %1% and %2%)." +msgstr "" + +#: src/output/p_mpeg4_p10.cpp:103 +msgid "The codec's private data does not match. Both have the same length (%1%) but different content." +msgstr "" + +#: src/input/r_wavpack.cpp:72 +msgid "The correction file header was not read correctly.\n" +msgstr "" + +#: src/mmg/options/chapters.cpp:120 +#, c-format +msgid "The country '%s' is not a valid ccTLD and cannot be selected." +msgstr "" + +#: src/merge/output_control.cpp:1401 +msgid "The cue entries (the index) are being written..." +msgstr "" + +#: src/mmg/tabs/input.cpp:733 +#, c-format +msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." +msgstr "" + +#: src/merge/pr_generic.cpp:844 +msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "" + +#: src/input/r_usf.cpp:129 +msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:1299 +#, c-format +msgid "The delay setting for track nr. %s in file '%s' is invalid." +msgstr "" + +#: src/merge/output_control.cpp:1157 +msgid "" +"The demultiplexer for the file '%1%' failed to initialize:\n" +"%2%\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:294 src/mmg/tabs/global.cpp:298 +msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." +msgstr "" + +#: src/merge/pr_generic.h:394 +msgid "The display height of the two tracks is different: %1% and %2%" +msgstr "" + +#: src/merge/pr_generic.h:389 +msgid "The display width of the two tracks is different: %1% and %2%" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:364 +#, c-format +msgid "" +"The dragged file '%s'\n" +"is not a Matroska file." +msgstr "" + +#: src/mmg/tabs/global.cpp:240 +msgid "The duration after which a new output file is started. The time can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH' and the number of nanoseconds 'nnnnnnnnn'. If given then you may use up to nine digits after the decimal point. Examples: 01:00:00 (after one hour) or 1800s (after 1800 seconds)." +msgstr "" + +#: src/propedit/options.cpp:188 +msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:689 src/mmg/tabs/chapters.cpp:1891 +#: src/propedit/propedit.cpp:28 +msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" +msgstr "" + +#: src/output/p_mpeg4_p2.cpp:379 +msgid "The extracted values for video width and height from the MPEG4 layer 2 video data bitstream differ from what the values in the source container. The ones from the video data bitstream (%1%x%2%) will be used.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:110 +msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." +msgstr "" + +#: src/merge/mkvmerge.cpp:1384 +msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" +msgstr "" + +#: src/extract/attachments.cpp:141 src/extract/cuesheets.cpp:208 +#: src/extract/tags.cpp:47 src/extract/chapters.cpp:47 +msgid "The file '%1%' could not be opened for reading (%2%)." +msgstr "" + +#: src/extract/tracks.cpp:327 src/extract/timecodes_v2.cpp:173 +msgid "The file '%1%' could not be opened for reading (%2%).\n" +msgstr "" + +#: src/common/command_line.cpp:45 +msgid "The file '%1%' could not be opened for reading command line arguments.\n" +msgstr "" + +#: src/extract/tracks.cpp:276 src/extract/xtr_avi.cpp:52 +#: src/extract/xtr_tta.cpp:87 src/extract/xtr_wav.cpp:113 +msgid "The file '%1%' could not be opened for writing (%2%).\n" +msgstr "" + +#: src/extract/attachments.cpp:121 src/extract/xtr_rmff.cpp:40 +msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" +msgstr "" + +#: src/merge/output_control.cpp:1366 +msgid "The file '%1%' has been opened for writing.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2127 +msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1359 +msgid "The file '%1%' is a non-supported file type (%2%).\n" +msgstr "" + +#: src/common/xml/element_parser.cpp:142 +msgid "The file '%1%' is empty." +msgstr "" + +#: src/mmg/mmg.cpp:225 +#, c-format +msgid "The file '%s' does not exist." +msgstr "" + +#: src/mmg/tabs/input.cpp:296 +#, c-format +msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." +msgstr "" + +#: src/info/qt_ui.cpp:77 +msgid "The file could not be opened for writing." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:389 +msgid "The file does not exist." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:408 +msgid "The file does not seem to be a valid mkvmerge GUI settings file." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:525 +msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." +msgstr "" + +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "" + +#: src/input/r_tta.cpp:64 +msgid "The file header is too short.\n" +msgstr "" + +#: src/input/r_wavpack.cpp:56 +msgid "The file header was not read correctly.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:346 +#, c-format +msgid "The file is an unsupported container format (%s)." +msgstr "" + +#: src/propedit/propedit.cpp:87 +msgid "The file is analyzed.\n" +msgstr "" + +#: src/merge/output_control.cpp:255 +msgid "The file is being fixed, part 1/4..." +msgstr "" + +#: src/merge/output_control.cpp:261 +msgid "The file is being fixed, part 2/4..." +msgstr "" + +#: src/merge/output_control.cpp:270 +msgid "The file is being fixed, part 3/4..." +msgstr "" + +#: src/merge/output_control.cpp:282 +msgid "The file is being fixed, part 4/4..." +msgstr "" + +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 +msgid "The file name for this segment." +msgstr "" + +#: src/merge/output_control.cpp:893 +msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/merge/output_control.cpp:899 +msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/merge/output_control.cpp:835 +msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:248 +msgid "The file you tried to open is not a Matroska file." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:642 +msgid "The file you tried to save to is NOT a Matroska file." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:684 +msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." +msgstr "" + +#: src/merge/mkvmerge.cpp:2116 +msgid "The first file cannot be appended because there are no files to append to.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:71 +msgid "The first mode extracts some tracks to external files." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:60 +msgid "The first word tells mkvextract what to extract. The second must be the source file. There are few global options that can be used with all modes. All other options depend on the mode." +msgstr "" + +#: src/mmg/tabs/global.cpp:554 +msgid "The format of the split size is invalid (size too small)." +msgstr "" + +#: src/mmg/tabs/global.cpp:546 src/mmg/tabs/global.cpp:550 +msgid "The format of the split size is invalid." +msgstr "" + +#: src/mmg/tabs/global.cpp:573 +msgid "The format of the split timecode/duration is invalid." +msgstr "" + +#: src/merge/output_control.cpp:963 +msgid "The formats do not match." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:101 +msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." +msgstr "" + +#: src/merge/mkvmerge.cpp:1478 +msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" +msgstr "" + +#: src/common/xml/element_writer.cpp:187 src/common/xml/element_writer.cpp:197 +#: src/common/xml/element_writer.cpp:206 +msgid "The header has already been written." +msgstr "" + +#: src/merge/pr_generic.h:384 +msgid "The height of the two tracks is different: %1% and %2%" +msgstr "" + +#: src/mmg/tabs/input.cpp:615 +#, c-format +msgid "The input file '%s' does not contain any tracks." +msgstr "" + +#: src/mmg/tabs/input.cpp:1223 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #1)" +msgstr "" + +#: src/mmg/tabs/input.cpp:1230 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #2)" +msgstr "" + +#: src/mmg/tabs/input.cpp:1243 +msgid "" +"The job file could not have been parsed correctly.\n" +"Either it is invalid / damaged, or you've just found\n" +"a bug in mmg. Please report this to the author\n" +"Moritz Bunkus <moritz@bunkus.org>\n" +"\n" +"(Problem occured in tab_input::load(), #3)" +msgstr "" + +#: src/mmg/options/chapters.cpp:113 src/mmg/tabs/chapters.cpp:1307 +#, c-format +msgid "The language '%s' is not a valid language and cannot be selected." +msgstr "" + +#: src/input/r_usf.cpp:161 +msgid "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:214 +msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" +msgstr "" + +#: src/common/translation.cpp:283 +msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:258 +msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." +msgstr "" + +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:415 +msgid "" +"The maximum number of frames a player\n" +"should be able to cache during playback.\n" +"If set to 0, the reference pseudo-cache system\n" +"is not used." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:695 src/mmg/tabs/chapters.cpp:1897 +#: src/propedit/propedit.cpp:33 +msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" +msgstr "" + +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:410 +msgid "" +"The minimum number of frames a player\n" +"should be able to cache during playback.\n" +"If set to 0, the reference pseudo-cache system\n" +"is not used." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:694 +msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." +msgstr "Le fichier d'aide de mkvmerge n'a pas été trouvé à l'endroit que vous avez choisi. Merci d'essayer encore, ou d'abandonner en appuyant sur le bouton 'annuler'." + +#: src/mmg/mmg_dialog.cpp:687 +msgid "" +"The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" +"\n" +"Please select the location of the 'mkvmerge-gui.hhp' file." +msgstr "" +"Le fichier d'aide n'a pas été trouvé. Cela signifie qu'il n'a jamais été ouvert auparavant, ou que son emplacement a été changé depuis la dernière fois qu'il a été ouvert.\n" +"\n" +"Merci d'indiquer l'emplacement du fichier 'mkvmerge-gui.hhp'." + +#: src/propedit/change.cpp:61 +msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2087 +msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1335 +msgid "The next UID was already given in '%1% %2%'.\n" +msgstr "" + +#: src/merge/pr_generic.h:374 +msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" +msgstr "" + +#: src/merge/pr_generic.h:369 +msgid "The number of channels of the two audio tracks is different: %1% and %2%" +msgstr "" + +#: src/merge/timecode_factory.cpp:262 +msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" +msgstr "" + +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 +msgid "" +"The number of video pixels to remove\n" +"on the bottom of the image." +msgstr "" + +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 +msgid "" +"The number of video pixels to remove\n" +"on the left of the image." +msgstr "" + +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 +msgid "" +"The number of video pixels to remove\n" +"on the right of the image." +msgstr "" + +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 +msgid "" +"The number of video pixels to remove\n" +"on the top of the image." +msgstr "" + +#: src/merge/mkvmerge.cpp:1842 +msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:157 +msgid "The order of the various options is not important." +msgstr "" + +#: src/merge/output_control.cpp:1362 +msgid "The output file '%1%' could not be opened for writing (%2%).\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1369 +#, c-format +msgid "The output file '%s' already exists. Do you want to overwrite it?" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:585 +msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." +msgstr "" + +#: src/input/r_corepicture.cpp:154 +msgid "The panoramic mode '%1%' is not recognized.\n" +msgstr "" + +#: src/input/r_corepicture.cpp:138 +msgid "The picture type '%1%' is not recognized.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1322 +msgid "The previous UID was already given in '%1% %2%'.\n" +msgstr "" + +#: src/propedit/change.cpp:114 +msgid "The property value contains non-ASCII characters, but the property is not a Unicode string in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:156 +msgid "The property value is not a valid binary spec or it is not exactly 128 bits long in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:141 +msgid "The property value is not a valid boolean in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:148 +msgid "The property value is not a valid floating point number in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:133 +msgid "The property value is not a valid signed integer in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:127 +msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" +msgstr "" + +#: src/merge/output_control.cpp:965 +msgid "The reason is unknown." +msgstr "" + +#: src/common/xml/element_parser.cpp:335 +msgid "The root element must be <%1%>." +msgstr "" + +#: src/merge/pr_generic.h:364 +msgid "The sample rate of the two audio tracks is different: %1% and %2%" +msgstr "" + +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:424 +msgid "" +"The scale to apply on this track to work at normal\n" +"speed in relation with other tracks (mostly used\n" +"to adjust video speed when the audio length differs)." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:85 +msgid "The second mode extracts the tags and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." +msgstr "" + +#: src/input/r_tta.cpp:84 +msgid "The seek table in this TTA file seems to be broken.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:783 +#, c-format +msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:119 +msgid "The sixth mode finds the timecodes of all blocks for a track and outputs a timecode v2 file with these timecodes." +msgstr "" + +#: src/mmg/tabs/global.cpp:237 +msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." +msgstr "" + +#: src/merge/mkvmerge.cpp:1397 +msgid "The size of attachment '%1%' is 0.\n" +msgstr "" + +#: src/merge/output_control.cpp:307 src/merge/output_control.cpp:400 +msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:1310 +#, c-format +msgid "The stretch setting for track nr. %s in file '%s' is invalid." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:165 +msgid "The string 'track:' followed by one of the chars 'a', 'b', 's' or 'v' followed by a number 'n' selects the nth audio, button, subtitle or video track (e.g. '--edit track:a2')." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:167 +msgid "The string 'track:=uid' with 'uid' being a number selects the track whose 'track UID' element equals 'uid'." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:168 +msgid "The string 'track:@number' with 'number' being a number selects the track whose 'track number' element equals 'number'." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:164 +msgid "The string 'track:n' with 'n' being a number selects the nth track." +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:161 +msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." +msgstr "" + +#: src/merge/pr_generic.cpp:291 +msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" +msgstr "" + +#: src/extract/xtr_tta.cpp:80 +msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:93 +msgid "The third mode extracts attachments from the source file." +msgstr "" + +#: src/merge/timecode_factory.cpp:54 +msgid "The timecode file '%1%' contains an unsupported/unrecognized format (version %2%).\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:40 +msgid "The timecode file '%1%' contains an unsupported/unrecognized format line. The very first line must look like '# timecode format v1'.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:34 +msgid "The timecode file '%1%' could not be opened for reading.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:87 src/merge/timecode_factory.cpp:95 +#: src/merge/timecode_factory.cpp:101 src/merge/timecode_factory.cpp:296 +msgid "The timecode file '%1%' does not contain a valid 'Assume' line with the default number of frames per second.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:331 +msgid "The timecode file '%1%' does not contain a valid 'Gap' line with the duration of the gap.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:241 src/merge/timecode_factory.cpp:360 +msgid "The timecode file '%1%' does not contain any valid entry.\n" +msgstr "" + +#: src/merge/timecode_factory.cpp:217 +msgid "" +"The timecode v2 file '%1%' contains timecodes that are not ordered. Due to a bug in mkvmerge versions up to and including v1.5.0 this was necessary if the track to which the timecode file was applied contained B frames. Starting with v1.5.1 mkvmerge now handles this correctly, and the timecodes in the timecode file must be ordered normally. For example, the frame sequence 'IPBBP...' at 25 FPS requires a timecode file with the first timecodes being '0', '40', '80', '120' etc and not '0', '120', '40', '80' etc.\n" +"\n" +"If you really have to specify non-sorted timecodes then use the timecode format v4. It is identical to format v2 but allows non-sorted timecodes.\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:245 +msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." +msgstr "" + +#: src/input/r_ogm.cpp:598 +msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" +msgstr "" + +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 +msgid "The title for the whole movie." +msgstr "" + +#: src/merge/output_control.cpp:909 +msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/merge/output_control.cpp:734 +msgid "The track headers could not be rendered correctly. %1%\n" +msgstr "" + +#: src/extract/tracks.cpp:90 +msgid "The track number %1% does not have a valid CodecID.\n" +msgstr "" + +#: src/merge/output_control.cpp:955 +msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" +msgstr "" + +#: src/merge/output_control.cpp:966 +msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" +msgstr "" + +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:389 +msgid "The track number as used in the Block Header." +msgstr "" + +#: src/merge/output_control.cpp:964 +msgid "The track parameters do not match." +msgstr "" + +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "" + +#: src/merge/pr_generic.h:379 +msgid "The width of the two tracks is different: %1% and %2%" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "" + +#: src/merge/output_control.cpp:829 src/merge/output_control.cpp:839 +msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" +msgstr "" + +#: src/common/command_line.cpp:236 +msgid "There is no translation available for '%1%'.\n" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "" + +#: src/mmg/mux_dialog.cpp:362 +msgid "There were ERRORs." +msgstr "" + +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:639 +msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." +msgstr "" + +#: src/mmg/mux_dialog.cpp:357 +msgid "There were warnings" +msgstr "" + +#: src/mmg/mux_dialog.cpp:355 +msgid "There were warnings, or the process was terminated." +msgstr "" + +#: src/input/r_real.cpp:326 src/input/r_avi.cpp:627 +msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" +msgstr "" + +#: src/input/r_avi.cpp:624 +msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" +msgstr "" + +#: src/output/p_ac3.cpp:81 +msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" +msgstr "" + +#: src/output/p_ac3.cpp:93 +msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" +msgstr "" + +#: src/output/p_avc.cpp:102 +msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" +msgstr "" + +#: src/output/p_avc.cpp:153 +msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" +msgstr "" + +#: src/output/p_mp3.cpp:61 +msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" +msgstr "" + +#: src/output/p_mp3.cpp:70 +msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" +msgstr "" + +#: src/input/r_ogm.cpp:847 +msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:171 +msgid "" +"This element is currently present in the file.\n" +"It cannot be removed because it is a\n" +"mandatory header field." +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:165 +msgid "" +"This element is currently present in the file.\n" +"You can let the header editor remove the element\n" +"from the file." +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:160 +msgid "" +"This element is not currently present in the file.\n" +"You can let the header editor add the element\n" +"to the file." +msgstr "" + +#: src/input/r_qtmp4.cpp:339 +msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" +msgstr "" + +#: src/input/subtitles.cpp:154 +msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 +msgid "This file could not be opened or parsed." +msgstr "" + +#: src/propedit/propedit.cpp:92 +msgid "This file could not be opened or parsed.\n" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:557 +msgid "This file does not contain any chapters." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:565 +msgid "This file does not contain valid chapters." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:159 +msgid "This is the name that will be stored in the output file for this attachment. It defaults to the file name of the original file but can be changed." +msgstr "" + +#: src/mmg/tabs/global.cpp:230 +msgid "This is the title that players may show as the 'main title' for this movie." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:88 +msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." +msgstr "" + +#: src/propedit/change.cpp:253 +msgid "This property is mandatory and cannot be deleted in '%1%'. %2%\n" +msgstr "" + +#: src/propedit/change.cpp:219 +msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" +msgstr "" + +#: src/merge/output_control.cpp:278 +msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" +msgstr "" + +#: src/merge/output_control.cpp:1551 +msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" +msgstr "" + +#: src/common/common.h:56 +msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." +msgstr "" + +#: src/mmg/tabs/input_format.cpp:255 +msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." +msgstr "" + +#: src/mmg/tabs/input.cpp:948 +msgid "This track is not compatible with the WebM mode and cannot be enabled." +msgstr "" + +#: src/info/mkvinfo.cpp:1508 +msgid "Time slice" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:117 +msgid "Timecode extraction" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:289 +#, c-format +msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" +msgstr "" + +#: src/extract/tracks.cpp:382 src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 src/info/mkvinfo.cpp:1099 +msgid "Timecode scale: %1%" +msgstr "" + +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:423 +msgid "Timecode scaling" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:189 +msgid "Timecodes:" +msgstr "" + +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 +msgid "Title" +msgstr "" + +#: src/info/mkvinfo.cpp:631 +msgid "Title: %1%" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:166 +msgid "To all files" +msgstr "" + +#: src/common/xml/element_parser.cpp:176 +msgid "Too few hexadecimal digits found. The number of digits must be > 0 and divisable by 2." +msgstr "" + +#: src/extract/xtr_avc.cpp:59 +msgid "Track %1% CodecPrivate is too small.\n" +msgstr "" + +#: src/common/compression.cpp:617 +msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" +msgstr "" + +#: src/common/compression.cpp:597 +msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" +msgstr "" + +#: src/common/compression.cpp:605 +msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" +msgstr "" + +#: src/common/compression.cpp:589 +msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" +msgstr "" + +#: src/extract/xtr_aac.cpp:51 +msgid "Track %1% with the CodecID '%2%' contains invalid \"codec private\" data for AAC.\n" +msgstr "" + +#: src/extract/xtr_ogg.cpp:87 +msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" +msgstr "" + +#: src/extract/xtr_wav.cpp:41 +msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:104 +msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" +msgstr "" + +#: src/extract/xtr_ogg.cpp:37 src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 src/extract/xtr_rmff.cpp:31 +#: src/extract/xtr_vobsub.cpp:65 src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 +msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" +msgstr "" + +#: src/extract/xtr_avi.cpp:41 +msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:1114 +msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:439 +msgid "Track %1%: AAC found, but decoder config data has length %2%.\n" +msgstr "" + +#: src/extract/xtr_avc.cpp:39 +msgid "Track %1%: NAL too big\n" +msgstr "" + +#: src/extract/xtr_textsubs.cpp:55 +msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:442 +msgid "Track %1%: The AAC information could not be parsed.\n" +msgstr "" + +#: src/extract/xtr_aac.cpp:62 src/extract/xtr_aac.cpp:74 +msgid "Track ID %1% has an unknown AAC type.\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1438 +msgid "Track ID %1%: %2% (%3%)" +msgstr "" + +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:392 +msgid "Track UID" +msgstr "" + +#: src/info/mkvinfo.cpp:970 +msgid "Track UID: %1%" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:70 +msgid "Track extraction" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:88 +#: src/propedit/propedit_cli_parser.cpp:163 src/propedit/options.cpp:157 +msgid "Track headers" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:179 +msgid "Track name:" +msgstr "Nom de la piste :" + +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:388 +msgid "Track number" +msgstr "" + +#: src/common/compression.cpp:576 +msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:961 +msgid "Track number: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:1057 +msgid "Track overlay: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:995 +msgid "Track type: %1%" +msgstr "" + +#: src/extract/xtr_base.cpp:120 +msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:187 +msgid "Tracks, chapters and tags:" +msgstr "Pistes, chapitres et étiquettes :" + +#: src/mmg/cli_options_dlg.cpp:143 +msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." +msgstr "" + +#: src/extract/xtr_vobsub.cpp:92 +msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" +msgstr "" + +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 +msgid "" +"Type of the unit for DisplayWidth/Height\n" +"(0: pixels, 1: centimeters, 2: inches)." +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:152 +msgid "Type:" +msgstr "" + +#: src/info/mkvinfo.cpp:819 +msgid "Type: %1% (%2%)" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:337 +msgid "UID:" +msgstr "" + +#: src/common/file_types.cpp:48 +msgid "USF text subtitles" +msgstr "" + +#: src/common/ebml.cpp:84 +msgid "UTFstring_to_cstrutf8: Invalid wide character. Please contact moritz@bunkus.org if you think that this is not true." +msgstr "" + +#: src/mpegparser/M2VParser.cpp:237 +msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "" + +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "" + +#: src/output/p_aac.cpp:130 +msgid "Unknown AAC MPEG-2 profile %1%." +msgstr "" + +#: src/output/p_aac.cpp:118 +msgid "Unknown AAC MPEG-4 object type %1%." +msgstr "" + +#: src/input/r_ogm.cpp:548 +msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" +msgstr "" + +#: src/common/chapters/chapters.cpp:374 +msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" +msgstr "" + +#: src/common/compression.cpp:582 +msgid "Unknown content encoding type %1% for track %2%.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1340 +msgid "Unknown format for the next UID in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1327 +msgid "Unknown format for the previous UID in '%1% %2%'.\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:1352 +msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" +msgstr "" + +#: src/input/r_vobsub.cpp:593 +msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:222 +msgid "Unknown mode '%1%'.\n" +msgstr "" + +#: src/common/mm_io_win.cpp:69 src/common/mm_io.cpp:112 +msgid "Unknown open mode" +msgstr "" + +#: src/common/cli_parser.cpp:113 +msgid "Unknown option '%1%'.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:42 +msgid "Unknown parse mode in '%1% %2%'.\n" +msgstr "" + +#: src/input/r_avi.cpp:581 +msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:230 +msgid "Unrecognized command line option '%1%'.\n" +msgstr "" + +#: src/mmg/header_editor/value_page.cpp:145 +msgid "Unsigned integer" +msgstr "" + +#: src/common/xml/element_parser.cpp:81 +msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." +msgstr "" + +#: src/input/r_vobsub.cpp:462 +msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" +msgstr "" + +#: src/mmg/tabs/input.cpp:349 +msgid "Unsupported format" +msgstr "" + +#: src/input/r_matroska.cpp:1787 +msgid "Unsupported track type for this track.\n" +msgstr "" + +#: src/propedit/propedit.cpp:24 +msgid "Updating the '%1%' element failed. Reason:\n" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:49 +msgid "Usage" +msgstr "" + +#: src/mmg/tabs/global.cpp:256 +msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:127 +msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:136 +msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." +msgstr "" + +#: src/mmg/options/mmg.cpp:65 +msgid "Use the previous output directory" +msgstr "" + +#: src/mmg/options/mmg.cpp:66 +msgid "Use this directory:" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:66 src/mmg/tabs/input_extra.cpp:130 +msgid "User defined options:" +msgstr "" + +#: src/merge/mkvmerge.cpp:1254 +msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1176 src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 +msgid "Using the %1%AC3 output module.\n" +msgstr "" + +#: src/input/r_avi.cpp:647 +msgid "Using the AAC audio output module.\n" +msgstr "" + +#: src/input/r_aac.cpp:92 +msgid "Using the AAC demultiplexer.\n" +msgstr "" + +#: src/input/r_real.cpp:371 +msgid "Using the AAC output module (FourCC: %1%).\n" +msgstr "" + +#: src/input/r_ogm.cpp:994 src/input/r_qtmp4.cpp:1531 src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 +msgid "Using the AAC output module.\n" +msgstr "" + +#: src/input/r_ac3.cpp:77 +msgid "Using the AC3 demultiplexer.\n" +msgstr "" + +#: src/input/r_real.cpp:305 +msgid "Using the AC3 output module (FourCC: %1%).\n" +msgstr "" + +#: src/input/r_ogm.cpp:1012 src/input/r_qtmp4.cpp:1454 src/input/r_avi.cpp:564 +#: src/input/r_wav.cpp:225 +msgid "Using the AC3 output module.\n" +msgstr "" + +#: src/input/r_avc.cpp:126 +msgid "Using the AVC/h.264 ES demultiplexer.\n" +msgstr "" + +#: src/input/r_avi.cpp:111 +msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" +msgstr "" + +#: src/input/r_corepicture.cpp:89 +msgid "Using the CorePanorama subtitle reader.\n" +msgstr "" + +#: src/input/r_dts.cpp:83 +msgid "Using the DTS demultiplexer.\n" +msgstr "" + +#: src/input/r_avi.cpp:680 src/input/r_dts.cpp:114 src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 src/input/r_matroska.cpp:1572 +msgid "Using the DTS output module.\n" +msgstr "" + +#: src/input/r_dirac.cpp:86 +msgid "Using the Dirac demultiplexer.\n" +msgstr "" + +#: src/input/r_dirac.cpp:96 src/input/r_matroska.cpp:1473 +msgid "Using the Dirac video output module.\n" +msgstr "" + +#: src/input/r_flac.cpp:124 +msgid "Using the FLAC demultiplexer.\n" +msgstr "" + +#: src/input/r_flac.cpp:164 src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 +msgid "Using the FLAC output module.\n" +msgstr "" + +#: src/input/r_ivf.cpp:66 +msgid "Using the IVF demultiplexer.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1713 +msgid "Using the Kate output module.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1520 +msgid "Using the Kate subtitle output module.\n" +msgstr "" + +#: src/input/r_mp3.cpp:50 +msgid "Using the MP2/MP3 demultiplexer.\n" +msgstr "" + +#: src/input/r_mpeg_es.cpp:166 +msgid "Using the MPEG ES demultiplexer.\n" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:179 +msgid "Using the MPEG PS demultiplexer.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1030 src/input/r_qtmp4.cpp:1537 src/input/r_avi.cpp:557 +#: src/input/r_mpeg_ps.cpp:1171 src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 +msgid "Using the MPEG audio output module.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1489 src/input/r_matroska.cpp:1457 +msgid "Using the MPEG-%1% video output module.\n" +msgstr "" + +#: src/input/r_mpeg_es.cpp:179 src/input/r_avi.cpp:323 +#: src/input/r_mpeg_ps.cpp:1197 +msgid "Using the MPEG-1/2 video output module.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1507 src/input/r_matroska.cpp:1864 +msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1154 src/input/r_avc.cpp:136 src/input/r_avi.cpp:348 +#: src/input/r_mpeg_ps.cpp:1210 src/input/r_matroska.cpp:1844 +msgid "Using the MPEG-4 part 10 ES video output module.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1258 src/input/r_qtmp4.cpp:1481 src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 +msgid "Using the MPEG-4 part 2 video output module.\n" +msgstr "" + +#: src/input/r_matroska.cpp:210 +msgid "Using the Matroska demultiplexer.\n" +msgstr "" + +#: src/input/r_ogm.cpp:337 +msgid "Using the OGG/OGM demultiplexer.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1049 src/input/r_qtmp4.cpp:1543 src/input/r_avi.cpp:549 +#: src/input/r_wav.cpp:395 src/input/r_matroska.cpp:1609 +msgid "Using the PCM output module.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1719 src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:124 +msgid "Using the Quicktime/MP4 demultiplexer.\n" +msgstr "" + +#: src/input/r_real.cpp:401 +msgid "Using the RealAudio output module (FourCC: %1%).\n" +msgstr "" + +#: src/input/r_real.cpp:158 +msgid "Using the RealMedia demultiplexer.\n" +msgstr "" + +#: src/input/r_srt.cpp:44 +msgid "Using the SRT subtitle reader.\n" +msgstr "" + +#: src/input/r_avi.cpp:428 +msgid "Using the SSA/ASS subtitle output module.\n" +msgstr "" + +#: src/input/r_ssa.cpp:58 +msgid "Using the SSA/ASS subtitle reader.\n" +msgstr "" + +#: src/input/r_tta.cpp:96 +msgid "Using the TTA demultiplexer.\n" +msgstr "" + +#: src/input/r_tta.cpp:109 src/input/r_matroska.cpp:1620 +msgid "Using the TTA output module.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1351 src/input/r_matroska.cpp:1469 +msgid "Using the Theora video output module.\n" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1186 +msgid "Using the TrueHD output module.\n" +msgstr "" + +#: src/input/r_truehd.cpp:73 +msgid "Using the TrueHD/MLP demultiplexer.\n" +msgstr "" + +#: src/input/r_truehd.cpp:89 +msgid "Using the TrueHD/MLP output module.\n" +msgstr "" + +#: src/input/r_usf.cpp:100 +msgid "Using the USF subtitle reader.\n" +msgstr "" + +#: src/input/r_vc1.cpp:86 +msgid "Using the VC1 ES demultiplexer.\n" +msgstr "" + +#: src/input/r_vc1.cpp:96 src/input/r_mpeg_ps.cpp:1215 +msgid "Using the VC1 video output module.\n" +msgstr "" + +#: src/input/r_ogm.cpp:1445 src/input/r_ivf.cpp:87 +#: src/input/r_matroska.cpp:1477 +msgid "Using the VP8 video output module.\n" +msgstr "" + +#: src/input/r_vobbtn.cpp:67 +msgid "Using the VobBtn button reader.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1730 +msgid "Using the VobBtn output module.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1697 +msgid "Using the VobSub output module.\n" +msgstr "" + +#: src/input/r_vobsub.cpp:149 +msgid "Using the VobSub subtitle output module (language: %1%).\n" +msgstr "" + +#: src/input/r_vobsub.cpp:104 +msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" +msgstr "" + +#: src/input/r_ogm.cpp:1070 src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 +msgid "Using the Vorbis output module.\n" +msgstr "" + +#: src/input/r_wav.cpp:546 +msgid "Using the WAV demultiplexer.\n" +msgstr "" + +#: src/input/r_wavpack.cpp:84 +msgid "Using the WAVPACK demultiplexer with a correction file.\n" +msgstr "" + +#: src/input/r_wavpack.cpp:86 +msgid "Using the WAVPACK demultiplexer.\n" +msgstr "" + +#: src/input/r_wavpack.cpp:107 src/input/r_matroska.cpp:1650 +msgid "Using the WAVPACK output module.\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1557 +msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" +msgstr "" + +#: src/input/r_matroska.cpp:1374 +msgid "Using the passthrough output module for this %1% track.\n" +msgstr "" + +#: src/input/r_usf.cpp:259 src/input/r_ogm.cpp:1101 src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 src/input/r_srt.cpp:60 src/input/r_matroska.cpp:1705 +msgid "Using the text subtitle output module.\n" +msgstr "" + +#: src/input/r_real.cpp:299 +msgid "Using the video output module (FourCC: %1%).\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:1469 src/input/r_qtmp4.cpp:1517 +msgid "Using the video output module (FourCC: %|1$.4s|).\n" +msgstr "" + +#: src/input/r_ogm.cpp:1263 src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 +msgid "Using the video output module.\n" +msgstr "" + +#: src/common/file_types.cpp:49 +msgid "VC1 elementary streams" +msgstr "" + +#: src/common/hacks.cpp:60 +msgid "Valid hacks are:\n" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:149 +msgid "Validates the content of all changeable headers" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:288 +msgid "Verify the current chapter entries to see if there are any errors" +msgstr "Vérifie l'absence d'erreurs dans le chapitrage" + +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:487 +msgid "Video aspect ratio type" +msgstr "" + +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 +msgid "Video crop bottom" +msgstr "" + +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 +msgid "Video crop left" +msgstr "" + +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 +msgid "Video crop right" +msgstr "" + +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 +msgid "Video crop top" +msgstr "" + +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 +msgid "Video display height" +msgstr "" + +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 +msgid "Video display unit" +msgstr "" + +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 +msgid "Video display width" +msgstr "" + +#: src/mpegparser/M2VParser.cpp:163 +msgid "Video ended with a shortened group of pictures. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" +msgstr "" + +#: src/common/property_element.cpp:137 +msgid "Video interlaced flag" +msgstr "" + +#: src/input/r_real.cpp:651 +msgid "Video packet assembly failed. Error code: %1% (%2%)\n" +msgstr "" + +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 +msgid "Video pixel height" +msgstr "" + +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 +msgid "Video pixel width" +msgstr "" + +#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:492 +msgid "Video stereo mode" +msgstr "" + +#: src/info/mkvinfo.cpp:684 +msgid "Video track" +msgstr "" + +#: src/mmg/header_editor/track_type_page.cpp:49 +#, c-format +msgid "Video track %u" +msgstr "" + +#: src/mmg/jobs.cpp:490 +msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" +msgstr "Afficher les messages générés par mkvmerge pendant le traitement des tâches sélectionnées" + +#: src/common/file_types.cpp:50 +msgid "VobButtons" +msgstr "" + +#: src/common/file_types.cpp:51 +msgid "VobSub subtitles" +msgstr "" + +#: src/common/file_types.cpp:52 +msgid "WAVE (uncompressed PCM audio)" +msgstr "" + +#: src/common/file_types.cpp:53 +msgid "WAVPACK v4 audio" +msgstr "" + +#: src/mmg/options/mmg.cpp:94 +msgid "Warn about possible incorrect usage of mmg" +msgstr "" + +#: src/input/subtitles.cpp:199 +msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" +msgstr "" + +#: src/mmg/mux_dialog.cpp:187 +msgid "Warning:" +msgstr "" + +#: src/common/output.cpp:76 +msgid "Warning: " +msgstr "" + +#: src/info/mkvinfo.cpp:972 +msgid "Warning: There's more than one track with the UID %1%." +msgstr "" + +#: src/info/mkvinfo.cpp:963 +msgid "Warning: There's more than one track with the number %1%." +msgstr "" + +#: src/mmg/mux_dialog.cpp:92 +msgid "Warnings:" +msgstr "Avertissements :" + +#: src/common/file_types.cpp:54 +msgid "WebM audio/video files" +msgstr "" + +#: src/mmg/options/mmg.cpp:83 +msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." +msgstr "" + +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 +msgid "Width of the encoded video frames in pixels." +msgstr "" + +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 +msgid "Width of the video frames to display." +msgstr "" + +#: src/mmg/cli_options_dlg.cpp:102 +msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:94 +msgid "Write the attachment with the ID 'AID' to 'outname'." +msgstr "" + +#: src/extract/extract_cli_parser.cpp:77 +msgid "Write track with the ID TID to the file 'out'." +msgstr "" + +#: src/info/mkvinfo.cpp:582 +msgid "Writing application: %1%" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:248 +msgid "Writing info" +msgstr "" + +#: src/extract/xtr_vobsub.cpp:224 +msgid "Writing the VobSub index file '%1%'.\n" +msgstr "" + +#: src/common/kate.cpp:61 +msgid "Wrong Kate version: %1%.%2% > %3%.x" +msgstr "" + +#: src/common/theora.cpp:47 +msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" +msgstr "" + +#: src/merge/mkvmerge.cpp:1689 +msgid "Wrong argument to '--split-max-files'.\n" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:117 +msgid "Wrong file chosen" +msgstr "" + +#: src/mmg/header_editor/frame.cpp:248 src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 +msgid "Wrong file selected" +msgstr "" + +#: src/common/theora.cpp:35 src/common/kate.cpp:46 +msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" +msgstr "" + +#: src/common/theora.cpp:40 +msgid "Wrong identifaction string: '%|1$6s|' != 'theora'" +msgstr "" + +#: src/common/kate.cpp:51 +msgid "Wrong identification string: '%|1$7s|' != 'kate\\0\\0\\0'" +msgstr "" + +#: src/common/xml/element_parser.cpp:457 +msgid "XML parser error at line %1% of '%2%': %3%.%4%%5%" +msgstr "" + +#: src/common/xml/element_writer.cpp:232 +msgid "XML parser error at line %1%: %2%." +msgstr "" + +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1351 +msgid "" +"You can use this function for adjusting the timecodes\n" +"of the selected chapter and all its children by a fixed amount.\n" +"The amount can be positive or negative. The format used can be\n" +"either just a number in which case it is interpreted as the number of seconds,\n" +"it can be followed by the unit like 'ms' or 's' for milliseconds and seconds respectively,\n" +"or it can have the usual HH:MM:SS.mmm or HH:MM:SS format.\n" +"Example: -00:05:23 would let all the chapters begin\n" +"5minutes and 23seconds earlier than now." +msgstr "" + +#: src/mmg/tabs/input.cpp:1342 +#, c-format +msgid "" +"You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" +"\n" +"If you don't do this then mkvmerge will assume 25 fps.\n" +"\n" +"Do you still want to continue?" +msgstr "" + +#: src/mmg/tabs/input.cpp:488 +msgid "" +"You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" +"\n" +"If you don't do this then mkvmerge will assume 25 fps.\n" +"\n" +"This message will only be shown once unless you have enabled mmg's warnings on its 'settings' page." +msgstr "" + +#: src/common/compression.cpp:139 src/common/compression.cpp:176 +msgid "Zlib decompression failed. Result: %1%\n" +msgstr "" + +#: src/info/mkvinfo.cpp:202 src/info/mkvinfo.cpp:206 +msgid "[%1% frame for track %2%, timecode %3%]" +msgstr "" + +#: src/input/r_aac.cpp:62 +msgid "aac_reader: ADIF header files are not supported." +msgstr "" + +#: src/input/r_aac.cpp:88 +msgid "aac_reader: Could not open the file." +msgstr "" + +#: src/input/r_aac.cpp:57 +msgid "aac_reader: Could not read %1% bytes." +msgstr "" + +#: src/input/r_aac.cpp:65 +msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" +msgstr "" + +#: src/mmg/jobs.cpp:344 src/mmg/jobs.cpp:453 src/mmg/jobs.cpp:531 +msgid "aborted" +msgstr "abandonné" + +#: src/output/p_ac3.cpp:213 +msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" +msgstr "" + +#: src/input/r_ac3.cpp:67 +msgid "ac3_reader: Could not open the source file." +msgstr "" + +#: src/input/r_ac3.cpp:62 +msgid "ac3_reader: Could not read %1% bytes." +msgstr "" + +#: src/input/r_ac3.cpp:71 +msgid "ac3_reader: No valid AC3 packet found in the first %1% bytes.\n" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:156 src/mmg/tabs/input.cpp:183 +msgid "add" +msgstr "ajouter" + +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "" + +#: src/mmg/tabs/input.cpp:185 +msgid "append" +msgstr "mettre à la suite" + +#: src/input/r_matroska.cpp:90 src/mmg/mmg.cpp:62 src/info/mkvinfo.cpp:1116 +msgid "audio" +msgstr "" + +#: src/input/r_avc.cpp:122 +msgid "avc_es_reader: Could not open the source file." +msgstr "" + +#: src/input/r_avc.cpp:106 +msgid "avc_es_reader: Should not have happened." +msgstr "" + +#: src/input/r_avi.cpp:114 +msgid "avi_reader: Could not initialize AVI source. Reason: %1%" +msgstr "" + +#: src/input/r_avi.cpp:107 +msgid "avi_reader: Could not read the source file." +msgstr "" + +#: src/input/r_avi.cpp:104 +msgid "avi_reader: Source is not a valid AVI file." +msgstr "" + +#: src/info/mkvinfo.cpp:673 +msgid "bits per sample: %1%" +msgstr "" + +#: src/input/r_matroska.cpp:91 src/info/mkvinfo.cpp:1119 +msgid "buttons" +msgstr "" + +#: src/common/byte_buffer.h:73 +msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" +msgstr "" + +#: src/common/compression.cpp:240 +msgid "bzip2 compression failed. Result: %1%\n" +msgstr "" + +#: src/common/compression.cpp:203 +msgid "bzlib_compressor_c::decompress() not implemented\n" +msgstr "" + +#: src/common/chapters/writer.cpp:196 src/common/chapters/xml_parser.cpp:143 +msgid "cet_index: '%1%' not found\n" +msgstr "" + +#: src/info/mkvinfo.cpp:662 +msgid "channels: %1%" +msgstr "" + +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "" + +#: src/mmg/jobs.cpp:347 +msgid "completed OK" +msgstr "terminé sans erreurs" + +#: src/mmg/jobs.cpp:350 +msgid "completed with warnings" +msgstr "terminé avec des avertissements" + +#: src/info/mkvinfo.cpp:821 +msgid "compression" +msgstr "" + +#: src/input/r_corepicture.cpp:85 +msgid "corepicture_reader: Could not open the source file." +msgstr "" + +#: src/input/r_corepicture.cpp:72 +msgid "corepicture_reader: Source is not a valid CorePanorama file." +msgstr "" + +#: src/merge/mkvmerge.cpp:293 +msgid "create_track_number: file_num not found. %1%\n" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:106 src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 +msgid "default" +msgstr "" + +#: src/info/mkvinfo.cpp:1074 +msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" +msgstr "" + +#: src/common/compression.cpp:161 +msgid "deflateInit() failed. Result: %1%\n" +msgstr "" + +#: src/input/r_dirac.cpp:82 +msgid "dirac_es_reader: Could not open the source file." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:154 +msgid "disable all" +msgstr "" + +#: src/info/mkvinfo.cpp:1629 +msgid "discardable, " +msgstr "" + +#: src/info/mkvinfo.cpp:709 +msgid "display height: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:704 +msgid "display width: %1%" +msgstr "" + +#: src/mmg/jobs.cpp:529 src/mmg/jobs.cpp:717 +msgid "done" +msgstr "terminé" + +#: src/mmg/jobs.cpp:530 +msgid "done/warnings" +msgstr "terminé/avertissements" + +#: src/mmg/tabs/input.cpp:189 +msgid "down" +msgstr "descendre" + +#: src/input/r_dts.cpp:66 +msgid "dts_reader: Could not open the source file." +msgstr "" + +#: src/input/r_dts.cpp:62 +msgid "dts_reader: Could not read %1% bytes." +msgstr "" + +#: src/input/r_dts.cpp:77 +msgid "dts_reader: No valid DTS packet found in the first %1% bytes.\n" +msgstr "" + +#: src/mmg/tabs/attachments.cpp:153 +msgid "enable all" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:343 +msgid "enabled" +msgstr "" + +#: src/info/mkvinfo.cpp:822 +msgid "encryption" +msgstr "" + +#: src/input/r_qtmp4.cpp:516 src/input/r_qtmp4.cpp:598 +#: src/input/r_qtmp4.cpp:632 src/input/r_qtmp4.cpp:644 +#: src/input/r_qtmp4.cpp:738 src/input/r_qtmp4.cpp:1234 +#: src/input/r_qtmp4.cpp:1392 src/input/r_qtmp4.cpp:1408 +#: src/common/mm_io.cpp:471 src/common/mm_io.cpp:481 src/common/mm_io.cpp:491 +#: src/common/mm_io.cpp:501 src/common/mm_io.cpp:511 src/common/mm_io.cpp:521 +#: src/common/mm_io.cpp:531 src/common/mm_io.cpp:541 src/common/mm_io.cpp:551 +#: src/common/mm_io.cpp:649 src/common/mm_io.cpp:1108 +msgid "end-of-file" +msgstr "" + +#: src/mmg/jobs.cpp:353 src/mmg/jobs.cpp:532 +msgid "failed" +msgstr "échoué" + +#: src/merge/output_control.cpp:534 +msgid "filelist_t not found for generic_packetizer_c. %1%\n" +msgstr "" + +#: src/input/r_ogm_flac.cpp:132 +msgid "flac_header_extraction: Could not initialize the FLAC decoder.\n" +msgstr "" + +#: src/input/r_ogm_flac.cpp:130 +msgid "flac_header_extraction: Could not set metadata_respond_all.\n" +msgstr "" + +#: src/input/r_ogm_flac.cpp:128 +msgid "flac_header_extraction: FLAC__stream_decoder_new() failed.\n" +msgstr "" + +#: src/input/r_ogm_flac.cpp:42 +msgid "flac_header_extraction: bytes (%1%) < op.bytes (%2%). Could not read the FLAC headers.\n" +msgstr "" + +#: src/input/r_flac.cpp:187 +msgid "flac_reader: Could not initialize the FLAC decoder.\n" +msgstr "" + +#: src/input/r_flac.cpp:118 +msgid "flac_reader: Could not open the source file." +msgstr "" + +#: src/input/r_flac.cpp:141 +msgid "flac_reader: Could not read a header packet.\n" +msgstr "" + +#: src/input/r_flac.cpp:127 +msgid "flac_reader: Could not read all header packets." +msgstr "" + +#: src/input/r_flac.cpp:240 +msgid "flac_reader: Could not read all header packets.\n" +msgstr "" + +#: src/input/r_flac.cpp:184 +msgid "flac_reader: Could not set metadata_respond_all.\n" +msgstr "" + +#: src/input/r_flac.cpp:321 +msgid "flac_reader: Error parsing the file: %1%\n" +msgstr "" + +#: src/input/r_flac.cpp:182 +msgid "flac_reader: FLAC__stream_decoder_new() failed.\n" +msgstr "" + +#: src/input/r_flac.cpp:149 +msgid "flac_reader: could not initialize the FLAC packetizer.\n" +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:87 +msgid "for all frames" +msgstr "" + +#: src/input/r_avc.cpp:76 src/input/r_vc1.cpp:52 +msgid "have an xcptn\n" +msgstr "" + +#: src/info/mkvinfo.cpp:841 +msgid "header removal" +msgstr "" + +#: src/mmg/tabs/chapters.cpp:340 +msgid "hidden" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:48 +msgid "higher" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:47 +msgid "highest" +msgstr "" + +#: src/common/compression.cpp:124 +msgid "inflateInit() failed. Result: %1%\n" +msgstr "" + +#: src/mmg/jobs.cpp:73 src/mmg/jobs.cpp:75 src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 +msgid "is being estimated" +msgstr "en cours d'estimation" + +#: src/input/r_ivf.cpp:62 +msgid "ivf_reader: Could not open the file." +msgstr "" + +#: src/info/mkvinfo.cpp:1627 +msgid "key, " +msgstr "" + +#: src/info/mkvinfo.cpp:1095 +msgid "language: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:182 +msgid "length %1%, data: %2%" +msgstr "" + +#: src/input/r_vobsub.cpp:221 +msgid "line %1%: The 'delay' timestamp could not be parsed.\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:255 +msgid "link files" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:51 +msgid "lower" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:52 +msgid "lowest" +msgstr "" + +#: src/common/compression.cpp:77 +msgid "lzo_compressor_c::decompress() not implemented\n" +msgstr "" + +#: src/common/compression.cpp:64 +msgid "lzo_init() failed. Result: %1%\n" +msgstr "" + +#: src/common/compression.cpp:68 +msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" +msgstr "" + +#: src/input/r_matroska.cpp:327 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:318 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:309 +msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:447 +msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:456 +msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1077 +msgid "matroska_reader: A track is missing its track UID.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1068 +msgid "matroska_reader: A track is missing its track number.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1437 +msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" +msgstr "" + +#: src/input/r_matroska.cpp:208 +msgid "matroska_reader: Failed to read the headers." +msgstr "" + +#: src/input/r_matroska.cpp:1250 src/input/r_matroska.cpp:1255 +msgid "matroska_reader: No segment found.\n" +msgstr "" + +#: src/input/r_matroska.cpp:967 +msgid "matroska_reader: Pixel height is missing.\n" +msgstr "" + +#: src/input/r_matroska.cpp:960 +msgid "matroska_reader: Pixel width is missing.\n" +msgstr "" + +#: src/input/r_matroska.cpp:548 +msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" +msgstr "" + +#: src/input/r_matroska.cpp:435 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" +msgstr "" + +#: src/input/r_matroska.cpp:288 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" +msgstr "" + +#: src/input/r_matroska.cpp:473 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" +msgstr "" + +#: src/input/r_matroska.cpp:515 src/input/r_matroska.cpp:526 +msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" +msgstr "" + +#: src/input/r_matroska.cpp:352 +msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1113 +msgid "matroska_reader: The CodecID is missing.\n" +msgstr "" + +#: src/input/r_matroska.cpp:501 +msgid "matroska_reader: The height for track %1% was not set.\n" +msgstr "" + +#: src/input/r_matroska.cpp:495 +msgid "matroska_reader: The width for track %1% was not set.\n" +msgstr "" + +#: src/input/r_matroska.cpp:601 +msgid "matroska_reader: Track %1% seems to be ok.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1092 +msgid "matroska_reader: Track type was not found.\n" +msgstr "" + +#: src/input/r_matroska.cpp:358 +msgid "matroska_reader: Vorbis track does not contain valid headers.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1342 src/input/r_matroska.cpp:1999 +msgid "matroska_reader: caught exception\n" +msgstr "" + +#: src/input/r_matroska.cpp:343 +msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1236 +msgid "matroska_reader: no EBML head found.\n" +msgstr "" + +#: src/input/r_matroska.cpp:596 +msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" +msgstr "" + +#: src/input/r_matroska.cpp:1081 +msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" +msgstr "" + +#: src/input/r_matroska.cpp:1073 +msgid "matroska_reader: | + There's more than one track with the number %1%.\n" +msgstr "" + +#: src/mmg/tabs/global.cpp:257 +msgid "max. number of files:" +msgstr "" + +#: src/common/memory.cpp:134 +msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" +msgstr "" + +#: src/common/memory.cpp:122 +msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" +msgstr "" + +#: src/common/memory.cpp:150 +msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" +msgstr "" + +#: src/common/memory.h:213 +msgid "memory_slice_cursor_c copy c'tor: Must not be used!" +msgstr "" + +#: src/propedit/target.cpp:81 +msgid "missing property name" +msgstr "" + +#: src/propedit/target.cpp:74 +msgid "missing value" +msgstr "" + +#: src/common/fs_sys_helpers.cpp:53 src/common/fs_sys_helpers.cpp:192 +msgid "mkdir(%1%) failed; errno = %2% (%3%)" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:56 +msgid "mkvextract <-h|-V>" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:47 +msgid "mkvextract <mode> <source-filename> [options] <extraction-spec>" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:98 +msgid "mkvextract attachments \"a movie.mkv\" 4:cover.jpg" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:52 +msgid "mkvextract attachments <inname> [options] [AID1:out1 [AID2:out2 ...]]" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:106 +msgid "mkvextract chapters \"a movie.mkv\" > movie_chapters.xml" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:53 +msgid "mkvextract chapters <inname> [options]" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:115 +msgid "mkvextract cuesheet \"audiofile.mka\" > audiofile.cue" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:54 +msgid "mkvextract cuesheet <inname> [options]" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:89 +msgid "mkvextract tags \"a movie.mkv\" > movie_tags.xml" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:51 +msgid "mkvextract tags <inname> [options]" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:123 +msgid "mkvextract timecodes_v2 \"a movie.mkv\" 1:timecodes_track1.txt" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:55 +msgid "mkvextract timecodes_v2 <inname> [TID1:out1 [TID2:out2 ...]]" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:81 +msgid "mkvextract tracks \"a movie.mkv\" 2:audio.ogg -c ISO8859-1 3:subs.srt" +msgstr "" + +#: src/extract/extract_cli_parser.cpp:50 +msgid "mkvextract tracks <inname> [options] [TID1:out1 [TID2:out2 ...]]" +msgstr "" + +#: src/extract/mkvextract.cpp:51 +msgid "mkvextract.cpp/show_element(): level > 9: %1%" +msgstr "" + +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:142 +msgid "mkvmerge" +msgstr "" + +#: src/merge/mkvmerge.cpp:73 +msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" +msgstr "" + +#: src/mmg/mux_dialog.cpp:350 +#, c-format +msgid "mkvmerge FAILED with a return code of %d. %s" +msgstr "" + +#: src/mmg/tabs/global.cpp:532 src/mmg/tabs/global.cpp:546 +#: src/mmg/tabs/global.cpp:550 src/mmg/tabs/global.cpp:554 +#: src/mmg/tabs/global.cpp:565 src/mmg/tabs/global.cpp:573 +#: src/mmg/tabs/global.cpp:610 +msgid "mkvmerge GUI error" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:176 +msgid "mkvmerge GUI ready" +msgstr "L'interface graphique de mkvmerge est prête." + +#: src/mmg/mmg_dialog.cpp:384 src/mmg/mmg_dialog.cpp:430 +#, c-format +msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" +msgstr "Fichiers de configuration de mkvmerge (*.mmg)|*.mmg|%s" + +#: src/mmg/tabs/input.cpp:1275 src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 src/mmg/tabs/input.cpp:1389 +msgid "mkvmerge GUI: error" +msgstr "" + +#: src/mmg/tabs/global.cpp:287 +msgid "mkvmerge can read CUE sheets for audio CDs and automatically convert them to chapters. This option controls how the chapter names are created. The sequence '%p' is replaced by the track's PERFORMER, the sequence '%t' by the track's TITLE, '%n' by the track's number and '%N' by the track's number padded with a leading 0 for track numbers < 10. The rest is copied as is. If nothing is entered then '%p - %t' will be used." +msgstr "" + +#: src/mmg/tabs/input_general.cpp:190 src/mmg/tabs/input_general.cpp:192 +msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." +msgstr "" + +#: src/output/p_avc.cpp:109 +msgid "" +"mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" +"%1%\n" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:57 +msgid "mkvmerge executable" +msgstr "" + +#: src/mmg/mux_dialog.cpp:352 +#, c-format +msgid "mkvmerge finished with a return code of %d. %s" +msgstr "" + +#: src/mmg/jobs.cpp:148 src/mmg/mux_dialog.cpp:305 +msgid "mkvmerge has finished" +msgstr "mkvmerge a terminé" + +#: src/input/r_ogm.cpp:500 +msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" +msgstr "" + +#: src/mmg/jobs.cpp:50 src/mmg/mux_dialog.cpp:45 +msgid "mkvmerge is running" +msgstr "mkvmerge est en cours d'exécution" + +#: src/mmg/options/mkvmerge.cpp:80 +msgid "mkvmerge options" +msgstr "" + +#: src/mmg/mux_dialog.cpp:89 +msgid "mkvmerge output:" +msgstr "" + +#: src/mmg/tabs/global.cpp:275 src/mmg/tabs/global.cpp:277 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format." +msgstr "" + +#: src/mmg/tabs/global.cpp:283 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. If the OGM format is used and the file's charset is not recognized correctly then this option can be used to correct that. This option is ignored for XML chapter files." +msgstr "" + +#: src/mmg/tabs/global.cpp:279 +msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." +msgstr "" + +#: src/merge/output_control.cpp:249 src/merge/output_control.cpp:289 +msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" +msgstr "" + +#: src/input/r_qtmp4.cpp:557 +msgid "mkvmerge was not compiled with zlib. Compressed headers in QuickTime/MP4 files are therefore not supported.\n" +msgstr "" + +#: src/propedit/propedit_cli_parser.cpp:139 +msgid "mkvpropedit [options] <file> <actions>" +msgstr "" + +#: src/common/mm_io.cpp:1100 +msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" +msgstr "" + +#: src/common/mm_io.cpp:1052 +msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" +msgstr "" + +#: src/mmg/options/mmg.cpp:323 +msgid "mmg" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:266 +msgid "mmg debug output" +msgstr "" + +#: src/mmg/options/mmg.cpp:178 +msgid "mmg options" +msgstr "" + +#: src/mmg/options/languages.cpp:86 +msgid "mmg will reset to the default list if no entry is selected." +msgstr "" + +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "" + +#: src/input/r_mp3.cpp:58 +msgid "mp3_reader: Could not open the source file." +msgstr "" + +#: src/input/r_mpeg_es.cpp:163 +msgid "mpeg_es_reader: Could not open the file." +msgstr "" + +#: src/input/r_mpeg_ps.cpp:82 +msgid "mpeg_ps_reader: Could not open the file." +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1190 +msgid "mpeg_ps_reader: Should not have happened #1. %1%" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1219 +msgid "mpeg_ps_reader: Should not have happened #2. %1%" +msgstr "" + +#: src/mmg/header_editor/bool_value_page.cpp:43 +#: src/mmg/tabs/input_general.cpp:108 src/mmg/tabs/input_general.cpp:124 +msgid "no" +msgstr "" + +#: src/info/mkvinfo.cpp:865 +msgid "no encryption" +msgstr "" + +#: src/common/strings/parsing.cpp:265 +msgid "no error" +msgstr "" + +#: src/info/qt_ui.cpp:59 +msgid "no file loaded" +msgstr "" + +#: src/info/mkvinfo.cpp:882 +msgid "no signature algorithm" +msgstr "" + +#: src/info/mkvinfo.cpp:891 +msgid "no signature hash algorithm" +msgstr "" + +#: src/mmg/mmg_dialog.cpp:994 src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 src/mmg/tabs/input_extra.cpp:118 +msgid "none" +msgstr "" + +#: src/mmg/options/mkvmerge.cpp:50 +msgid "normal" +msgstr "" + +#: src/input/r_ogm.cpp:472 +msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" +msgstr "" + +#: src/input/r_ogm.cpp:384 +msgid "ogg_sync_buffer failed\n" +msgstr "" + +#: src/input/r_ogm.cpp:329 +msgid "ogm_reader: Could not open the source file." +msgstr "" + +#: src/input/r_ogm.cpp:340 +msgid "ogm_reader: Could not read all header packets." +msgstr "" + +#: src/input/r_ogm.cpp:332 +msgid "ogm_reader: Source is not a valid OGG media file." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:1066 +msgid "on_entry_selected: display == NULL. Should not have happened." +msgstr "" + +#: src/mmg/tabs/input_extra.cpp:86 +msgid "only for I frames" +msgstr "" + +#: src/info/mkvinfo.cpp:657 +msgid "output sampling freq: %1%" +msgstr "" + +#: src/mmg/jobs.cpp:528 src/mmg/jobs.cpp:702 +msgid "pending" +msgstr "en attente" + +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "" + +#: src/info/mkvinfo.cpp:729 +msgid "pixel crop bottom: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:714 +msgid "pixel crop left: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:724 +msgid "pixel crop right: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:719 +msgid "pixel crop top: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:699 +msgid "pixel height: %1%" +msgstr "" + +#: src/info/mkvinfo.cpp:694 +msgid "pixel width: %1%" +msgstr "" + +#: src/merge/pr_generic.cpp:856 +msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" +msgstr "" + +#: src/merge/pr_generic.cpp:1207 +msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." +msgstr "" + +#: src/extract/xtr_base.cpp:47 +msgid "raw data" +msgstr "" + +#: src/info/wxwidgets_ui.cpp:132 src/info/wxwidgets_ui.cpp:164 +msgid "ready" +msgstr "" + +#: src/input/r_real.cpp:149 +msgid "real_reader: Could not read the source file." +msgstr "" + +#: src/input/r_real.cpp:246 +msgid "real_reader: Couldn't find RealAudio FourCC for id %1% (description length: %2%) Skipping track.\n" +msgstr "" + +#: src/input/r_real.cpp:274 +msgid "real_reader: Only audio header versions 3, 4 and 5 are supported. Track ID %1% uses version %2% and will be skipped.\n" +msgstr "" + +#: src/input/r_real.cpp:147 +msgid "real_reader: Source is not a valid RealMedia file." +msgstr "" + +#: src/mmg/tabs/attachments.cpp:157 src/mmg/tabs/input.cpp:184 +msgid "remove" +msgstr "enlever" + +#: src/mmg/tabs/input.cpp:186 +msgid "remove all" +msgstr "tout enlever" + +#: src/info/mkvinfo.cpp:811 +msgid "rest: unknown" +msgstr "" + +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "" + +#: src/info/mkvinfo.cpp:652 +msgid "sampling freq: %1%" +msgstr "" + +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "" + +#: src/input/subtitles.cpp:589 +msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" +msgstr "" + +#: src/input/r_srt.cpp:40 +msgid "srt_reader: Could not open the source file." +msgstr "" + +#: src/input/r_srt.cpp:34 +msgid "srt_reader: Source is not a valid SRT file." +msgstr "" + +#: src/input/r_ssa.cpp:40 +msgid "ssa_reader: Could not open the source file." +msgstr "" + +#: src/input/subtitles.cpp:342 +msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." +msgstr "" + +#: src/input/r_ssa.cpp:44 +msgid "ssa_reader: Source is not a valid SSA/ASS file." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:910 +msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." +msgstr "" + +#: src/input/r_matroska.cpp:93 +msgid "subtitle" +msgstr "" + +#: src/mmg/mmg.cpp:64 src/info/mkvinfo.cpp:1118 +msgid "subtitles" +msgstr "" + +#: src/common/tags/parser.cpp:37 +msgid "tet_index: '%1%' not found\n" +msgstr "" + +#: src/merge/mkvmerge.cpp:2034 +msgid "timecodes" +msgstr "" + +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "" + +#: src/merge/mkvmerge.cpp:2027 +msgid "track name" +msgstr "" + +#: src/input/r_truehd.cpp:76 +msgid "truehd_reader: Could not open the source file." +msgstr "" + +#: src/input/r_truehd.cpp:63 +msgid "truehd_reader: Could not read %1% bytes." +msgstr "" + +#: src/input/r_tta.cpp:93 +msgid "tta_reader: Could not open the file." +msgstr "" + +#: src/input/r_tta.cpp:60 +msgid "tta_reader: tag_size < 0 in the c'tor. %1%\n" +msgstr "" + +#: src/mmg/tabs/input_general.cpp:143 +msgid "und (Undetermined)" +msgstr "" + +#: src/input/r_mpeg_ps.cpp:1388 src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 src/mmg/header_editor/value_page.cpp:150 +#: src/mmg/tabs/input.cpp:339 src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 src/info/mkvinfo.cpp:842 src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 src/info/mkvinfo.cpp:894 src/info/mkvinfo.cpp:1120 +msgid "unknown" +msgstr "" + +#: src/mmg/tabs/input.cpp:188 +msgid "up" +msgstr "monter" + +#: src/input/r_usf.cpp:96 +msgid "usf_reader: Could not open the source file." +msgstr "" + +#: src/input/r_usf.cpp:75 +msgid "usf_reader: Source is not a valid USF file." +msgstr "" + +#: src/common/strings/editing.cpp:270 +msgid "utf8_strlen(): Invalid UTF-8 char. First byte: 0x%|1$02x|" +msgstr "" + +#: src/input/r_vc1.cpp:82 +msgid "vc1_es_reader: Could not open the source file." +msgstr "" + +#: src/mmg/tabs/chapters.cpp:839 +msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" +msgstr "" + +#: src/input/r_matroska.cpp:92 src/mmg/mmg.cpp:63 src/info/mkvinfo.cpp:1117 +msgid "video" +msgstr "" + +#: src/input/r_vobbtn.cpp:56 +msgid "vobbtn_reader: Could not open the file." +msgstr "" + +#: src/input/r_vobsub.cpp:82 +msgid "vobsub_reader: Could not open the sub file" +msgstr "" + +#: src/input/r_vobsub.cpp:70 +msgid "vobsub_reader: Cound not open the source file." +msgstr "" + +#: src/input/r_vobsub.cpp:559 +msgid "vobsub_reader: sub_file->read failure" +msgstr "" + +#: src/input/r_wav.cpp:449 +msgid "wav_reader: Could not open the source file." +msgstr "" + +#: src/input/r_wav.cpp:481 +msgid "wav_reader: No data chunk was found." +msgstr "" + +#: src/input/r_wav.cpp:472 +msgid "wav_reader: No format chunk found." +msgstr "" + +#: src/input/r_wav.cpp:453 +msgid "wav_reader: Source is not a valid WAVE file." +msgstr "" + +#: src/input/r_wav.cpp:478 +msgid "wav_reader: The format chunk could not be read." +msgstr "" + +#: src/input/r_wav.cpp:467 +msgid "wav_reader: could not read WAVE header." +msgstr "" + +#: src/input/r_wavpack.cpp:58 +msgid "wavpack_reader: Could not open the file." +msgstr "" + +#: src/common/wavpack.cpp:149 +msgid "wavpack_reader: non-audio block found\n" +msgstr "" + +#: src/common/wavpack.cpp:117 +msgid "wavpack_reader: unknown sample rate!\n" +msgstr "" + +#: src/common/mm_io.cpp:812 +msgid "wrong usage: increase < 0" +msgstr "" + +#: src/common/mm_io.cpp:837 src/common/mm_io.cpp:853 +msgid "wrong usage: read-only with NULL memory" +msgstr "" + +#: src/common/mm_io.cpp:883 +msgid "wrong usage: writing to read-only memory" +msgstr "" + +#: src/mmg/header_editor/bool_value_page.cpp:44 +#: src/mmg/tabs/input_general.cpp:107 src/mmg/tabs/input_general.cpp:125 +msgid "yes" +msgstr "oui" + +#~ msgid "About mkvmerge's GUI" +#~ msgstr "À propos de l'interface graphique de mkvmerge" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Fichiers Matroska audio/vidéo (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Fichiers Matroska (*.mkv;*.mka)|*.mkv;*.mka|%s" diff -Nru mkvtoolnix-4.0.0/po/ja.po mkvtoolnix-4.5.0+dfsg/po/ja.po --- mkvtoolnix-4.0.0/po/ja.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/ja.po 2011-01-31 20:34:09.000000000 +0000 @@ -2,21 +2,22 @@ # Copyright (C) 2009 Moritz Bunkus # This file is distributed under the same license as the mkvtoolnix package. # -# Hiroki Taniura <boiled.sugar@gmail.com> 2009, 2010. +# Hiroki Taniura <boiled.sugar@gmail.com> 2009-2011. # Katsuhiko Nishimra <kat841@hotmail.com> 2010. msgid "" msgstr "" "Project-Id-Version: ja\n" "Report-Msgid-Bugs-To: Hiroki Taniura <boiled.sugar@gmail.com>\n" -"POT-Creation-Date: 2009-02-27 00:38+0900\n" -"PO-Revision-Date: 2010-06-03 22:27+0900\n" +"PO-Revision-Date: 2011-01-21 20:41+0900\n" "Last-Translator: Hiroki Taniura <boiled.sugar@gmail.com>\n" "Language-Team: Japanese <boiled.sugar@gmail.com>\n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date : 2009-02-27 00:38+0900\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" @@ -24,23 +25,23 @@ "\n" "一時的に作成されたトラックID %1%のTTAファイルを最終的なTTAファイルにコピー中です。これにはしばらく時間がかかることがあります。\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" msgstr "" "\n" -"mkvmergeは割り込み信号を受信しました(恐らくユーザーがCtrl+Cを押したためです)。ファイルをきれいにしようとしています。もしこの処理中にmkvmergeがハングした場合、手動でプロセスを終了してください。\n" +"mkvmergeはSIGINTを受信しました(恐らくユーザーがCtrl+Cを押したためです)。出力ファイルを正しく閉じようとしています。もしこの処理中にmkvmergeがハングアップした場合、手動でプロセスを終了してください。\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" msgstr "" -" --aac-is-sbr <TID[:0|1]> そのトラックIDがHE-AAC/AAC+/SBR-AACかどうかを\n" +" --aac-is-sbr <TID[:0|1]> そのIDのトラックがHE-AAC/AAC+/SBR-AACか否かを\n" " 指定します。値が':1'ならば省略できます。\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" @@ -49,7 +50,7 @@ " --append-mode <file|track>\n" " ファイル結合時のタイムコードの計算方法を指定します。\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -58,11 +59,11 @@ " file.\n" msgstr "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" -" 作成されるファイルのどのトラックに\n" +" どのファイルのどのトラックに\n" " どのファイルのどのトラックが追加されるか\n" " コンマで区切られたリストで指定します。\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" @@ -70,9 +71,9 @@ msgstr "" " --aspect-ratio <TID:f|a/b>\n" " このアスペクト比で縦と横の大きさを\n" -" 計算して設定します。\n" +" 計算して表示解像度を設定します。\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -81,17 +82,17 @@ " dimensions from this factor.\n" msgstr "" " --aspect-ratio-factor <TID:f|a/b>\n" -" まずこの係数をビデオの元のアスペクト比に\n" -" かけてアスペクト比を計算し、\n" -" さらに表示解像度を計算します。\n" +" 最初にこの係数をビデオの元のアスペクト比に\n" +" かけてアスペクト比を計算してから、\n" +" 表示解像度を計算します。\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" msgstr " --attach-file <file> Matroskaファイルにファイルを添付します。\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" @@ -101,29 +102,31 @@ " 作成される最初のMatroskaファイルにのみ\n" " ファイルを添付します。\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" msgstr "" " --attachment-description <desc>\n" -" 次に続く添付ファイルの説明です。\n" +" 次の添付ファイルの説明です。\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" msgstr "" " --attachment-mime-type <MIME Type>\n" -" 次に続く添付ファイルのMIMEタイプです。\n" +" 次の添付ファイルのMIMEタイプです。\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" -msgstr " --attachment-name <name> 次に続く添付ファイルがこの名前で格納されます。\n" +msgstr "" +" --attachment-name <name> この名前が次の添付ファイルのファイル名\n" +" として格納されます。\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" @@ -131,19 +134,19 @@ " --blockadd <TID:x> このトラックのBlockAdditionの\n" " レベルの最大値を指定します。\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" msgstr " --chapter-charset <cset> シンプルチャプタファイルの文字セットを指定します。\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" -msgstr " --chapter-language <lng> チャプタエントリの言語要素を指定します。\n" +msgstr " --chapter-language <lng> チャプタエントリの'language'要素を指定します。\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" msgstr " --chapters <file> チャプタの情報をファイルから読み込みます。\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -154,11 +157,11 @@ " もし数字の後にmsがついていた場合は、\n" " 各クラスタに最大nミリ秒のデータを配置します。\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr " --clusters-in-meta-seek クラスタにメタシークデータを書き込みます。\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" @@ -166,7 +169,7 @@ " --command-line-charset <charset>\n" " コマンドラインの文字セットを指定します。\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" @@ -176,7 +179,7 @@ " そのトラックで使用される圧縮方法を指定します\n" " ('none'もしくは'zlib')。\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" @@ -184,7 +187,7 @@ " --cropping <TID:left,top,right,bottom>\n" " クロッピングのパラメータを指定します。\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" @@ -194,7 +197,7 @@ " CUEシートのエントリをチャプタ名に変換する\n" " 規則を指定します。\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" @@ -205,17 +208,18 @@ " 作成します。'none'は全く無し、'iframes'は\n" " Iフレームのみ、'all'は全フレーム対象です。\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" " X can be a floating point number or a fraction.\n" msgstr "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" -" トラックのデフォルトのフレーム持続期間をXに設定します。\n" +" トラックのデフォルトのフレーム持続期間をXに\n" +" 強制設定します。\n" " Xは浮動小数点数や分数を取ることができます。\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" @@ -223,21 +227,21 @@ " --default-language <lng> --languageオプションで上書きされない限り\n" " 全てのトラックに対しこの言語を使用します。\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" " forces it not to be present if bool is 0.\n" msgstr "" " --default-track <TID[:bool]>\n" -" 'デフォルト'フラグをこのトラックに設定します。\n" -" ブール型に0が指定された場合はフラグを設定しません。\n" +" このトラックの'デフォルト'フラグをonにします。\n" +" boolが0の場合はoffにします。\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing 複数のフレームを1つのブロックにまとめません。\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" @@ -245,11 +249,11 @@ " --display-dimensions <TID:width>x<height>\n" " 表示解像度を明確に指定します。\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr " --enable-durations 全てのブロックの持続時間を記録します。\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" @@ -257,13 +261,13 @@ msgstr "" " --forced-track <TID[:bool]>\n" " '強制表示'フラグをこのトラックに設定します。\n" -" ブール型に0が指定された場合はフラグを設定しません。\n" +" boolに0が指定された場合はフラグを設定しません。\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" msgstr " --global-tags <file> XMLファイルからグローバルタグを読み込みます。\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" @@ -271,55 +275,55 @@ " --language <TID:lang> トラックの言語を指定します(ISO639-2コードです。\n" " --list-languagesを参照してください)。\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" -msgstr " --link 分割ファイルを紐付けします。\n" +msgstr " --link 分割ファイルをリンクします。\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" -msgstr " --link-to-next <SID> 指定したSIDに最後の出力ファイルを紐付けします。\n" +msgstr " --link-to-next <SID> 指定したSIDに最後の出力ファイルをリンクします。\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" -msgstr " --link-to-previous <SID> 指定したSIDに最初の出力ファイルを紐付けします。\n" +msgstr " --link-to-previous <SID> 指定したSIDに最初の出力ファイルをリンクします。\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" msgstr " --list-languages 全てのISO639言語とそのISO639-2コードを列挙します。\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" " 2 <= n <= 4 with 4 being the default.\n" msgstr "" " --nalu-size-length <TID:n>\n" -" NALUサイズ長をnバイトに強制設定します。\n" +" NALUサイズ長をnバイト幅に強制します。\n" " (2 <= n <= 4)。デフォルト値は4です。\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters ソースファイルからチャプタを引き継ぎません。\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" msgstr " --no-cues キューデータ(インデックス)を記録しません。\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" msgstr " --no-global-tags ソースファイルからグローバルタグを引き継ぎません。\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" msgstr " --output-charset <cset> 出力メッセージの文字セットを指定します。\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" msgstr " --priority <priority> mkvmergeの優先度を指定します。\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -327,11 +331,11 @@ " --segment-uid <SID1,[SID2...]>\n" " セグメントUIDをSID1,SID2...に設定します。\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" msgstr " --segmentinfo <file> セグメント情報をファイルから読み込みます。\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" @@ -341,58 +345,58 @@ " dバイト(KB、MB、GB)もしくは指定された時間で\n" " ファイルを分割します。\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" " etc.\n" msgstr "" " --split timecodes:A[,B...]\n" -" 各タイムコードの後にファイルを分割します。\n" +" 各タイムコード、A、B等の後にファイルを分割します。\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" msgstr " --split-max-files <n> ファイルの最大分割数を指定します。\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" " --stereo-mode <TID:n|none|left|right|both>\n" " ステレオモードのパラメータを指定します。\n" -" 0~3の数字か、または'none'、'right'、\n" -" 'left'、'both'のどれかで指定します。\n" +" 0~11の数字か、キーワード(全てのリストは\n" +" ドキュメントを参照してください)で指定します。\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" " read as for the conversion to UTF-8.\n" msgstr "" " --sub-charset <TID:charset>\n" -" UTF-8への変換のために、字幕をどの文字セット\n" +" UTF-8への変換のために、テキスト字幕をどの文字セット\n" " として読み込むかを指定します。\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" -msgstr " --timecode-scale <n> タイムコードスケールの係数をnに設定します。\n" +msgstr " --timecode-scale <n> タイムコードスケール係数をnに設定します。\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" msgstr " --timecodes <TID:file> 使用されるタイムコードをファイルから読み込みます。\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" msgstr " --title <title> この出力ファイルのタイトルを設定します。\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" msgstr " --track-name <TID:name> トラックの名前を設定します。\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -401,10 +405,10 @@ msgstr "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " コンマで区切られたファイルIDとトラックIDの\n" -" リストです。出力ファイルのトラックの順番を\n" +" リストです。出力ファイル中でのトラックの順番を\n" " 設定します。\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" @@ -412,39 +416,39 @@ " --track-tags <n,m,...> トラックn,m,...のタグをコピーします。\n" " デフォルトでは全てのトラックのタグをコピーします。\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" -msgstr " --ui-language <code> 使用される翻訳を'code'に強制設定します。\n" +msgstr " --ui-language <code> 'code'の翻訳の使用を強制します。\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio このファイルからオーディオトラックをコピーしません。\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons このファイルからボタントラックをコピーしません。\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video このファイルからビデオトラックをコピーしません。\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" msgstr " -M, --no-attachments ソースファイルから添付ファイルをコピーしません。\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" -msgstr " -S, --no-subtitles このファイルからテキストトラックをコピーしません。\n" +msgstr " -S, --no-subtitles このファイルから字幕トラックをコピーしません。\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr " -T, --no-track-tags ソースファイルからトラックのタグをコピーしません。\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version バージョン情報を表示します。\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -454,7 +458,7 @@ " n,m,...のオーディオトラックをコピーします。\n" " デフォルトでは全てコピーします。\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -464,7 +468,7 @@ " n,m,...のボタントラックをコピーします。\n" " デフォルトでは全てコピーします。\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -474,7 +478,7 @@ " n,m,...のビデオトラックをコピーします。\n" " デフォルトでは全てコピーします。\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -482,19 +486,19 @@ " -f, --fourcc <FOURCC> FourCCを指定された値に強制設定します。\n" " ビデオトラックにのみ有効です。\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help このヘルプを表示します。\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <file> ソースファイルの情報を表示します。\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" -msgstr " -l, --list-types サポートされている入力ファイルを列挙します。\n" +msgstr " -l, --list-types サポートされている入力ファイルタイプを列挙します。\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -502,19 +506,19 @@ " all attachments to all output files.\n" msgstr "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" -" 指定されたIDの添付ファイルを、全ての、または\n" -" 最初の出力ファイルにコピーします。デフォルトでは\n" -" 全ての添付ファイルを全ての出力ファイルにコピーします\n" +" 指定されたID、n, m等の添付ファイルを、全ての、または\n" +" 最初の出力ファイルにのみコピーします。デフォルトでは\n" +" 全ての添付ファイルを全ての出力ファイルにコピーします。\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out 出力ファイルを指定します。\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" msgstr " -q, --quiet ステータス情報を出力しません。\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -522,7 +526,7 @@ " -r, --redirect-output <file>\n" " 全てのメッセージをこのファイルにリダイレクトします。\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -532,19 +536,19 @@ " n,m,...の字幕トラックをコピーします。\n" " デフォルトでは全ての字幕トラックをコピーします。\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:file> このトラックのタグをXMLファイルから読み込みます。\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose 詳細なステータス情報を出力します。\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm WebMの規格に準拠したファイルを作成します。\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -555,14 +559,14 @@ " floating point numbers.\n" msgstr "" " -y, --sync <TID:d[,o[/p]]>\n" -" 同期のために、トラックのタイムコードをdミリ秒\n" -" ズラします。\n" -" o/pは、長さの同期を修正するために、o/pを\n" -" タイムコードにかけることで調整します。\n" +" 同期のために、TIDで示されるトラックの\n" +" タイムコードをdミリ秒ずらします。\n" +" o/pは、尺を修正するために、o/pを乗じて\n" +" タイムコードを調整します。\n" " pは省略されるとデフォルト値の1が使用されます。\n" -" oとpは浮動小数点数を取ることができます。\n" +" oとpはどちらも浮動小数点数を取ることができます。\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -598,166 +602,162 @@ msgid " X: binary in hex\n" msgstr " X: 16進数のバイナリ\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (両目)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (センチメートル)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (固定)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (フォーマットタグ: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (可変アスペクト比)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264プロファイル:%1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (インチ)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" msgstr "(固定アスペクト比)" -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (左目)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (モノラル)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (ピクセル)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (右目)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" msgstr " 中断します。\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" -msgstr " 添付ファイル(グローバルオプションの続き):\n" +msgstr " 添付ファイルのサポート(グローバルオプションの続き):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" msgstr " チャプタ操作:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" -msgstr " ファイルの分割と紐付け(グローバルオプションの続き):\n" +msgstr " ファイルの分割とリンク(グローバルオプションの続き):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" msgstr " 出力一般のコントロール(グローバルオプションの続き):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " グローバルオプション:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " 各入力ファイルのオプション:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" msgstr " VobSub字幕トラックにのみ適用されるオプション:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" msgstr " テキスト字幕トラックにのみ適用されるオプション:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " ビデオトラックにのみ適用されるオプション:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " その他のオプション:\n" #: src/common/xml/element_parser.cpp:460 msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." -msgstr " &、<、>、\"のような特殊な文字は通常のHTMLにおける方法でエスケープされなければならないことに注意してください。:'&'は&、'<'は<、'>'は>、'\"'は"。" +msgstr " &、<、>、\"のような特殊な文字はHTMLにおける方法でエスケープされなければならないことに注意してください。:'&'は&、'<'は<、'>'は>、'\"'は"。" -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" -msgstr " セグメント情報操作:\n" +msgstr " セグメント情報の処理:\n" -#: src/extract/mkvextract.cpp:63 src/info/mkvinfo.cpp:174 +#: src/extract/mkvextract.cpp:63 src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " at %1%" -#: src/merge/output_control.cpp:257 src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 src/merge/output_control.cpp:287 msgid " done\n" -msgstr " 終了\n" +msgstr " 完了\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " サイズ %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr " サイズが不明です" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### 開発者向けハック ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" msgstr "### グローバル出力コントロール ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% ビルド日時 %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% フレーム、トラック %2%、タイムコード %3% (%4%)、持続時間 %|5$.3f|、サイズ %6%、adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% フレーム、トラック %2%、タイムコード %3% (%4%)、サイズ %5%、adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% フレーム、トラック %2%、タイムコード %3% (%4%)、サイズ %5%、adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%:%2%の位置でMatroskaファイル構造にエラーが発生しました。次のレベル1要素に再同期します。\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" -msgstr "%1%:'%2% %3%'で0による除算があります。\n" +msgstr "%1%:'%2% %3%'に0による除算があります。\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" -msgstr "%1%:'%2% %3%'で不正なトラックIDがあります。\n" +msgstr "%1%:'%2% %3%'に無効なトラックIDがあります。\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" -msgstr "%1%:'%2% %3%'で被除数がありません。\n" +msgstr "%1%:'%2% %3%'に被除数がありません。\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" -msgstr "%1%:'%2% %3%'で除数がありません。\n" +msgstr "%1%:'%2% %3%'に除数がありません。\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" -msgstr "%1%:'%2% %3%'でトラックIDがありません。\n" +msgstr "%1%:'%2% %3%'にトラックIDがありません。\n" #: src/info/qt_ui.cpp:116 msgid "" @@ -777,45 +777,22 @@ "ソースや最新のバイナリは、いつでも以下のURLから入手できます。\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 src/mmg/jobs.cpp:299 src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 src/mmg/jobs.cpp:307 src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d分%d秒" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"このGUIはMoritz Bunkus <moritz@bunkus.org>によって書かれました。\n" -"Florian Wagner <flo.wagner@gmx.de>によるmmgに基づいています。\n" -"mkvmerge GUIはGPLでライセンスされています。\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"ヘルプはツールチップの形で、または'ヘルプ'メニューから、\n" -"またはF1キーを押すことで利用できます。" - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s(MIMEタイプ %s、サイズ %ldバイト)%s(%s)の添付ファイル" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s(ID %lld、タイプ:%s)%sのトラック" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -834,34 +811,42 @@ "ソースや最新のバイナリは、いつでも以下のURLから入手できます。\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "中断(&A)" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "mkvmergeについて(&A)" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "mkvinfoについて(&A)\tF1" -#: src/mmg/mmg_dialog.cpp:263 src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "ジョブキューに追加(&A)" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "添付ファイル(&A)\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "チャプタエディタ(&C)" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "チャプタエディタ(&C)\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "アップデートチェック(&C)" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "閉じる(&C)" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "閉じる(&C)\tCtrl-W" @@ -870,109 +855,109 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "全てのエントリを折り畳む(&C)\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "コマンドラインをクリップボードにコピー(&C)" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "クリップボードにコピー(&C)" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "無効化(&D)" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "下へ(&D)" #: src/mmg/header_editor/frame.cpp:147 msgid "&Expand all entries\tCtrl-E" -msgstr "重要な要素を展開(&E)\tCtrl-E" +msgstr "全てのエントリを展開(&E)\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "重要な要素を展開(&E)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/mmg/mmg_dialog.cpp:299 src/mmg/header_editor/frame.cpp:151 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "ファイル(&F)" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" msgstr "グローバルオプション(&G)\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "ヘッダエディタ(&H)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/mmg/mmg_dialog.cpp:303 src/mmg/header_editor/frame.cpp:153 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "ヘルプ(&H)" -#: src/mmg/mmg_dialog.cpp:276 src/mmg/header_editor/frame.cpp:150 +#: src/mmg/mmg_dialog.cpp:293 src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "ヘルプ(&H)\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "入力(&I)\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" -msgstr "ロード(&L)" +msgstr "読み込み(&L)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" -msgstr "設定をロード(&L)\tCtrl-L" +msgstr "設定を読み込み(&L)\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "ジョブの管理(&M)\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "MUX(&M)" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "新規作成(&N)\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" msgstr "チャプタを新規作成(&N)" -#: src/mmg/jobs.cpp:100 src/mmg/jobs.cpp:385 src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 src/mmg/jobs.cpp:394 src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "&OK" -#: src/mmg/header_editor/frame.cpp:142 src/info/wxwidgets_ui.cpp:123 +#: src/mmg/header_editor/frame.cpp:142 src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "開く(&O)\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "オプション(&O)" -#: src/mmg/mmg_dialog.cpp:257 src/mmg/header_editor/frame.cpp:146 +#: src/mmg/mmg_dialog.cpp:274 src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "終了(&Q)\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" msgstr "&再有効化(&R)" #: src/mmg/header_editor/frame.cpp:144 msgid "&Reload\tCtrl-R" -msgstr "&リロード(&R)\tCtrl-R" +msgstr "&再読み込み(&R)\tCtrl-R" #: src/mmg/header_editor/value_page.cpp:140 msgid "&Reset" msgstr "リセット(&R)" -#: src/mmg/jobs.cpp:390 src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "保存(&S)" @@ -980,19 +965,19 @@ msgid "&Save\tCtrl-S" msgstr "保存(&S)\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "情報をテキストとして保存(&S)\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "設定を保存(&S)\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "開始(&S)" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "上へ(&U)" @@ -1000,49 +985,49 @@ msgid "&Validate\tCtrl-T" msgstr "バリデーション(&V)\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "ベリファイ(&V)" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "ログを見る(&V)" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "ウィンドウ(&W)" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" -msgstr "'%1%' はファイル名と一緒に使用することしかできません。このオプションが指定されると他のオプションはもう指定できません。\n" +msgstr "'%1%' はファイル名指定時のみ使用できます。このオプションの使用時は他のオプションは使用できません。\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" -msgstr "'%2% %3%'の'%1%'は正しい単位('s'、'ms'、'us'、'ns')を含んでいません。\n" +msgstr "'%2% %3%'の'%1%'は有効な単位('s'、'ms'、'us'、'ns')を含んでいません。\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%'は--compressionの引数としてサポートされていません。使用可能な圧縮方法は'none'または'zlib'です。\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%'は--compressionのパラメータとしてサポートされていません。使用可能な圧縮方法は以下の通りです:%2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" -msgstr "'%1%'は--cuesの引数としてサポートされていません。\n" +msgstr "'%1%'は--cuesのパラメータとしてサポートされていません。\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" -msgstr "'%1%'はファイル名がありません。\n" +msgstr "'%1%'にファイル名がありません。\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'--chapter-language %1%'の'%1%'は正しいISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" +msgstr "'--chapter-language %1%'の'%1%'は有効なISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'--default-language %1%'の'%1%'は正しいISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" +msgstr "'--default-language %1%'の'%1%'は有効なISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%'は正しいISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" +msgstr "'%1%'は有効なISO639-2またはISO639-1コードではありません。全ての言語とそのISO639-2コードのリストは'mkvmerge --list-languages'を参照してください。\n" #: src/common/chapters/chapters.cpp:184 src/common/chapters/chapters.cpp:201 msgid "'%1%' is not a CHAPTERxx=... line." @@ -1052,347 +1037,347 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "'%1%'の行はCHAPTERxxNAME=....ではありません。" -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" -msgstr "'%3% %4%'の'%1%'は正しい%2%ではありません。\n" +msgstr "'%3% %4%'の'%1%'は有効な%2%ではありません。\n" #: src/common/chapters/xml_parser.cpp:122 msgid "'%1%' is not a valid ISO639-2 language code." -msgstr "'%1%'は正しいISO639-2言語コードではありません。" +msgstr "'%1%'は有効なISO639-2言語コードではありません。" -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" -msgstr "'--append-mode %1%'の'%1%'は正しい引数ではありません。\n" +msgstr "'--append-mode %1%'の'%1%'は有効なパラメータではありません。\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" -msgstr "'--blockadd %2%'の'%1%は正しいBlockAdditionの最大値ではありません。\n" +msgstr "'--blockadd %2%'の'%1%は有効なBlockAdditionの最大値ではありません。\n" #: src/common/chapters/xml_parser.cpp:132 msgid "'%1%' is not a valid ccTLD country code." -msgstr "'%1%'は正しいccTLD国コードではありません。" +msgstr "'%1%'は有効なccTLD国コードではありません。" -#: src/merge/mkvmerge.cpp:1152 src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" -msgstr "'--track-order %2%'の'%1%'は正しいファイルIDではありません。\n" +msgstr "'--track-order %2%'の'%1%'は有効なファイルIDではありません。\n" #: src/common/hacks.cpp:87 msgid "'%1%' is not a valid hack.\n" -msgstr "'%1%'は正しいハックではありません。\n" +msgstr "'%1%'は有効なハックではありません。\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" -msgstr "'--append-to %2%'の'%1%'は正しいファイルとトラックのマッピングではありません。\n" +msgstr "'--append-to %2%'の'%1%'は有効なファイルとトラックのマッピングではありません。\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" -msgstr "'--track-order %2%'の'%1%'は正しいファイルIDとトラックIDの組み合わせではありません。\n" +msgstr "'--track-order %2%'の'%1%'は有効なファイルIDとトラックIDの組み合わせではありません。\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" -msgstr "'--blockadd %1%'の'%1%'は正しいトラックIDとBlockAdditionの組み合わせではありません。\n" +msgstr "'--blockadd %1%'の'%1%'は有効なトラックIDとBlockAdditionの組み合わせではありません。\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" -msgstr "'%1%'は正しい優先度クラスではありません。\n" +msgstr "'%1%'は有効な優先度クラスではありません。\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" -msgstr "'--blockadd %2%'の'%1%'は正しいトラックIDではありません。\n" +msgstr "'--blockadd %2%'の'%1%'は有効なトラックIDではありません。\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" -msgstr "'--default-duration %2%'の'%1%'は正しいトラックIDではありません。\n" +msgstr "'--default-duration %2%'の'%1%'は有効なトラックIDではありません。\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" -msgstr "'--nalu-size-length %2%'の'%1%'は正しいトラックIDではありません。\n" +msgstr "'--nalu-size-length %2%'の'%1%'は有効なトラックIDではありません。\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" -msgstr "'--nalu-size-length %1%'の'%1%'は正しいトラックIDとNALUサイズ長の組み合わせではありません。\n" +msgstr "'--nalu-size-length %1%'の'%1%'は有効なトラックIDとNALUサイズ長の組み合わせではありません。\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" -msgstr "'--default-duration %1%'の'%1%'は正しいトラックIDとデフォルトのフレーム持続期間の組み合わせではありません。\n" +msgstr "'--default-duration %1%'の'%1%'は有効なトラックIDとデフォルトのフレーム持続期間の組み合わせではありません。\n" #: src/extract/extract_cli_parser.cpp:136 msgid "'%1%' is only allowed when extracting chapters.\n" -msgstr "'%1%'はチャプタ展開にのみ使用することができます。\n" +msgstr "'%1%'はチャプタ抽出時にのみ使用することができます。\n" #: src/extract/extract_cli_parser.cpp:133 msgid "'%1%' is only allowed when extracting tracks.\n" -msgstr "'%1%'はトラック展開時にのみ使用することができます。\n" +msgstr "'%1%'はトラック抽出時にのみ使用することができます。\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "'%1%'にファイル名が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1842 src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" -msgstr "'%1%'に引数がありません。\n" +msgstr "'%1%'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" msgstr "'%1%'にFourCCが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" msgstr "'%1%'にディレイが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "'%1%'にファイル名が指定されていません。\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "'%1%'にトラックIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1880 src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" msgstr "'%1%'にトラック番号が指定されていません。\n" -#: src/common/output.cpp:127 src/common/output.cpp:140 -#: src/common/output.cpp:153 src/common/output.cpp:174 +#: src/common/output.cpp:134 src/common/output.cpp:147 +#: src/common/output.cpp:160 src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%'トラック%2%:%3%" -#: src/common/output.cpp:120 src/common/output.cpp:133 -#: src/common/output.cpp:146 src/common/output.cpp:163 +#: src/common/output.cpp:127 src/common/output.cpp:140 +#: src/common/output.cpp:153 src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%':%2%" -#: src/common/mm_multi_file_io.cpp:165 src/mmg/tabs/input.cpp:741 +#: src/common/mm_multi_file_io.cpp:165 src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" -msgstr "'%1%':続きのファイルも同様に処理しています:%2%\n" +msgstr "'%1%':後続のファイルを同様に処理しています:%2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" -msgstr "'--append-mode'に引数がありません。\n" +msgstr "'--append-mode'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" -msgstr "'--append-to'に引数がありません。\n" +msgstr "'--append-to'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" msgstr "'--aspect-ratio'にアスペクト比が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" msgstr "'--aspect-ratio-factor'にアスペクト比の係数が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" msgstr "'--attachment-description'に説明がありません。\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" msgstr "'--attachment-mime-type'にMIMEタイプが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" msgstr "'--attachment-name'に名前が指定されていません。\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" -msgstr "'--blockadd'に引数がありません。\n" +msgstr "'--blockadd'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" msgstr "'--chapter-charset'に文字セットが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" msgstr "'--chapter-charset'は'--chapter-charset %1%'で一度のみ指定することができます。\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" msgstr "'--chapter-charset %1%'で'--chapter-charset'は'--chapters'の前に指定される必要があります。\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" msgstr "'--chapter-language'に言語が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" msgstr "'--chapter-language'は'--chapter-language %1%'で一度のみ指定することができます。\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" msgstr "'--chapter-language %1%'で'--chapter-language'は'--chapters'の前に指定される必要があります。\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" msgstr "'--chapters'にファイル名が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" msgstr "'--cluster-length'に長さが指定されていません。\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" -msgstr "'--command-line-charset'に引数がありません。\n" +msgstr "'--command-line-charset'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" -msgstr "'--compression'に引数がありません。\n" +msgstr "'--compression'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" msgstr "'--cropping'にクロッピングパラメータが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" msgstr "'--cue-chapter-name-format'にフォーマットが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" msgstr "'--cue-chapter-name-format'は'--chapters'の前で一度のみ指定することができます。\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" -msgstr "'--cues' に引数がありません。\n" +msgstr "'--cues' にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" -msgstr "'--default-duration'に引数がありません。\n" +msgstr "'--default-duration'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" -msgstr "'--default-language'に引数がありません。\n" +msgstr "'--default-language'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" -msgstr "'--default-track'に引数がありません。\n" +msgstr "'--default-track'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" msgstr "'--display-dimensions'に解像度が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" -msgstr "'--engage'に引数がありません。\n" +msgstr "'--engage'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" -msgstr "'--forced-track'に引数がありません。\n" +msgstr "'--forced-track'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" msgstr "'--global-tags'にファイル名が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" -msgstr "'--language'に引数がありません。\n" +msgstr "'--language'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" -msgstr "'--link'は'--split'と同時に使用されたときにのみ役に立ちます。\n" +msgstr "'--link'は'--split'と同時に使用されたときにのみ有効です。\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" msgstr "'--link-to-next'に次のUIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" msgstr "'--link-to-previous'に前のUIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" -msgstr "'--nalu-size-length'に引数がありません。\n" +msgstr "'--nalu-size-length'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" -msgstr "'--priority'に引数がありません。\n" +msgstr "'--priority'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" -msgstr "'--segmentinfo'にセグメントUIDが指定されていません。\n" +msgstr "'--segment-uid'にセグメントUIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "'--segmentinfo'にファイル名が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" msgstr "'--split'にサイズが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" msgstr "'--split-max-files'にファイル数が指定されていません。\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" -msgstr "'--stereo-mode'に引数がありません。\n" +msgstr "'--stereo-mode'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" -msgstr "'--sub-charset'に引数がありません。\n" +msgstr "'--sub-charset'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" -msgstr "'--timecode-scale'に引数がありません。\n" +msgstr "'--timecode-scale'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" msgstr "'--timecode-scale'が2回以上使用されています。\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" -msgstr "'--timecodes'に引数がありません。\n" +msgstr "'--timecodes'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" msgstr "'--title'にタイトルが指定されていません。\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" -msgstr "'--track-name'に引数がありません。\n" +msgstr "'--track-name'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" -msgstr "'--track-order'に引数がありません。\n" +msgstr "'--track-order'にパラメータがありません。\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" msgstr "'--track-order'は一度のみ使用することができます。\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "'-A'と'-a'が同じソースファイルに対して使用されています。\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" msgstr "'-B'と'-b'が同じソースファイルに対して使用されています。\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" msgstr "'-D'と'-d'が同じソースファイルに対して使用されています。\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" msgstr "'-S'と'-s'が同じソースファイルに対して使用されています。\n" -#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:394 +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" msgstr "'デフォルトトラック'フラグ:" -#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:401 +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" msgstr "'強制表示'フラグ" -#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:398 +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" -msgstr "'トラック有効化'フラグ" +msgstr "'有効トラック'フラグ" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(未知のエレメント: %1%; ID:0x%2% サイズ: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(新しいチャプタファイル)" @@ -1400,13 +1385,13 @@ msgid "(none)" msgstr "(無し)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" -msgstr "(名前の無いチャプタ)" +msgstr "(無名チャプタ)" -#: src/mmg/tabs/chapters.cpp:880 src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(名前をつけてください)" @@ -1422,39 +1407,39 @@ msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> FLACファイルを事前解析中です: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", 説明 '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", ファイル名 '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" -msgstr ", %sが完了しました" +msgstr ", 完了日時 %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", 位置:%1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" -msgstr ",%sを開始しました" +msgstr ",開始日時 %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" -msgstr "--- ジョブ%dを開始(%s, 追加日時 %s)" +msgstr "--- ジョブ%dの開始(%s, 追加日時 %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" -msgstr "--- ジョブ%dを終了" +msgstr "--- ジョブ%dの終了" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" msgstr "--- ジョブ出力が見つかりませんでした。\n" @@ -1466,9 +1451,13 @@ msgid "---common---" msgstr "---よく使用される言語---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length 値" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" -msgstr "--timecode-scale (係数を指定)" +msgstr "--timecode-scale 値" #: src/mmg/tabs/global.cpp:239 msgid "...after this duration:" @@ -1482,19 +1471,19 @@ msgid "...after timecodes:" msgstr "タイムコードで分割:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: 全フレーム" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2バイト" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" -msgstr "2: コーデックプライベートデータ" +msgstr "2: コーデック固有データ" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4バイト" @@ -1505,42 +1494,42 @@ #: src/common/xml/element_parser.cpp:268 src/common/xml/element_parser.cpp:285 #: src/common/xml/element_parser.cpp:348 msgid "<%1%> is not a valid child element of <%2%>." -msgstr "<%1%>は正しい<%2%>の子要素ではありません。" +msgstr "<%1%>は<%2%>の有効な子要素ではありません。" #: src/common/chapters/xml_parser.cpp:85 msgid "<ChapterAtom> is missing the <ChapterTimeStart> child." -msgstr "<ChapterAtom>には<ChapterTimeStart>子要素がありません。" +msgstr "<ChapterAtom>に<ChapterTimeStart>子要素がありません。" #: src/common/chapters/xml_parser.cpp:107 msgid "<ChapterDisplay> is missing the <ChapterString> child." -msgstr "<ChapterDisplay>には<ChapterString>子要素がありません。" +msgstr "<ChapterDisplay>に<ChapterString>子要素がありません。" #: src/common/chapters/xml_parser.cpp:99 msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." -msgstr "<ChapterTrack>には<ChapterTrackNumber>子要素がありません。" +msgstr "<ChapterTrack>に<ChapterTrackNumber>子要素がありません。" -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" -msgstr "%1%の位置でブロックグループが見つかりましたが、その中にブロック要素は見つかりませんでした。mkvmergeのクラッシュを引き起こす可能性があります。\n" +msgstr "%1%の位置でブロックグループが見つかりましたが、その中にブロック要素が見つかりませんでした。mkvmergeのクラッシュを引き起こす可能性があります。\n" -#: src/input/r_matroska.cpp:1961 src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" msgstr "トラック番号%2%のタイムスタンプ%1%でブロックが見つかりましが、そのトラック番号のヘッダが見つかりませんでした。このブロックはスキップされます。\n" -#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:436 +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." -msgstr "人間が読むことのできる形式のコーデックを指定する文字列です。" +msgstr "人間が読むことのできる形式の、コーデックを指定する文字列です。" -#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:426 +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." msgstr "人間が読むことのできる形式のトラック名です。" -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" -msgstr "説明が'%s'のジョブが既に存在しています。本当に同じ説明のジョブを追加しますか?" +msgstr "説明が'%s'であるジョブは既に存在しています。本当に同じ説明のジョブを追加しますか?" -#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:340 +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." @@ -1548,48 +1537,48 @@ "多くの他のセグメントから現在のセグメントを識別するための\n" "ランダムに生成される固有のIDです(128ビット)。" -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "トラック" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" msgstr "トラックID %1%が要求されましたが、ファイル中には見つかりませんでした。対応するオプションは無視されます。\n" -#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:391 +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" "of the Track to another file." msgstr "" "トラックを識別するための固有のIDです。\n" -"トラックを他のファイルにダイレクトストリームコピーする場合、これは同じに保たれます。" +"他のファイルにトラックをダイレクトストリームコピーする場合、これは同じに保たれます。" -#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:348 +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." msgstr "次に繋がるセグメントを識別するための固有のIDです(128ビット)。" -#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:344 +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." msgstr "前に繋がるセグメントを識別するための固有のIDです(128ビット)。" -#: src/mmg/tabs/input.cpp:232 src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" -msgstr "A/52(aka AC3)" +msgstr "A/52(別名AC3)" -#: src/mmg/tabs/input.cpp:233 src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC(Advanced Audio Coding)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" -msgstr "AACファイルは、HE-AAC/AAC+/SBR AACのどれかを含んでいる可能性があります。これは自動検知できません。そのため実際にファイルがSBR AACを含んでいる場合、'--aac-is-sbr 0'オプションを手動で指定なければなりません。そうしなければ、間違ってMUXされてしまいます。mkvmergeのドキュメントも読んでください。\n" +msgstr "AACファイルは、HE-AAC/AAC+/SBR AACを含んでいる可能性があります。これは自動検知できません。そのため実際にファイルがこれらを含んでいる場合、'--aac-is-sbr 0'オプションを手動で指定しなければなりません。さもなければ、誤ったMUXがなされます。mkvmergeのドキュメントも読んでください。\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "このAACはSBR/HE-AAC/AAC+です" @@ -1597,45 +1586,41 @@ msgid "" "ASCII string (no special chars like\n" "Umlaute etc)" -msgstr "ASCII文字列(日本語やウムラウトなどの特殊な文字は駄目です)" +msgstr "ASCII文字列(日本語やウムラウトなどの特殊な文字は不可です)" -#: src/mmg/tabs/input.cpp:234 src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/h.264エレメンタリストリーム" -#: src/mmg/tabs/input.cpp:235 src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI(Audio/Video Interleaved)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "中断" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "現在のジョブ終了後に中断" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "現在のジョブ終了後に処理中断" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "MUX処理を今すぐ中断" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" msgstr "%sを処理中に中断されました" -#: src/info/qt_ui.cpp:125 src/info/wxwidgets_ui.cpp:354 +#: src/info/qt_ui.cpp:125 src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "mkvinfoについて" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "mkvmergeのGUIについて" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "アクション" @@ -1644,11 +1629,11 @@ msgid "Add" msgstr "追加" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "コマンドラインオプションを追加(&C)" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "チャプタを追加" @@ -1660,47 +1645,47 @@ msgid "Add element" msgstr "要素を追加" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "名前を追加" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "サブチャプタを追加" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "追加日時" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "追加ID:%1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "追加情報" #: src/propedit/propedit_cli_parser.cpp:148 msgid "Adds a property with the value even if such a property already exists" -msgstr "もしそのプロパティが既に存在していても、指定された値でプロパティを追加します" +msgstr "当該プロパティが既に存在する場合でも指定された値でプロパティを追加します" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" msgstr "現在の設定を新しいジョブエントリとしてジョブキューに追加します" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "チャプタのタイムコード調整" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "タイムコードを調整" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" -msgstr "ファイルロード後に最も重要な要素を展開します" +msgstr "ファイル読み込み後に最も重要な要素を展開します" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "アルゴリズム:%1% (%2%)" @@ -1712,11 +1697,11 @@ msgid "All Files (*.*)|*.*" msgstr "全てのファイル (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "全てのチャプタエントリは有効です。" -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "全てのヘッダの値はOKです。" @@ -1724,102 +1709,102 @@ msgid "All known property names and their meaning\n" msgstr "全ての既知のプロパティ名とその意味\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "全てのサポートされたファイル|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroskaファイル (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebMファイル (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|全てのファイル|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "全てのサポートされたファイル|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroskaファイル (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebMファイル (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|全てのファイル|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "サポートされている全てのメディアファイル|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" msgstr "AVC/h.264ビデオがAVIから読み込まれたときなどに、Video-for-Windows互換モードで格納することを許可します" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." -msgstr "CodecState要素の使用を許可します。これは例えばMPEG-1/-2ビデオトラックがシーケンスヘッダを格納するのに使用されます。" +msgstr "CodecState要素の使用を許可します。これは例えばMPEG-1/-2ビデオトラックでシーケンスヘッダを格納するのに使用されます。" #: src/extract/extract_cli_parser.cpp:73 msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." -msgstr "このトラックのチャプタ情報とタグからCUEシートの展開も試みます。" +msgstr "このトラックのチャプタ情報とタグからCUEシートの抽出も試みます。" -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "常に手前に表示" -#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:433 +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "コーデックに対応するIDです。" -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "ID %1%の添付ファイルが見つかりませんでした。\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" msgstr "空のファイル名は無効です。\n" -#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:336 +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." msgstr "次のセグメントに対応するエスケープされたファイル名です。" -#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:333 +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." msgstr "前のセグメントに対応するエスケープされたファイル名です。" -#: src/mmg/header_editor/frame.cpp:706 src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." -msgstr "未知のエラーが発生しました。ファイルは修正されました。" +msgstr "未知のエラーが発生しました。ファイルは変更されました。" #: src/mmg/wx_kax_analyzer.cpp:35 msgid "Analysis is running" msgstr "解析中" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." -msgstr "MPEG4ビットストリームを解析し、1つのフレームを1つのMatroskaブロックに格納し、正しいタイムスタンプ(I P B B = 0 120 40 80)を使用し、V_MPEG4/ISO/...コーデックIDを使用します。" +msgstr "MPEG4ビットストリームを解析し、1つのフレームを1つのMatroskaブロックに格納し、適切なタイムスタンプ(I P B B = 0 120 40 80)を使用し、V_MPEG4/ISO/...コーデックIDを使用します。" -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" -msgstr "トラック%1%には既にデフォルトトラックが設定されています。'%3%'のトラック%2%の'default'フラグは設定されません。\n" +msgstr "%1%トラックには既にデフォルトトラックが設定されています。'%3%'のトラック%2%の'default'フラグは設定されません。\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." -msgstr "MUXジョブがまだ実行中です。新しいジョブを開始する前に、終了するまで待つか、ジョブを手動で終了させてください。" +msgstr "MUXジョブがまだ実行中です。終了するまで待つか、新しいジョブを開始する前にジョブを手動で終了させてください。" -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." msgstr "同じファイルのトラックを別のトラックに追加することはできません。トラック番号%uと%uがこれに当てはまります。" -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" msgstr "ファイル番号%2%('%3%')のトラック%1%を、ファイル番号%5%('%6%')のトラック%4%に追加しています。\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "ファイルやジョブを上書きする前に確認する" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" msgstr "アスペクト比" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" msgstr "アスペクト比の係数" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" msgstr "アスペクト比の種類:%1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" msgstr "アスペクト比:" @@ -1833,9 +1818,9 @@ #: src/extract/extract_cli_parser.cpp:91 msgid "Atatchment extraction" -msgstr "添付ファイルの展開" +msgstr "添付ファイルの抽出" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "添付ファイル" @@ -1843,7 +1828,7 @@ msgid "Attached files" msgstr "添付ファイル" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "添付ファイル ID %1%:タイプ'%2%'、サイズ%3%バイト" @@ -1851,24 +1836,24 @@ msgid "Attachment style:" msgstr "添付方式:" -#: src/mmg/mmg_dialog.cpp:286 src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/mmg/mmg_dialog.cpp:306 src/mmg/tabs/attachments.cpp:155 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "添付ファイル" -#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:509 +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "オーディオのビット深度" -#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:505 +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "オーディオのチャンネル" -#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:501 +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "オーディオの出力サンプリング周波数" -#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:496 +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "オーディオのサンプリング周波数" @@ -1877,15 +1862,15 @@ msgid "Audio track %u" msgstr "オーディオトラック%u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "出力ファイル名を自動設定する" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "'%1%'のMIMEタイプ自動認識:%2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" msgstr "出力ファイル名の拡張子に従って、WebM規格準拠モードを自動的に有効化します。\n" @@ -1893,11 +1878,15 @@ msgid "Available options:" msgstr "利用可能なオプション:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "利用可能な翻訳:\n" -#: src/common/compression.cpp:204 src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "入手可能なバージョン:" + +#: src/common/compression.cpp:213 src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit()が失敗しました。結果:%1%\n" @@ -1905,51 +1894,47 @@ msgid "Binary (displayed as hex numbers)" msgstr "バイナリ(16進数で表示されます)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" -msgstr "ビット深さ:%1%" +msgstr "ビット深度:%1%" -#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:509 +#: src/common/property_element.cpp:156 src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "サンプル当たりのビット数です。通常はPCMで使われます。" -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "ブロック (トラック番号 %1%、%2% フレーム、タイムコード %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "BlockAddition ID:%1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "BlockAddition:%1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "ブロックの持続時間:%1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "ブロックグループ" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "バーチャルブロック:%1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" -msgstr "疑わしいオーディオID %1%\n" +msgstr "不審なオーディオID %1%\n" #: src/mmg/header_editor/value_page.cpp:149 msgid "Boolean (yes/no, on/off etc)" msgstr "ブール型(はい/いいえ、オン/オフ等)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "両目" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" msgstr "'--aspect-ratio'と'--display-dimensions'が両方指定されました。\n" @@ -1958,39 +1943,47 @@ msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" msgstr "'--aspect-ratio-factor'と'--display-dimensions'が両方指定されました。\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "ジョブキューエディタを起動します" -#: src/mmg/mmg_dialog.cpp:291 src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 src/mmg/tabs/global.cpp:276 +#: src/mmg/mmg_dialog.cpp:311 src/mmg/options/mmg.cpp:69 +#: src/mmg/options/mkvmerge.cpp:59 src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "参照" #: src/extract/extract_cli_parser.cpp:108 msgid "CUE sheet extraction" -msgstr "CUEシートの展開" +msgstr "CUEシートの抽出" + +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "チェックサムを計算・表示し、冗長レベル4を使用します。" + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "フレームの内容のチェックサムを計算し表示します。" #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" -msgstr "ソースコンテナがタイムコードやfpsを持っていなければ、ネイティブでないMPEG4ビデオをネイティブに変換することはできません。\n" +msgstr "ソースコンテナがタイムコードもfpsも供給しない場合、ネイティブでないMPEG4ビデオをネイティブに変換することはできません。\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" -msgstr "異なる種類のトラックを同じファイルに展開することはできません。トラック%1%と%2%に対してこれが要求されました。\n" +msgstr "異なる種類のトラックを同じファイルに抽出することはできません。トラック%1%と%2%に対してこれが要求されました。\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "2番目のMUXジョブを開始できません" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" msgstr "CodecID '%5%'のトラック%4%が既に同じファイルに記録中で、そのCodecPrivateデータ(USFスタイル等)が一致しないため、CodecID '%2%'のトラック%1%をファイル%3%に記録することはできません。\n" -#: src/extract/xtr_avi.cpp:46 src/extract/xtr_base.cpp:64 -#: src/extract/xtr_ivf.cpp:53 src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_avi.cpp:46 src/extract/xtr_ivf.cpp:53 +#: src/extract/xtr_base.cpp:65 src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "CodecID '%5%'のトラック%4%を既に同じファイルに記録しているため、CodecID '%2%'のトラック%1%をファイル%3%に記録することはできません。\n" @@ -1998,12 +1991,12 @@ msgid "Category is not NUL terminated" msgstr "カテゴリがNULで終わっていません" -#: src/extract/timecodes_v2.cpp:357 src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "例外をキャッチしました" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "mkvmergeが、持続時間フィールドを含んでいないVobSub字幕パケットに、「表示停止」コマンドを付加するようにします。" @@ -2013,17 +2006,17 @@ #: src/propedit/change.cpp:187 msgid "Change for '%1%' executed. Number of entries deleted: %2%\n" -msgstr "'%1%'への変更が実行されました。このタイプのプロパティは見つかりませんでした。削除されたエントリの数:%2%個\n" +msgstr "'%1%'への変更が実行されました。削除されたエントリの数:%2%個\n" #: src/propedit/change.cpp:213 msgid "Change for '%1%' executed. Number of entries set: %2%.\n" -msgstr "'%1%'への変更が実行されました。このタイプのプロパティは見つかりませんでした。設定されたエントリの数:%2%個\n" +msgstr "'%1%'への変更が実行されました。設定されたエントリの数:%2%個\n" #: src/propedit/change.cpp:224 msgid "Change for '%1%' executed. One entry added.\n" msgstr "'%1%'への変更が実行されました。1つのエントリが追加されました。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "mmgのオプションを設定します" @@ -2031,47 +2024,47 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "このリストへの変更はmmgを再起動するまで反映されません。" -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "チャンネル位置:%1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "チャンネル数:%1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "チャプタエディタ" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "チャプタエディタは空ではありません" #: src/extract/extract_cli_parser.cpp:100 msgid "Chapter extraction" -msgstr "チャプタの展開" +msgstr "チャプタの抽出" #: src/mmg/tabs/global.cpp:274 msgid "Chapter file:" msgstr "チャプタファイル:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "チャプタファイル (*.xml)|*.xml|%s" @@ -2081,12 +2074,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "チャプタファイル (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "チャプタファイル (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "チャプタファイル (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "チャプタ名と言語" @@ -2102,55 +2095,71 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "チャプタパーサー:エディションUID %1%がユニークではなく、再使用されることもできません。新しいUIDが生成されます。\n" -#: src/mmg/tabs/chapters.cpp:759 src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "チャプタベリファイエラー" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "チャプタのベリファイに成功しました" #: src/mmg/options/chapters.cpp:130 src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "チャプタ" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "チャプタ(%d個のエントリ)%sのチャプタ" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "チャプタはWebMの規格に準拠したファイルでは使用することができません。どの出力ファイルにもチャプタは書き込まれません。\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." -msgstr "チャプタがロードされました。" +msgstr "チャプタが読み込まれました。" -#: src/mmg/tabs/chapters.cpp:721 src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "チャプタが書き込まれました。" -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "チャプタ:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "チャプタ:%1%個のエントリ" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "コマンドラインの文字列の文字セットを指定します" -#: src/mmg/tabs/global.cpp:282 src/mmg/tabs/input_format.cpp:248 +#: src/mmg/tabs/input_format.cpp:249 src/mmg/tabs/global.cpp:282 msgid "Charset:" msgstr "文字セット:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "最新のリリースをオンラインでチェックする" + +#: src/common/cli_parser.cpp:184 src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "最新のリリースをオンラインでチェックします。" + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "MKVToolNixの新しいリリースがホームページで入手可能かどうか、オンラインで確認します。MKVMerge GUIが起動されたときにのみ、最高で1日に1回確認します。サーバーには何の情報も送信されません。" + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "オンラインでアップデートを確認しています;しばらくお待ちください" + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "チャプタファイルを選んでください" @@ -2166,22 +2175,22 @@ msgid "Choose an attachment file" msgstr "添付ファイルを選んでください" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" msgstr "入力ファイルを選んでください" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "追加する入力ファイルを選んでください" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" msgstr "追加結合する入力ファイルを選んでください" -#: src/mmg/jobs.cpp:401 src/mmg/mmg_dialog.cpp:314 src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 src/mmg/mmg_dialog.cpp:334 src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "出力ファイルを選んでください" @@ -2189,7 +2198,7 @@ msgid "Choose the chapter file" msgstr "チャプタファイルを選んでください" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "mkvmerge GUIのヘルプファイルがある場所を選んでください" @@ -2197,7 +2206,7 @@ msgid "Choose the mkvmerge executable" msgstr "mkvmergeの実行ファイルを選んでください" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "出力ディレクトリを選んでください" @@ -2209,11 +2218,11 @@ msgid "Choose the tags file" msgstr "タグファイルを選んでください" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" msgstr "MUXに成功したら入力をクリアする" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" msgstr "ジョブをジョブキューに追加したら入力をクリアする" @@ -2221,69 +2230,69 @@ msgid "Close the current file without saving" msgstr "保存しないで現在のファイルを閉じます" -#: src/extract/timecodes_v2.cpp:259 src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "クラスタ" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "クラスタの長さ'%1%'が範囲(0~65535)から外れています。\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "クラスタの長さ'%1%'が範囲(100~32000)から外れています。\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "クラスタ位置:%1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "前クラスタサイズ:%1%" -#: src/extract/timecodes_v2.cpp:274 src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "クラスタのタイムコード:%|1$.3f|s" -#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:433 +#: src/common/property_element.cpp:132 src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "コーデックID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "コーデックID:%1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "コーデックダウンロードURL:%1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "コーデック情報URL:%1%" -#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:436 +#: src/common/property_element.cpp:133 src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "コーデック名" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "コーデック名:%1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "コーデック設定:%1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "コーデック状態:%1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "CodecPrivate、長さ %1%%2%" @@ -2291,11 +2300,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "全てのエントリを折り畳み、サブエントリを表示しません" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "色空間:%1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "コマンドラインがクリップボードにコピーされました。" @@ -2303,11 +2312,11 @@ msgid "Command line options:" msgstr "コマンドラインオプション:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "コマンドラインが保存されました。" -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "使用されたコマンドライン:" @@ -2315,39 +2324,39 @@ msgid "Common languages" msgstr "よく使用される言語" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "圧縮に失敗しました:%1%\n" -#: src/mmg/tabs/input_extra.cpp:59 src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "圧縮:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "設定がクリアされました。" -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." -msgstr "設定がロードされました。" +msgstr "設定が読み込まれました。" -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "設定が保存されました。" -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "コンテンツ圧縮" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "コンテンツエンコーディング" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "コンテンツエンコーディング" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "コンテンツ暗号化" @@ -2355,54 +2364,54 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "テキスト字幕をこの文字セットに変換します(デフォルト:UTF-8。)" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "コマンドラインをクリップボードにコピーします" #: src/extract/xtr_cpic.cpp:54 msgid "CorePicture frame %1% has an invalid header size %2%.\n" -msgstr "コアピクチャフレーム%1%のヘッダサイズ(%2%)が不正です。\n" +msgstr "コアピクチャフレーム%1%のヘッダサイズ(%2%)が無効です。\n" #: src/extract/xtr_cpic.cpp:47 msgid "CorePicture frame %1% not supported.\n" msgstr "コアピクチャフレーム%1%はサポートされていません。\n" -#: src/mmg/jobs.cpp:178 src/mmg/mux_dialog.cpp:129 src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 src/mmg/mux_dialog.cpp:130 src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "'%s'と呼ばれるmkvmergeのコマンドラインオプションの一時ファイルを作成できませんでした (エラーコード %d, %s)。" -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "ファイル%sを作成できませんでした。" -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "指定されたファイルを作成できませんでした。" #: src/common/xml/element_parser.cpp:154 msgid "Could not decode the Base64 encoded data - it seems to be malformed." -msgstr "Base64にエンコードされたデータをデコードすることができませんでした。恐らく不正な形式です。" +msgstr "Base64にエンコードされたデータをデコードすることができませんでした。恐らく無効な形式です。" -#: src/input/r_avi.cpp:327 src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" -msgstr "このAVC/h.264トラックからデコーダ詳細設定データ(AVCC)を展開することができませんでした。\n" +msgstr "このAVC/h.264トラックからデコーダ詳細設定データ(AVCC)を抽出することができませんでした。\n" -#: src/input/r_avi.cpp:277 src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" -msgstr "このMPEG-1/2トラックからシーケンスヘッダを展開することができませんでした。\n" +msgstr "このMPEG-1/2トラックからシーケンスヘッダを抽出することができませんでした。\n" #: src/input/r_mp3.cpp:40 msgid "Could not find a valid MP3 packet." -msgstr "正しいMP3パケットを見つけられませんでした。" +msgstr "有効なMP3パケットを見つけられませんでした。" -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "オーディオトラック%1%のインデックスを見つけられませんでした(avilibエラーメッセージ:%2%)。トラックをスキップします。\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" msgstr "追加結合時にgptzrを見つけられませんでした。%1%\n" @@ -2410,10 +2419,14 @@ msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "最初のMPEG-4 part 2ビデオフレームのコーデック設定データを見つけられませんでした。このトラックをネイティブモードで格納することはできません。\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "次のOGGページを見つけられませんでした。これはOGG/OGMファイルが壊れていることを意味します。処理続行を試みます。\n" +#: src/input/r_avi.cpp:685 src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "トラックの最初のフレームに有効なDTSヘッダが見つかりませんでした。\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" msgstr "%1%からUTF-8へ変換するためにiconvライブラリを初期化することができませんでした。UTF-8に変換されない文字列が存在し、そのためMatroskaファイルはMatroskaの仕様から外れてしまうかもしれません(エラー:%2%、%3%)。\n" @@ -2427,7 +2440,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "'%1%'を開いて読み込むことができませんでした。\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "クリップボードを開けませんでした。" @@ -2435,16 +2448,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "付随する訂正ファイル'%1%c'を開くことができませんでした。\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "ファイル'%s'を開いて書き込むことができませんでした。エラーコード: %d (%s)。" -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "ファイル'%1%'を開いて出力を書き込むことができませんでした。\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "タイムコードファイル'%1%'を開いて書き込むことができませんでした(%2%)。\n" @@ -2460,15 +2473,15 @@ msgid "Could not read the FLAC header packets.\n" msgstr "FLACのヘッダパケットを読み取ることができませんでした。\n" -#: src/common/mm_io.cpp:181 src/common/mm_io_win.cpp:166 +#: src/common/mm_io_win.cpp:167 src/common/mm_io.cpp:181 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "出力ファイルに書き込むことができませんでした:%1%(%2%)\n" -#: src/mmg/options/chapters.cpp:89 src/mmg/tabs/chapters.cpp:349 +#: src/mmg/options/chapters.cpp:89 src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "国:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "オプションファイルを作成(&O)" @@ -2480,27 +2493,27 @@ msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." msgstr "WebMの規格に準拠したファイルを作成します。mkvmergeは出力ファイル名の拡張子が\"webm\"であった場合にもこれをオンにします。このモードではいくつかの制限が実施されます。使用できるコーデックはVP8ビデオとVorbisオーディオのトラックのみです。チャプタとタグは使用することができません。DocTypeヘッダアイテムは\"webm\"へと変更されます。" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "新しいチャプタファイルを作成します" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" -msgstr "クロッピングのパラメータ:<TID>:<left>,<top>,<right>,<bottom>(例:0:10,5,10,5)の形で指定されていません(引数は'%1%'でした。)\n" +msgstr "クロッピングのパラメータ:<TID>:<left>,<top>,<right>,<bottom>(例:0:10,5,10,5)の形で指定されていません(パラメータは'%1%'でした。)\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "クロッピング:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "CUEブロック番号:%1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "CUEクラスタ位置:%1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" msgstr "CUEコーデック状態:%1%" @@ -2508,76 +2521,76 @@ msgid "Cue name format:" msgstr "CUEの名前フォーマット:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" msgstr "CUEポイント" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" msgstr "CUE参照クラスタ:%1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" msgstr "CUE参照状態:%1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" msgstr "CUE参照番号:%1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" msgstr "CUE参照時間:%|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "CUE参照" #: src/common/chapters/cue_parser.cpp:398 msgid "Cue sheet parser: Invalid INDEX entry in line %1%.\n" -msgstr "CUEシートパーサ:%1%行目のインデックスエントリが不正です。\n" +msgstr "CUEシートパーサ:%1%行目のインデックスエントリが無効です。\n" #: src/common/chapters/cue_parser.cpp:417 msgid "Cue sheet parser: Invalid INDEX number (got %1%, expected %2%) in line %3%,\n" -msgstr "CUEシートパーサ:%3%行目のインデックス番号が不正で(%1%になっていますが、%2%だと予想されます)、\n" +msgstr "CUEシートパーサ:%3%行目のインデックス番号が無効で(%1%になっていますが、%2%だと予想されます)、\n" #: src/common/chapters/cue_parser.cpp:279 msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" msgstr "CUEシートパーサ:前のトラックエントリのインデックスエントリが見つかりませんでした(現在%1%行目)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "CUE時間:%|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "CUEトラック位置" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "CUEトラック:%1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" msgstr "CUE (サブエントリはスキップされます)" -#: src/mmg/tabs/input_extra.cpp:50 src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:50 src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" msgstr "キュー:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "現在のジョブと過去のジョブ:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "現在のコマンドライン" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "現在のジョブID %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "現在のジョブID 1000:" @@ -2585,43 +2598,43 @@ msgid "Current value:" msgstr "現在の値:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "現在のバージョン:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "削除(&D)" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (Digital Theater System)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "DTSヘッダ情報が変更されました! - 新しいフォーマット:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (Digital Theater System)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTSヘッダに問題:互換性の無い新しいエンコーダのバージョンでエンコードされています\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" -msgstr "DTSヘッダに問題:不正なコアサンプリング周波数です\n" +msgstr "DTSヘッダに問題:無効なコアサンプリング周波数です\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" -msgstr "DTSヘッダに問題:フレームバイトサイズが不正です\n" +msgstr "DTSヘッダに問題:フレームバイトサイズが無効です\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" -msgstr "DTSヘッダに問題:フレーム内のブロック数が不正です\n" +msgstr "DTSヘッダに問題:フレーム内のブロック数が無効です\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" -msgstr "DTSヘッダに問題:ソースPCMの解像度が不正です\n" +msgstr "DTSヘッダに問題:ソースPCMの解像度が無効です\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" msgstr "DTSヘッダに問題:十分なデータがなくヘッダを読み取ることができません\n" @@ -2629,31 +2642,31 @@ msgid "Data is not allowed inside <%1%>." msgstr "<%1%>内にデータの存在は許されません。" -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "日付 (無効な値:%1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "日付:%1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "Debug> " -#: src/mmg/tabs/input_format.cpp:193 src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "デフォルト" -#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:417 +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "デフォルトのフレーム持続期間" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "デフォルトのフレーム持続期間:%|1$.3f|ms (ビデオトラックの場合 %|2$.3f| fps)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "デフォルトフラグ:%1%" @@ -2661,15 +2674,15 @@ msgid "Default track flag:" msgstr "デフォルトトラックフラグ:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "ディレイ(ms単位):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "このトラックのタイムコードを数ミリ秒遅らせます。負の値を取ることもできます。全てのトラックタイプで機能しますが、ビデオトラックに負の値を使うべきではありません。" -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "遅延:%|1$.3f|ms" @@ -2677,15 +2690,15 @@ msgid "Delete all occurences of a property" msgstr "そのプロパティを全て削除します" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" msgstr "ジョブキューから選択したジョブを削除します" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "説明" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "説明は既に存在します" @@ -2694,35 +2707,35 @@ msgid "Description:" msgstr "説明:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Diracエレメンタリストリーム" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "オーディオとビデオのトラックのHeader removal compressionをデフォルトで無効にする" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "選択したジョブを無効化し、そのステータスを'終了'にします。" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "シンプルブロックを使用せず、代わりにブロックグループを使用します。" -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "全てのトラックで複数のフレームを1つのブロックにまとめません。これは特に多数のオーディオトラックがある場合に、ファイルサイズを増大させます。テスト目的でのみ使用してください。" -#: src/merge/mkvmerge.cpp:683 src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" -msgstr "表示解像度:\"<TID>:<width>x<height>\"(例:\"1:640x480\")の形で指定されていません(引数は'%1%'です)。\n" +msgstr "表示解像度:\"<TID>:<width>x<height>\"(例:\"1:640x480\")の形で指定されていません(パラメータは'%1%'です)。\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "表示高さ:%1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "表示単位:%1%%2%" @@ -2730,35 +2743,35 @@ msgid "Display usage information" msgstr "使い方の情報を表示します" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "表示解像度(横/縦):" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "表示幅:%1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "メタシーク要素にチャプタのエントリを追加しません。" -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "メタシーク要素を全く記録しません。" -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" @@ -2770,51 +2783,55 @@ msgid "Done.\n" msgstr "完了。\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "ダウンロードURL:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "長さ: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "長さ: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "終了(&X)\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBMLヘッダ" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML最大ID長:%1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML最大サイズ長:%1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBMLバージョン:%1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "悪質な内部バグです!(未知のファイルタイプです)。 %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "各チャプタや各エディションはユニークな識別子を持っています。この識別子は通常プログラムによって自動的に割り当てられますが、本当に必要な場合は手動で変えることができます。" -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "各エディションは少なくとも1つのチャプタを含んでいなければなりません。" -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "EbmlVoid (サイズ:%1%)" @@ -2822,12 +2839,12 @@ msgid "Edit selectors" msgstr "Editのselector" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "エディション%d" -#: src/mmg/tabs/chapters.cpp:870 src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "エディションエントリ%u" @@ -2852,7 +2869,7 @@ msgid "Enable splitting..." msgstr "分割を有効にする" -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "有効:%1%" @@ -2860,23 +2877,23 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "出力の複数ファイルへの分割を有効にします。サイズや時間、タイムコードのリストによって分割することができます。" -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "暗号化アルゴリズム:%1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "暗号化鍵ID:%1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "終了時間:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "英語での言語名" -#: src/info/qt_ui.cpp:130 src/info/wxwidgets_ui.cpp:245 +#: src/info/qt_ui.cpp:130 src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "エラー" @@ -2884,11 +2901,11 @@ msgid "Error %1%\n" msgstr "エラー%1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "%1%行目でエラー発生:SRTタイムコードが見つかると予測される行で他の何かが見つかりました。このファイルを中断します。\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "%1%行目でエラー発生:サブタイトル番号が見つかると予測されるところで何かテキストが見つかりました。\n" @@ -2896,11 +2913,11 @@ msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" msgstr "チャプタとタグ、セグメント情報のテーブル初期化中にエラーが発生しました:デバッグ名'%1%'の要素が見つかりませんでした。%2%\n" -#: src/mmg/mmg.cpp:217 src/mmg/mmg_dialog.cpp:369 src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 src/mmg/mmg_dialog.cpp:389 src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" -msgstr "設定のロード中にエラーが発生しました" +msgstr "設定の読み込み中にエラーが発生しました" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "ファイルを開く途中でエラーが発生しました" @@ -2908,11 +2925,11 @@ msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" msgstr "MPEG PSパケット解析ののヘッダ読み込みフェイズでエラーが発生しました。このストリームはひどく壊れているようです。\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "ファイルの解析中にエラーが発生しました" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" msgstr "'%1%'のタグ解析中にエラーが発生しました:必須要素のいくつかがありません。\n" @@ -2920,16 +2937,16 @@ msgid "Error saving the information" msgstr "情報の保存中にエラーが発生しました" -#: src/mmg/header_editor/frame.cpp:690 src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "Matroskaファイルの書き込み中にエラーが発生しました" -#: src/common/output.cpp:68 src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "エラー:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "エラー:" @@ -2937,15 +2954,15 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "エラー:%1%パーサが'%2%'、%3%行目、%4%列目のために失敗しました:%5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "エラー:入力ファイル%1%(%2%)を開けませんでした。\n" -#: src/extract/timecodes_v2.cpp:180 src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." msgstr "エラー:EBMLヘッドが見つかりませんでした。" -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -2955,13 +2972,13 @@ #: src/output/p_vorbis.cpp:63 msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" -msgstr "エラー:vorbisパケッタイザ:最初のパケットからストリームのパラメータを展開することができませんでした。\n" +msgstr "エラー:vorbisパケッタイザ:最初のパケットからストリームのパラメータを抽出することができませんでした。\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "エラー:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "全て正常に終了しました。" @@ -3000,166 +3017,162 @@ #: src/extract/extract_cli_parser.cpp:76 msgid "Extract the data to a raw file including the CodecPrivate as a header." -msgstr "CodecPrivateをヘッダとして含むrawファイルへとデータを展開します。" +msgstr "CodecPrivateをヘッダとして含むrawファイルへとデータを抽出します。" #: src/extract/extract_cli_parser.cpp:75 msgid "Extract the data to a raw file." -msgstr "rawファイルへとデータを展開します。" +msgstr "rawファイルへとデータを抽出します。" -#: src/output/p_avc.cpp:128 src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" -msgstr "MPEG-4 layer 10(AVC)ビデオデータからアスペクト比の情報を展開し、表示解像度を%1%/%2%に設定しました。\n" +msgstr "MPEG-4 layer 10(AVC)ビデオデータからアスペクト比の情報を抽出し、表示解像度を%1%/%2%に設定しました。\n" #: src/output/p_mpeg4_p2.cpp:338 msgid "Extracted the aspect ratio information from the MPEG4 layer 2 video data and set the display dimensions to %1%/%2%.\n" -msgstr "MPEG-4 layer 2ビデオデータからアスペクト比の情報を展開し、表示解像度を%1%/%2%に設定しました。\n" +msgstr "MPEG-4 layer 2ビデオデータからアスペクト比の情報を抽出し、表示解像度を%1%/%2%に設定しました。\n" #: src/output/p_theora.cpp:74 msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" -msgstr "Theoraビデオヘッダからアスペクト比の情報を展開し、表示解像度を%1%/%2%に設定しました。\n" +msgstr "Theoraビデオヘッダからアスペクト比の情報を抽出し、表示解像度を%1%/%2%に設定しました。\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" -msgstr "コーデックID '%2%'のトラック%1%をファイル'%3%'に展開しています。コンテナフォーマット:%4%\n" +msgstr "コーデックID '%2%'のトラック%1%をファイル'%3%'に抽出しています。コンテナフォーマット:%4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" -msgstr "コーデックID '%2%'のトラック番号%1%の展開はサポートされていません。\n" +msgstr "コーデックID '%2%'のトラック番号%1%の抽出はサポートされていません。\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC(Free Lossless Audio Codec)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLACロスレスオーディオ" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" msgstr "FPS:" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "Vobsubデータファイル'%1%'の作成に失敗しました:%2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "ファイル'%1%'の作成に失敗しました:%2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "一時ファイル'%1%'の作成に失敗しました:%2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" msgstr "トラック%1%のUSF字幕エントリの解析に失敗しました:%2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "トラック%1%のUSFコーデックプライベートデータの解析に失敗しました:%2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "トラック%1%のUSFエンドタグの解析に失敗しました:%2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "ファミリUID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "ファイル%1%は未知のファイルタイプです。サポートされているファイルタイプ一覧('mkvmerge --list-types')を参照し、もしそのファイルタイプがサポートされているのに正しく認識されない場合は、作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "ファイル'%1%':コンテナ:%2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "ファイル'%1%':サポートされていないコンテナ:%2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "ファイルUID:%1%" -#: src/input/r_real.cpp:471 src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "ファイルが予測されたよりも少ないフレームしか含んでいないか、フレーム%1%の後ろが壊れています。\n" -#: src/mmg/mmg_dialog.cpp:765 src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "ファイルの作成に失敗しました" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "ファイルデータ、サイズ:%1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "ファイル説明:%1%" -#: src/mmg/tabs/input.cpp:401 src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "ファイルタイプの判定に失敗しました" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "'%s'のファイルタイプの判定に失敗しました。リターンコード:%d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." msgstr "ファイルタイプの判定に失敗しました。リターンコード:%d。エラー%d (%s)。設定ダイアログでmkvmergeのパスを正しく設定したか確認してください。" -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "ファイルは既に処理されています" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "ファイルは修正されました" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "ファイル名:%1%" -#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:548 +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "ファイルの解析に失敗しました" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "ファイルを削除できません" -#: src/mmg/header_editor/frame.cpp:702 src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "ファイル構造警告" #: src/mmg/tabs/global.cpp:261 msgid "File/segment linking" -msgstr "ファイル/セグメント紐付け" +msgstr "ファイル/セグメントリンク" #: src/mmg/tabs/global.cpp:229 msgid "File/segment title:" msgstr "ファイル/セグメントタイトル:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" -msgstr "ファイルをそのファイル自身に追加結合することはできません。'--append-to'の引数が不正です。\n" +msgstr "ファイルをそのファイル自身に追加結合することはできません。'--append-to'のパラメータが無効です。\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "ジョブID %d(%s)が終了しました:ステータス'%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "完了日時" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "%sの処理が終了しました" @@ -3170,21 +3183,21 @@ #: src/mmg/tabs/global.cpp:270 src/mmg/tabs/global.cpp:272 msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." -msgstr "ファイル/セグメント紐付けとこの機能についての詳しい説明は、mkvmergeのドキュメントを参照してください。" +msgstr "ファイル/セグメントリンクとこの機能についての詳しい説明は、mkvmergeのドキュメントを参照してください。" -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "EBML方式でブロックを1つにまとめます。" -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "Xiph方式でブロックを1つにまとめます。" -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "使用される翻訳を'code'に強制設定します。" -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "強制表示フラグ:%1%" @@ -3192,21 +3205,21 @@ msgid "Forced track flag:" msgstr "強制表示トラックフラグ:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "ビデオトラックのFourCCをこの値に強制設定します。AVI互換モードのビデオトラックとQuickTimeビデオトラックにのみ有効だという点に注意してください。このオプションはMatroskaのコーデックIDを変えるために用いることはできません。" -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." msgstr "既知のサポートされたトラックタイプに対しても、Matroskaリーダが一般的なパススルーパケッタイザを使用するようにします。" -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "NALUサイズ長を特定の値に強制設定します。このパラメータはAVC/h.264 ESファイルから読み込まれたAVC/h.264エレメンタリストリーム、AVIファイル、'--engage allow_avc_in_vwf_mode'オプションを指定して作成されたMatroskaファイルにのみ有効です。デフォルト値は4バイトですが、65535バイト以上のフレームやスライスが含まれていないファイルも存在します。そのようなファイルでは、このパラメータを使用してNALUサイズ長を2に減らすことができます。" -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." -msgstr "タイムコードスケールの係数をこの値に強制設定します。この値は1000~10000000、もしくは-1に設定しなければなりません。通常mkvmergeは1000000を使用します。これはタイムコードとフレーム持続期間が1ミリ秒単位の精度を持つことを意味します。ビデオトラックを含まず、1つ以上のオーディオトラックを含むファイルでは、mkvmergeは全てのタイムコードとフレーム持続時間がサンプリング音1つ分の精度を持つようタイムコードスケールの係数を自動的に選択します。これによってオーバーヘッドは大きくなりますが、正確なシークと展開が可能になります。-1が指定された場合は、たとえビデオトラックが存在していても、mkvmergeはサンプリング音の精度を使用します。" +msgstr "タイムコードスケールの係数をこの値に強制設定します。この値は1000~10000000、もしくは-1に設定しなければなりません。通常mkvmergeは1000000を使用します。これはタイムコードとフレーム持続期間が1ミリ秒単位の精度を持つことを意味します。ビデオトラックを含まず、1つ以上のオーディオトラックを含むファイルでは、mkvmergeは全てのタイムコードとフレーム持続時間がサンプリング音1つ分の精度を持つようタイムコードスケールの係数を自動的に選択します。これによってオーバーヘッドは大きくなりますが、正確なシークと抽出が可能になります。-1が指定された場合は、たとえビデオトラックが存在していても、mkvmergeはサンプリング音の精度を使用します。" #: src/mmg/tabs/input.cpp:191 msgid "Format specific options" @@ -3218,7 +3231,7 @@ #: src/mpegparser/M2VParser.cpp:396 msgid "Found group of picture with broken link. You may want use smart reencode before attempting to multiplex it.\n" -msgstr "broken linkフラグのあるGOPが見つかりました。MUXしようとする前にsmart reencodeを使いたいと思うかもしれません。\n" +msgstr "broken linkフラグのあるGOPが見つかりました。MUXしようとする前にsmart reencodeを使ってください。\n" #: src/common/xml/element_parser.cpp:131 msgid "Found no encoded data nor '@file' to read binary data from." @@ -3226,37 +3239,37 @@ #: src/mpegparser/M2VParser.cpp:444 msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" -msgstr "最初のGOPで二つめの参照先がないBフレームが1つ以上見つかりました。MUXしようとする前にこのMPEG2ビデオストリームを修復もしくはsmart reencodeを使いたいと思うかもしれません。\n" +msgstr "最初のGOPで二つめの参照先がないBフレームが1つ以上見つかりました。MUXしようとする前にこのMPEG2ビデオストリームを修復もしくはsmart reencodeを使ってください。\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" -msgstr "FourCC:'%1% %2%'で不正なトラックIDがあります。\n" +msgstr "FourCC:'%1% %2%'で無効なトラックIDがあります。\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" msgstr "FourCC:'%1% %2%'でトラックIDがありません。\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "フレーム数:%1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "フレームレート:%1%" -#: src/info/mkvinfo.cpp:148 src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "フレームサイズ:%1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." msgstr "このトラックのユーザー定義オプションを自由に入力するフィールドです。ここに入力したオプションは、このトラックのmmgのオプションを上書きできるようにmmgが付加する全てのオプションの後ろに付加されます。文字列\"<TID>\"は全てこのトラックのトラックIDに置き換えられます。" -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "ガンマ:%1%" @@ -3264,7 +3277,7 @@ msgid "General track options" msgstr "一般トラックオプション" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "グローバルオプション" @@ -3272,12 +3285,12 @@ msgid "Global options" msgstr " グローバルオプション" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "グローバルタグ(%d個のエントリ)%sのタグ" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "グローバルタグ:%1%個のエントリ" @@ -3298,36 +3311,44 @@ msgid "Header editor: %s" msgstr "ヘッダエディタ:%s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "バッファが%1%バイトしかなく、除去すべきヘッダサイズ%2%より小さいので、ヘッダ除去による圧縮ができません。" -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." msgstr "バッファが除去すべきバイトで始まっていないので、ヘッダ除去による圧縮ができません。%1%であって欲しいのですが、%2%でした。" -#: src/mmg/header_editor/frame.cpp:538 src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "ヘッダバリデーション" -#: src/mmg/header_editor/frame.cpp:566 src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "ヘッダは修正されました" -#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:446 +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "エンコードされたビデオフレームの縦解像度(ピクセル単位)です。" -#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:456 +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "ビデオフレームの縦表示解像度です。" -#: src/mmg/mmg_dialog.cpp:686 src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "ヘルプファイルが見つかりません" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"ヘルプはツールチップの形で、または'ヘルプ'メニューから、\n" +"またはF1キーを押すことで利用できます。" + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3338,9 +3359,9 @@ "下に入力するか、ドロップダウンボックスから選んで\n" "'追加'ボタンを押してください。" -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "ここでは選択したチャプタとその全ての子チャプタのタイムコードを、増やしたり減らしたりして調整できます。" +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "ここでは選択したチャプタとその全てのサブチャプタのタイムコードを、一定の値だけ増やしたり減らしたりして調整できます。" #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3353,51 +3374,51 @@ "設定後もこの値は必要なら変えることができます。\n" "デフォルト値はmmgの終了時に保存されます。" -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." msgstr "ここでは現在選択しているエントリ以下の全てのチャプタに対して言語と国の値を設定できます。" -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1コード" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2コード" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "VP8入りのIVF" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "VP8入りのIVFビデオファイル" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "'隠す'にチェックが入っていると、プレーヤはこのチャプタエントリをユーザーに対して表示しません。しかしそのエントリをメニューシステムに使用することはできます。" -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "'有効'にチェックが入っていないと、プレーヤはファイルのうちこのチャプタが占める部分をスキップします。" -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." msgstr "チェックが入っていると、mmgは既に存在するファイルを上書きする前や、説明が同じ古いジョブがあった場合に新しいジョブを追加する前に確認メッセージを表示します。" -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." msgstr "チェックが入っていると、mmgは出力ファイル名がまだ設定されていない場合に自動で設定します。これは最初のファイルを追加した際に発生します。チェックが入っていない場合はmmgは出力ファイル名に手出しをしません。" -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "チェックが入っていると、mmgは全てのオーディオとビデオの'圧縮'ドロップダウンボックスをデフォルトで'無し'に設定します。その場合でも、ユーザーは後から圧縮の設定を変更することができます。" + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "チェックが入っていると、mmgは使い方が間違っていると考えられる場合に警告します。この機能をオフにしたとしても最低ひとつはそのような警告が表示されます。" -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "空白のままにしておくと、mmgはこのジョブに最初に追加されたファイルと同じディレクトリに出力ファイル名を設定します。空白でない場合はこのディレクトリが使用されます。" @@ -3407,31 +3428,31 @@ "ファイルを分割する場合、作成される全てのファイルに添付するか最初のファイルにのみ添付するかを選択できます。\n" "分割しない場合は何も影響を与えません。" -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "終端以降に始まるエントリを無視します。\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "終端以降に始まるエントリ(%1%)を無視します。\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "%1%からフォントをインポートしました。" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "%1%から画像をインポートしました。" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "ファイル'%1%'を使用することができません:ファイルを読み込んで開くことができませんでした。\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "互換性のないmkvmergeのバージョン" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "互換性のないトラック" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "矛盾したAACオーディオパケットです(length: %1% != len_check %2%)\n" @@ -3439,13 +3460,13 @@ msgid "Increase verbosity." msgstr "より詳細な情報を表示します" -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "入力" -#: src/mmg/tabs/chapters.cpp:1374 src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "入力データエラー" @@ -3457,301 +3478,301 @@ msgid "Input too long: %1% > %2%" msgstr "入力が長すぎます:%1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "インターフェース言語:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "インターレース:%1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "内部バグ:tracks.cpp SSA #1. %1%" -#: src/mmg/header_editor/frame.cpp:706 src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "内部プログラムエラー" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" -msgstr "'--%2% %3%'で不正な%1%が指定されました。\n" +msgstr "'--%2% %3%'で無効な%1%が指定されました。\n" #: src/common/base64.cpp:135 msgid "Invalid Base64 character encountered" -msgstr "不正なBase64文字に遭遇しました" +msgstr "無効なBase64文字に遭遇しました" #: src/extract/extract_cli_parser.cpp:160 msgid "Invalid BlockAddition level in argument '%1%'.\n" -msgstr "引数'%1%'で不正なBlockAdditionレベルがあります。\n" +msgstr "引数'%1%'で無効なBlockAdditionレベルがあります。\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." -msgstr "不正なUIDです。UIDは数字のみでなければなりません。" +msgstr "無効なUIDです。UIDは数字のみでなければなりません。" -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." -msgstr "不正なUIDです。このチャプタUIDは既に使用されています。元のUIDは変更されませんでした。" +msgstr "無効なUIDです。このチャプタUIDは既に使用されています。元のUIDは変更されませんでした。" -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." -msgstr "不正なUIDです。このエディションUIDは既に使用されています。元のUIDは変更されませんでした。" +msgstr "無効なUIDです。このエディションUIDは既に使用されています。元のUIDは変更されませんでした。" -#: src/input/r_avi.cpp:638 src/input/r_avi.cpp:643 src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 src/input/r_avi.cpp:699 src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." -msgstr "AVIのオーディオトラックのVorbisヘッダが不正です。" +msgstr "AVIのオーディオトラックのVorbisヘッダが無効です。" #: src/extract/extract_cli_parser.cpp:237 msgid "Invalid attachment ID/file name specification in argument '%1%'.\n" -msgstr "引数'%1%'で指定されている添付ファイルID・ファイル名が不正です。\n" +msgstr "引数'%1%'で指定されている添付ファイルID・ファイル名が無効です。\n" #: src/common/xml/element_parser.cpp:211 msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." -msgstr "不正なバイナリデータフォーマット'%1%'が指定されました。サポートされているのは'Base64'、'ASCII'、'hex'です。" +msgstr "無効なバイナリデータフォーマット'%1%'が指定されました。サポートされているのは'Base64'、'ASCII'、'hex'です。" -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" -msgstr "'--default-track %1%'で不正なブール型が指定されました。\n" +msgstr "'--default-track %1%'で無効なブール型が指定されました。\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" -msgstr "'--forced-track %1%'で不正なブール型が指定されました。\n" +msgstr "'--forced-track %1%'で無効なブール型が指定されました。\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" -msgstr "'--aac-is-sbr %1%'で不正なブール型が指定されました。\n" +msgstr "'--aac-is-sbr %1%'で無効なブール型が指定されました。\n" #: src/propedit/propedit_cli_parser.cpp:63 msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "'%1% %2%'での変更の仕様(%3%)は無効です。\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" -msgstr "'--compression %1%'で不正な圧縮オプションが指定されました。\n" +msgstr "'--compression %1%'で無効な圧縮オプションが指定されました。\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" -msgstr "不正な圧縮オプションです。'--compression %1%'でトラックIDが指定されていません。\n" +msgstr "無効な圧縮オプションです。'--compression %1%'でトラックIDが指定されていません。\n" #: src/mmg/options/chapters.cpp:121 msgid "Invalid country selected" -msgstr "不正な国が選択されました" +msgstr "無効な国が選択されました" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" -msgstr "'--cues %1%'で不正なキューオプションが指定されました。\n" +msgstr "'--cues %1%'で無効なキューオプションが指定されました。\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" -msgstr "不正なキューオプションです。'--cues %1%'でトラックIDが指定されていません。\n" +msgstr "無効なキューオプションです。'--cues %1%'でトラックIDが指定されていません。\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "無効なファイル名" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" -msgstr "'--split %1%'で不正な'--split'フォーマットが指定されました。\n" +msgstr "'--split %1%'で無効な'--split'フォーマットが指定されました。\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" -msgstr "タイムコード%2%のSSA行('%1%')が不正なフォーマットです:最初のフィールドが整数ではありません。このエントリはスキップされます。\n" +msgstr "タイムコード%2%のSSA行('%1%')が無効なフォーマットです:最初のフィールドが整数ではありません。このエントリはスキップされます。\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" -msgstr "タイムコード%2%のSSA行('%1%')が不正なフォーマットです:フィールドの数が多すぎます(正しくは9つですが%3%でした)。このエントリはスキップされます。\n" +msgstr "タイムコード%2%のSSA行('%1%')が無効なフォーマットです:フィールドの数が多すぎます(正しくは9つですが%3%でした)。このエントリはスキップされます。\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." -msgstr "タイムコード調整に使用されているフォーマットが不正です。" +msgstr "タイムコード調整に使用されているフォーマットが無効です。" -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." -msgstr "'%s'の終了時間に使用されているフォーマットが不正です。値を0に設定します。" +msgstr "'%s'の終了時間に使用されているフォーマットが無効です。値を0に設定します。" -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." -msgstr "'%s'の開始時間に使用されているフォーマットが不正です。値を0に設定します。" +msgstr "'%s'の開始時間に使用されているフォーマットが無効です。値を0に設定します。" #: src/common/strings/parsing.cpp:221 msgid "Invalid format: At least minutes and seconds have to be given, but no colon was found" -msgstr "不正なフォーマットです:少なくとも分と秒が指定されなければなりませんが、コロンが見つかりませんでした。" +msgstr "無効なフォーマットです:少なくとも分と秒が指定されなければなりませんが、コロンが見つかりませんでした。" #: src/common/strings/parsing.cpp:207 msgid "Invalid format: Colon inside nano-second part" -msgstr "不正なフォーマットです:ナノ秒部にコロンが入っています" +msgstr "無効なフォーマットです:ナノ秒部にコロンが入っています" #: src/common/strings/parsing.cpp:190 msgid "Invalid format: More than nine nano-second digits" -msgstr "不正なフォーマットです:ナノ秒部が9桁以上あります" +msgstr "無効なフォーマットです:ナノ秒部が9桁以上あります" #: src/common/strings/parsing.cpp:209 msgid "Invalid format: More than two colons" -msgstr "不正なフォーマットです:コロンが3つ以上あります" +msgstr "無効なフォーマットです:コロンが3つ以上あります" #: src/common/strings/parsing.cpp:211 msgid "Invalid format: No digits before colon" -msgstr "不正なフォーマットです:コロンの前に数字がありません" +msgstr "無効なフォーマットです:コロンの前に数字がありません" #: src/common/strings/parsing.cpp:200 msgid "Invalid format: No digits before decimal point" -msgstr "不正なフォーマットです:小数点の前に数字がありません" +msgstr "無効なフォーマットです:小数点の前に数字がありません" #: src/common/strings/parsing.cpp:197 msgid "Invalid format: Second decimal point after first decimal point" -msgstr "不正なフォーマットです:最初の小数点の後に2つめの小数点があります" +msgstr "無効なフォーマットです:最初の小数点の後に2つめの小数点があります" #: src/common/strings/parsing.cpp:224 msgid "Invalid format: The last character is a colon or a decimal point instead of a digit" -msgstr "不正なフォーマットです:最後の文字が数字ではなくコロンや小数点です" +msgstr "無効なフォーマットです:最後の文字が数字ではなくコロンや小数点です" #: src/common/strings/parsing.cpp:217 msgid "Invalid format: unknown character '%1%' found" -msgstr "不正なフォーマットです:未知の文字'%1%'が見つかりました" +msgstr "無効なフォーマットです:未知の文字'%1%'が見つかりました" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" -msgstr "不正なヘッダ長です:%1%(全体の長さ:%2%、idx:%3%、dataidx:%4%)\n" +msgstr "無効なヘッダ長です:%1%(全体の長さ:%2%、idx:%3%、dataidx:%4%)\n" #: src/common/xml/element_parser.cpp:170 msgid "Invalid hexadecimal data encountered: '%1%' is neither white space nor a hexadecimal number." -msgstr "不正な16進数データに遭遇しました:'%1%'は空白でも16進数の数でもありません。" +msgstr "無効な16進数データに遭遇しました:'%1%'は空白でも16進数の数でもありません。" -#: src/mmg/options/chapters.cpp:114 src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/options/chapters.cpp:114 src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" -msgstr "不正な言語が選択されました" +msgstr "無効な言語が選択されました" #: src/common/chapters/chapters.cpp:193 msgid "Invalid minute: %1%" -msgstr "不正な分です:%1%" +msgstr "無効な分(ふん)です:%1%" #: src/mmg/tabs/global.cpp:610 msgid "Invalid number of max. split files given." -msgstr "ファイルの最大分割数に不正な値が指定されました。" +msgstr "ファイルの最大分割数に無効な値が指定されました。" #: src/common/strings/parsing.cpp:260 msgid "Invalid number of minutes: %1% > 59" -msgstr "不正な分(ふん)数です:%1% > 59" +msgstr "無効な分(ふん)数です:%1% > 59" #: src/common/strings/parsing.cpp:262 msgid "Invalid number of seconds: %1% > 59" -msgstr "不正な秒数です:%1% > 59" +msgstr "無効な秒数です:%1% > 59" #: src/common/chapters/chapters.cpp:195 msgid "Invalid second: %1%" -msgstr "不正な秒です:%1%" +msgstr "無効な秒です:%1%" #: src/propedit/propedit_cli_parser.cpp:51 msgid "Invalid selector in '%1% %2%'.\n" -msgstr "'%1% %2%'で不正なセレクタが指定されました。\n" +msgstr "'%1% %2%'で無効なセレクタが指定されました。\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" -msgstr "'--split %1%'で不正な分割サイズがあります。\n" +msgstr "'--split %1%'で無効な分割サイズがあります。\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" -msgstr "不正な開始時間または終了時間のタイムコードです" +msgstr "無効な開始時間または終了時間のタイムコードです" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" -msgstr "不正な開始時間のタイムコードです" +msgstr "無効な開始時間のタイムコードです" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" -msgstr "不正な字幕文字セットのオプションです。'--sub-charset %1%'でトラックIDが指定されていません。\n" +msgstr "無効な字幕文字セットのオプションです。'--sub-charset %1%'でトラックIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" -msgstr "'--sub-charset %1%'で不正な字幕文字セットが指定されました。\n" +msgstr "'--sub-charset %1%'で無効な字幕文字セットが指定されました。\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" -msgstr "'%1% %2%'で不正な同期オプションが指定されました。\n" +msgstr "'%1% %2%'で無効な同期オプションが指定されました。\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" -msgstr "'%1% %2%'で不正な同期オプションが指定されました。除数が0です。\n" +msgstr "'%1% %2%'で無効な同期オプションが指定されました。除数が0です。\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" -msgstr "'%1% %2%'で不正な同期オプションが指定されました。長さの同期の値は0以下になることはできません。\n" +msgstr "'%1% %2%'で無効な同期オプションが指定されました。長さの同期の値は0以下になることはできません。\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" -msgstr "不正な同期オプションです。'%1% %2%'でトラックIDが指定されていません。\n" +msgstr "無効な同期オプションです。'%1% %2%'でトラックIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" -msgstr "'%1% %2%'で不正なタグファイル名が指定されました。\n" +msgstr "'%1% %2%'で無効なタグファイル名が指定されました。\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" -msgstr "不正なタグオプションです。'%1% %2%'にトラックIDが指定されていません。\n" +msgstr "無効なタグオプションです。'%1% %2%'にトラックIDが指定されていません。\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" -msgstr "'--split %1%'で'--split'には不正な時間が指定されました。追加エラーメッセージ:%2%\n" +msgstr "'--split %1%'で'--split'には無効な時間が指定されました。追加エラーメッセージ:%2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" -msgstr "'--split %1%'で'--split'には不正な時間が指定されました。追加エラーメッセージ:%2%。\n" +msgstr "'--split %1%'で'--split'には無効な時間が指定されました。追加エラーメッセージ:%2%。\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" -msgstr "'%1% %2%'で不正なトラックIDが指定されました。\n" +msgstr "'%1% %2%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:579 src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" -msgstr "'%1% %2%'で不正なトラックIDが指定されました。\n" +msgstr "'%1% %2%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" -msgstr "'--%1% %2%'で不正なトラックIDが指定されました。\n" +msgstr "'--%1% %2%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" -msgstr "'--aac-is-sbr %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--aac-is-sbr %1%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" -msgstr "'--compression %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--compression %1%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" -msgstr "'--cues %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--cues %1%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" -msgstr "'--default-track %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--default-track %1%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" -msgstr "'--forced-track %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--forced-track %1%'で無効なトラックIDが指定されました。\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" -msgstr "'--sub-charset %1%'で不正なトラックIDが指定されました。\n" +msgstr "'--sub-charset %1%'で無効なトラックIDが指定されました。\n" #: src/extract/extract_cli_parser.cpp:239 msgid "Invalid track ID/file name specification in argument '%1%'.\n" -msgstr "引数'%1%'で不正なトラックID・ファイル名が指定されました。\n" +msgstr "パラメータ'%1%'で無効なトラックID・ファイル名が指定されました。\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "ジョブはジョブキューに追加されました" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "ジョブの説明" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "ジョブの出力" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "ジョブキューの管理" @@ -3763,29 +3784,19 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "このレベルまでのBlockAdditionのみを保持します(デフォルト:全てのレベルを保持)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"既知のファイルタイプ:\n" -" 拡張子 説明\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "LZO圧縮に失敗しました:結果%1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" msgstr "" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "" -#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:429 +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "言語" @@ -3797,12 +3808,12 @@ msgid "Language is not NUL terminated" msgstr "言語がNULで終わっていません。" -#: src/mmg/options/chapters.cpp:86 src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 src/mmg/tabs/input_general.cpp:181 +#: src/mmg/options/chapters.cpp:86 src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "言語:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "言語:%1%" @@ -3810,15 +3821,11 @@ msgid "Languages" msgstr "言語" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "出力ファイルのチャプタの後ろに追加のスペース(EBMLVoid要素)を残します。" -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "左目" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" msgstr "コマンドラインに任意のオプションを追加できます" @@ -3838,7 +3845,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "%1%行目、%2%列目:%3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "%1%行目:負の数のタイムスタンプに遭遇しました。このエントリは00:00:00.000から始まるよう調整されます。\n" @@ -3858,24 +3865,24 @@ msgid "List all valid property names and exit" msgstr "全ての有効なプロパティ名を列挙して終了します" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" -msgstr "チャプタファイル(シンプル/OGMフォーマットもしくはXMLフォーマット)をロードします" +msgstr "チャプタファイル(シンプル/OGMフォーマットもしくはXMLフォーマット)を読み込みます" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" -msgstr "MUXの設定をファイルからロードします" +msgstr "MUXの設定をファイルから読み込みます" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "ログファイル (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "ログ出力:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -3887,95 +3894,79 @@ msgid "MIME type:" msgstr "MIMEタイプ:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNixはGNU GPL v2でライセンスされています" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 オーディオ/ビデオファイル" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEGオーディオファイル" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEGプログラムストリーム" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEGプログラムストリーム" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEGビデオエレメンタリストリーム" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 Layer-2オーディオ(CBRとVBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 Layer-3オーディオ(CBRとVBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1ビデオエレメンタリストリーム" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2ビデオエレメンタリストリーム" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "このトラックをそのタイプ(オーディオ、ビデオ、字幕)のデフォルトトラックに設定します。プレーヤはデフォルトトラックフラグが設定されたトラックを優先します。" -#: src/input/r_matroska.cpp:1468 src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" -msgstr "不正な形式のAACコーデック初期化データが見つかりました。\n" +msgstr "無効な形式のAACコーデック初期化データが見つかりました。\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" -msgstr "不正な形式のコーデックID '%1%'です。\n" +msgstr "無効な形式のコーデックID '%1%'です。\n" -#: src/input/subtitles.cpp:349 src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:357 src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" -msgstr "不正な形式の行?(%1%)\n" +msgstr "無効な形式の行?(%1%)\n" #: src/mmg/tabs/input_general.cpp:186 msgid "Mark this track as 'forced'. Players must play this track." msgstr "このトラックを強制表示として設定します。プレーヤはこのトラックを再生しなければなりません。" -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska A/Vファイル (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroskaファイル (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroskaオーディオ/ビデオファイル" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroskaファイル (*.mkv *.mka *.mks);;全てのファイル (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroskaファイル (*.mkv *.mka *.mks *.mk3d);;全てのファイル (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroskaファイル (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroskaファイル (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroskaファイル (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroskaファイル (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "最大BlockAddition ID:%1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "最大キャッシュ:%1%" -#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:412 +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "最大キャッシュ" @@ -3987,43 +3978,43 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "リアルオーディオ/リアルビデオのフレームのためにメモリを確保することができませんでした。\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "MIMEタイプ:%1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "最小キャッシュ:%1%" -#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:407 +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "最小キャッシュ" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" -msgstr "'--output-charset'に引数がありません。\n" +msgstr "'--output-charset'にパラメータがありません。\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" -msgstr "'--ui-language'に引数がありません。\n" +msgstr "'--ui-language'にパラメータがありません。\n" #: src/common/cli_parser.cpp:106 msgid "Missing argument to '%1%'.\n" -msgstr "'%1%'に引数がありません。\n" +msgstr "'%1%'にパラメータがありません。\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "ファイル名がありません" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." msgstr "'--edit-headers'オプションの後ろにファイル名がありません。" -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "ストリームのヘッダ/コメントパケットがありません。このファイルは壊れていますが正しくMUXされているはずです。もしそうでない場合は作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "入力がありません" @@ -4033,21 +4024,21 @@ #: src/extract/extract_cli_parser.cpp:254 msgid "Missing output file name in argument '%1%'.\n" -msgstr "引数'%1%'で出力ファイル名が指定されていません。\n" +msgstr "パラメータ'%1%'で出力ファイル名が指定されていません。\n" #: src/propedit/options.cpp:137 msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "セクション'%1%'のプロパティの変更が要求されましたが、ファイルには対応するレベル1の要素が見つかりませんでした。%2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "1つの添付ファイルに複数のMIMEタイプが指定されました。'%1%'は破棄され代わりに'%2%'が使われます。\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "1つの添付ファイルに複数の説明が指定されました。\n" @@ -4055,7 +4046,7 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "ファイル名が複数指定されました('%1%'と'%2%'。)\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "1つの添付ファイルに複数の名前が指定されました。'%1%'は破棄され代わりに'%2%'が使われます。\n" @@ -4063,43 +4054,43 @@ msgid "More than one root element found." msgstr "ルート要素が複数見つかりました。" -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" -msgstr "トラック%1%にファイル番号%2%のファイル('%3%')から複数のトラックを追加結合しようとしました。'--append-to'の引数が不正です。\n" +msgstr "トラック%1%にファイル番号%2%のファイル('%3%')から複数のトラックを追加結合しようとしました。'--append-to'のパラメータが無効です。\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "トラック番号%1%のトラックが複数見つかりました。\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "選択したジョブを下に移動します" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "選択したジョブを上に移動します" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" msgstr "MUXに使用されたアプリケーション:%1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "MUXが進行中です。" -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" msgstr "MUXに%1%秒かかりました。\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" msgstr "MUXに1秒かかりました。\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALUサイズ長:" -#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:426 +#: src/common/property_element.cpp:130 src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "名前" @@ -4107,15 +4098,15 @@ msgid "Name for this track, e.g. \"director's comments\"." msgstr "このトラックの名前を入力します 例:\"ディレクターのコメント\"" -#: src/mmg/tabs/attachments.cpp:158 src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/attachments.cpp:158 src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "名前:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "名前:%1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." msgstr "新しいチャプタが作成されました。" @@ -4123,15 +4114,15 @@ msgid "New value:" msgstr "新しい値:" -#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:336 +#: src/common/property_element.cpp:105 src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "次のファイル名" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" msgstr "次のファイル名:%1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "次のレベル0要素はセグメントではなく%1%です" @@ -4139,48 +4130,48 @@ msgid "Next segment UID:" msgstr "次のセグメントUID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" msgstr "次のセグメントUID:%1%" -#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:347 +#: src/common/property_element.cpp:109 src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" msgstr "次のセグメントの固有ID" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "'--%2% %3%'で%1%が指定されていません。\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" msgstr "AC3ヘッダが最初のフレームで見つかりませんでした:トラックはスキップされます。\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." msgstr "EBMLヘッダが見つかりません。" -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" msgstr "AVC/h.264トラックのFPSが選択されていません" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." msgstr "添付ファイル'%s'のMIMEタイプが選択されていません。" -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" msgstr "添付ファイル'%1%'にMIMEタイプが設定されておらず、推定することもできませんでした。\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" -msgstr "ファイル番号%1%のファイル('%2%')に追加結合のマッピングが指定されていません。デフォルトのマッピング%3%が代わりに使用されます。もしmkvmergeが不正な'--append-to'オプションに関するエラーメッセージを出して中断した場合はこのことを覚えておいてください。\n" +msgstr "ファイル番号%1%のファイル('%2%')に追加結合のマッピングが指定されていません。デフォルトのマッピング%3%が代わりに使用されます。もしmkvmergeが無効な'--append-to'オプションに関するエラーメッセージを出して中断した場合はこのことを覚えておいてください。\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "チャプタエントリがまだ作成されていません。" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" msgstr "チャプタが見つかりませんでした" @@ -4188,7 +4179,7 @@ msgid "No error" msgstr "エラー無し" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" msgstr "修正されたフィールドはありません" @@ -4197,14 +4188,14 @@ "No file has been loaded yet. You can open a file by selecting\n" "'Open' from the 'File' menu." msgstr "" -"まだファイルがロードされていません。\n" +"まだファイルが読み込まれていません。\n" "'ファイル'メニューの'開く'を選んでファイルを開くことができます。" #: src/mmg/header_editor/frame.cpp:218 msgid "No file loaded" -msgstr "ファイルがロードされていません" +msgstr "ファイルが読み込まれていません" -#: src/propedit/options.cpp:27 +#: src/propedit/options.cpp:27 src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "ファイル名が指定されていません。\n" @@ -4212,11 +4203,11 @@ msgid "No filename found after the '@'." msgstr "'@'の後ろにファイル名が見つかりませんでした。" -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "ヘルプが利用できません。" -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" msgstr "入力ファイルが指定されていません。出力ファイルは作成されません。\n" @@ -4228,16 +4219,16 @@ msgid "No output file name specified, will use attachment name.\n" msgstr "出力ファイル名が指定されなかったので、添付ファイル名を使用します。\n" -#: src/extract/timecodes_v2.cpp:194 src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." msgstr "セグメント/レベル0の要素が見つかりませんでした。" -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "出力すべきストリームが見つかりませんでした。中断します。\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "'--%1% %2%'でトラックIDが指定されていません。\n" @@ -4245,7 +4236,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "editで指定された'%1%'に対応するトラックが見つかりませんでした。%2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "ソースファイル中にID %1%のトラックが見つかりませんでした。\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "トラックが見つかりませんでした" @@ -4253,15 +4248,11 @@ msgid "No version number found.\n" msgstr "バージョン番号が見つかりませんでした。\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "指定なし" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." msgstr "修正されたヘッダのフィールドはありません。何も保存されませんでした。" -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." msgstr "通常mkvmergeは、MPEG4ビデオビットストリームのアスペクト比の情報を保持し、コンテナにその情報を格納します。このオプションを使用すると、mkvmergeはビットストリームからアスペクト比の情報を除去します。" @@ -4269,47 +4260,52 @@ msgid "Not a hex digit at position %1%" msgstr "%1%にあるのは16進数の数ではありません" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" -msgstr "正しいMatroskaファイルではありません(EBMLヘッドが見つかりませんでした)" +msgstr "有効なMatroskaファイルではありません(EBMLヘッドが見つかりませんでした)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" -msgstr "正しいMatroskaファイルではありません(セグメント/レベル0の要素が見つかりませんでした)" +msgstr "有効なMatroskaファイルではありません(セグメント/レベル0の要素が見つかりませんでした)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" msgstr "注意" -#: src/propedit/options.cpp:30 +#: src/extract/attachments.cpp:131 src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "何もすることがありません。\n" -#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:418 +#: src/common/property_element.cpp:127 src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." msgstr "フレーム当たりのナノ秒数(スケールされていない)です。" -#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:505 +#: src/common/property_element.cpp:155 src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "トラックのチャンネル数です。" -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM オーディオ/ビデオファイル" -#: src/mmg/message_dialog.cpp:31 src/mmg/mux_dialog.cpp:100 +#: src/mmg/message_dialog.cpp:31 src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "OK" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "チャプタの1つに名前がありません。" -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "オンラインでのアップデートチェック" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "'%1% %2%'ではチャプタファイルを1つのみ指定することができます。\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "入力ファイルは1つのみ指定することができます。\n" @@ -4321,18 +4317,22 @@ msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." msgstr "<Simple>の下には<String>と<Binary>どちらか一方のみを使用することができます。" -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "出力ファイルは1つのみ指定することができます。\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" msgstr "'%1% %2%'でセグメント情報ファイルは1つのみ指定することができます。\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" msgstr "ファイル番号%1%のファイル'%2%'に対して部分的な追加結合のマッピングしか指定されませんでした。全くマッピングを指定しない(その場合はデフォルトのマッピングが使用されます)か、コピーされるべき全てのトラックにマッピングを指定するかのどちらかにしてください。\n" +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "内容の概要だけを表示し、個々の要素を表示しません。" + #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" msgstr "最初のファイルにのみ添付" @@ -4341,7 +4341,7 @@ msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" msgstr "v7以降のVobSubファイルのみがサポートされています。もしそれより古いバージョンがあるならVSConv(http://sourceforge.net/projects/guliverkli/)を使ってv7のファイルに変換してください。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "オプション(&P)\tCtrl-P" @@ -4349,7 +4349,7 @@ msgid "Open File" msgstr "ファイルを開きます" -#: src/mmg/header_editor/frame.cpp:238 src/info/wxwidgets_ui.cpp:123 +#: src/mmg/header_editor/frame.cpp:238 src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "Matroskaファイルを開きます" @@ -4357,23 +4357,24 @@ msgid "Open an existing Matroska file" msgstr "既存のMatroskaファイルを開きます" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "フォルダを開く" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "オプションファイルが作成されました。" #: src/mmg/options/dialog.cpp:43 src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "オプション" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" msgstr "これらのオプションは開発者「専用」です。使わないでください。公式にサポートされているオプションだと考えられるものはこのリストにはありません!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" msgstr "順番:%1%" @@ -4385,39 +4386,43 @@ msgid "Other options" msgstr "その他のオプション" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" msgstr "出力" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" msgstr "出力ファイル名" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "この文字セットでメッセージを出力します" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "選択したジョブの出力" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "出力サンプル周波数:%1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "出力:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "既存のファイルに上書きしますか?" -#: src/mmg/mmg_dialog.cpp:511 src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "既存のファイルに上書きしますか?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP字幕" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTSエラー:0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4425,11 +4430,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "パケット番号%1%は無効なFLACヘッダを含んでいるため、スキップされます。\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" msgstr "パケットキューが空ではありません(フラッシュ:%1%)。MUX中にフレームが失われました。%2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "ファイルを完全に解析し全ての要素を表示します" @@ -4437,31 +4442,31 @@ msgid "Parse the whole file instead of relying on the index." msgstr "インデックスを信頼する代わりにファイルの全体を解析します。" -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "ファイルを解析しています" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "切り捨てピクセル(下):%1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "切り捨てピクセル(左):%1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "切り捨てピクセル(右):%1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "切り捨てピクセル(上):%1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "ピクセル高さ:%1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "ピクセル幅:%1%" @@ -4469,11 +4474,11 @@ msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." msgstr "mmgそれ自体をmkvmergeの実行ファイルとして指定しないでください。" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "新しいジョブの説明を入力してください:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" @@ -4482,7 +4487,7 @@ "現在選択しているエントリ以下の全てのチャプタに\n" "適用する言語と国の値を入力してください。" -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4491,11 +4496,11 @@ "mkvmergeのman pageやHTMLドキュメントも読んでください。\n" "このリストでは不明確なものも長く詳細な説明がなされています。\n" -#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:333 +#: src/common/property_element.cpp:104 src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "前のファイル名" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "前のファイル名:%1%" @@ -4503,11 +4508,11 @@ msgid "Previous segment UID:" msgstr "前のセグメントUID:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" msgstr "前のセグメントUID:%1%" -#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:343 +#: src/common/property_element.cpp:108 src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "前のセグメントの固有ID" @@ -4515,57 +4520,53 @@ msgid "Process priority:" msgstr "プロセスの優先度:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "処理中 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "ジョブ%d/%dを処理中" -#: src/mmg/jobs.cpp:243 src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 src/mmg/mux_dialog.cpp:191 msgid "Progress" msgstr "進行状況" -#: src/extract/timecodes_v2.cpp:264 src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" msgstr "進行状況: %1%%%%2%" -#: src/extract/mkvextract.cpp:93 src/extract/timecodes_v2.cpp:354 +#: src/extract/timecodes_v2.cpp:359 src/extract/mkvextract.cpp:93 msgid "Progress: 100%\n" msgstr "進行状況: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" msgstr "進行状況: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" msgstr "進行状況: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "mkvmergeの機能を調査しています" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime オーディオ/ビデオファイル" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4オーディオとビデオ" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4リーダ:'%1%' atomが小さすぎます。期待されるサイズ:%2%以上。実際のサイズ:%3%。\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" msgstr "Quicktime/MP4リーダ:一定サンプルサイズかつ可変フレーム持続期間はまだサポートされていません。そのようなサンプルを持っているなら作者に連絡してください。\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4リーダ:位置%4%のサイズ%3%のチャンク番号%1%/%2%を読み込むことができませんでした。中断します。\n" @@ -4599,7 +4600,7 @@ #: src/input/r_qtmp4.cpp:161 msgid "Quicktime/MP4 reader: Invalid chunk size %1% at %2%.\n" -msgstr "Quicktime/MP4リーダ:位置%2%に不正なチャンクサイズ%1%があります。\n" +msgstr "Quicktime/MP4リーダ:位置%2%に無効なチャンクサイズ%1%があります。\n" #: src/input/r_qtmp4.cpp:290 msgid "Quicktime/MP4 reader: MPEG4 part 10/AVC track %1% is missing its decoder config. Skipping this track.\n" @@ -4611,7 +4612,7 @@ #: src/input/r_qtmp4.cpp:121 msgid "Quicktime/MP4 reader: Source is not a valid Quicktime/MP4 file." -msgstr "Quicktime/MP4リーダ:ソースは正しいQuicktime/MP4 fileではありません。" +msgstr "Quicktime/MP4リーダ:ソースは有効なQuicktime/MP4 fileではありません。" #: src/input/r_qtmp4.cpp:651 msgid "Quicktime/MP4 reader: The 'media header' atom ('mdhd') uses the unsupported version %1%.\n" @@ -4669,7 +4670,7 @@ msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" msgstr "Quicktime/MP4リーダ:トラック%2%のFourCC '%|1$.4s|'は未知もしくはサポートされていません。\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "アプリケーションを終了します" @@ -4677,15 +4678,15 @@ msgid "Quit the header editor" msgstr "ヘッダエディタを終了します" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "mkvinfoを終了します" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "選択したジョブを再有効化します" @@ -4693,7 +4694,7 @@ msgid "Reading encrypted VOBs is not supported.\n" msgstr "暗号化されたVOBの読み込みはサポートされていません。\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "指定されたファイルから追加のコマンドラインオプションを読み込みます             (man pageを参照してください。)" @@ -4701,15 +4702,11 @@ msgid "Ready" msgstr "準備完了" -#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:501 +#: src/common/property_element.cpp:154 src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." msgstr "実際の出力サンプリング周波数(Hz単位)です。" -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMediaオーディオとビデオ" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMediaオーディオ/ビデオファイル" @@ -4717,31 +4714,31 @@ msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "RealMediaファイルはHE-AAC/AAC+/SBR AACオーディオを含んでいることがあります。これは自動で検知できないことがあります。よってこの入力ファイルが実際にSBE AACを含んでいる場合、手動で'--aac-is-sbr %1%'を指定しなければなりません。でないと間違ってMUXされてしまいます。mkvmergeのドキュメントも読んでください。\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "このファイルに全てのメッセージをリダイレクトします。" -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "参照ブロック:%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "参照ブロック:-%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "参照優先度:%1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "" #: src/mmg/header_editor/frame.cpp:144 msgid "Reload the current file without saving" -msgstr "保存しないで現在のファイルをリロードします" +msgstr "保存しないで現在のファイルを再読み込みします" -#: src/mmg/jobs.cpp:71 src/mmg/jobs.cpp:73 src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 src/mmg/jobs.cpp:74 src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "残り時間:" @@ -4749,7 +4746,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr " &、<、>、\"のような特殊な文字は通常のHTMLにおける方法でエスケープされなければならないことに注意してください。:'&'は&、'<'は<、'>'は>、'\"'は"。" -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "チャプタを削除" @@ -4757,59 +4754,63 @@ msgid "Remove element" msgstr "要素を削除" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "名前を削除" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "右目" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "再同期に失敗しました:有効なMatroskaのレベル1要素が見つかりませんでした。\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "%1%の位置で再同期に成功しました。\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "mkvmergeを実行し、MUX処理を開始します" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "ヘッダフィールドエディタを起動します" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "コマンドラインを表示(&S)" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "選択したジョブを開始(&T)" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRTテキスト字幕" -#: src/mmg/tabs/input.cpp:251 src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASSテキスト字幕" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "コマンドラインを保存(&A)" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "最初の入力ファイルと同じディレクトリ" -#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:496 +#: src/common/property_element.cpp:153 src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "サンプリング周波数(Hz単位)です。" -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "サンプリング周波数:%1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "名前をつけて保存(&A)" @@ -4817,31 +4818,31 @@ msgid "Save information as" msgstr "情報を名前をつけて保存します" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "ログを保存" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "MUXの設定をファイルに保存します" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "コマンドラインをファイルに保存します" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "コマンドラインをmkvmergeが読み込めるオプションファイルに保存します" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "現在のチャプタをXMLファイルに保存します" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "現在のチャプタを別名のファイルに保存します" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "現在のチャプタを既存のMatroskaファイルに保存します" @@ -4849,44 +4850,44 @@ msgid "Save the header values" msgstr "ヘッダの値を保存します" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "Matroskaファイルに保存(&M)" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "現在のファイルの情報をテキストファイルに保存します" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "スコープ:%1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "シークID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "シークエントリ" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "シークヘッダ" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "シークヘッダ (サブエントリはスキップされます)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "シーク位置:%1%" -#: src/extract/timecodes_v2.cpp:198 src/extract/tracks.cpp:348 -#: src/info/qt_ui.cpp:177 src/info/wxwidgets_ui.cpp:221 +#: src/extract/tracks.cpp:359 src/extract/timecodes_v2.cpp:202 +#: src/info/qt_ui.cpp:177 src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "セグメント" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "セグメントUID:%1%" @@ -4894,11 +4895,11 @@ msgid "Segment UIDs:" msgstr "セグメントUID:" -#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:330 +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "セグメントファイル名" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "セグメントファイル名:%1%" @@ -4911,41 +4912,41 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "セグメント情報ファイル (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 src/propedit/options.cpp:152 -#: src/propedit/propedit_cli_parser.cpp:87 -#: src/propedit/propedit_cli_parser.cpp:160 src/info/mkvinfo.cpp:544 -#: src/info/qt_ui.cpp:178 src/info/wxwidgets_ui.cpp:224 +#: src/mmg/header_editor/frame.cpp:322 src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 src/propedit/propedit_cli_parser.cpp:87 +#: src/propedit/propedit_cli_parser.cpp:160 src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 src/info/qt_ui.cpp:178 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "セグメント情報" -#: src/extract/timecodes_v2.cpp:252 src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/extract/tracks.cpp:389 src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 src/info/qt_ui.cpp:179 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "セグメントトラック" -#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:339 +#: src/common/property_element.cpp:106 src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "セグメントの固有ID" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "セグメント、サイズ %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "セグメント、不明なサイズ" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "Matroskaファイルを選択してください" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "出力ファイルを選択してください" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" msgstr "書き込むファイルを選択します" @@ -4957,27 +4958,27 @@ "言語のドロップダウンボックスの一番上に表示したい\n" "言語(複数可)を選んでください。" -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" msgstr "適用する値を選択してください" -#: src/mmg/tabs/input_extra.cpp:55 src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." msgstr "mkvmergeがインデックスエントリ(=キューエントリ)をどのブロックに生成するかを指定します。殆どの場合\"デフォルト\"がよいでしょう。" -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." msgstr "字幕またはチャプタ情報が記録された文字セットを指定します。mkvmergeが文字セットを正しく検出できない、非UTFの字幕ファイルとチャプタ情報を持つファイル(例:OGM、MP4)にのみ必要です。" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "出力ファイルを指定(&O)" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" msgstr "次の国に設定:" -#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:395 +#: src/common/property_element.cpp:116 src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -4986,7 +4987,7 @@ "ユーザー設定と一致する言語が見つからなかった場合に\n" "トラック(オーディオ、ビデオ、字幕)が使用されるかどうかを設定します。" -#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:402 +#: src/common/property_element.cpp:119 src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5000,7 +5001,7 @@ "プレーヤはユーザー設定と言語が一致するトラック\n" "もしくはデフォルト+強制表示のトラックを選択します。" -#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:398 +#: src/common/property_element.cpp:118 src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "トラックが使用されるかどうかを設定します。" @@ -5008,15 +5009,15 @@ msgid "Set if the video is interlaced." msgstr "ビデオがインターレースかどうかを設定します。" -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "次の言語に設定:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "ファイル名からディレイの入力フィールドを設定する" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "値を設定" @@ -5032,27 +5033,27 @@ msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" msgstr "Matroskaパーサのモードを'fast'(デフォルト)もしくは'full'に設定します" -#: src/mmg/tabs/input_extra.cpp:64 src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "VobSub字幕に使用される圧縮方式を指定します。何も指定されていなければVobSubは自動的にzlibで圧縮されます。'無し'を指定するとファイルサイズがかなり増大します。" +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "このトラックに使用される圧縮方式を指定します。どのオプションも選択されなければ、mkvmergeが、圧縮するかどうかと、そのトラックタイプにどのアルゴリズムを使用するかを決定します。殆どのトラックタイプは全く圧縮されません。" -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." msgstr "クロッピングのパラメータを指定します。左、上、右、下で使われるクロッピングの4つの数字のコンマで区切られたリストでなければなりません。" -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." msgstr "トラックのデフォルトのフレーム持続期間もしくはフレームレートを指定します。これはビデオトラックでのみ指定できます。AVC/h.264エレメンタリストリームではこのオプションは必ず指定されなければなりません。この値は浮動小数点数または分数を取ることができます。" -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." msgstr "トラックのアスペクト比を指定します。'a/b'のフォーマット(その場合aとbは整数でなければなりません。例:16/9)または1つの浮動小数点数 'f'(例:2.35)を取ることができます。" -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "トラックの縦解像度を指定します。横も同様に指定されなければなりません。さもなくばこのフィールドは無視されます。" -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "トラックの横解像度を指定します。縦も同様に指定されなければなりません。さもなくばこのフィールドは無視されます。" @@ -5070,87 +5071,103 @@ "\n" "作成される各ファイルは1つのセグメントを含んでおり、各セグメントは1つのセグメントUIDを持っています。もし作成されるセグメントより多くのセグメントUIDが指定されたなら、その時は余りのUIDは無視されます。もし作成されるセグメントよりも少ないUIDが指定されたなら、その時は不足分のためにランダムなUIDが生成されます。" -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." msgstr "ビデオトラックのステレオモードをこの値に設定します。空白のままにしておくと、トラックの元のステレオモードが保持されるか、ステレオモードが無い場合は何も設定されません。" -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "設定:%1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "mkvmergeの出力全体をコントロールするオプションです" -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "短いAACオーディオパケットです(長さ:%1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "短いAACオーディオパケットです(長さ:%1% < 2)\n" #: src/mpegparser/M2VParser.cpp:392 msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "短くカットされたGOPが検出されました。ドロップされたフレームがあります。MUXしようとする前にこのMPEG2ビデオストリームを修復したいと思うかもしれません。\n" +msgstr "短くカットされたGOPが検出されました。ドロップされたフレームがあります。MUXしようとする前にこのMPEG2ビデオストリームを修復してください。\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "全ての要素を表示(&A)\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" msgstr "mkvinfoについてのダイアログを表示します" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "各フレームの全てのバイトを16進数のダンプとして表示します。" + +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "要素のサイズを表示(&Z)\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" msgstr "mmgのデバッグウィンドウを表示する" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "プログラムの情報を表示します" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "各トラックの統計情報を冗長モードで表示します。" + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "mmgが生成するmkvmergeのコマンドラインを表示します" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "各フレームの最初の16バイトを16進数のダンプとして表示します。" + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "mkvmerge GUIのガイドを表示します" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" -msgstr "" +msgstr "ヘッダを含めた各エレメントのサイズを表示します" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "ヘッダも含めた各要素のサイズを表示します。" + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "このヘルプを表示します。" -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "プログラムのバージョン情報を表示します。" -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." -msgstr "デバッグメッセージが表示されるmmgのデバッグウィンドウを表示します。これは作者がmmgの問題をデバッグするのを手助けする場合にのみ役に立ちます。" +msgstr "デバッグメッセージが表示されるmmgのデバッグウィンドウを表示します。これは作者がmmgの問題をデバッグするのを手助けする場合にのみ有効です。" -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "署名アルゴリズム:%1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "署名ハッシュアルゴリズム:%1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "署名鍵ID:%1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "署名:%1%" @@ -5158,11 +5175,11 @@ msgid "Signed integer" msgstr "符号付き整数" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "シンプルブロック" @@ -5170,11 +5187,11 @@ msgid "Simple chapter parser: %1%\n" msgstr "シンプルチャプタパーサ:%1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "シンプルブロック" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "シンプルブロック (%1%トラック番号 %2%、%3% フレーム、タイムコード %|4$.3f|s = %5%)" @@ -5184,43 +5201,43 @@ #: src/output/p_aac.cpp:73 msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" -msgstr "%1%バイトをスキップします(正しいAACヘッダが見つかりませんでした)。このためオーディオ・ビデオの同期が狂うかもしれません。\n" +msgstr "%1%バイトをスキップします(有効なAACヘッダが見つかりませんでした)。このためオーディオ・ビデオの同期が狂うかもしれません。\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" -msgstr "%1%バイトをスキップします(正しいDTSヘッダが見つかりませんでした)。このためオーディオ・ビデオの同期が狂うかもしれません。\n" +msgstr "%1%バイトをスキップします(有効なDTSヘッダが見つかりませんでした)。このためオーディオ・ビデオの同期が狂うかもしれません。\n" #: src/input/r_mp3.cpp:53 msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" -msgstr "開始点で%1%バイトをスキップします(正しいMP3ヘッダが見つかりませんでした)。\n" +msgstr "開始点で%1%バイトをスキップします(有効なMP3ヘッダが見つかりませんでした)。\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "スライス" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" msgstr "ヘッダの値が変更されています。本当にファイルを保存しないで閉じますか?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" -msgstr "ヘッダの値が変更されています。本当に現在のファイルを保存しないで新しいファイルをロードしますか?" +msgstr "ヘッダの値が変更されています。本当に現在のファイルを保存しないで新しいファイルを読み込みますか?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" -msgstr "ヘッダの値が変更されています。本当にファイルを保存しないでリロードしますか?" +msgstr "ヘッダの値が変更されています。本当にファイルを保存しないで再読み込みしますか?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" msgstr "失われているタグ要素があります(このエラーは発生するはずはありません―似たような他のエラーが以前に発生しているはずです)。 %1%\n" -#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:430 +#: src/common/property_element.cpp:131 src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." msgstr "Matroska言語形式でトラックの言語を指定します。" -#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:486 +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." @@ -5240,65 +5257,77 @@ msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "指定時間で分割・タイムコードで分割が選択されましたが、何も入力されていません。" -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "ファイル分割が有効で、出力される予定のファイル'%s%s*%s'が既に存在しています。上書きしますか?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "MUX開始(&R)" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "MUX開始(mkvmergeを実行)(&R)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "GUIを起動します(入力ファイルが指定されていた場合は開きます)。入力ファイル名 ソースファイルを指定します。" + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" msgstr "ステータスが'未処理'のジョブを開始します" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "ステータスが何であろうと関係なく選択したジョブを開始します" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" msgstr "設定を空にして新規作成します" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "開始時間:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "開始日時" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "ジョブID %d(%s)の処理を開始します 開始日時:%s" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "トラック番号%1%の統計情報: ブロックの数: %2%;サイズ(バイト): %3%; 持続時間(秒): %4%; おおよそのビットレート(ビット/秒): %5%\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "ステータス" -#: src/mmg/jobs.cpp:62 src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 src/mmg/mux_dialog.cpp:74 msgid "Status and progress" msgstr "ステータスと進行状況" -#: src/mmg/header_editor/value_page.cpp:174 +#: src/mmg/update_checker.cpp:57 src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "ステータス:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "ステレオモードパラメータ:\"<TID>:<n|keyword>\"のnが0~3の数字ではないか、keywordが'none'、'right'、'left'もしくは'both'ではありません。\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "ステレオモード:%1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "ステレオモードパラメータ:<TID>:<n|keyword>のnが0~%1%の数字ではないか、keywordが%2%のうちの1つではありません(パラメータは'%3%'でした)。\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "ステレオモード:%1%(%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "ステレオ3Dビデオモードです(0~11、ドキュメントを参照してください)。" -#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:491 +#: src/common/property_element.cpp:149 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5306,15 +5335,15 @@ "ステレオ3Dビデオモードです\n" "(0:モノラル、1:右目、2:左目、3:両目)。" -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "ステレオコピー:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "引き延ばし:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." msgstr "このトラックのタイムコードを引き延ばします。このエントリは2つのフォーマットを取ることができます。正の浮動小数点数、もしくは1200/1253のような分数です。ビデオや字幕トラックで最も役立ちます。" @@ -5322,7 +5351,7 @@ msgid "String" msgstr "文字列" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" msgstr "字幕トラック%1%に失われている持続時間要素があります。同じ開始時間と終了時間がないか出力されるSSA/ASSファイルのエントリをチェックしてください。\n" @@ -5331,17 +5360,21 @@ msgid "Subtitle track %u" msgstr "字幕トラック%u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "サポートされているファイルタイプ:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "ステータス情報を出力しません。" + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA(The lossless True Audio codec)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTAロスレスオーディオ" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" -msgstr "タグの展開" +msgstr "タグの抽出" #: src/mmg/tabs/global.cpp:292 msgid "Tag file:" @@ -5357,19 +5390,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "タグファイル (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "タグ" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "タグはWebMの規格に準拠したファイルでは使用することができません。どの出力ファイルにもタグは書き込まれません。\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "トラックID %1%のタグ:%2%個のエントリ" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "トラックID %lldのタグ(%d個のエントリ)%sのタグ" @@ -5378,24 +5411,24 @@ msgid "Tags:" msgstr "タグ:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "mkvmergeがファイルの終端で全てのクラスタを含むメタシーク要素を作成しないようにします。" - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." -msgstr "mkvmergeがAVIのインデックスに対応するキューデータを作成して記録しないようにします。Matroskaファイルはキューデータ無しでも再生できますが、恐らくシークが不正確で遅くなります。これはテスト目的でのみ使用してください。" +msgstr "mkvmergeがAVIのインデックスに対応するキューデータを作成して記録しないようにします。Matroskaファイルはキューデータ無しでも再生できますが、恐らくシークが無効確で遅くなります。これはテスト目的でのみ使用してください。" + +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "mkvmergeがファイルの終端で全てのクラスタを含むメタシーク要素を作成するようにします。" #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "テキストファイル (*.txt);;全てのファイル (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "テキストファイル (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "テキストファイル (*.txt)|*.txt|全てのファイル|*.*" @@ -5407,15 +5440,15 @@ msgid "The AAC profiles are different: %1% and %2%" msgstr "AACプロファイルが異なっています:%1%と%2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" msgstr "このAVCビデオトラックにはフレームタイムコードを補正する'CTTS' atomがありません。しかし、AVC/h.264では伝統的な1つ(Pフレームの場合)もしくは2つ(Bフレームの場合)より多く他のフレームを参照することが許されています。そのようなフレームのタイムコードは順番通りでないことがあり、'CTTS' atomはタイムコードを補正するために必要です。それが無いため、このトラックのタイムコードは正しくないかもしれません。出力されたファイルを見て期待通りに見えることを確認してください。\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" msgstr "トラック%1%のCUEシートは'%2%'に書き込まれました。\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "2つのトラック間でコーデックIDが異なっています:%1%と%2%" @@ -5431,42 +5464,38 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "FPSは0.0ですが、リーダはパケットのタイムコードを渡しませんでした。%1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." -msgstr "トラック番号%s(ファイル'%s')のFPS設定は不正です。" +msgstr "トラック番号%s(ファイル'%s')のFPS設定は無効です。" -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" -msgstr "FourCCは4文字ちょうどでなければなりません('%1% %2%'での引数)。\n" +msgstr "FourCCは4文字ちょうどでなければなりません('%1% %2%'でのパラメータ)。\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." msgstr "トラックID %s(ファイル'%s')のFourCC指定が4文字ちょうどではありません。" -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "このGUIは、GUI自体(%s)とは違うバージョン(%s)のmkvmerge実行ファイルを使用するように設定されました。これはサポートされてはいませんが、妨げられることもありません。設定ダイアログでmkvmerge実行ファイルを変更するべきです。" -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "カラオケ・テキスト判別ヘッダを解析できませんでした(%1%)。\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "MPEG-4 part 2の圧縮はネイティブMPEG-4でのみ動作します。しかし'--engage native_mpeg4'でネイティブMPEG-4モードが選択されていません。\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "Matroskaファイルを解析中です。" -#: src/mmg/header_editor/frame.cpp:700 src/propedit/propedit.cpp:38 +#: src/mmg/header_editor/frame.cpp:701 src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" msgstr "Matroskaファイルは修正されましたが、メタシークエントリを更新することができませんでした。これはプレーヤがこの要素を見つけるのにかなり時間がかかることを意味します。好きなプレーヤでこのファイルをチェックしてください。\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" @@ -5474,13 +5503,13 @@ msgstr "" "Matroskaファイルは修正されましたが、メタシークエントリを更新することができませんでした。これはプレーヤがこの要素を見つけるのにかなり時間がかかることを意味します。好きなプレーヤでこのファイルをチェックしてください。\n" "\n" -"正しい解決策は、このチャプタをXMLファイルに保存し、そのチャプタを含めてファイルを再MUXすることです。" +"適切な解決策は、このチャプタをXMLファイルに保存し、そのチャプタを含めてファイルを再MUXすることです。" -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" msgstr "'--nalu-size-length %1%'で包括的にNALUサイズ長は2から4の間である必要があります。\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Theora判別ヘッダが解析できませんでした(%1%)。\n" @@ -5488,32 +5517,32 @@ msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" msgstr "Vorbisコードブックが異なっています;そのようなトラックは再エンコードしないと連結することはできません。" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" -msgstr "'%2%'に対する引数'%1%'が不正です:'%3%'は正しいトラックIDではありません。\n" +msgstr "'%2%'に対する引数'%1%'が無効です:'%3%'は正しいトラックIDではありません。\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" -msgstr "'%2%'に対する引数'%1%'が不正です:'%3%'は'all'もしくは'first'でなければなりません。\n" +msgstr "'%2%'に対する引数'%1%'が無効です:'%3%'は'all'もしくは'first'でなければなりません。\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" -msgstr "'%2%'に対する引数'%1%'が不正です:要素'%3%'にコロンが多すぎます。\n" +msgstr "'%2%'に対する引数'%1%'が無効です:要素'%3%'にコロンが多すぎます。\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" msgstr "'--timecode-scale'に対する引数は数字でなければなりません。\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." -msgstr "トラック番号%s(ファイル'%s')のアスペクト比の指定が不正です。" +msgstr "トラック番号%s(ファイル'%s')のアスペクト比の指定が無効です。" -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" msgstr "添付ファイル#%1%、ID %2%、MIMEタイプ%3%、サイズ%4%は'%5%'に書き込まれました。\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "添付ファイル'%1%'を読み込むことができませんでした。\n" @@ -5533,17 +5562,17 @@ msgid "The changes are written to the file.\n" msgstr "変更をファイルに書き込みます。\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "チャプタ'%s'には言語が指定されていません。" -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "チャプタ'%s'には開始時間が指定されていません。" -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5557,7 +5586,7 @@ "\n" "メモ:この警告は'オプション'ダイアログでオフにすることができます。'mmgの使い方が~'のチェックを外してください。" -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "選択されたNALUサイズ長'%1%'は小さすぎます。'4'を試してください。\n" @@ -5565,13 +5594,13 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "コーデックタイプ'%1%'はWebMの規格に準拠したファイルでは使用することができません。\n" -#: src/output/p_avc.cpp:200 src/output/p_kate.cpp:113 -#: src/output/p_passthrough.cpp:63 src/output/p_textsubs.cpp:98 -#: src/output/p_video.cpp:139 +#: src/output/p_textsubs.cpp:102 src/output/p_passthrough.cpp:63 +#: src/output/p_video.cpp:139 src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "コーデックのプライベートデータが一致しません(長さ:%1%と%2%)。" -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "コーデックのプライベートデータが一致しません。両者は長さは同じですが(%1%)内容が異なります。" @@ -5582,18 +5611,18 @@ #: src/mmg/options/chapters.cpp:120 #, c-format msgid "The country '%s' is not a valid ccTLD and cannot be selected." -msgstr "国'%s'は正しいccTLDコードではないので選択できません。" +msgstr "国'%s'は有効なccTLDコードではないので選択できません。" -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." msgstr "キューエントリ(インデックス)が書き込まれました..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." msgstr "現在のファイル(番号%d)を削除することはできません。このファイルにトラックを追加結合すると思われる他のファイルが存在します(少なくとも番号%dのファイルがそうです)。そのファイルをまず削除してください。" -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "現在のパケットのタイムコードは前のパケットのタイムコードより小さいです。これは通常ソースファイルが100%%正確に作成されなかったMatroskaファイルであることを意味します。データの損失を避けるためにタイムコードは%1%ミリ秒ズラされます。このためにオーディオ・ビデオの同期が狂うかもしれませんが、\"--sync\"オプションで補正することができます。もし既に\"--sync\"オプションを使っていて、それでもまだこの警告が表示される場合は心配することはありません―これは正常です。もしこのエラーが複数回発生し、特定のトラックでこのメッセージが複数回表示された場合は、そのファイルの製作を失敗しているか、mkvmergeのバグのどちらかです。この場合は作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" @@ -5601,12 +5630,12 @@ msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "デフォルトの言語コード'%1%'は正しいISO639-2言語コードではないので無視されます。\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." -msgstr "トラック番号%s(ファイル'%s')のディレイの指定が不正です。" +msgstr "トラック番号%s(ファイル'%s')のディレイの指定が無効です。" -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5618,15 +5647,15 @@ msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." msgstr "トラックのタグとグローバルタグの違いはmkvmergeのドキュメントで説明されています。手短に説明すると、'入力'タブで追加できるタグは1つのトラックのみに適用されるのに対し、グローバルタグはファイル全体に適用されます。" -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "2つのトラック間で縦解像度が異なっています:%1%と%2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "2つのトラック間で横解像度が異なっています:%1%と%2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5644,54 +5673,54 @@ msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "editで指定された'%1%'と'%2%'はUID %3%の同じトラックに解決されました。\n" -#: src/mmg/header_editor/frame.cpp:688 src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "要素はファイルの終端に書き込まれましたが、セグメントサイズを更新できませんでした。そのため要素は不可視となります。処理は中断されます。ファイルは変更されました!" #: src/output/p_mpeg4_p2.cpp:379 msgid "The extracted values for video width and height from the MPEG4 layer 2 video data bitstream differ from what the values in the source container. The ones from the video data bitstream (%1%x%2%) will be used.\n" -msgstr "MPEG4 layer 2ビデオデータビットストリームから展開された解像度の値が、ソースコンテナの値と異なっています。ビデオデータビットストリームの値(%1%x%2%)が使用されます。\n" +msgstr "MPEG4 layer 2ビデオデータビットストリームから抽出された解像度の値が、ソースコンテナの値と異なっています。ビデオデータビットストリームの値(%1%x%2%)が使用されます。\n" #: src/extract/extract_cli_parser.cpp:110 msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." -msgstr "5番目のモードでは、チャプタ情報とタグを展開しCUEシートとして出力することを試みます。これはmkvmergeの'--chapters'オプションでCUEシートを使用することの逆です。" +msgstr "5番目のモードでは、チャプタ情報とタグを抽出しCUEシートとして出力することを試みます。これはmkvmergeの'--chapters'オプションでCUEシートを使用することの逆です。" -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "ファイルが存在していないか読み取れないため、ファイル'%1%'を添付することができません。\n" -#: src/extract/attachments.cpp:114 src/extract/chapters.cpp:47 -#: src/extract/cuesheets.cpp:208 src/extract/tags.cpp:47 +#: src/extract/attachments.cpp:141 src/extract/cuesheets.cpp:208 +#: src/extract/tags.cpp:47 src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "ファイル'%1%'を開いて読み込むことができませんでした(%2%)。" -#: src/extract/timecodes_v2.cpp:169 src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "ファイル'%1%'を開いて読み込むことができませんでした(%2%)。\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" -msgstr "ファイル'%1%'を開いてコマンドラインの引数を読み込むことができませんでした。\n" +msgstr "ファイル'%1%'を開いてコマンドラインのパラメータを読み込むことができませんでした。\n" -#: src/extract/tracks.cpp:275 src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 src/extract/xtr_wav.cpp:112 +#: src/extract/tracks.cpp:276 src/extract/xtr_avi.cpp:52 +#: src/extract/xtr_tta.cpp:87 src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "ファイル'%1%'を開いて書き込むことができませんでした(%2%)。\n" -#: src/extract/attachments.cpp:92 src/extract/xtr_rmff.cpp:40 +#: src/extract/attachments.cpp:121 src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "ファイル'%1%'を開いて書き込むことができませんでした(%2%, %3%)。\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "ファイル'%1%'を開いて書き込んでいます。\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "ファイル%1%は未知のファイルタイプです。サポートされているファイルタイプ一覧('mkvmerge --list-types')を参照し、もしそのファイルタイプがサポートされているのに正しく認識されない場合は、作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "ファイル'%1%'はサポートされていないファイルタイプです(%2%)。\n" @@ -5699,12 +5728,12 @@ msgid "The file '%1%' is empty." msgstr "ファイル'%1%'は空です。" -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "ファイル'%s'は存在しません。" -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "ファイル'%s'はファイル'%s'と一緒に既に処理されています。再び追加することはできません。" @@ -5713,17 +5742,21 @@ msgid "The file could not be opened for writing." msgstr "ファイルを開いて読み込むことができませんでした。" -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "ファイルがありません。" -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "ファイルは正しいmkvmerge GUIの設定ファイルではないようです。" -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." -msgstr "ヘッダエディタがファイルを読み込んだ以降に他のプログラムによってファイルは変更されました。よってリロードしなければなりません。残念ながら全ての変更が失われるということを意味します。" +msgstr "ヘッダエディタがファイルを読み込んだ以降に他のプログラムによってファイルは変更されました。よって再読み込みしなければなりません。残念ながら全ての変更が失われるということを意味します。" + +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "ファイルは変更されませんでした。" #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" @@ -5733,7 +5766,7 @@ msgid "The file header was not read correctly.\n" msgstr "ファイルヘッダを正しく読み取れませんでした。\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." msgstr "このファイルはサポートされていないコンテナフォーマット(%s)です。" @@ -5742,83 +5775,83 @@ msgid "The file is analyzed.\n" msgstr "ファイルを解析します。\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "ファイルを修正中です、part 1/4..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "ファイルを修正中です、part 2/4..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "ファイルを修正中です、part 3/4..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "ファイルを修正中です、part 4/4..." -#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:330 +#: src/common/property_element.cpp:103 src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "このセグメントのファイル名です。" -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" -msgstr "ファイル番号%1%('%2%')はID %3%のトラックを含んでいないか、そのトラックはコピーされません。'--append-to'の引数は不正です。\n" +msgstr "ファイル番号%1%('%2%')はID %3%のトラックを含んでいないか、そのトラックはコピーされません。'--append-to'の引数は無効です。\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" -msgstr "ファイル番号%1%('%2%')はID %3%のトラックを含んでいないか、そのトラックはコピーされません。そのためトラックを追加結合することができません。'--append-to'の引数は不正です。\n" +msgstr "ファイル番号%1%('%2%')はID %3%のトラックを含んでいないか、そのトラックはコピーされません。そのためトラックを追加結合することができません。'--append-to'の引数は無効です。\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" -msgstr "ファイル番号%1%('%2%')は追加結合されていません。'--append-to'の引数は不正です。\n" +msgstr "ファイル番号%1%('%2%')は追加結合されていません。'--append-to'の引数は無効です。\n" #: src/mmg/header_editor/frame.cpp:248 msgid "The file you tried to open is not a Matroska file." msgstr "開こうとしたファイルはMatroskaファイルではありません。" -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "チャプタを保存しようとしたファイルはMatroskaファイルではありません。" -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "チャプタを保存しようとしたファイルはMatroskaファイルです。このファイルに保存するには'Matroskaファイルに保存'メニューオプションを使用してください。" -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" msgstr "追加結合先のファイルがないため、最初のファイルを追加結合することができません。\n" #: src/extract/extract_cli_parser.cpp:71 msgid "The first mode extracts some tracks to external files." -msgstr "1番目のモードではトラックを外部ファイルに展開します。" +msgstr "1番目のモードではトラックを外部ファイルに抽出します。" #: src/extract/extract_cli_parser.cpp:60 msgid "The first word tells mkvextract what to extract. The second must be the source file. There are few global options that can be used with all modes. All other options depend on the mode." -msgstr "1つ目の単語でmkvextractが何を展開するのかを指定します。2つ目にはソースファイルを指定しなければなりません。全てのモードで使用できるグローバルオプションは僅かしかありません。他のオプションは全てモードに依存します。" +msgstr "1つ目の単語でmkvextractが何を抽出するのかを指定します。2つ目にはソースファイルを指定しなければなりません。全てのモードで使用できるグローバルオプションは僅かしかありません。他のオプションは全てモードに依存します。" #: src/mmg/tabs/global.cpp:554 msgid "The format of the split size is invalid (size too small)." -msgstr "指定サイズで分割のフォーマットが不正です(サイズが小さすぎます)。" +msgstr "指定サイズで分割のフォーマットが無効です(サイズが小さすぎます)。" #: src/mmg/tabs/global.cpp:546 src/mmg/tabs/global.cpp:550 msgid "The format of the split size is invalid." -msgstr "指定サイズで分割のフォーマットが不正です。" +msgstr "指定サイズで分割のフォーマットが無効です。" #: src/mmg/tabs/global.cpp:573 msgid "The format of the split timecode/duration is invalid." -msgstr "タイムコードで分割・指定時間で分割のフォーマットが不正です。" +msgstr "タイムコードで分割・指定時間で分割のフォーマットが無効です。" -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "フォーマットが一致しません。" #: src/extract/extract_cli_parser.cpp:101 msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "4番目のモードではチャプタを展開しXMLに変換します。出力は標準出力に出力されます。その出力はmkvmergeのソースとして使用することができます。" +msgstr "4番目のモードではチャプタを抽出しXMLに変換します。出力は標準出力に出力されます。その出力はmkvmergeのソースとして使用することができます。" -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" msgstr "指定されたタイムスケールの係数は有効な範囲(1~10000000、もしくはビデオトラックが存在していてもサンプリング音の精度を使用する場合は、-1)から外れています。\n" @@ -5827,16 +5860,16 @@ msgid "The header has already been written." msgstr "ヘッダは既に記録されています。" -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "2つのトラック間で縦解像度が異なっています:%1%と%2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "入力ファイル'%s'にはトラックがありません。" -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5846,12 +5879,12 @@ "(Problem occured in tab_input::load(), #1)" msgstr "" "ジョブファイルを正常に解析することができませんでした。\n" -"ファイルが不正もしくは壊れているか、mmgのバグです。\n" +"ファイルが無効もしくは壊れているか、mmgのバグです。\n" "作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" "\n" "(問題はtab_input::load(), #1で発生しました)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5861,12 +5894,12 @@ "(Problem occured in tab_input::load(), #2)" msgstr "" "ジョブファイルを正常に解析することができませんでした。\n" -"ファイルが不正もしくは壊れているか、mmgのバグです。\n" +"ファイルが無効もしくは壊れているか、mmgのバグです。\n" "作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" "\n" "(問題はtab_input::load(), #2で発生しました)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -5876,25 +5909,25 @@ "(Problem occured in tab_input::load(), #3)" msgstr "" "ジョブファイルを正常に解析することができませんでした。\n" -"ファイルが不正もしくは壊れているか、mmgのバグです。\n" +"ファイルが無効もしくは壊れているか、mmgのバグです。\n" "作者のMoritz Bunkus <moritz@bunkus.org>に連絡してください。\n" "\n" "(問題はtab_input::load(), #3で発生しました)" -#: src/mmg/options/chapters.cpp:113 src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/options/chapters.cpp:113 src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." -msgstr "言語'%s'は正しい言語ではないので選択することができません。" +msgstr "言語'%s'は有効な言語ではないので選択することができません。" #: src/input/r_usf.cpp:161 msgid "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" -msgstr "言語コード'%1%'は正しいISO639-2言語コードではないので無視されます。\n" +msgstr "言語コード'%1%'は有効なISO639-2言語コードではないので無視されます。\n" #: src/merge/timecode_factory.cpp:214 msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" -msgstr "タイムコードファイル'%2%'の%1%行目は正しい浮動小数点数を含んでいません。\n" +msgstr "タイムコードファイル'%2%'の%1%行目は有効な浮動小数点数を含んでいません。\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "ロケールを正しく設定することができませんでした。環境変数LANG・LC_ALL・LC_MESSAGESを確認してください。\n" @@ -5902,7 +5935,7 @@ msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." msgstr "最後のファイルが指定したよりも大きかったり長かったりしたとしても、ここで指定した最大分割数以上のファイルは作成されません。例えばちょうど2つのファイルに分割したい場合などに役立ちます。空白の場合はmkvmergeは最大分割数を設定しません。" -#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:413 +#: src/common/property_element.cpp:125 src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -5912,12 +5945,12 @@ "再生中にプレーヤがキャッシュすることのできる最大フレーム数です。\n" "0を指定すると、リファレンスの疑似キャッシュシステムは使用されません。" -#: src/mmg/header_editor/frame.cpp:694 src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "メタシーク要素はファイルの終端に書き込まれましたが、セグメントサイズを更新できませんでした。そのため要素は不可視となります。処理は中断されます。ファイルは変更されました!" -#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:408 +#: src/common/property_element.cpp:123 src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -5927,11 +5960,11 @@ "再生中にプレーヤがキャッシュすることのできる最小フレーム数です。\n" "0を指定すると、リファレンスの疑似キャッシュシステムは使用されません。" -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "mkvmerge GUIのヘルプファイルが選択された場所に見つかりませんでした。再試行するか、'中断'ボタンを押して中断してください。" -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" @@ -5945,19 +5978,19 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "%1%は現在editで指定されている%2%で有効なプロパティ名ではありません。\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" msgstr "出力ファイル名'%1%'と入力ファイルの1つのファイル名が同じです。このままだとmkvmergeは入力ファイルの1つを上書きしてしまいます。恐らくこれはあなたが望むところではないでしょう。\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "'%1% %2%'で既に次のUIDは指定されています。\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" msgstr "2つのオーディオトラック間でサンプル当たりのビット数が異なります:%1%と%2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "2つのオーディオトラック間でチャンネル数が異なっています:%1%と%2%" @@ -5965,31 +5998,31 @@ msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" msgstr "外部タイムコード%1%の数がこのトラックのフレーム数より小さいです。残りのフレームは意図した通りにタイムスタンプを押されないかもしれません。mkvmergeがクラッシュする可能性さえあります。\n" -#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:481 +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." msgstr "イメージの下部で除去するビデオピクセル数です。" -#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:466 +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." msgstr "イメージの左で除去するビデオピクセル数です。" -#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:476 +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." msgstr "イメージの右で除去するビデオピクセル数です。" -#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:471 +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." msgstr "イメージの上部で除去するビデオピクセル数です。" -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" msgstr "'--meta-seek-size'オプションはもうサポートされていません。mkvmergeのドキュメント、特にMATROSKA FILE LAYOUTの項を読んでください。\n" @@ -5997,16 +6030,16 @@ msgid "The order of the various options is not important." msgstr "各種オプションの順番は重要ではありません。" -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "出力ファイル'%1%'を開いて書き込むことはできませんでした(%2%)。\n" -#: src/mmg/mmg_dialog.cpp:511 src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "出力ファイル'%s'は既に存在します。上書きしますか?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "出力ファイル名は無効です。例えば、':'のような無効な文字を含んでいるのかもしれません。" @@ -6018,7 +6051,7 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "ピクチャタイプ'%1%'は認識されません。\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" msgstr "'%1% %2%'で既に前のUIDは指定されています。\n" @@ -6046,7 +6079,7 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "'%1%'においてこのプロパティの値は符号無し整数ではありません。%2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "理由はわかりません。" @@ -6054,11 +6087,11 @@ msgid "The root element must be <%1%>." msgstr "ルート要素は<%1%>でなければなりません。" -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" msgstr "2つのオーディオトラック間でサンプリングレートが異なっています:%1%と%2%" -#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:422 +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" @@ -6071,16 +6104,16 @@ #: src/extract/extract_cli_parser.cpp:85 msgid "The second mode extracts the tags and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "2番目のモードではタグを展開しXMLに変換します。出力は標準出力に出力されます。その出力はmkvmergeのソースとして使用することができます。" +msgstr "2番目のモードではタグを抽出しXMLに変換します。出力は標準出力に出力されます。その出力はmkvmergeのソースとして使用することができます。" #: src/input/r_tta.cpp:84 msgid "The seek table in this TTA file seems to be broken.\n" msgstr "このTTAファイルのシークテーブルは壊れているようです。\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." -msgstr "選択された言語'%s'(チャプタ'%s')は正しい言語コードではありません。予め定義された中から選択してください。" +msgstr "選択された言語'%s'(チャプタ'%s')は有効な言語コードではありません。予め定義された中から選択してください。" #: src/extract/extract_cli_parser.cpp:119 msgid "The sixth mode finds the timecodes of all blocks for a track and outputs a timecode v2 file with these timecodes." @@ -6090,18 +6123,18 @@ msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." msgstr "ここで指定されたファイルサイズで出力ファイルが分割されます。'G'、'M'、'K'の文字がそれぞれギガ・メガ・キロバイトを表すのに使用できます。1024で単位が繰り上がります(Gは1024の3乗、Mは1024の2乗、Kは1024です)。" -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "添付ファイル'%1%'のサイズが0です。\n" -#: src/merge/output_control.cpp:305 src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" msgstr "ソースファイル'%1%'を開くのに失敗したか、最後までシークすることでサイズを測ることができませんでした。\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." -msgstr "トラック番号%s(ファイル'%s')の引き延ばしの指定が不正です。" +msgstr "トラック番号%s(ファイル'%s')の引き延ばしの指定が無効です。" #: src/propedit/propedit_cli_parser.cpp:165 msgid "The string 'track:' followed by one of the chars 'a', 'b', 's' or 'v' followed by a number 'n' selects the nth audio, button, subtitle or video track (e.g. '--edit track:a2')." @@ -6123,17 +6156,17 @@ msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." msgstr "文字列'info'、'segment_info'、'segmentinfo'はセグメント情報の要素を選択します。これは最初の'--edit'オプションが見つかるまでのデフォルトでもあります。" -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "'%1%'のタグを解析することができません:いくつかの必須要素がありません。\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "一時ファイル'%1%'を開いて読み込むことができませんでした(%2%)。\n" #: src/extract/extract_cli_parser.cpp:93 msgid "The third mode extracts attachments from the source file." -msgstr "3番目のモードではソースファイルから添付ファイルを展開します。" +msgstr "3番目のモードではソースファイルから添付ファイルを抽出します。" #: src/merge/timecode_factory.cpp:54 msgid "The timecode file '%1%' contains an unsupported/unrecognized format (version %2%).\n" @@ -6150,15 +6183,15 @@ #: src/merge/timecode_factory.cpp:87 src/merge/timecode_factory.cpp:95 #: src/merge/timecode_factory.cpp:101 src/merge/timecode_factory.cpp:296 msgid "The timecode file '%1%' does not contain a valid 'Assume' line with the default number of frames per second.\n" -msgstr "タイムコードファイル'%1%'はデフォルトのフレームレートが記載された正しい'Assume'行を含んでいません。\n" +msgstr "タイムコードファイル'%1%'はデフォルトのフレームレートが記載された有効な'Assume'行を含んでいません。\n" #: src/merge/timecode_factory.cpp:331 msgid "The timecode file '%1%' does not contain a valid 'Gap' line with the duration of the gap.\n" -msgstr "タイムコードファイル'%1%'はギャップの持続時間が記載された正しい'Gap'行を含んでいません。\n" +msgstr "タイムコードファイル'%1%'はギャップの持続時間が記載された有効な'Gap'行を含んでいません。\n" #: src/merge/timecode_factory.cpp:241 src/merge/timecode_factory.cpp:360 msgid "The timecode file '%1%' does not contain any valid entry.\n" -msgstr "タイムコードファイル'%1%'には正しいエントリが1つもありません。\n" +msgstr "タイムコードファイル'%1%'には有効なエントリが1つもありません。\n" #: src/merge/timecode_factory.cpp:217 msgid "" @@ -6174,103 +6207,115 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "ここで指定したタイムコードで出力ファイルが分割されます。タイムコードはストリーム全体のもので、個々の出力ファイルのものではありません。タイムコードはHH:MM:SS.nnnnnnnnnのフォーマットまたは's'を後ろにつけて秒数で指定します。何時間かを指定する'HH'は省略することができます。ナノ秒を指定する場合は小数第9位まで指定することができ、ナノ秒を省略することもできます。2つ以上のタイムコードを指定する場合はコンマで区切る必要があります。2つのフォーマットを混ぜて使用することもできます。例:01:00:00,01:30:00(1時間と1時間30分で分割) 1800s,3000s,00:10:00(3分、5分、10分で分割)" -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" msgstr "このストリームのタイムコードはファイルの中間でリセットされています。これはサポート外です。現在のパケットは破棄されます。\n" -#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:327 +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." msgstr "動画全体のタイトルです。" -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" -msgstr "ファイル番号%2%('%3%')のトラック%1%を複数回追加結合しようとしました。'--append-to'の引数が不正です。\n" +msgstr "ファイル番号%2%('%3%')のトラック%1%を複数回追加結合しようとしました。'--append-to'のパラメータが無効です。\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "トラックのヘッダを正常にレンダリングすることができませんでした。%1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" -msgstr "トラック番号%1%のコーデックIDが不正です。\n" +msgstr "トラック番号%1%のコーデックIDが無効です。\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" msgstr "ファイル'%2%'のトラック番号%1%をファイル'%4%'のトラック%3%に正しく追加結合することは恐らくできません:%5% 出力ファイルの全体が正しく再生されるか確認してください。このプログラムの作者はこの出力ファイルの再生に関する問題をサポートすることは恐らくありません。\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" msgstr "ファイル'%2%'のトラック番号%1%をファイル'%4%'のトラック番号%3%に追加結合することはできません。%5%\n" -#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:387 +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." msgstr "ブロックヘッダで使われるトラック番号です。" -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "トラックのパラメータが一致しません。" -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "アップデート情報を %1% から読み出すことができませんでした。\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "2つのトラック間で横解像度が異なっています:%1%と%2%" -#: src/merge/output_control.cpp:804 src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "新しいバージョンがオンラインで入手可能です。" + +#: src/merge/output_control.cpp:829 src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" -msgstr "ID'%1%'のファイルはありません。'--append-to'の引数が不正です。\n" +msgstr "ID'%1%'のファイルはありません。'--append-to'のパラメータが無効です。\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "'%1%'の翻訳は利用できません。\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "アップデート状況の問い合わせ中にエラーが発生しました。" + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "エラーが発生しました。" -#: src/mmg/header_editor/frame.cpp:538 src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." msgstr "ヘッダの値にエラーがあり、ヘッダを保存することができませんでした。最初のエラーが選択されています。" -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "警告が発せられました" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." msgstr "警告が発せられるか、プロセスが終了されました。" -#: src/input/r_avi.cpp:609 src/input/r_real.cpp:326 +#: src/input/r_real.cpp:326 src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" -msgstr "このAACトラックは正しいヘッダを含んでいません。AACの情報を解析することができませんでした。\n" +msgstr "このAACトラックは有効なヘッダを含んでいません。AACの情報を解析することができませんでした。\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" -msgstr "このAACトラックは正しいヘッダを含んでいません。追加ヘッダのサイズは%1%ですが、期待されるサイズは2~5バイトです。\n" +msgstr "このAACトラックは有効なヘッダを含んでいません。追加ヘッダのサイズは%1%ですが、期待されるサイズは2~5バイトです。\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "このAC3トラックは%1%バイトのAC3ではないデータを含んでいます。これは%2%ミリ秒のディレイに相当します。AC3ではないデータの代わりにこのディレイが使用されます。\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "このAC3トラックは%1%バイトのAC3ではないデータを含んでおり、それはスキップされました。オーディオ・ビデオの同期は失われました。\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "このAVC/h.264は現在のNALUサイズの最大値には大きすぎるフレームを含んでいます。mkvmergeを再実行し、このトラックのNALUサイズを%1%に設定する必要があります(コマンドラインパラメータ '--nalu-size-length %2%:%1%')。\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" msgstr "このAVC/h.264トラックはキーフレームで始まっていません。最初の%1%フレームはスキップされました。\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "このMPEGオーディオトラックは%1%バイトのMP3ではないデータを含んでいます。これは%2%ミリ秒のディレイに相当します。そのゴミデータの代わりにこのディレイが使用されます。\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "このMPEGオーディオトラックは%1%バイトのMP3ではないデータを含んでおり、それはスキップされました。オーディオ・ビデオの同期は失われました。\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" msgstr "このOgg/OGMファイルはチャプタやタイトルの情報を含んでいます。残念ながらこの情報を格納するのに使用された文字セットをはっきりと特定することはできません。このプログラムはシステムの現在の文字セットが適切だと推測します。これは'--chapter-charset <charset>'スイッチで上書きすることができます。\n" @@ -6305,11 +6350,11 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "このファイルは少なくとも1つ負の値のタイムコードを持つフレームを含んでいます。負の値にならないよう全てのタイムコードは%1%だけズラされます。\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "このファイルはタイムコードの行に座標を含んでいます。そのような座標はMatroska SRT字幕フォーマットではサポートされていません。座標は自動的に除去されます。\n" -#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:548 +#: src/mmg/header_editor/frame.cpp:260 src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "このファイルを開く、または解析することができませんでした。。" @@ -6317,13 +6362,13 @@ msgid "This file could not be opened or parsed.\n" msgstr "このファイルを開く、または解析することができませんでした。。\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "このファイルにはチャプタがありません。" -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." -msgstr "このファイルには正しいチャプタがありません。" +msgstr "このファイルには有効なチャプタがありません。" #: src/mmg/tabs/attachments.cpp:159 msgid "This is the name that will be stored in the output file for this attachment. It defaults to the file name of the original file but can be changed." @@ -6333,9 +6378,9 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "この映像のメインタイトルとしてプレーヤが表示するタイトルを指定します。" -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." -msgstr "このオプションには引数'n'を追加する必要があります。mkvmergeが各クラスタに最大でn個のデータブロックを配置するようにします。もし数字の後に'ms'がついていた場合は、各クラスタに最大nミリ秒のデータを配置するようにします。mkvmergeが対応するクラスタの長さは最大で60000ブロックまたは32000ms、最小で100msです。プログラムはクラスタ単位でしかシークできないので、大きいクラスタを作成するとシークが不正確になったり遅くなったりする可能性があります。" +msgstr "このオプションにはパラメータ'n'を追加する必要があります。mkvmergeが各クラスタに最大でn個のデータブロックを配置するようにします。もし数字の後に'ms'がついていた場合は、各クラスタに最大nミリ秒のデータを配置するようにします。mkvmergeが対応するクラスタの長さは最大で60000ブロックまたは32000ms、最小で100msです。プログラムはクラスタ単位でしかシークできないので、大きいクラスタを作成するとシークが不正確になったり遅くなったりする可能性があります。" #: src/propedit/change.cpp:253 msgid "This property is mandatory and cannot be deleted in '%1%'. %2%\n" @@ -6345,11 +6390,11 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "このプロパティは唯一のものです。'%1%'でさらに追加することはできません。%2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "これは本当に、本当に発生するべきではありません。最初のメタシーク要素のために確保されたスペースが小さすぎます。%1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "これは本当に、本当に発生するべきではありません。最初のメタシーク要素のために確保されたスペースが小さすぎます。必要なサイズ:%1%。%2%\n" @@ -6357,15 +6402,15 @@ msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." msgstr "これは発生するべきではありません。作者のMoritz Bunkus <moritz@bunkus.org>に、このエラー・警告メッセージ、何をしようとしたのかの説明、使用したコマンドライン、使用しているOSを連絡してください。ありがとうございます。" -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." msgstr "このトラックがSBR AAC/HE-AAC/AAC+のデータを含んでいる場合にチェックします。これはAACの入力ファイルにのみ必要です。というのもこのファイルではSBR AACは自動で検知できないためです。MP4やMatroskaファイルから読み込まれたAACトラックには必要ではありません。" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "このトラックはWebMと互換性がないため、有効化することはできません。" -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "タイムスライス" @@ -6378,12 +6423,12 @@ msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" msgstr "タイムコードファイル (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "タイムコードスケール:%1%" -#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:421 +#: src/common/property_element.cpp:128 src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "タイムコードスケーリング" @@ -6391,11 +6436,11 @@ msgid "Timecodes:" msgstr "タイムコード:" -#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:327 +#: src/common/property_element.cpp:102 src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "タイトル" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "タイトル:%1%" @@ -6411,51 +6456,51 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "トラック%1%のCodecPrivateが小さすぎます。\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "トラック%1%は未知もしくはサポートされていない圧縮アルゴリズム(%2%)で圧縮されています。\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "トラック%1%はbzlibで圧縮されていますが、mkvmergeはbzlib圧縮をサポートしてコンパイルされていません。\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "トラック%1%はlzo1xで圧縮されていますが、mkvmergeはlzo1x圧縮をサポートしてコンパイルされていません。\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "トラック%1%はzlibで圧縮されていますが、mkvmergeはzlib圧縮をサポートしてコンパイルされていません。\n" #: src/extract/xtr_aac.cpp:51 msgid "Track %1% with the CodecID '%2%' contains invalid \"codec private\" data for AAC.\n" -msgstr "コーデックID '%2%'のトラック%1%はAACとしては不正な\"codec private\"データを含んでいます。\n" +msgstr "コーデックID '%2%'のトラック%1%はAACとしては無効な\"codec private\"データを含んでいます。\n" #: src/extract/xtr_ogg.cpp:87 msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" -msgstr "コーデックID '%2%'のトラック%1%には正しいヘッダがありません。\n" +msgstr "コーデックID '%2%'のトラック%1%には有効なヘッダがありません。\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" -msgstr "コーデックID '%2%'のトラック%1%は\"bits per second (bps)\"要素がなく、展開することができません。\n" +msgstr "コーデックID '%2%'のトラック%1%は\"bits per second (bps)\"要素がなく、抽出することができません。\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" -msgstr "コーデックID '%2%'のトラック%1%は\"codec private \"要素がなく、展開することができません。\n" +msgstr "コーデックID '%2%'のトラック%1%は\"codec private \"要素がなく、抽出することができません。\n" -#: src/extract/xtr_aac.cpp:42 src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 src/extract/xtr_ogg.cpp:37 -#: src/extract/xtr_ogg.cpp:72 src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_ogg.cpp:37 src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 src/extract/xtr_rmff.cpp:31 +#: src/extract/xtr_vobsub.cpp:65 src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" -msgstr "コーデックID '%2%'のトラック%1%は\"codec private\"要素がなく、展開することができません。\n" +msgstr "コーデックID '%2%'のトラック%1%は\"codec private\"要素がなく、抽出することができません。\n" #: src/extract/xtr_avi.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" -msgstr "コーデックID '%2%'のトラック%1%は\"default duration\"要素がなく、展開することができません。\n" +msgstr "コーデックID '%2%'のトラック%1%は\"default duration\"要素がなく、抽出することができません。\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "トラック %1%:%2%、コーデックID: %3%%4%%5%%6%\n" @@ -6467,7 +6512,7 @@ msgid "Track %1%: NAL too big\n" msgstr "トラック%1%:NALが大きすぎます\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "トラック%1%:字幕エントリ番号%2%には持続時間がありません。1秒と仮定します。\n" @@ -6479,24 +6524,24 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "Track ID %1%は未知のAACタイプです。\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "トラックID %1%:%2%(%3%)" -#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:390 +#: src/common/property_element.cpp:114 src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "トラックUID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "トラックUID:%1%" #: src/extract/extract_cli_parser.cpp:70 msgid "Track extraction" -msgstr "トラックの展開" +msgstr "トラックの抽出" -#: src/propedit/options.cpp:157 src/propedit/propedit_cli_parser.cpp:88 -#: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/propedit_cli_parser.cpp:88 +#: src/propedit/propedit_cli_parser.cpp:163 src/propedit/options.cpp:157 msgid "Track headers" msgstr "トラック名" @@ -6504,43 +6549,43 @@ msgid "Track name:" msgstr "トラック名:" -#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:386 +#: src/common/property_element.cpp:113 src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "トラック番号" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "トラック%1%は暗号化されていますが暗号化解除はまだ実装されていません。\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "トラック番号:%1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "トラックオーバーレイ:%1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "トラックタイプ:%1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" -msgstr "サポートされていない方式(圧縮や暗号化)でエンコードされた内容を展開することはできません。\n" +msgstr "サポートされていない方式(圧縮や暗号化)でエンコードされた内容を抽出することはできません。\n" #: src/mmg/tabs/input.cpp:187 msgid "Tracks, chapters and tags:" msgstr "トラック、チャプタ、タグ:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." msgstr "TrueHDオーディオには2つのフレームタイプがあります:同期フレームと非同期フレームです。このスイッチを使用すると、mkvmergeは1つの同期フレームとそれに続く全ての非同期フレームを1つのMatroskaブロックに格納します。このスイッチを使用しないと、各非同期フレームはそれぞれのMatroskaブロックに格納されます。" -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" -msgstr "2つのVobSubトラックを同じファイルに展開できるのは、CodecPrivateデータが一致するときだけです。トラック%1%と%2%はそうではありません。\n" +msgstr "2つのVobSubトラックを同じファイルに抽出できるのは、CodecPrivateデータが一致するときだけです。トラック%1%と%2%はそうではありません。\n" -#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:461 +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6552,26 +6597,30 @@ msgid "Type:" msgstr "タイプ:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "タイプ:%1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USFテキスト字幕" #: src/common/ebml.cpp:84 msgid "UTFstring_to_cstrutf8: Invalid wide character. Please contact moritz@bunkus.org if you think that this is not true." -msgstr "UTFstring_to_cstrutf8:不正なUnicode文字です。そうではないと考えられる場合はmoritz@bunkus.orgに連絡してください。" +msgstr "UTFstring_to_cstrutf8:無効なUnicode文字です。そうではないと考えられる場合はmoritz@bunkus.orgに連絡してください。" #: src/mpegparser/M2VParser.cpp:237 msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "片フィールドフレームの後に予期せぬピクチャフレームがありました。MUXしようとする前にこのMPEG2ビデオストリームを修復してください。\n" +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "未知" + #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." msgstr "未知のAAC MPEG-2プロファイル%1%。" @@ -6580,7 +6629,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "未知のAAC MPEG-4オブジェクトタイプ%1%。" -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "未知のオーディオストリームタイプ 0x%|1$04x|です。ストリームID %2%は無視されます。\n" @@ -6588,23 +6637,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "'%1%'に未知のチャプタファイルフォーマットがあります。サポートされているチャプタフォーマットを含んでいません。\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "トラック%2%は未知のエンコーディングタイプ%1%です。\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "'%1% %2%'で次のUIDが未知のフォーマットです。\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "'%1% %2%'で前のUIDが未知のフォーマットです。\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" -msgstr "'%1% %2%'でセグメントIDが未知のフォーマットです。\n" +msgstr "'%1% %2%'でセグメントID'%3%'が未知のフォーマットです。\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "未知のヘッダ 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6612,7 +6661,7 @@ msgid "Unknown mode '%1%'.\n" msgstr "'%1%'は未知のモードです。\n" -#: src/common/mm_io.cpp:112 src/common/mm_io_win.cpp:68 +#: src/common/mm_io_win.cpp:69 src/common/mm_io.cpp:112 msgid "Unknown open mode" msgstr "未知のオープンモード" @@ -6624,7 +6673,7 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "'%1% %2%'で未知のパースモードが指定されました。\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "このトラックのオーディオフォーマット 0x%|1$04x|は未知もしくはサポートされていません。\n" @@ -6640,15 +6689,15 @@ msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." msgstr "符号無し整数(%1%)は小さすぎます。最小値は%2%です。" -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" msgstr "サポートされていないMPEGバージョンです:0x%|1$02x|(パケット%2%、タイムコード%3%)。MPEG2と仮定します。このトラックに関してはもう警告は表示されません。\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" msgstr "サポートされていないフォーマットです" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" msgstr "このトラックはサポートされているトラックタイプではありません。\n" @@ -6660,86 +6709,44 @@ msgid "Usage" msgstr "使用法" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"使用法:mkvinfo [オプション] 入力ファイル名\n" -"\n" -" オプション\n" -" -g, --gui GUIを起動します(入力ファイルが指定されていた場合は開きます)。\n" -" 入力ファイル名 ソースファイルを指定します。\n" -" -v, --verbose より詳細な情報を表示します。mkvinfoの出力についての\n" -" 詳細な説明はman pageを参照してください。\n" -" -c, --checksum フレームの内容のチェックサムを計算し表示します。\n" -" -s, --summary 内容の概要だけを表示し、個々の要素を表示しません。\n" -" -x, --hexdump 各フレームの最初の16バイトを16進数のダンプとして表示します。\n" -" -X, --full-hexdump\n" -" 各フレームの全てのバイトを16進数のダンプとして表示します。\n" -" -z, --size ヘッダも含めた各要素のサイズを表示します。\n" -" --output-charset <charset>\n" -" 出力メッセージの文字セットを指定します。\n" -" -r, -o, --redirect-output file.ext\n" -" 全てのメッセージをこのファイルにリダイレクトします。\n" -" -h, --help このヘルプを表示します。\n" -" -V, --version バージョン情報を表示します。\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." -msgstr "出力ファイルにセグメント紐付けを使用します。この機能についての詳しい説明はmkvmergeのドキュメントを参照してください。" +msgstr "出力ファイルにセグメントリンクを使用します。この機能についての詳しい説明はmkvmergeのドキュメントを参照してください。" -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." msgstr "このオプションを指定しなければ各ファイル間で異なる値を取るパラメータ(MUX日、セグメントUDI、トラックUID等)を固定値にします。同じ設定かつこのオプションを指定してMUXされたファイルはそっくりなファイルになります。" -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "新しいAACコーデックID('A_AAC')の代わりに古いAACコーデックID(例:'A_AAC/MPEG4/SBR')を使用します。" -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" msgstr "前に使用された出力ディレクトリを使用する" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "このディレクトリを使用する:" -#: src/mmg/tabs/input_extra.cpp:69 src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "ユーザー定義オプション:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "NALUサイズを3バイトにすると、特定のAVC/h.264コーデックでトラックがデコードできなくなるかもしれません。\n" -#: src/input/r_ac3.cpp:90 src/input/r_matroska.cpp:1510 -#: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_mpeg_ps.cpp:1176 src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "%1%AC3出力モジュールを使用しています。\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "AACオーディオ出力モジュールを使用しています。\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "AACデマルチプレクサを使用しています。\n" @@ -6747,8 +6754,8 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "AAC出力モジュールを使用しています(FourCC:%1%)。\n" -#: src/input/r_aac.cpp:123 src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 src/input/r_qtmp4.cpp:1531 src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "AAC出力モジュールを使用しています。\n" @@ -6760,7 +6767,7 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "AC3出力モジュールを使用しています(FourCC:%1%)。\n" -#: src/input/r_avi.cpp:538 src/input/r_ogm.cpp:987 src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 src/input/r_qtmp4.cpp:1454 src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "AC3出力モジュールを使用しています。\n" @@ -6769,7 +6776,7 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "AVC/h.264 ESデマルチプレクサを使用しています。\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "AVIデマルチプレクサを使用しています。ファイルを開いています。ファイルサイズによってはしばらく時間がかかることがあります。\n" @@ -6781,9 +6788,8 @@ msgid "Using the DTS demultiplexer.\n" msgstr "DTSデマルチプレクサを使用しています。\n" -#: src/input/r_avi.cpp:549 src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 src/input/r_mpeg_ps.cpp:1181 -#: src/input/r_wav.cpp:354 +#: src/input/r_avi.cpp:680 src/input/r_dts.cpp:114 src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "DTS出力モジュールを使用しています。\n" @@ -6791,7 +6797,7 @@ msgid "Using the Dirac demultiplexer.\n" msgstr "Diracデマルチプレクサを使用しています。\n" -#: src/input/r_dirac.cpp:96 src/input/r_matroska.cpp:1431 +#: src/input/r_dirac.cpp:96 src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "Diracビデオ出力モジュールを使用しています。\n" @@ -6799,8 +6805,8 @@ msgid "Using the FLAC demultiplexer.\n" msgstr "FLACデマルチプレクサを使用しています。\n" -#: src/input/r_flac.cpp:164 src/input/r_matroska.cpp:1540 -#: src/input/r_ogm_flac.cpp:287 +#: src/input/r_flac.cpp:164 src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "FLAC出力モジュールを使用しています。\n" @@ -6808,11 +6814,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "IVFデマルチプレクサを使用しています。\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "カラオケ・テキスト出力モジュールを使用しています。\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "カラオケ・テキスト字幕出力モジュールを使用しています。\n" @@ -6820,7 +6826,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "MP2/MP3デマルチプレクサを使用しています。\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "MPEG ESデマルチプレクサを使用しています。\n" @@ -6828,49 +6834,56 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "MPEG PSデマルチプレクサを使用しています。\n" -#: src/input/r_avi.cpp:531 src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 src/input/r_qtmp4.cpp:1541 +#: src/input/r_ogm.cpp:1030 src/input/r_qtmp4.cpp:1537 src/input/r_avi.cpp:557 +#: src/input/r_mpeg_ps.cpp:1171 src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "MPEGオーディオ出力モジュールを使用しています。\n" -#: src/input/r_matroska.cpp:1415 src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "MPEG-%1%ビデオ出力モジュールを使用しています。\n" -#: src/input/r_avi.cpp:299 src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "MPEG-1/2ビデオ出力モジュールを使用しています。\n" -#: src/input/r_matroska.cpp:1804 src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "MPEG-4 part 10 (AVC)ビデオ出力モジュールを使用しています。\n" -#: src/input/r_avc.cpp:136 src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_ogm.cpp:1154 src/input/r_avc.cpp:136 src/input/r_avi.cpp:348 +#: src/input/r_mpeg_ps.cpp:1210 src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "MPEG-4 part 10 ESビデオ出力モジュールを使用しています。\n" -#: src/input/r_avi.cpp:307 src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 src/input/r_qtmp4.cpp:1481 src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "MPEG-4 part 2ビデオ出力モジュールを使用しています。\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "Matroskaデマルチプレクサを使用しています。\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "OGG/OGMデマルチプレクサを使用しています。\n" -#: src/input/r_avi.cpp:523 src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 src/input/r_qtmp4.cpp:1547 src/input/r_wav.cpp:395 +#: src/input/r_ogm.cpp:1049 src/input/r_qtmp4.cpp:1543 src/input/r_avi.cpp:549 +#: src/input/r_wav.cpp:395 src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "PCM出力モジュールを使用しています。\n" +#: src/input/r_matroska.cpp:1719 src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "PGS出力モジュールを使用しています。\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "PGSSUPデマルチプレクサを使用しています。\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "Quicktime/MP4デマルチプレクサを使用しています。\n" @@ -6887,7 +6900,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "SRT字幕リーダを使用しています。\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "SSA/ASS字幕出力モジュールを使用しています。\n" @@ -6899,11 +6912,11 @@ msgid "Using the TTA demultiplexer.\n" msgstr "TTAデマルチプレクサを使用しています。\n" -#: src/input/r_matroska.cpp:1566 src/input/r_tta.cpp:109 +#: src/input/r_tta.cpp:109 src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "TTA出力モジュールを使用しています。\n" -#: src/input/r_matroska.cpp:1427 src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "Theoraビデオ出力モジュールを使用しています。\n" @@ -6927,11 +6940,12 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "VC1 ESデマルチプレクサを使用しています。\n" -#: src/input/r_mpeg_ps.cpp:1215 src/input/r_vc1.cpp:96 +#: src/input/r_vc1.cpp:96 src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "VC1ビデオ出力モジュールを使用しています。\n" -#: src/input/r_ivf.cpp:87 src/input/r_matroska.cpp:1435 +#: src/input/r_ogm.cpp:1445 src/input/r_ivf.cpp:87 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "VP8ビデオ出力モジュールを使用しています。\n" @@ -6939,11 +6953,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "VobBtnボタンリーダを使用しています。\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "VobBtn出力モジュールを使用しています。\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "VobSub出力モジュールを使用しています。\n" @@ -6955,8 +6969,8 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "VobSub字幕リーダを使用しています(字幕ファイル'%1%')。\n" -#: src/input/r_avi.cpp:678 src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "Vorbis出力モジュールを使用しています。\n" @@ -6972,21 +6986,20 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "WAVPACKデマルチプレクサを使用しています。\n" -#: src/input/r_matroska.cpp:1596 src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "WAVPACK出力モジュールを使用しています。\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" msgstr "一般オーディオ出力モジュールを使用しています(FourCC:%|1$.4s|)。\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "この%1%トラックにパススルー出力モジュールを使用しています。\n" -#: src/input/r_avi.cpp:381 src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 src/input/r_srt.cpp:60 src/input/r_ssa.cpp:71 -#: src/input/r_usf.cpp:259 +#: src/input/r_usf.cpp:259 src/input/r_ogm.cpp:1101 src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 src/input/r_srt.cpp:60 src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "テキスト字幕出力モジュールを使用しています。\n" @@ -6994,23 +7007,19 @@ msgid "Using the video output module (FourCC: %1%).\n" msgstr "ビデオ出力モジュールを使用しています(FourCC:%1%)。\n" -#: src/input/r_qtmp4.cpp:1473 src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" msgstr "ビデオ出力モジュールを使用しています(FourCC:%|1$.4s|)。\n" -#: src/input/r_avi.cpp:336 src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "ビデオ出力モジュールを使用しています。\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1エレメンタリストリーム" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1ビデオエレメンタリストリーム" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" msgstr "有効なハック:\n" @@ -7019,67 +7028,67 @@ msgid "Validates the content of all changeable headers" msgstr "全ての変更可能なヘッダの内容の正当性を検証します" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" msgstr "エラーチェックのために現在のチャプタをベリファイします" -#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:485 +#: src/common/property_element.cpp:147 src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" msgstr "ビデオのアスペクト比のタイプ" -#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:481 +#: src/common/property_element.cpp:146 src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "ビデオクロップ(下)" -#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:466 +#: src/common/property_element.cpp:143 src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "ビデオクロップ(左)" -#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:476 +#: src/common/property_element.cpp:145 src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "ビデオクロップ(右)" -#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:471 +#: src/common/property_element.cpp:144 src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "ビデオクロップ(上)" -#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:456 +#: src/common/property_element.cpp:141 src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "縦表示解像度" -#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:461 +#: src/common/property_element.cpp:142 src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "表示解像度単位" -#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:451 +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "横表示解像度" #: src/mpegparser/M2VParser.cpp:163 msgid "Video ended with a shortened group of pictures. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "ビデオが短くカットされたGOPで終わっています。ドロップされたフレームがあります。MUXする前にこのMPEG2ビデオストリームを修復したいと思うかもしれません。\n" +msgstr "ビデオが短くカットされたGOPで終わっています。ドロップされたフレームがあります。MUXする前にこのMPEG2ビデオストリームを修復してください。\n" #: src/common/property_element.cpp:137 msgid "Video interlaced flag" msgstr "ビデオインターレース化フラグ" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "ビデオパケットアセンブリが落ちました。エラーコード:%1%(%2%)\n" -#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:446 +#: src/common/property_element.cpp:139 src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "縦解像度(ピクセル)" -#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:441 +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "横解像度(ピクセル)" -#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:491 +#: src/common/property_element.cpp:149 src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "ビデオステレオモード" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "ビデオトラック" @@ -7088,83 +7097,71 @@ msgid "Video track %u" msgstr "ビデオトラック%u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "選択したジョブをMUX処理中のmkvmergeの出力を見ます" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtnボタン" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" -msgstr "" +msgstr "VobButton" -#: src/mmg/tabs/input.cpp:256 src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub字幕" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE(非圧縮PCMオーディオ)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE(非圧縮PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACKロスレスオーディオ" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4オーディオ" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" msgstr "mmgの使い方が間違っていそうな場合に警告する" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "%1%行目で警告:開始時間のタイムコードが前のエントリのタイムコードよりも小さいです。このファイルの全てのエントリは開始時間でソートされます。\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "警告:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "警告:" -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "警告:UID %1%のトラックが複数あります。" -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "警告:番号%1%のトラックが複数あります。" -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "警告: " -#: src/mmg/tabs/input.cpp:259 src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebMオーディオ/ビデオファイル" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." -msgstr "ファイルが追加された際にファイル名をスキャンします。もし'DELAY'という単語の後ろに数字が続いていたら、その数字がファイルで見つかった全てのオーディオトラックの'ディレイ'の入力フィールドに自動的に入力されます。" +msgstr "ファイルが追加された際にファイル名をスキャンします。もし'DELAY'という単語の後ろに数字が続いていたら、そのファイルで見つかった全てのオーディオトラックの'ディレイ'の入力フィールドに、その数字が自動的に入力されます。" -#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:441 +#: src/common/property_element.cpp:138 src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "エンコードされたビデオフレームの横解像度(ピクセル単位)です。" -#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:451 +#: src/common/property_element.cpp:140 src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." msgstr "ビデオフレームの横表示解像度です。" -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "全てのブロックの持続時間を記録します。これはファイルサイズを増大させますが、現在のところプレーヤには何のメリットももたらしません。" @@ -7176,15 +7173,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "IDがTIDのトラックをファイル'out'に書き込みます。" -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "書き込みアプリケーション:%1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" msgstr "情報の書き込み中" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "VobSubインデックスファイル'%1%'を書き込んでいます。\n" @@ -7196,20 +7193,20 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "間違ったTheoraのバージョンです:%1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" -msgstr "'--split-max-files'の引数が間違っています。\n" +msgstr "'--split-max-files'のパラメータが間違っています。\n" #: src/mmg/options/mkvmerge.cpp:117 msgid "Wrong file chosen" msgstr "間違ったファイルが選択されました" -#: src/mmg/header_editor/frame.cpp:248 src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/header_editor/frame.cpp:248 src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "間違ったファイルが選択されました" -#: src/common/kate.cpp:46 src/common/theora.cpp:35 +#: src/common/theora.cpp:35 src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "間違ったヘッダタイプです:0x%|1$02x| != 0x%|2$02x|" @@ -7229,7 +7226,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "%1%行目でXMLパーサエラーが発生しました:%2%。" -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "既に最新のバージョンが実行されています。" + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7247,7 +7248,7 @@ "または普通のHH:MM:SS.mmmやHH:MM:SSのフォーマットを取ることができます。\n" "例:-00:05:23を指定すると、全てのチャプタを現在より5分23秒早めることができます。" -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7262,7 +7263,7 @@ "\n" "続行しますか?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7276,11 +7277,11 @@ "\n" "mmgの警告を設定ページで有効にした場合を除いて、このメッセージは1度だけ表示されます。" -#: src/common/compression.cpp:130 src/common/compression.cpp:167 +#: src/common/compression.cpp:139 src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib展開が失敗しました。結果:%1%\n" -#: src/info/mkvinfo.cpp:165 src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[トラック%2%の%1%フレーム、タイムコード %3%]" @@ -7288,7 +7289,7 @@ msgid "aac_reader: ADIF header files are not supported." msgstr "aac_reader:ADIFヘッダファイルはサポートされていません。" -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader:ファイルを開くことができませんでした。" @@ -7296,15 +7297,15 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader:%1%バイトを読み込むことができませんでした。" -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" -msgstr "aac_reader:最初の%1%バイトで正しいAACパケットが見つかりませんでした。\n" +msgstr "aac_reader:最初の%1%バイトで有効なAACパケットが見つかりませんでした。\n" -#: src/mmg/jobs.cpp:335 src/mmg/jobs.cpp:444 src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 src/mmg/jobs.cpp:453 src/mmg/jobs.cpp:531 msgid "aborted" msgstr "中断" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" msgstr "ac3_bs_packetizer::add_to_buffer(): テストされていないコードです('size'が奇数)。mkvmergeがクラッシュしたり、出力されたファイルのオーディオトラックが完全で正しいものでなかった場合、作者 Moritz Bunkus に moritz@bunkus.org 宛で連絡をお願いします。\n" @@ -7318,24 +7319,24 @@ #: src/input/r_ac3.cpp:71 msgid "ac3_reader: No valid AC3 packet found in the first %1% bytes.\n" -msgstr "ac3_reader:最初の%1%バイトに正しいAC3パケットが見つかりませんでした。\n" +msgstr "ac3_reader:最初の%1%バイトに有効なAC3パケットが見つかりませんでした。\n" #: src/mmg/tabs/attachments.cpp:156 src/mmg/tabs/input.cpp:183 msgid "add" msgstr "追加" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "アナグリフ方式" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "追加結合" -#: src/input/r_matroska.cpp:88 src/mmg/mmg.cpp:57 src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 src/mmg/mmg.cpp:62 src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "オーディオ" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "OGGに埋め込まれたオーディオ・ビデオ・テキスト字幕" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_reader:ソースファイルを開けませんでした。" @@ -7344,35 +7345,35 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_reader:発生するべきではありません。" -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_reader:AVIソースを初期化できませんでした。理由:%1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_reader:ソースファイルを読み込めませんでした。" -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." -msgstr "avi_reader:ソースファイルは正しいAVIファイルではありません。" +msgstr "avi_reader:ソースファイルは有効なAVIファイルではありません。" -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "サンプルあたりビット数:%1%" -#: src/input/r_matroska.cpp:89 src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "ボタン" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > sizeです。発生するべきではありません。バグレポートを提出してください。\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2圧縮が失敗しました。結果:%1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress()は実装されていません\n" @@ -7380,19 +7381,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index:'%1%'が見つかりませんでした\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "チャンネル数:%1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "チェッカーボード方式(レフトファースト)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "チェッカーボード方式(ライトファースト)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "垂直インターリーブ方式(レフトファースト)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "垂直インターリーブ方式(ライトファースト)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "正常に完了しました" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "完了しましたが、警告があります" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "圧縮" @@ -7402,26 +7419,22 @@ #: src/input/r_corepicture.cpp:72 msgid "corepicture_reader: Source is not a valid CorePanorama file." -msgstr "corepicture_reader:ソースは正しいCorePanoramaファイルではありません。" +msgstr "corepicture_reader:ソースは有効なCorePanoramaファイルではありません。" -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number:file_numが見つかりませんでした。%1%\n" -#: src/common/ebml.cpp:100 src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring:不正なUTF-8文字列の並びに遭遇しました。moritz@bunkus.orgに連絡し、UTF-8パーサを実装するよう要求してください。" - -#: src/mmg/tabs/input_extra.cpp:91 src/mmg/tabs/input_extra.cpp:165 -#: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_general.cpp:106 src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "デフォルト" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "デフォルトのフレーム持続期間:%|1$.3f|ms (ビデオトラックの場合 %|2$.3f| fps)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit()が失敗しました。結果:%1%\n" @@ -7433,23 +7446,23 @@ msgid "disable all" msgstr "全て無効" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " msgstr " " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "表示高さ:%1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "表示幅:%1%" -#: src/mmg/jobs.cpp:520 src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 src/mmg/jobs.cpp:717 msgid "done" msgstr "完了" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "完了/警告有り" @@ -7467,36 +7480,36 @@ #: src/input/r_dts.cpp:77 msgid "dts_reader: No valid DTS packet found in the first %1% bytes.\n" -msgstr "dts_reader:最初の%1%バイトに正しいDTSパケットが見つかりませんでした。\n" +msgstr "dts_reader:最初の%1%バイトに有効なDTSパケットが見つかりませんでした。\n" #: src/mmg/tabs/attachments.cpp:153 msgid "enable all" msgstr "全て有効" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "有効" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "暗号化" #: src/input/r_qtmp4.cpp:516 src/input/r_qtmp4.cpp:598 #: src/input/r_qtmp4.cpp:632 src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 src/common/mm_io.cpp:481 src/common/mm_io.cpp:491 #: src/common/mm_io.cpp:501 src/common/mm_io.cpp:511 src/common/mm_io.cpp:521 #: src/common/mm_io.cpp:531 src/common/mm_io.cpp:541 src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "ファイル終端" -#: src/mmg/jobs.cpp:344 src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 src/mmg/jobs.cpp:532 msgid "failed" msgstr "失敗" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "generic_packetizer_c 用の filelist_t が見つかりませんでした。 %1%\n" @@ -7542,7 +7555,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_reader: metadata_respond_allをセットできませんでした。\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_reader:ファイル解析エラー:%1%\n" @@ -7554,23 +7567,19 @@ msgid "flac_reader: could not initialize the FLAC packetizer.\n" msgstr "flac_reader:FLACパケッタイザを初期化できませんでした。\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "全てのフレーム" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "通常のMatroskaファイル" - #: src/input/r_avc.cpp:76 src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "例外があります\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "ヘッダ削除" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "隠す" @@ -7582,12 +7591,12 @@ msgid "highest" msgstr "最高" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit()が失敗しました。結果:%1%\n" -#: src/mmg/jobs.cpp:72 src/mmg/jobs.cpp:74 src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 src/mmg/jobs.cpp:75 src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "計算中です" @@ -7595,15 +7604,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_reader:ファイルを開くことができませんでした。" -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "キー、" -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "言語:%1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "長さ %1%、データ:%2%" @@ -7613,7 +7622,7 @@ #: src/mmg/tabs/global.cpp:255 msgid "link files" -msgstr "ファイルを紐付けする" +msgstr "ファイルをリンクする" #: src/mmg/options/mkvmerge.cpp:51 msgid "lower" @@ -7623,135 +7632,135 @@ msgid "lowest" msgstr "最低" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress()は実装されていません\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init()が失敗しました。結果:%1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS)が失敗しました。\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader:(トラック%1%、MS互換モード)Matroskaによるとサンプル当たり%2%ビットですが、WAVEFORMATEXによると%3%ビットです。\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader:(トラック%1%、MS互換モード)Matroskaによると%2%チャンネルありますが、WAVEFORMATEXによると%3%チャンネルです。\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader:(トラック%1%、MS互換モード)Matroskaによると1秒当たり%2%サンプルですが、WAVEFORMATEXによると%3%サンプルです。\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader:(トラック%1%、MS互換モード)Matroskaによるとビデオの横解像度は%2%ですが、BITMAPINFOHEADERによると%3%です。\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader:(トラック%1%、MS互換モード)Matroskaによるとビデオの縦解像度は%2%ですが、BITMAPINFOHEADERによると%3%です。\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_reader:トラックにトラックUIDがありません。\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_reader:トラックにトラック番号がありません。\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" msgstr "matroska_reade:新しいファイルに既に割り当てられているため、トラックUID %1%を保持することができませんでした。\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader:ヘッダを読み込むことができませんでした。" -#: src/input/r_matroska.cpp:1208 src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_reader:セグメントが見つかりませんでした。\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_reader:ピクセルの高さがありません。\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_reader:ピクセルの幅がありません。\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_reader:トラック%2%のコーデックID '%1%'は未知のものです。\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" msgstr "matroska_reader:トラック%1%のコーデックIDは'%2%'ですが、BITMAPINFOHEADER構造が存在していません。よって使用されているビデオコーデックを識別するFourCCがありません。\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_reader:トラック%1%のコーデックIDは'%2%'ですが、WAVEFORMATEX構造が存在していません。よって使用されているオーディオコーデックを識別するフォーマットIDがありません。\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_reader:トラック%1%のコーデックIDは'%2%'ですが、コーデックプライベートヘッダがありません。\n" -#: src/input/r_matroska.cpp:483 src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_reader:トラック%1%のコーデックIDは'%2%'ですが、プライベートデータが見つかりませんでした。\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_reader:トラック%1%のコーデックIDは'A_VORBIS'ですが、ヘッダパケットが存在していません。\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" msgstr "matroska_reader:コーデックIDがありません。\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_reader:トラック%1%の高さが設定されませんでした。\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_reader:トラック%1%の幅が設定されませんでした。\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_reader:トラック%1%はOKのようです。\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader:トラックタイプが見つかりませんでした。\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" -msgstr "matroska_reader:Vorbisトラックは正しいヘッダを含んでいません。\n" +msgstr "matroska_reader:Vorbisトラックは有効なヘッダを含んでいません。\n" -#: src/input/r_matroska.cpp:1300 src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_reader:例外をキャッチしました\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader:mkvmergeはFLACをサポートしてコンパイルされていません。トラック%1%を無視します。\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_reader:EBMLヘッドが見つかりませんでした。\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader:トラック%1%のデマルチプレクサタイプが未知のものです:'%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_reader:| + UID %1%のトラックが複数あります。\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" msgstr "matroska_reader:| + トラック番号%1%のトラックが複数あります。\n" @@ -7759,19 +7768,19 @@ msgid "max. number of files:" msgstr "ファイルの最大分割数:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() ファイル %1% から呼び出し、%2%行:malloc() が%3%バイトの要求に対しNULLを返しました。\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() ファイル %1% から呼び出し、%2%行:malloc() が%3%バイトの要求に対しNULLを返しました。\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() ファイル %1% から呼び出し、%2%行:realloc() が%3%バイトの要求に対しNULLを返しました。\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor:使われてはいけません!" @@ -7793,7 +7802,7 @@ #: src/extract/extract_cli_parser.cpp:47 msgid "mkvextract <mode> <source-filename> [options] <extraction-spec>" -msgstr "mkvextract <モード> <ソースファイル名> [オプション] <展開先指定>" +msgstr "mkvextract <モード> <ソースファイル名> [オプション] <抽出先指定>" #: src/extract/extract_cli_parser.cpp:98 msgid "mkvextract attachments \"a movie.mkv\" 4:cover.jpg" @@ -7847,19 +7856,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): (レベル) > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract:未知のモード!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [オプション] <入力ファイル名>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o 出力ファイル [グローバルオプション] [オプション1] <ファイル1> [@オプションファイル...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmergeはリターンコード%dで異常終了しました。%s" @@ -7871,18 +7880,18 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUIエラー" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI準備完了" -#: src/mmg/mmg_dialog.cpp:364 src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI設定ファイル (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI:エラー" @@ -7894,7 +7903,7 @@ msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." msgstr "mkvmergeは外部のテキストファイルからタイムコードを読み込んで使用することができます。これはとても高度な機能です。殆どのユーザーはこのエントリを空白のままにしておくべきです。" -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" @@ -7906,20 +7915,20 @@ msgid "mkvmerge executable" msgstr "mkvmergeの実行ファイル" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" msgstr "mkvmergeはリターンコード%dで終了しました。%s" -#: src/mmg/jobs.cpp:147 src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" msgstr "mkvmergeは処理を完了しました" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" msgstr "mkvmergeはFLACをサポートしてコンパイルされていませんが、このストリームを処理することを要求されました。\n" -#: src/mmg/jobs.cpp:49 src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmergeが実行中です" @@ -7927,7 +7936,7 @@ msgid "mkvmerge options" msgstr "mkvmergeのオプション" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" msgstr "mkvmergeの出力:" @@ -7943,7 +7952,7 @@ msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." msgstr "mkvmergeは2種類のチャプタフォーマットをサポートしています:テキストフォーマットのようなOGMとフル機能のXMLフォーマットです。このオプションは、OGMチャプタフォーマットが使用された場合にチャプタの言語を指定します。このオプションはXMLチャプタファイルでは無視されます。" -#: src/merge/output_control.cpp:247 src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmergeは割り込み信号(Ctrl+C?)によって中断されました。\n" @@ -7955,23 +7964,23 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [オプション] <ファイル> <アクション>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c:UTF32_*は現在サポートされていません。\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" -msgstr "mm_text_io_c::read_next_char():不正なUTF-8の文字です。最初のバイト:0x%|1$02x|" +msgstr "mm_text_io_c::read_next_char():無効なUTF-8の文字です。最初のバイト:0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" msgstr "mmgデバッグ出力" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmgのオプション" @@ -7979,11 +7988,15 @@ msgid "mmg will reset to the default list if no entry is selected." msgstr "どのエントリも選択されていない場合はデフォルトのリストにリセットされます。" +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "モノラル" + #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_reader:ソースファイルを開けませんでした。" -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader:ファイルを開けませんでした。" @@ -8004,7 +8017,7 @@ msgid "no" msgstr "いいえ" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "暗号化なし" @@ -8014,18 +8027,18 @@ #: src/info/qt_ui.cpp:59 msgid "no file loaded" -msgstr "ファイルがロードされていません" +msgstr "ファイルが読み込まれていません" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "署名アルゴリズムなし" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "署名ハッシュアルゴリズムなし" -#: src/mmg/tabs/input_extra.cpp:94 src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "無し" @@ -8033,79 +8046,83 @@ msgid "normal" msgstr "通常" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ストリーム番号%1%に対するogg_stream_initが失敗しました。処理続行を試み、このストリームを無視します。\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_bufferが失敗しました\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_reader:ソースファイルを開けませんでした。" -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_reader:全てのヘッダパケットを読み込むことはできませんでした。" -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." -msgstr "ogm_reader:ソースは正しいOGGメディアファイルではありません。" +msgstr "ogm_reader:ソースは有効なOGGメディアファイルではありません。" -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." msgstr "on_entry_selected:display == NULLです。発生するべきではありません。" -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "Iフレームのみ" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "出力サンプル周波数:%1%" -#: src/mmg/jobs.cpp:519 src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 src/mmg/jobs.cpp:702 msgid "pending" msgstr "未処理" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader:ファイルを開けませんでした。" + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "切り捨てピクセル(下):%1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "切り捨てピクセル(左):%1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "切り捨てピクセル:%1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "切り捨てピクセル:%1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "切り捨てピクセル:%1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "ピクセル幅:%1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_generic.cpp/generic_packetizer_c::add_packet():timecode < last_timecode(%1% < %2%)です。 %3%\n" #: src/merge/pr_generic.cpp:1207 msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." -msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested():不正なトラックタイプ%1%." +msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested():無効なトラックタイプ%1%." -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "生データ" -#: src/info/wxwidgets_ui.cpp:148 src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "準備完了" @@ -8123,7 +8140,7 @@ #: src/input/r_real.cpp:147 msgid "real_reader: Source is not a valid RealMedia file." -msgstr "real_reader:ソースは正しいRealMediaファイルではありません。" +msgstr "real_reader:ソースは有効なRealMediaファイルではありません。" #: src/mmg/tabs/attachments.cpp:157 src/mmg/tabs/input.cpp:184 msgid "remove" @@ -8133,15 +8150,31 @@ msgid "remove all" msgstr "全て削除" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" -msgstr "" +msgstr "1でも2でもない:未知" + +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "水平インターリーブ方式(レフトファースト)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "水平インターリーブ方式(ライトファースト)" -#: src/info/mkvinfo.cpp:645 +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "サンプリング周波数:%1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "サイドバイサイド方式(レフトファースト)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "サイドバイサイド方式(ライトファースト)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extraction_duration:タイムコード%1%で壊れたSPUパケットに遭遇しました(next_off < start_off)。このパケットは正しく表示されないか、あるいは全く表示されないかもしれません。\n" @@ -8151,29 +8184,29 @@ #: src/input/r_srt.cpp:34 msgid "srt_reader: Source is not a valid SRT file." -msgstr "srt_reader:ソースは正しいSRTファイルではありません。" +msgstr "srt_reader:ソースは有効なSRTファイルではありません。" #: src/input/r_ssa.cpp:40 msgid "ssa_reader: Could not open the source file." msgstr "ssa_reader:ソースファイルを開けませんでした。" -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." -msgstr "ssa_reader:不正なフォーマットです。\"[Events]\"セクションで\"Format\"行を見つけることができませんでした。" +msgstr "ssa_reader:無効なフォーマットです。\"[Events]\"セクションで\"Format\"行を見つけることができませんでした。" #: src/input/r_ssa.cpp:44 msgid "ssa_reader: Source is not a valid SSA/ASS file." -msgstr "ssa_reader:ソースは正しいSSA/ASSファイルではありません。" +msgstr "ssa_reader:ソースは有効なSSA/ASSファイルではありません。" -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize()。これは発生するべきではありません。バグレポートを提出してください。ありがとうございます。" -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "字幕" -#: src/mmg/mmg.cpp:59 src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "字幕" @@ -8181,11 +8214,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index:'%1%'が見つかりませんでした\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "タイムコード" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "トップアンドボトム方式(レフトファースト)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "トップアンドボトム方式(ライトファースト)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "トラック名" @@ -8209,13 +8250,13 @@ msgid "und (Undetermined)" msgstr "und (Undetermined)" -#: src/input/r_matroska.cpp:87 src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 src/mmg/mmg.cpp:60 -#: src/mmg/header_editor/value_page.cpp:150 src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 src/info/mkvinfo.cpp:820 src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 src/info/mkvinfo.cpp:881 src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/input/r_mpeg_ps.cpp:1388 src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 src/mmg/header_editor/value_page.cpp:150 +#: src/mmg/tabs/input.cpp:339 src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 src/info/mkvinfo.cpp:842 src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 src/info/mkvinfo.cpp:894 src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "未知" @@ -8229,21 +8270,21 @@ #: src/input/r_usf.cpp:75 msgid "usf_reader: Source is not a valid USF file." -msgstr "usf_reader:ソースは正しいUSFファイルではありません。" +msgstr "usf_reader:ソースは有効なUSFファイルではありません。" #: src/common/strings/editing.cpp:270 msgid "utf8_strlen(): Invalid UTF-8 char. First byte: 0x%|1$02x|" -msgstr "utf8_strlen():不正なUTF-8の文字です。最初のバイト:0x%|1$02x|" +msgstr "utf8_strlen():無効なUTF-8の文字です。最初のバイト:0x%|1$02x|" #: src/input/r_vc1.cpp:82 msgid "vc1_es_reader: Could not open the source file." msgstr "vc1_es_reader:ソースファイルを開けませんでした。" -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" msgstr "ベリファイが失敗しました:chapters->CheckMandatory()がfalseです。発生するべきではありません。バグレポートを提出してください。\n" -#: src/input/r_matroska.cpp:90 src/mmg/mmg.cpp:58 src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 src/mmg/mmg.cpp:63 src/info/mkvinfo.cpp:1117 msgid "video" msgstr "ビデオ" @@ -8259,7 +8300,7 @@ msgid "vobsub_reader: Cound not open the source file." msgstr "vobsub_reader:ソースファイルを開けませんでした。" -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" msgstr "vobsub_reader: sub_file->readが失敗" @@ -8277,7 +8318,7 @@ #: src/input/r_wav.cpp:453 msgid "wav_reader: Source is not a valid WAVE file." -msgstr "wav_reader:ソースは正しいWAVEファイルではありません。" +msgstr "wav_reader:ソースは有効なWAVEファイルではありません。" #: src/input/r_wav.cpp:478 msgid "wav_reader: The format chunk could not be read." @@ -8291,23 +8332,23 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader:ファイルを開けませんでした。" -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "wavpack_reader:非オーディオブロックが見つかりました\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader:未知のサンプルレートです!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "間違った使用法:increase < 0" -#: src/common/mm_io.cpp:839 src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "間違った使用法:NULLメモリが読み込み専用です" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "間違った使用法:読み込み専用メモリへの書き込み" @@ -8315,3 +8356,171 @@ #: src/mmg/tabs/input_general.cpp:107 src/mmg/tabs/input_general.cpp:125 msgid "yes" msgstr "はい" + +#~ msgid " (both eyes)" +#~ msgstr " (両目)" + +#~ msgid " (left eye)" +#~ msgstr " (左目)" + +#~ msgid " (right eye)" +#~ msgstr " (右目)" + +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "このGUIはMoritz Bunkus <moritz@bunkus.org>によって書かれました。\n" +#~ "Florian Wagner <flo.wagner@gmx.de>によるmmgに基づいています。\n" +#~ "mkvmerge GUIはGPLでライセンスされています。\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "ヘルプはツールチップの形で、または'ヘルプ'メニューから、\n" +#~ "またはF1キーを押すことで利用できます。" + +#~ msgid "About mkvmerge's GUI" +#~ msgstr "mkvmergeのGUIについて" + +#~ msgid "Both eyes" +#~ msgstr "両目" + +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (Digital Theater System)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Diracエレメンタリストリーム" + +#~ msgid "FLAC lossless audio" +#~ msgstr "FLACロスレスオーディオ" + +#~ msgid "IVF with VP8" +#~ msgstr "VP8入りのIVF" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "既知のファイルタイプ:\n" +#~ " 拡張子 説明\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "左目" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEGプログラムストリーム" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 Layer-2オーディオ(CBRとVBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 Layer-3オーディオ(CBRとVBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1ビデオエレメンタリストリーム" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2ビデオエレメンタリストリーム" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska A/Vファイル (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroskaファイル (*.mkv;*.mka)|*.mkv;*.mka|%s" + +#~ msgid "None" +#~ msgstr "指定なし" + +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4オーディオとビデオ" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMediaオーディオとビデオ" + +#~ msgid "Right eye" +#~ msgstr "右目" + +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "VobSub字幕に使用される圧縮方式を指定します。何も指定されていなければVobSubは自動的にzlibで圧縮されます。'無し'を指定するとファイルサイズがかなり増大します。" + +#~ msgid "TTA lossless audio" +#~ msgstr "TTAロスレスオーディオ" + +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "使用法:mkvinfo [オプション] 入力ファイル名\n" +#~ "\n" +#~ " オプション\n" +#~ " -g, --gui GUIを起動します(入力ファイルが指定されていた場合は開きます)。\n" +#~ " 入力ファイル名 ソースファイルを指定します。\n" +#~ " -v, --verbose より詳細な情報を表示します。mkvinfoの出力についての\n" +#~ " 詳細な説明はman pageを参照してください。\n" +#~ " -c, --checksum フレームの内容のチェックサムを計算し表示します。\n" +#~ " -s, --summary 内容の概要だけを表示し、個々の要素を表示しません。\n" +#~ " -x, --hexdump 各フレームの最初の16バイトを16進数のダンプとして表示します。\n" +#~ " -X, --full-hexdump\n" +#~ " 各フレームの全てのバイトを16進数のダンプとして表示します。\n" +#~ " -z, --size ヘッダも含めた各要素のサイズを表示します。\n" +#~ " --output-charset <charset>\n" +#~ " 出力メッセージの文字セットを指定します。\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " 全てのメッセージをこのファイルにリダイレクトします。\n" +#~ " -h, --help このヘルプを表示します。\n" +#~ " -V, --version バージョン情報を表示します。\n" + +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "VP8ビデオ出力モジュールを使用しています。\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1ビデオエレメンタリストリーム" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtnボタン" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE(非圧縮PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACKロスレスオーディオ" + +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "OGGに埋め込まれたオーディオ・ビデオ・テキスト字幕" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring:無効なUTF-8文字列の並びに遭遇しました。moritz@bunkus.orgに連絡し、UTF-8パーサを実装するよう要求してください。" + +#~ msgid "general Matroska files" +#~ msgstr "通常のMatroskaファイル" + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract:未知のモード!?\n" diff -Nru mkvtoolnix-4.0.0/po/Makefile.in mkvtoolnix-4.5.0+dfsg/po/Makefile.in --- mkvtoolnix-4.0.0/po/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C .. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/po/nl.po mkvtoolnix-4.5.0+dfsg/po/nl.po --- mkvtoolnix-4.0.0/po/nl.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/nl.po 2011-01-31 20:34:09.000000000 +0000 @@ -1,14 +1,13 @@ -# This file is distributed under the same license as the mkvtoolnix package. -# # Moritz Bunkus <moritz@bunkus.org>, 2010 msgid "" msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-05-25 23:42+0200\n" -"PO-Revision-Date: 2010-06-03 14:27+0100\n" +"PO-Revision-Date: 2011-01-28 09:05+0100\n" "Last-Translator: René Maassen <bmom43@hotmail.com>\n" "Language-Team: Dutch <bmom43@hotmail.com>\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -16,7 +15,7 @@ "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-SourceCharset: utf-8\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" @@ -24,7 +23,7 @@ "\n" "Het tijdelijke TTA bestand met track ID %1% wordt naar het uiteindelijke TTA bestand gekopieerd. Dit kan even duren. \n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" @@ -32,25 +31,25 @@ "\n" "mkvmerge ontving een SIGINT (waarschijnlijk doordat u op CTRL+C) drukte. Probeer het bestand op te schonen. Als mkvmerge blijft 'hangen' gedurende dit proces moet je het handmatig stoppen.\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" msgstr "" " --aac-is-sbr <TID[:0|1]> Het spoor met ID is HE-AAC/AAC+/SBR-AAC\n" -" of niet. The value ':1' kan worden weggelaten.\n" +" of niet. De waarde ':1' kan worden weggelaten.\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" " appending files.\n" msgstr "" " --append-mode <bestand|spoor>\n" -" Selecteert hoe mkvmerge tijd code's berekend wanneer\n" -" bestanden worden toegevoegd.\n" +" Selecteert hoe mkvmerge tijd code's berekent wanneer\n" +" bestanden worden bijgevoegd.\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -60,21 +59,21 @@ msgstr "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " Een komma gescheiden lijst van bestanden en sporen ID's\n" -" die controleren welk spoor van een bestand\n" -" toegevoegd aan een spoor van het voorafgaand\n" +" die controleren welk spoor van een bestand worden\n" +" bijgevoegd aan een spoor van het voorafgaande\n" " bestand.\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" " width and height for this aspect ratio.\n" msgstr "" " --aspect-ratio <TID:f|a/b>\n" -" Stelt scherm instellingen in door te berekenen\n" -" van breedte en hoogte voor de verwachtbare ratio.\n" +" Stelt scherm instellingen in door te berekenen de\n" +" breedte en hoogte voor de verwachtte verhouding.\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -83,12 +82,12 @@ " dimensions from this factor.\n" msgstr "" " --aspect-ratio-factor <TID:f|a/b>\n" -" Eerst berekenen van orginele ratio door te\n" -" vermenigvuldigen van de orginele video ratio\n" -" met deze factor en berekend het scherm\n" -" dimensie van deze factor.\n" +" Eerst berekenen van orginele verhouding door te\n" +" vermenigvuldigen van de orginele video verhouding\n" +" met deze factor en bereken het scherm\n" +" dimensies van deze factor.\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" @@ -96,7 +95,7 @@ " --attach-file <bestand> Creëert een bestandsbijlage binnenin het\n" " Matroska bestand.\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" @@ -106,7 +105,7 @@ " Creëert een bestandsbijlage binnenin het\n" " eerst geschreven Matroska bestand.\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" @@ -114,7 +113,7 @@ " --attachment-description <desc>\n" " Beschrijving van de volgende bijlage.\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" @@ -122,7 +121,7 @@ " --attachment-mime-type <mime type>\n" " Mime type voor de volgende bijlage.\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" @@ -130,7 +129,7 @@ " --attachment-name <naam> De naam zou opgeslagen moeten worden voor \n" " de volgende bijlage.\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" @@ -138,19 +137,19 @@ " --blockadd <TID:x> Stelt het aantal maximale blokken in voor\n" " extra niveau's voor dit spoor.\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" msgstr " --chapter-charset <cset> Karakters voor een simpel hoofdstuk bestand.\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" -msgstr " --chapter-language <lng> Zet het 'taal' element in hoofdstuk ingangen.\n" +msgstr " --chapter-language <lng> Zet het 'taal' element in de hoofdstuk ingangen.\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" -msgstr " --chapters <bestand> Leest hoofdstuk informatie uit een bestand.\n" +msgstr " --chapters <file> Leest hoofdstuk informatie uit een bestand.\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -158,14 +157,14 @@ " cluster.\n" msgstr "" " --cluster-length <n[ms]> Plaatst hoogstends n data blokken in elke cluster.\n" -" Is het nummer vastgezet met 'ms' plaats dan\n" +" Is het nummer vastgezet in 'ms' plaats dan\n" " minimaal n milliseconden aan data in elke cluster.\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr " --clusters-in-meta-seek Schrijft meta zoek data voor clusters.\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" @@ -173,17 +172,17 @@ " --command-line-charset <charset>\n" " Karakterset voor een reeks op de commando regel\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" " specified track ('none' or 'zlib').\n" msgstr "" " --compression <TID:method>\n" -" Stelt de compressie voor een\n" -" specifiek spoor ('geen' of 'zlib').\n" +" Stelt de compressie in voor een\n" +" specifiek spoor ('none' (geen) of 'zlib').\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" @@ -191,45 +190,45 @@ " --cropping <TID:left,top,right,bottom>\n" " Stelt de uitsnij parameters in.\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" " entries to chapter names.\n" msgstr "" " --cue-chapter-name-format <format>\n" -" Patroon voor conversie vanuit een' CUE blad'\n" +" Patroon voor conversie vanuit een 'volg document(en) (cue)'\n" " ingangen naar hoofdstuk namen.\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" " None at all, only for I frames, for all.\n" msgstr "" " --cues <TID:none|iframes|all>\n" -" Creëert een geleiding (index) ingangen voor dit spoor:\n" -" Helemaal nietsl, alleen voor I beelden, voor allen.\n" +" Creëeren volg document(en) (cue) (index) ingangen voor\n" +" dit spoor: niets, alleen voor I beelden, voor allen.\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" " X can be a floating point number or a fraction.\n" msgstr "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" -" Forceeet de standaar duur voor spoor X.\n" -" X hoeft geen vast nummer te zijn mag ook een fractie zijn.\n" +" Forceert de standaar duur voor spoor X. X mag een \n" +" veranderbaart nummer te zijn mag ook een fractie zijn.\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" msgstr "" -" --default-language <lng> Gebruik deze taal voor alle sporen totdat\n" -" deze overschreven wordt met de --taal optie.\n" +" --default-language <lng> Gebruik deze taal voor alle sporen totdat deze\n" +" overschreven wordt met de --language (taal) optie.\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" @@ -237,25 +236,25 @@ msgstr "" " --default-track <TID[:bool]>\n" " Stelt de 'standaard' markering in voor dit spoor of\n" -" forceert het als niet aanwezig als bool 0 is.\n" +" forceert het als niet aanwezig is als bool 0.\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing Gebruik geen aaneenkoppelen.\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" msgstr "" -" --display-dimensions <TID:breedte>x<hoogte>\n" +" --display-dimensions <TID:width> (breedte) x <height> (hoogte)\n" " Zet expliciet de scherm waardes.\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr " --enable-durations Zet blokduur aan voor alle blokken.\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" @@ -265,31 +264,31 @@ " Zet de 'forceer' markering voor dit spoor of\n" " forceer het als niet aanwezig als 'bool' 0 is.\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" msgstr " --global-tags <bestand> Leest de globale markering uit een XML bestand.\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" msgstr "" " --taal <TID:lang> Stelt de taal voor het spoor in (ISO639-2\n" -" code, zie --lijst-talen).\n" +" code, zie --list-lanuages).\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" msgstr " --link Link splits bestanden.\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" msgstr " --link-to-next <SID> Verbind het laatste bestand met een bepaald SID.\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" msgstr " --link-to-previous <SID> Verbind het eerste bestand met een bepaald SID.\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" @@ -297,7 +296,7 @@ " --list-languages Lijst alle ISO639 talen en hun\n" " ISO639-2 code's.\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" @@ -305,29 +304,29 @@ msgstr "" " --nalu-size-length <TID:n>\n" " Forceert de NALU lengte grootte naar n bytes met\n" -" 2 <= n <= 4 met 4 is standaard.\n" +" 2 <= n <= 4 met waarvan 4 standaard is.\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters Neem hoofdstukken uit bronbestand niet over.\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" -msgstr " --no-cues Schrijf geen geleidde data (de index).\n" +msgstr " --no-cues Schrijf geen volg documen(en) (cue) data (de index).\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" -msgstr " --no-global-tags Neem markeringen uit bronbestand niet over.\n" +msgstr " --no-global-tags Neem globale markeringen uit bronbestand niet over.\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" msgstr " --output-charset <cset> Voer de berichten met deze karakterset uit. \n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" msgstr " --priority <prioriteit> Stelt de prioriteit in waarmee mkvmerge opstart.\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -335,21 +334,21 @@ " --segment-uid <SID1,[SID2...]>\n" " Stelt het segment UID's in naar SID1, SID2 etc.\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" -msgstr " --segmentinfo <bestand> Leest segment informatie in van bestand.\n" +msgstr " --segmentinfo <file> Leest segment informatie in van bestand.\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" " or after a specific time.\n" msgstr "" " --split <d[K,M,G]|HH:MM:SS|s>\n" -" Creëert een nieuw bestand na d bytes (KB, MB, GB)\n" -" of na een specifieke tijd.\n" +" Creëert een nieuw bestand na d bytes\n" +" (KB, MB, GB)of na een specifieke tijd.\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" @@ -359,23 +358,23 @@ " Creëert een nieuw bestand na elke tijdcode A, B\n" " etc.\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" msgstr " --split-max-files <n> Creëert op zijn meest n bestanden.\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode <TID:n|geen|links|rechts|beide>\n" -" Stelt stereo mode in. Het kan zijn\n" -" een nummer 0 - 3 OF één van de woorden\n" -" 'geen', rechts', 'links' of 'beide'.\n" +" --stereo-mode <TID:n|keyword>\n" +" Stelt stereo mode parameter in. Het kan zijn\n" +" een nummer 0 t/m 11 of een sleutelwoord\n" +" (zie documentatie voor volledige lijst).\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" @@ -385,23 +384,23 @@ " Onderzoekt de karakterset van de tekst ondertiteling\n" " gelezen kunnen worden, om deze om te zetten naar UTF-8.\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" msgstr " --timecode-scale <n> Forceert de tijd code schaal factor naar n.\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" -msgstr " --timecodes <TID:bestand> Leest de te gebruiken tijd codes in van een bestand.\n" +msgstr " --timecodes <TID:file> Leest de te gebruiken tijd codes in van een bestand.\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" -msgstr " --title <titel> Titel voor dit bestand.\n" +msgstr " --title <title> Titel voor dit bestand.\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" -msgstr " --track-name <TID:naam> Stelt de naam voor een spoor in.\n" +msgstr " --track-name <TID:name> Stelt de naam voor een spoor in.\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -410,10 +409,10 @@ msgstr "" " --track-order <BestandID1:TID1,BestandID2:TID2,BestandID3:TID3,...>\n" " Een komma gescheiden lijst van beide bestand ID's\n" -" en spoor ID's welke de volgorde controleerd \n" -" van de sporen in het uitvoerbestand.\n" +" en spoor ID's welke de volgorde controleert \n" +" van de sporen in het uitvoer bestand.\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" @@ -421,39 +420,39 @@ " --track-tags <n,m,...> Kopieer de markeringen van sporen n,m etc. Standaard: copieer\n" " markeringen voor alle sporen.\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" msgstr " --ui-language <code> Forceert de te gebruiken vertaal 'code'.\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio Kopieer geen enkele audio spoor van dit bestand.\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons Kopieer geen enkele knop spoor van dit bestand.\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video Kopieer geen enkele video spoor van dit bestand.\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" -msgstr " -M, --no-attachments Kopieer geen enkele bijlage uit enig bestand.\n" +msgstr " -M, --no-attachments Kopieer geen enkele bijlage uit bron bestand.\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" msgstr " -S, --no-subtitles Kopieer geen enkele ondertiteling spoor van dit bestand.\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr " -T, --no-track-tags Kopieer geen enkele markering voor sporen van het bron bestand.\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version Toon versie informatie.\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -463,7 +462,7 @@ " Kopieer audio sporen n,m etc. Standaard: copieer alles\n" " audio sporen.\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -471,9 +470,9 @@ msgstr "" " -b, --button-tracks <n,m,...>\n" " Kopieer knop sporen n,m etc. Standaard: copieer\n" -" alle koppen/sporen.\n" +" alle knop sporen.\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -483,7 +482,7 @@ " Kopieer video sporen n,m etc. Standaard: copieer alle\n" " video sporen.\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -491,47 +490,47 @@ " -f, --fourcc <FOURCC> Forceert de VIERCC naar opgegeven waarde.\n" " Werkt alleen met video sporen.\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help Toont deze help.\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <bestand> Print informatie over het bron bestand.\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -i, --identify Somt invoer bestandstypen op.\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" " all or only the first output file. Default: copy\n" " all attachments to all output files.\n" msgstr "" -" -m, --attachments <n[:alle|eerste],m[:alel|eerste],...>\n" -" Kopieerd de bijlages met de IDs n, m etc naar\n" +" -m, --attachments <n[:al|first],m[:all|first],...>\n" +" Kopieerd de bijlages met de ID's n, m etc naar\n" " alle of alleen het eerste uitvoerbestand. Standaard: copie\n" " allle bijlagen naar alle uitvoerbestanden.\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out Schrijf naar bestand 'uit'.\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" -msgstr " -q, --quiet onderdrukt status uitvoer\n" +msgstr " -q, --quiet onderdrukt status uitvoer\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" msgstr "" " -r, --redirect-output <bestand>\n" -" Verleg alle berichten naar dit bestand.\n" +" Omleiden alle berichten naar dit bestand.\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -541,19 +540,19 @@ " Kopieer ondertiteling sporen n,m etc. Standaard: copieer\n" " alle ondertitel sporen.\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:file> Lees markeringen voor het spoor van een XML bestand.\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose uitvoerige status\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm Creëer een WebM herkenbaar bestand.\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -567,11 +566,11 @@ " Synchroniseer en stel bij, de sporen, tijdcodes met\n" " het id TID met 'd' ms.\n" " 'o/p': Stel tijdcodes bij door te vermenigvuldigen met\n" -" 'o/p' om lineaire afwijkingen te bevestigen. 'p' standaard\n" -" naar 1 indien weggelaten. Beide 'o' end 'p' kan een\n" +" 'o/p' om lineaire afwijkingen te voorkomen. 'p' standaard\n" +" naar 1 indien weggelaten. Beide 'o' en 'p' kan een\n" " veranderend nummer zijn.\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -581,7 +580,7 @@ #: src/propedit/propedit_cli_parser.cpp:94 msgid " B: boolean (0 or 1)\n" -msgstr " B: variabel (0 of 1)\n" +msgstr " B: waar of niet waar (0 of 1)\n" #: src/propedit/propedit_cli_parser.cpp:98 msgid " FP: floating point number\n" @@ -607,100 +606,88 @@ msgid " X: binary in hex\n" msgstr " X: binair getal in hexadecimaal\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -msgstr " (VierCC: %1%%2%%3%%4%, 0x%|5$08x|)" +msgstr " (VFourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 -#: src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (beide ogen)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (centimeters)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (vast)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (markeer formaat: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (vrij vergroten ofverkleinen)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264 profiel: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (inch)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" -msgstr " (hou huidige ratio)" - -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (linker oog)" +msgstr " (hou huidige verhouding)" -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (mono)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (pixels)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (rechter oog)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" msgstr " Afbreken.\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " Bijlage ondersteuning (meer globale opties):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" -msgstr " Hoofdstuk bewerken:\n" +msgstr " Hoofdstuk beheren:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" msgstr " Bestand splitsen en linken (meer globale opties):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" msgstr " Algemene uitvoer controle (geavanceerde globale opties):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " Globale opties:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " Opties voor elk ingevoerd bestand:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" msgstr " Opties alleen geldig voor VobSub ondertitel sporen:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" -msgstr " Opties alleen geldig voor Tekst ondertitel sporen\n" +msgstr " Opties alleen geldig voor tekst ondertitel sporen\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " Opties alleen geldig voor Video ondertitel sporen:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " Overige opties:\n" @@ -708,67 +695,75 @@ msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr " Onthou dat speciale karakters zoals &, <, > en \" moeten worden ingevoerd via de HTML manier: & voor '&', < voor '<', > voor '>' en " voor '\"'." -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" -msgstr " Segment infiormatie bewerken:\n" +msgstr " Segment informatie bewerken:\n" #: src/extract/mkvextract.cpp:63 -#: src/info/mkvinfo.cpp:174 +#: src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " bij %1%" -#: src/merge/output_control.cpp:257 -#: src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 -#: src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 msgid " done\n" msgstr "klaar\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr "grootte %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr "grootte is onbekend" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### Development hacks ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" -msgstr "### GlobaLe uitvoer controlel ###" +msgstr "### GlobaLe uitvoer controle ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% gemaakt op %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% beeld, spoor %2%, tijd code %3% (%4%), duur %|5$.3f|, grootte %6%, adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% beeld, spoor %2%, tiijdcode %3% (%4%), grootte %5%, adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% beeld, spoor %2%, tijd code %3% (%4%), grootte %5%, adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Fout in de Matroska bestand structuur op positie %2%. Her-syncen naar volgende niveau 1 element.\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" msgstr "%1%: deler is 0 in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: ongeldig spoor ID in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" msgstr "%1%: ontbrekend dividend binnen '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" msgstr "%1%: missend deler in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" msgstr "%1%: ontbrekend spoor ID in '%2% %3%'.\n" @@ -787,50 +782,27 @@ "\n" "Dit programma is gelicenceerd onder GPL v2 (see COPYING).\n" "Het is geschreven door Moritz Bunkus <moritz@bunkus.org>.\n" -"Bronnen en de laats binaries altijd beschikbaar bij\n" +"Bronnen en de laatste binaries altijd beschikbaar bij\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 -#: src/mmg/jobs.cpp:299 -#: src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d minute(en) %d second(en)" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"Deze GUI is geschreven door Moritz Bunkus <moritz@bunkus.org>\n" -"Gebasseerd op mmg van Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licenseerd onder GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is beschikbaar via, het 'Help'\n" -"menu of door op F1 te drukken." - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s (MIME type %s, grootte %ld) van %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, type: %s) van %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -849,35 +821,43 @@ "Bronnen en laatste binaries zijn altijd beschikbaar bij\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "&Afbreken" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "&Over" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "&Over\tF1" -#: src/mmg/mmg_dialog.cpp:263 -#: src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "&Voeg toe aan taak wachtrij" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "&Bijlagen\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "&Hoofdstuk bewerken" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "&Hoofdstuk bewerken\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "&Controleer op nieuwere versie" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "&Sluiten" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "&Sluiten\tCtrl-W" @@ -886,19 +866,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "&Alle ingangen inklappen\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "&Kopieer commando regel naar klembord" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "&Kopieer naar klembord" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "&Uitzetten" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "&Omlaag" @@ -906,84 +886,84 @@ msgid "&Expand all entries\tCtrl-E" msgstr "&Vouw alles uit\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "&Vouw belangrijke elementen uit\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 +#: src/mmg/mmg_dialog.cpp:299 #: src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "&Bestand" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" msgstr "&Globale opties\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "&Kop bewerken\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 +#: src/mmg/mmg_dialog.cpp:303 #: src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "&Help" -#: src/mmg/mmg_dialog.cpp:276 +#: src/mmg/mmg_dialog.cpp:293 #: src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "&Help\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "&Invoer\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "&Laden" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" msgstr "&Laad instellingen\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "&Beheer taken\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "&Samenvoegen" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "&Nieuw\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" msgstr "&Nieuw hoofdstuk" -#: src/mmg/jobs.cpp:100 -#: src/mmg/jobs.cpp:385 -#: src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "&Ok" #: src/mmg/header_editor/frame.cpp:142 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "&Open\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "&Opties" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 #: src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "&Afsluiten\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" msgstr "&Herinstellen" @@ -995,8 +975,8 @@ msgid "&Reset" msgstr "&Resetten" -#: src/mmg/jobs.cpp:390 -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "&Opslaan" @@ -1004,19 +984,19 @@ msgid "&Save\tCtrl-S" msgstr "&Opslaan\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "&Info opslaan als tekst\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "&Bewaar instellingen\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "&Start" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "&Omhoog" @@ -1024,49 +1004,49 @@ msgid "&Validate\tCtrl-T" msgstr "&Valideren\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "&Verifiëren" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "&Toon log" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "&Scherm" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" msgstr "'%1%' kan alleen gebruikt worden met een bestandsnaam. Geen verdere opties toegestaan als deze optie is geselecteerd.\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" -msgstr "'%1%' bevat geen geldige unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" +msgstr "'%1%' bevat geen geldige unit ('s', 'ms', 'us' of 'ns') in '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%' een niet ondersteund argument voor --compressie. Beschikbare compressie methodes zijn 'geen en zlib'.\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' een niet ondersteunt argument voor --compressie. Beschikbare compressie methodes zijn %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" -msgstr "'%1%' is een niet ondersteund argument voor --geleidingen.\n" +msgstr "'%1%' is een niet ondersteunt argument voor --cues.\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" msgstr "'%1%' mist de bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' is noch een geldige iso639-2 noch een geldige iso639-1 code in --hoofdstuk-taal %1%'. Zie 'mkvmerge --lijst-talen' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" +msgstr "'%1%' is noch een geldige iso639-2 noch een geldige iso639-1 code in --chapter-language %1%'. Zie 'mkvmerge --list-languages' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' is noch een geldige iso639-2 noch een geldige iso639-1 code in''--standaard-taal %1%'' Zie 'mkvmerge --lijst-talen' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" +msgstr "'%1%' is noch een geldige iso639-2 noch een geldige iso639-1 code in''--default-languagel %1%'' Zie 'mkvmerge --list-languages' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' is noch een geldige iso639-2 noch een geldige iso639-1 code. Zie 'mkvmerge --lijst-talen' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" +msgstr "'%1%' is geen van beiden een geldige iso639-2 noch een geldige iso639-1 code. Zie 'mkvmerge --list-languages' voor een lijst van alle talen en de bijbehorende ISO639-2 code's.\n" #: src/common/chapters/chapters.cpp:184 #: src/common/chapters/chapters.cpp:201 @@ -1077,7 +1057,7 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "'%1%' is geen HOOFDSTUKxxNAAM=... regel." -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "'%1%' is niet geldig %2% in '%3% %4%'.\n" @@ -1085,62 +1065,62 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "'%1%' is geen geldige ISO639-2 taal code." -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" -msgstr "'%1%' is geen geldige voeg to mode in '--voeg toe-mode %1%'.\n" +msgstr "'%1%' is geen geldige voeg bij mode in '--append-mode %1%'.\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" -msgstr "'%1%' is geen geldig maximaal extra blok in '--voeg blok toe %2%'.\n" +msgstr "'%1%' is geen geldig maximaal extra blok in '--blockadd %2%'.\n" #: src/common/chapters/xml_parser.cpp:132 msgid "'%1%' is not a valid ccTLD country code." -msgstr "'%1%' is geen geldige ccTLD land code." +msgstr "'%1%' is geen geldig ccTLD land code." -#: src/merge/mkvmerge.cpp:1152 -#: src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" -msgstr "'%1%' is geen geldige bestands ID in '--spoor-volgorder %2%'.\n" +msgstr "'%1%' is geen geldige bestands ID in '--track-order %2%'.\n" #: src/common/hacks.cpp:87 msgid "'%1%' is not a valid hack.\n" msgstr "'%1%' is geen geldige kraak.\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" -msgstr "'%1%' is geen geldige indeling van bestand en sporen IDs in '--voeg toe-aan %2%'.\n" +msgstr "'%1%' is geen geldige indeling van bestand en sporen ID's in '--append-to %2%'.\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" -msgstr "'%1%' is geen geldig paar van bestands ID en spoor ID in '--track-volgorde %2%'.\n" +msgstr "'%1%' is geen geldig paar van bestands ID en spoor ID in '--track-order %2%'.\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" -msgstr "'%1%' is geen geldig paar of spoor ID en extra block in '--voeg blok toe %1%'.\n" +msgstr "'%1%' is geen geldig paar of spoor ID en extra block in '--blockadd %1%'.\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" -msgstr "'%1%' is geen geldige prioriteits klasse.\n" +msgstr "'%1%' is geen geldige prioriteit klasse.\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" -msgstr "'%1%' is geen geldig spoor ID in '--voeg blok toe %2%'.\n" +msgstr "'%1%' is geen geldig spoor ID in '--blockadd %2%'.\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" -msgstr "'%1%' s geen geldig spoor ID in '--standaard-duur %2%'.\n" +msgstr "'%1%' s geen geldig spoor ID in '--default-duration %2%'.\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" -msgstr "'%1%' s geen geldig spoor ID in '--nalu-lengte-grootte %2%'.\n" +msgstr "'%1%' s geen geldig spoor ID in '--nalu-size-lenght %2%'.\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" msgstr "'%1%' is geen geldig tuple van spoor ID en de NALU lengte grootte in '--nalu-size-length %1%'.\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" -msgstr "'%1%' is geen gledig tuple van spoor ID en de standaard duur in '--default-duration %1%'.\n" +msgstr "'%1%' is geen geldig tuple van spoor ID en de standaard duur in '--default-duration %1%'.\n" #: src/extract/extract_cli_parser.cpp:136 msgid "'%1%' is only allowed when extracting chapters.\n" @@ -1150,286 +1130,286 @@ msgid "'%1%' is only allowed when extracting tracks.\n" msgstr "'%1%' is alleen mogelijk als het uit het spoor gehaald wordt.\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "'%1%' mist een bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:1842 -#: src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" msgstr "'%1%'mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" -msgstr "'%1%' mist de vierCC.\n" +msgstr "'%1%' mist de FourCC.\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" msgstr "'%1%'mist de vertraging.\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "'%1%' mist de bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "'%1%' mist het spoor ID.\n" -#: src/merge/mkvmerge.cpp:1880 -#: src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 -#: src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" msgstr "'%1%' mist het spoor nummer(s).\n" -#: src/common/output.cpp:127 -#: src/common/output.cpp:140 -#: src/common/output.cpp:153 -#: src/common/output.cpp:174 +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%' spoor %2%: %3%" -#: src/common/output.cpp:120 -#: src/common/output.cpp:133 -#: src/common/output.cpp:146 -#: src/common/output.cpp:163 +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%': %2%" #: src/common/mm_multi_file_io.cpp:165 -#: src/mmg/tabs/input.cpp:741 +#: src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" msgstr "'%1%': Uitvoeren volgende bestanden alsmede: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" -msgstr "'--voeg toe-mode' mist zijn argument.\n" +msgstr "'--append-mode' bijvoeg mode, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" -msgstr "'--voeg to-aan' mist zijn argument.\n" +msgstr "'--append-to' bijvoegen aan, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" -msgstr "'--verwachtte-ratio' mist zijn verwachtte ratio.\n" +msgstr "'--aspect-ratio' verwachtte verhouding, mist zijn verwachtte verhouding.\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" -msgstr "'--verwachtte-ratio-factor' mist zijn verwachte ratio factor.\n" +msgstr "'--aspect-ratio-factor' verwachtte verhouding factor, mist zijn verwachtte verhouding factor.\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" -msgstr "'--bijlage-beschrijving' mist zijn beschrijving.\n" +msgstr "'--attachement-description' bijlage beschrijving, mist zijn beschrijving.\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" -msgstr "'--bijlage-mime-type' mist het MIME type.\n" +msgstr "'--attachement-mime-type' bijlage mime type, mist het MIME type.\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" -msgstr "'--bijlage-naam' mist de naam.\n" +msgstr "'--attachement-name' bijlage naam, mist de naam.\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" -msgstr "'--voeg blok toe' mist zijn argument.\n" +msgstr "'--blockadd' blok toevoegen, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" -msgstr "'--hoofdstuk-karakterset' mist de karakterset.\n" +msgstr "'--chapter-charset' hoofdstuk karakter set, mist de karakterset.\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" -msgstr "'--' mag maar één keer worden ingeven in '--hoofdstuk-karakterset %1%'.\n" +msgstr "'--' mag maar één keer worden ingeven in hoofdstuk karakter set, '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" -msgstr "'--hoofdstuk-karakterset' moet ingegeven worden vóór '--hoofdstukken' in '--hoofdstuk-karakterset %1%'.\n" +msgstr "'--chapter-charset' hoofdstuk karakter set, moet ingegeven worden vóór hoofdstukken in hoofdstukken karakter set, '--chapter' in '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" -msgstr "'--hoofdstuk-taal' mist de taal.\n" +msgstr "'--chapter-language' hoodstuk taal, mist de taal.\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" -msgstr "'--hoofdstuk-taal' mag maar één keer worden ingegeven in '--hoofdstuk-taal %1%'.\n" +msgstr "'--chapter-language' hoofdstuk taal, mag maar één keer worden ingegeven in hoofdstuk taaal, '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" -msgstr "'--hoofdstuk-taal' moet ingegeven worden vóór '--hoofdstukken' in '--hoofdstuk-taal %1%'.\n" +msgstr "'--chapter-language' hoofdstuk taal, moet ingegeven worden vóór hoofdstukken in hoofdstuk taal,'--chapters' in '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" -msgstr "'--hoofdstukken' mist de bestandsnaam.\n" +msgstr "'--chapters' hoofdstukken, mist de bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" -msgstr "'--cluster-lengte' mist de cluster lengte.\n" +msgstr "'--cluster-length' cluster lengte, mist de cluster lengte.\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" -msgstr "'--commando-regel-karakterset' mist zijn argument.\n" +msgstr "'--command-line-charset' commando regel karakter set, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" -msgstr "'--compressie' mist zijn argument.\n" +msgstr "'--compression' compressie, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" -msgstr "'--uitsnijden' mist de uitsnij parameters.\n" +msgstr "'--crop' uitsnijden, mist de uitsnij parameters.\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" -msgstr "'--geleidde-hoofdstuk-naam-formaat' mist het formaat.\n" +msgstr "'--cue-chapter-name-format' volg document(en) (cue) hoofdstuk naam format, mist het formaat.\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" -msgstr "'--volg-hoofdstuk-naam-format' moet ingegeven zijn voor '--hoofdstukken'.\n" +msgstr "'--cue-chapter-name-format' volg document(en) (cue) hoofdstuk naam format, moet ingegeven zijn voor hoofdstukken, '--chapters'.\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" -msgstr "'--geleidingen' mist zijn argument.\n" +msgstr "'--cue' volg document(en) (cue), mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" -msgstr "'--standaardt-duur' mist zijn argument.\n" +msgstr "'--default-duration' standaard duur, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" -msgstr "'--standaard-taal' mist zijn argument.\n" +msgstr "'--default-language' standaard taal, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" -msgstr "'--standaard-spoor' mist zijn argument.\n" +msgstr "'--default-track' standaard spoor, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" -msgstr "'--scherm-dimensie' mist de dimensie.\n" +msgstr "'--display-dimension' standaard schermverhouding, scherm mist de dimensie.\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" -msgstr "'--aangenomen' mis het argument.\n" +msgstr "'--engage' aannemen, mis het argument.\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" -msgstr "'--geforceerd-spoor' mis het argument.\n" +msgstr "'--forced-track' geforceerde spoor, mist het argument.\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" -msgstr "'--globale-markeringen' mis de bestandsnaam.\n" +msgstr "'--global-tags' globale markeringen, missen de bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" -msgstr "'--taal' mis het argument.\n" +msgstr "'--language' taal, mist het argument.\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" -msgstr "'--link' is alleen zinvol in combinatie met '--splits'.\n" +msgstr "'--link' linken, is alleen zinvol in combinatie met splitsen, '--split'.\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" -msgstr "'--link-naar-volgende' mist de volgende UID.\n" +msgstr "'--link-to-next' link-naar-volgende, mist de volgende UID.\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" -msgstr "'--link-naar-vorige' mist het vorige UID.\n" +msgstr "'--link-to-previous' link-naar-vorige, mist het vorige UID.\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" -msgstr "'--nalu-size-length' lacks its argument.\n" +msgstr "'--nalu-size-length' nalu lengte hgrootte, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" -msgstr "'--prioriteit' mist zijn argument.\n" +msgstr "'--priority' prioriteit, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" msgstr "'--segment-uid' mist het segment UID.\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "'--segmentinfo' mist de bestandsnaam.\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" -msgstr "'--splits' mist de grootte.\n" +msgstr "'--split' splits, mist de grootte.\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" -msgstr "'--splits-max-bestanden' mist het aantal bestanden.\n" +msgstr "'--split-max-files' splits-max-bestanden, mist het aantal bestanden.\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" msgstr "'--stereo-mode' mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" -msgstr "'--sub-karakterset' mist zijn argument.\n" +msgstr "'--sub-charset' sub-karakterset, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" -msgstr "'--tijdcode-schaal' lacks its argument.\n" +msgstr "'--timecode-scale' tijdcode-schaal, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" -msgstr "'--tijdcode-schaal' is meer dan eens gebruikt.\n" +msgstr "'--timecode-scale' tijdcode-schaal, is meer dan eens gebruikt.\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" -msgstr "'--tijdcodes' mist zijn argument.\n" +msgstr "'--timecodes' tijd codes, missen het argument.\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" -msgstr "'--titel' mist de titel.\n" +msgstr "'--title' titel, mist de titel.\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" -msgstr "'--spoor-naam' mist zijn argument.\n" +msgstr "'--track-name' spoor-naam, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" -msgstr "'--track-order' lacks its argument.\n" +msgstr "'--track-order' spoor-volgorde, mist zijn argument.\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" -msgstr "'--spoor-volgorde' mag alleen éénmaal gegeven worden.\n" +msgstr "'--track-order' spoor-volgorde, mag alleen éénmaal gegeven worden.\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "'-A' en '-a' zijn gebruikt inhetzelfde bronbestand\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" -msgstr "'-B' en'-b' zijn gebruikt inhetzelfde bronbestand\n" +msgstr "'-B' en'-b' zijn gebruikt in hetzelfde bronbestand\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" -msgstr "'-D' en '-d' zijn gebruikt inhetzelfde bronbestand\n" +msgstr "'-D' en '-d' zijn gebruikt in hetzelfde bronbestand\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" -msgstr "'-S' en '-s' zijn gebruikt inhetzelfde bronbestand.\n" +msgstr "'-S' en '-s' zijn gebruikt in hetzelfde bronbestand.\n" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:394 +#: src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" -msgstr "'Standaard spoor' markering" +msgstr "'default-track' standaard spoor, markering" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:401 +#: src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" -msgstr "'Geforceerde scherm' markering" +msgstr "'forced display' geforceerde scherm, markering" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" -msgstr "'Spoor aan' markering" +msgstr "'Track enabled' Spoor aan, markering" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" -msgstr "(Onbekend element: %1%; ID: 0x%2% grootte: %3%)" +msgstr "(Unknown element: Onbekend element in:, %1%; ID: 0x%2% grootte: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(nieuw hoofdstuk bestand)" @@ -1437,15 +1417,15 @@ msgid "(none)" msgstr "(geen)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" msgstr "(niet benoemd hoofdstuk)" -#: src/mmg/tabs/chapters.cpp:880 -#: src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 -#: src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(niet benoemd)" @@ -1455,45 +1435,45 @@ #: src/input/r_flac.cpp:214 msgid "+-> Pre-parsing FLAC file: %1%%%%2%" -msgstr "+-> Pre-parsing FLAC file: %1%%%%2%" +msgstr "+-> Voor-ontleden FLAC bestand: %1%%%%2%" #: src/input/r_flac.cpp:235 msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> Voor-ontleden FLAC bestand: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", beschrijving '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", bestandsnaam '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", voltooid op %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", positie %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" msgstr ",gestart op %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" msgstr "--- BEGIN taak %d (%s, toegevoegd op %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" msgstr "--- EINDE taak %d" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" msgstr "--- Geen uitvoertaak gevonden.\n" @@ -1506,35 +1486,39 @@ msgid "---common---" msgstr "---gemeenschappelijk---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length REPLACEME cluster-lengte VERVANGMIJ" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" -msgstr "--tijdcode-schaal VERVANGMIJ" +msgstr "--timecode-scale REPLACEME tijdcode-schaal VERVANGMIJ" #: src/mmg/tabs/global.cpp:239 msgid "...after this duration:" -msgstr "na deze tijd:" +msgstr "...na deze tijd:" #: src/mmg/tabs/global.cpp:236 msgid "...after this size:" -msgstr "na de grootte:" +msgstr "...na de grootte:" #: src/mmg/tabs/global.cpp:244 msgid "...after timecodes:" -msgstr "na tijd code's:" +msgstr "...na tijd code's:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: alle beeldjes" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 bytes" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" msgstr "2: codec privé data" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 bytes" @@ -1550,42 +1534,42 @@ #: src/common/chapters/xml_parser.cpp:85 msgid "<ChapterAtom> is missing the <ChapterTimeStart> child." -msgstr "<HoofdstukDeel> mist de <HoofdstukTijdStart> child." +msgstr "<HoofdstukDeel> mist de bijbehorende <HoofdstukTijdStart>." #: src/common/chapters/xml_parser.cpp:107 msgid "<ChapterDisplay> is missing the <ChapterString> child." -msgstr "<hoofdstukScherm> mist de <HoofdstukReeks> child." +msgstr "<HoofdstukScherm> mist de bijbehorende <HoofdstukReeks>." #: src/common/chapters/xml_parser.cpp:99 msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." -msgstr "<HoofdstukSpoor> mist de bijbehorende <HoofdstukSpoorNummer>." +msgstr "<HoofdstukSpoor> mist het bijbehorende <HoofdstukSpoorNummer>." -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" -msgstr "Een groep blokken is gevonden op positie %1%, maar er is binnenin geen blok element gevonden. Dat kan veroorzaken dat mkvmerge crasht.\n" +msgstr "Een groep blokken is gevonden op positie %1%, maar er is binnenin geen blok element gevonden. Dat kan veroorzaken dat mkvmerge vastloopt.\n" -#: src/input/r_matroska.cpp:1961 -#: src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" msgstr "Een blok is gevonden op tijd moment %1% voor spoor nummer %2%. Maar geen kop informatie is gevonden voor dat spoor nummer. Het blok wordt overgeslagen.\n" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." msgstr "Een menselijk-leesbare reeks specificeert de codec." #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." msgstr "En menselijk-leesbaar spoor naam." -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" msgstr "Een taak met beschrijving '%s' bestaat al. Wil je echt een ander toevoegen met dezefde beschrijving?" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:340 +#: src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." @@ -1593,16 +1577,16 @@ "Een willekeurig gegenereerd ID om het huidige segment\n" "te identificeren tussen vele anderen (128 bits)." -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "Een spoor" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" -msgstr "Een spoor met ID %1% is gevraagd maar niet gevonden in het bestand. De bijbehorende optie wordt genegeerd.\n" +msgstr "Een spoor met ID %1% is gevraagd, maar niet gevonden in het bestand. De bijbehorende optie wordt genegeerd.\n" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:391 +#: src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" @@ -1613,7 +1597,7 @@ "van het spoor naar een ander bestand." #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:348 +#: src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." @@ -1622,7 +1606,7 @@ "segment te identificeren (128 bits)." #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:344 +#: src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." @@ -1630,21 +1614,19 @@ "Een uniek ID om het vorige gekoppelde\n" "segment te identificeren (128 bits)." -#: src/mmg/tabs/input.cpp:232 -#: src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (alias AC3)" -#: src/mmg/tabs/input.cpp:233 -#: src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (Advanced Audio Coding)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "AAC bestanden mogen bevatten HE-AAC / AAC+ / SBR AAC audio. Kan niet automatisch gedetecteerd worden. Daarom moet je die handmatig ingeven '--aac-is-sbr 0' wanneer het bestand werkelijk SBR AAC bevat. Anders wordt het bestand op de verkeerde manier samengevoegd. Lees tevens de mkvmerge's documentatie.\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC is SBR/HE-AAC/AAC+" @@ -1656,46 +1638,40 @@ "ASCII reeks (geen speciale karakters zoals\n" "Umlaute etc)" -#: src/mmg/tabs/input.cpp:234 -#: src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/h.264 basis stroom" -#: src/mmg/tabs/input.cpp:235 -#: src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (Audio/Video Interleaved)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "Afbreken" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "Breek af na huidige taak" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "Breek uitvoering af na huidige taak" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "Breek het samenvoeg proces nu af" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" msgstr "Proces afbreken over %s" #: src/info/qt_ui.cpp:125 -#: src/info/wxwidgets_ui.cpp:354 +#: src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "Over mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "Over mkvmerge's GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "Acties" @@ -1704,11 +1680,11 @@ msgid "Add" msgstr "Voeg toe" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "Voeg &commando regel opties toe" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "Voeg hoofdstuk toe" @@ -1720,23 +1696,23 @@ msgid "Add element" msgstr "Voeg element toe" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "Voeg naam toe" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "Voeg sub hoofdstuk toe" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "Toegevoegd op" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "Extra lID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "Toevoegingen" @@ -1744,23 +1720,23 @@ msgid "Adds a property with the value even if such a property already exists" msgstr "Maakt een eigendom met een waarde ook als die al bestaat" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" -msgstr "Voegt de huidige instellingen toe aan een neiuwe taak in de taak wachtrij" +msgstr "Voegt de huidige instellingen toe aan een nieuwe taak in de taak wachtrij" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "Hoofstuk tijd codes bijwerken" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "Bijwerken tijd codes" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" -msgstr "Na laden van een bestand ontvouwt het de meest belangijke elementen" +msgstr "Na laden van een bestand ontvouwt het de meest belangrijke elementen" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "Algoritme: %1% (%2%)" @@ -1772,11 +1748,11 @@ msgid "All Files (*.*)|*.*" msgstr "Alle bestanden (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "Alle hoofdstuk ingangen zijn geldig." -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "Alle 'kopstukken' zijn OK." @@ -1784,46 +1760,46 @@ msgid "All known property names and their meaning\n" msgstr "Alle bekende eigendom namen en hun betekenissen\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "Alle ondersteunde formaten|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Alle bestanden|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Alle ondersteunde formaten|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska bestanden (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM bestanden (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Alle bestanden|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "Alle ondersteunde media bestanden|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" -msgstr "Staat AVC/h.264 video opslag toe inn Video-for-Windows compabiliteits mode, b.v. wanner gelezen wordt van een AVI bestand" +msgstr "Staat AVC/h.264 video opslag toe in Video-for-Windows compabiliteits mode, b.v. wanneer gelezen wordt van een AVI bestand" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." msgstr "Staat het gebruik van de CodecStaat element toe. Wordt gebruikt voor b.v. MPEG-1/-2 video sporen voor opslaan van opeenvolgende koppen." #: src/extract/extract_cli_parser.cpp:73 msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." -msgstr "Probeer ook uit te pakken het volg (CUE) vel van het hoofdstuk informatie en markeringen voor dit spoor." +msgstr "Probeer ook uit te pakken het volg document(en) (cue) van de hoofdstuk informatie en markeringen voor dit spoor." -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "Altijd bovenaan" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "Een ID corresponderend aan een codec." -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "Een bijlage met het ID %1% is niet gevonden.\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" msgstr "Een lege bestandsnaam is niet geldig.\n" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." @@ -1832,64 +1808,64 @@ "het volgende segment." #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." msgstr "" "Een verlaten bestandsnaam behorende bij\n" -"het vorilge segment." +"het vorige segment." -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." -msgstr "Een onbekende fout. Het bestand is verander." +msgstr "Een onbekende fout. Het bestand is veranderd." #: src/mmg/wx_kax_analyzer.cpp:35 msgid "Analysis is running" msgstr "Analyse wordt uitgevoerd" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." -msgstr "Analiseert MPEG4 bitstromen, zet elk beeld in een Matroska blok, gebruik een juiste tijdindeling (I P B B = 0 120 40 80), gebruik V_MPEG4/ISO/... CodecIDs." +msgstr "Analiseert MPEG4 bitstromen, zet elk beeld in één Matroska blok, gebruik een juiste tijd indeling (I P B B = 0 120 40 80), gebruik V_MPEG4/ISO/... CodecIDs." -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" msgstr "Een ander standaard spoor voor %1% sporen zijn al ingesteld. De 'standaard' markering voor spoor %2% of '%3%' wordt niet gemaakt.\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." msgstr "Een ander samenvoeg proces loopt nog. Wacht totdat die klaar is of breek het handmatig af voordat je een nieuwe start." -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." -msgstr "Een spoor toevoegen van een bestand naar een ander spoor van hetzelfde bestand is niet toegestaan. Dit is het geval voor spoornummers %u en %u." +msgstr "Een spoor bijvoegen van een bestand naar een ander spoor van hetzelfde bestand is niet toegestaan. Dit is het geval voor spoor nummers %u en %u." -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" -msgstr "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" +msgstr "Bijvoegen %1% van bestand no. %2% ('%3%') naar spoor %4% van bestand no. %5% ('%6%').\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "Vragen voordat er overschreven wordt (bestanden, taken)" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" -msgstr "Verwachtte ratio" +msgstr "Verwachtte verhouding" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" -msgstr "Verwachtte ratio factor" +msgstr "Verwachtte verhouding factor" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" -msgstr "Verwachtte ratio type: %1%%2%" +msgstr "Verwachtte verhouding type: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" -msgstr "Verwachtte ratio:" +msgstr "Verwachtte verhouding:" #: src/common/chapters/xml_parser.cpp:51 msgid "At least one <ChapterAtom> element is needed." @@ -1903,7 +1879,7 @@ msgid "Atatchment extraction" msgstr "Bijlage extraheren" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "Vastgemaakt" @@ -1911,7 +1887,7 @@ msgid "Attached files" msgstr "Bestand bijlagen" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "Bijlage ID %1%: type '%2%', grootte %3% bytes" @@ -1919,29 +1895,29 @@ msgid "Attachment style:" msgstr "Bijlage stijl:" -#: src/mmg/mmg_dialog.cpp:286 +#: src/mmg/mmg_dialog.cpp:306 #: src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "Bijlagen" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "Audio bit diepte" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "Audio kanalen" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "Audio uitvoer voorbeeld frequentie" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "Audio voorbeeld frequentie" @@ -1950,71 +1926,75 @@ msgid "Audio track %u" msgstr "Audio spoor %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "Automatisch bestandsnaam bij opslaan" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "Automatisch MIME type herkenning voor '%1%': %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" -msgstr "Automatisch aanzetten van WebM naleving mode via bestandsnaam extensie.\n" +msgstr "Automatisch aanzetten van WebM herkenbaare mode via bestandsnaam extensie.\n" #: src/mmg/cli_options_dlg.cpp:36 msgid "Available options:" msgstr "Beschikbare opties:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "Beschikbare vertalingen:\n" -#: src/common/compression.cpp:204 -#: src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "Beschikbare versie:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit() gefaald. Resultaat: %1%\n" #: src/mmg/header_editor/value_page.cpp:148 msgid "Binary (displayed as hex numbers)" -msgstr "Binary (displayed as hex numbers)" +msgstr "Binary (getoond als hex nummers)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "Bit diepte: %1%" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "Bits per voorbeeld, meestal gebruikt voor PCM." -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "Blok (spoor nummerr %1%, %2% beeld(en), tijdcode %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "Extra blokl ID: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "Extra blok: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "Blok duur: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 -#: src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "Blok groep" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "Blok virtueel: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" msgstr "Verkeerde hulp %1%\n" @@ -2022,71 +2002,75 @@ msgid "Boolean (yes/no, on/off etc)" msgstr "Variabel (ja/nee, aan/uit etc)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "Beide ogen" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" -msgstr "Zowel verwachtte ratio en '--scherm-dimensies' werden gegeven.\n" +msgstr "Zowel verwachtte verhouding en '--scherm-dimensies' werden gegeven.\n" #: src/merge/pr_generic.cpp:191 msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" -msgstr "Zowel verwachtte ratio factor en '--scherm-dimensies' werden gegeven.\n" +msgstr "Zowel verwachtte verhouding factor en '--scherm-dimensies' werden gegeven.\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "Toont de taak wachtrij bewerker" -#: src/mmg/mmg_dialog.cpp:291 +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 #: src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 #: src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 #: src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 -#: src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "Bladeren" #: src/extract/extract_cli_parser.cpp:108 msgid "CUE sheet extraction" -msgstr "Volg vel (CUE) extractie" +msgstr "Volg document(en) (cue) extractie" + +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "Bereken en controleer de controlesom gebruik meldt niveaul 4." + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "Calculeert controle som van spoor inhoud." #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" msgstr "Kan geen oneigen MPEG4 video beelden naar eigen converteren als de bron geen van beiden bevat, tijd code's noch het aantal beelden per seconde.\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" msgstr "Kan geen verschillende sporen uit hetzelfdde bestand halen. Dit was een verzoek voor spoor %1% en %2%.\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "Kan tweede samenvoeg taak niet starten" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" -msgstr "Kan spoor niet schrijven %1% met het CodecID '%2%' to the file '%3%' omdat spoor %4% met het CodecID '%5%' al wordt geschreven naar hetzelfde bestand, en hun CodecPrivé data (de USF stijlen etc) niet overeenkomen.\n" +msgstr "Kan spoor niet schrijven %1% met het CodecID '%2%' naar het bestand '%3%' omdat spoor %4% met het CodecID '%5%' al wordt geschreven naar hetzelfde bestand, en hun CodecPrivé data (de USF stijlen etc) niet overeenkomen.\n" #: src/extract/xtr_avi.cpp:46 -#: src/extract/xtr_base.cpp:64 #: src/extract/xtr_ivf.cpp:53 -#: src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "Kan spoor niet schrijven %1% met het CodecID '%2%' naar bestand '%3%' omdat spoor %4% met het CodecID '%5%' al naar hetzelfde bestand wordt geschreven.\n" #: src/common/kate.cpp:82 msgid "Category is not NUL terminated" -msgstr "Categorie is niet NUL geëindigd" +msgstr "Categorie is niet NUL afgebroken" -#: src/extract/timecodes_v2.cpp:357 -#: src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "Uitzondering ontdekt" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "Veroorzaak dat mkvmerge toevoegt 'stop scherm' commando's naar VobSub ondertiteling paketten bevatten geen duur veld." @@ -2106,7 +2090,7 @@ msgid "Change for '%1%' executed. One entry added.\n" msgstr "Veranderingen voor '%1%' uitgevoerd. Eén ingang toegevoegd.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "Verander MMG's voorkeuren en opties" @@ -2114,35 +2098,35 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "Veranderingen zullen geen effect hebben voordat MMG is herstart." -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "Kanaal positie: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "Sporen: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "Hoofdstuk bewerken" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "Hoofdstuk vertalen" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "Hoofdstuk vertaal Codec: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "Hoofdstuk vertaal editie UID: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "Hoofdstuk vertaal ID: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "Hoofdstuk berwerker is niet leeg" @@ -2154,7 +2138,7 @@ msgid "Chapter file:" msgstr "Hoofdstuk bestand:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "Hoofstuk bestanden (*.xml)|*.xml|%s" @@ -2164,12 +2148,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "Hoofstuk bestanden (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "Hoofstuk bestanden (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "Hoofstuk bestanden (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "Hoofdstuk talen en namen" @@ -2185,61 +2169,79 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "Hoofdstuk ontleder: De EditieUID %1% is niet uniek en kan niet hergebruikt worden. Een nieuwe wordt aangemaakt.\n" -#: src/mmg/tabs/chapters.cpp:759 -#: src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 -#: src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "Hoofdstuk verificatie fout" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "Hoofdstuk verificatie succesvol" #: src/mmg/options/chapters.cpp:130 #: src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "Hoofdstukken" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "Hoofstukken (%d ingangen) van%s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "Hoofdstukken zijn niet toegestaan in WebM herkenbare bestanden. Er worden geen hoofdstukken geschreven in enig uitvoer bestand.\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." msgstr "Hoofdstukken geladen." -#: src/mmg/tabs/chapters.cpp:721 -#: src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "Hoofdstuk geschreven." -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "Hoofdstukken:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "Hoofstukken: %1% ingangen" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "Karakter sets reeks voor commando regel" +#: src/mmg/tabs/input_format.cpp:249 #: src/mmg/tabs/global.cpp:282 -#: src/mmg/tabs/input_format.cpp:248 msgid "Charset:" msgstr "Karakter set:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "Controleer online voor de laatste versie" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "Controleer online voor de laatste versie." + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "Controleer online of er al dan niet een nieuwer versie van MKVToolNix op de thuispagina beschikbaar is. Wortdt leen gecontroleerd als mmg start en maximaal één keer per dag. Er wordt géén informatie naar de server verzonden!" + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "Controleren op opwaarderingen,moment a.u.b." + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "Kies een hoofdstuk bestand" @@ -2255,26 +2257,26 @@ msgid "Choose an attachment file" msgstr "Kies een tijd bijlage bestand" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" -msgstr "kies een invoer bestand" +msgstr "Kies een invoer bestand" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "Kies een toe te voegen invoer bestand" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" -msgstr "Kies een invoer bestand om toe te voegen" +msgstr "Kies een invoer bestand om bij te voegen" -#: src/mmg/jobs.cpp:401 -#: src/mmg/mmg_dialog.cpp:314 -#: src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 -#: src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 -#: src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "Kies een uitvoer bestand" @@ -2282,7 +2284,7 @@ msgid "Choose the chapter file" msgstr "Kies hoofdstuk bestand" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "Kies de locatie van de mkvmerge GUI help bestanden" @@ -2290,7 +2292,7 @@ msgid "Choose the mkvmerge executable" msgstr "Kies het mkvmerge programma" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "Kies uitvoer map" @@ -2302,11 +2304,11 @@ msgid "Choose the tags file" msgstr "Kies het markeer bestand" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" msgstr "Wis invoeringen na succesvolle samenvoeging" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" msgstr "Wis invoeringen na toevoegen taak aan taak wachtrij" @@ -2314,73 +2316,73 @@ msgid "Close the current file without saving" msgstr "Sluit bestaande bestand zonder op te slaan" -#: src/extract/timecodes_v2.cpp:259 -#: src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "Cluster" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "Cluster lengte '%1%' buiten het bereik van (0..65535).\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "Cluster lengte '%1%' buiten het bereik van (100..32000).\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "Cluster positie: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "Vorige cluster grootte: %1%" -#: src/extract/timecodes_v2.cpp:274 -#: src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "Cluster tijd code: %|1$.3f|s" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "Codec ID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "Codec ID: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "Codec decodeer alles: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "Codec gedownloadde URL: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "Codec info URL: %1%" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "Codec naam" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "Codec naam: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "Codec instellingen: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "Codec staat: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "CodecPrivé, lengte %1%%2%" @@ -2388,11 +2390,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "Vouw alles in zodat er geen sub ingangen zijn te zien" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "Ruimte kleur: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "Commando regel gekopieerd naar klembord." @@ -2400,11 +2402,11 @@ msgid "Command line options:" msgstr "Command regel opties:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "Commando regel bewaard." -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "Gebruikte commando regel:" @@ -2412,40 +2414,40 @@ msgid "Common languages" msgstr "Algemene taal" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "Compressie gefaald: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 -#: src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "Compressie:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "Configuratie geleegd." -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." msgstr "Configuratie geladen." -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "Configuratie bewaard." -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "Compressie inhoud" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "Inhoud coderen" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "Inhoud coderingen" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "Inhoud encryptie" @@ -2453,7 +2455,7 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "Converteer tekst ondertiteling naar deze karakterset (standaard: UTF-8)." -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "Kopieer commando regel naar klembord" @@ -2465,34 +2467,34 @@ msgid "CorePicture frame %1% not supported.\n" msgstr "HoofdPlaatje beeld %1% niet ondersteund.\n" -#: src/mmg/jobs.cpp:178 -#: src/mmg/mux_dialog.cpp:129 -#: src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "Kon geen tijdelijk bestand creëren voor mkvmerge's commando regel optie genaamd '%s' (fout code %d, %s)." -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "Kon bestand '%s' niet creëren." -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "Kon opgegeven bestand niet maken." #: src/common/xml/element_parser.cpp:154 msgid "Could not decode the Base64 encoded data - it seems to be malformed." -msgstr "Kon niet coderen Base64 gecodeerdedata - het schijnt misvormd te zijn." +msgstr "Kon niet coderen Base64 gecodeerde data - het schijnt misvormd te zijn." -#: src/input/r_avi.cpp:327 -#: src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" -msgstr "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" +msgstr "Kon decoder specifieke configuratie data niet uitpakken (AVCC) van dit AVC/h.264 spoor.\n" -#: src/input/r_avi.cpp:277 -#: src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" msgstr "Kon geen uitreksel maken van de opeenvolgende koppen van dit MPEG-1/2 spoor.\n" @@ -2500,25 +2502,30 @@ msgid "Could not find a valid MP3 packet." msgstr "Kon geen geldig MP3 pakket vinden." -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "Kan geen index vinden voor audio spoor %1% (fout code: %2%). Sla spoor over.\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" -msgstr "Kon gptzr niet vinden tijdens toevoegen. %1%\n" +msgstr "Kon gptzr niet vinden tijdens bijvoegen. %1%\n" #: src/output/p_mpeg4_p2.cpp:181 msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "Kan de codec configuratie data niet vinden in het eerste MPEG-4 deel 2 video beeld. Dit spoor kan niet worden opgeslagen in de eigen mode.\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "Kan de volgende Ogg pagina niet vinden. Dit geeft een beschadigde Ogg/Ogm bestand aan. Zal proberen door te gaan.\n" +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "Kon geen geldig DTS kopstuk vinden in dit spoor, eerste beeld.\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" -msgstr "Kon de iconv bibliotheek niet starten voor conversie van %1% naar UTF-8. Sommige reeksen worden niet geconverteerd naar UTF-8 en het uiteindelijke Matroska bestand zou niet kunnen voldoen aan de Matroska specificaties (fout: %2%, %3%).\n" +msgstr "Kon de iconv bibliotheek niet starten voor conversie van %1% naar UTF-8. Sommige reeksen worden niet geconverteerd naar UTF-8 en het uiteindelijke Matroska bestand, zou niet kunnen voldoen aan de Matroska specificaties (fout: %2%, %3%).\n" #: src/common/locale.cpp:140 msgid "Could not initialize the iconv library for the conversion from UFT-8 to %1%. Some strings cannot be converted from UTF-8 and might be displayed incorrectly (error: %2%, %3%).\n" @@ -2530,7 +2537,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "Kon niet openen '%1%' voor lezen.\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "Kon het klembord niet openen." @@ -2538,16 +2545,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "Kon het corresponderende correctie bestand niet openen '%1%c'.\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." -msgstr "Kon het bestemminfgs bestand niet openen '%s' voor schrijven. Fout code: %d (%s)." +msgstr "Kon het bestemming bestand niet openen '%s' voor schrijven. Fout code: %d (%s)." -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "Kon het bestand niet openen '%1%' voor het dirigeren van de uitvoer.\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "Kon het tijdcode bestand niet openen'%1%' voor schrijven (%2%).\n" @@ -2563,17 +2570,17 @@ msgid "Could not read the FLAC header packets.\n" msgstr "Kon de FLAC pakket koppen niet lezen.\n" +#: src/common/mm_io_win.cpp:167 #: src/common/mm_io.cpp:181 -#: src/common/mm_io_win.cpp:166 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "Kon niet schrijven naar het uitvoer bestand: %1% (%2%)\n" #: src/mmg/options/chapters.cpp:89 -#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "Land:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "Maak &optie bestand" @@ -2583,185 +2590,185 @@ #: src/mmg/tabs/global.cpp:301 msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." -msgstr "Creëer een WebM herkenbaar bestand. mkvmerge zet dit tevens aan wanneer het uitvoerbestandsnaam de extensie \"webm\" heeft. Deze modus dwingt diverse beperkingen af. De enig toegestane codecs zijn VP8 video en Vorbis audio sporen. Geen van de volgende hoofdstuk markeringen zijn toegstaan. Het DocType kop item is veranderd naar \"webm\"." +msgstr "Creëer een WebM herkenbaar bestand. mkvmerge zet dit tevens aan, wanneer het uitvoerbestandsnaam de extensie \"webm\" heeft. Deze modus dwingt diverse beperkingen af. De enig toegestane codecs zijn VP8 video en Vorbis audio sporen. Geen van de volgende hoofdstuk markeringen zijn toegstaan. Het DocType kop item is veranderd naar \"webm\"." -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "Creëer een nieuw hoofdstuk bestand" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" -msgstr "Opbouw parameters: niet ingegeven in het formulier <TID>:<links>,<bovenaan>,<rechts>,<onderaan> b.v. 0:10,5,10,5 (argument was '%1%').\n" +msgstr "Uitsnij parameters: niet ingegeven in het formulier <TID>:<links>,<bovenaan>,<rechts>,<onderaan> b.v. 0:10,5,10,5 (argument was '%1%').\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" -msgstr "Verkleinen:" +msgstr "Verkleinen/uitsnijden:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" -msgstr "Volg blok nummer: %1%" +msgstr "volg document(en) (cue) blok nummer: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Volg cluster positie: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" -msgstr "Geleidde codec staat: %1%" +msgstr "Volg document(en) (cue) codec staat: %1%" #: src/mmg/tabs/global.cpp:286 msgid "Cue name format:" -msgstr "Geleidde formaat naam:" +msgstr "Volg document(en) (cue) naam:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" -msgstr "Geleidde punt" +msgstr "Volg document(en) (cue) punt" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" -msgstr "Geleidde referentie cluster" +msgstr "Volg document(en) (cue) referentie cluster: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" -msgstr "Geleidde referentie codec staat %1%" +msgstr "Volg document(en) (cue) referentie codec staat %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" -msgstr "Geleidde referentie nummer: %1%" +msgstr "Volg document(en) (cue) referentie nummer: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" -msgstr "Geleide referentie tijd: %|1$.3f|s" +msgstr "Volg document(en) (cue) referentie tijd: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" -msgstr "Geleidde referentie" +msgstr "Volg document(en) (cue) referentie" #: src/common/chapters/cue_parser.cpp:398 msgid "Cue sheet parser: Invalid INDEX entry in line %1%.\n" -msgstr "Volg vel ontleder: Ongeldig index ingang in regel %1%.\n" +msgstr "Volg document(en) (cue) ontleder: Ongeldig index ingang in regel %1%.\n" #: src/common/chapters/cue_parser.cpp:417 msgid "Cue sheet parser: Invalid INDEX number (got %1%, expected %2%) in line %3%,\n" -msgstr "Volg vel ontleder: Ongeldig INDEX nummer (had %1%, verwachtte %2%) in regel %3%,\n" +msgstr "Volg document(en) (cue) ontleder: Ongeldig INDEX nummer (had %1%, verwachtte %2%) in regel %3%,\n" #: src/common/chapters/cue_parser.cpp:279 msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" -msgstr "Volg vel ontleder: Geen INDEX ingang gevonden voor het vorige spoor ingang (huidige regel: %1%)\n" +msgstr "Volg document(en) (cue) ontleder: Geen INDEX ingang gevonden voor het vorige spoor ingang (huidige regel: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" -msgstr "Geleidde tijd: %|1$.3f|s" +msgstr "Volg document(en) (cue) tijd: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" -msgstr "Geleidde spoor positie" +msgstr "Volg document(en) (cue) spoor positie" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" -msgstr "Geleidde spoor: %1%" +msgstr "Volg document(en) (cue) spoor: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" -msgstr "Geleidde richting (sub ingangen worden overgeslagen)" +msgstr "Volg document(en) (cue) (sub ingangen worden overgeslagen)" #: src/mmg/tabs/input_extra.cpp:50 -#: src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" -msgstr "Geleidde richting:" +msgstr "Volg document(en) (cue):" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "Huidige en verleden taken:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "Huidige commando regel" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "Huidige taak ID %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "Huidige taak ID 1000:" #: src/mmg/header_editor/value_page.cpp:166 msgid "Current value:" -msgstr "Huidige waardee:" +msgstr "Huidige waarde:" + +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "Huidige versie:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "V&erwijder" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (Digital Theater System)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "DTS kop informatie gewijzigd! - Nieuw formaat:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (Digital Theater System)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTS_Header probleem: gecodeerd met een niet geldige codeer versie\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" msgstr "DTS_Header probleem: ongeldig hoofd voorbeeld frequentie\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" -msgstr "DTS_Header probleem: invalid frame bytes size\n" +msgstr "DTS_Header probleem: ongeldig beeld bytes grootte\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" -msgstr "DTS_Header probleem: invalid number of blocks in frame\n" +msgstr "DTS_Header probleem: ongeldig aantal blokken in beeld\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" -msgstr "DTS_Header probleem: invalid source PCM resolution\n" +msgstr "DTS_Header probleem: ongeldig PCM bron resolutie\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" -msgstr "DTS_Header probleem: not enough data to read header\n" +msgstr "DTS_Header probleem: onvoldoen data in de kop te lezen\n" #: src/common/xml/element_parser.cpp:238 msgid "Data is not allowed inside <%1%>." msgstr "Data is binnenin niet toegestaan <%1%>." -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "Datum (ongelding, waarde: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "Datum: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "Debug> " -#: src/mmg/tabs/input_format.cpp:193 -#: src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "Standaard" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:417 +#: src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "Standaard duur" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "Standaard duur: %|1$.3f|ms (%|2$.3f| fps voor een video spoor)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "Standaard markering: %1%" @@ -2769,15 +2776,15 @@ msgid "Default track flag:" msgstr "Standaard spoor markering" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "Vertraging (in ms):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "Vertraag dit spoor zijn tijd codes met een paar miliseconden. Mag negatief zijn. Werkt met alle spoor soorten, maar negative vertraging bij voorkeur niet met video sporen." -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "Vertraging: %|1$.3f|ms" @@ -2785,15 +2792,15 @@ msgid "Delete all occurences of a property" msgstr "Verwijder alle gebeurtenissen van een eigendom" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" msgstr "Verwijder geselecteerde taken uit taken wachtrij" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "Beschrijving" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "Beschrijving bestaat reeds" @@ -2803,36 +2810,36 @@ msgid "Description:" msgstr "Beschrijving:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac basis stroom" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "Zet verwijder kop compressie uit voor audio en video sporen (standaard)" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "Zet geselecteerde taken uit en zet hun status op 'klaar'" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "Zet gebruik van SimpelBlokken uit i.p.v. BlokGroepen." -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "Zet aaneenkoppelen uit voor alle sporen. Dit verhoogt de bestandsgrootte. Zeker bij meerdere audio sporen. Gebruik het alleen voor testen." -#: src/merge/mkvmerge.cpp:683 -#: src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" msgstr "Toon dimensies: niet ingegeven in formulier <TID>:<breedte>x<hoogte>, b.v. 1:640x480 (het argument was '%1%').\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "Toon hoogte: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "Toon unit: %1%%2%" @@ -2840,91 +2847,95 @@ msgid "Display usage information" msgstr "Toon gebruiksinformatie" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "Scherm breedte/hoogte:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "Scherm breedte: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "Voeg niets toe aan het meta zoek element." -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "Schrijf helemaal geen meta zoek elementen." -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "Doc type lees versie: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "Doc type versie: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "Doc type: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" #: src/extract/extract_cli_parser.cpp:66 msgid "Don't write variable parts to output files (only for debugging)." -msgstr "Schrijf geen variabele delen naar uitvoer bestanden (alleen voor debugging)." +msgstr "Schrijf geen variabele delen naar uitvoer bestanden (alleen voor foutzoeken)." #: src/propedit/propedit.cpp:108 msgid "Done.\n" msgstr "Gedaan.\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "Gedownloadde URL:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "Duur: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "Duur: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "&Sluiten\tCtrl-W" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBML kop" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML maximum ID lengte: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML maximum lengte grootte: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "EBML lees versie: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBML versie: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "Kwalijke interne bug! (onbekend bestandstype). %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "Elk hoofdstuk en elke editie heeft een uniek herkenningsteken. Dit teken wordt normaal automatisch toegekend door het programma, maar kan handmatig worden toegekend indien dat echt nodig is." -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "Elke editie dient minimaall één hoofdstuk bevatten." -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "EbmlVoid (grootte: %1%)" @@ -2932,13 +2943,13 @@ msgid "Edit selectors" msgstr "Bewerk selectie mogelijkheden" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "Editie %d" -#: src/mmg/tabs/chapters.cpp:870 -#: src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "EditieIngang %u" @@ -2963,7 +2974,7 @@ msgid "Enable splitting..." msgstr "Zet splitsen aan..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "Aangezet: %1%" @@ -2971,24 +2982,24 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "Zet splitsen aan naar één of meerdere bestanden. Je kunt splitsen naar een opgegeven grootte, nadat een opgegeven tijd is verstreken in elk bestand of na een lijst met tijdsduren." -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "Encryptie algoritme: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "Encryptie sleutel ID: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "Einde:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "Engelse taal naam" #: src/info/qt_ui.cpp:130 -#: src/info/wxwidgets_ui.cpp:245 +#: src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "Fout" @@ -2996,11 +3007,11 @@ msgid "Error %1%\n" msgstr "Fout %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "Fout in regel %1%: verwachtte een SRT tijd code maar vond iets anders. Breek dat bestand af.\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "Fout in regel %1%: verwachtte een ondertitel nummer maar vond een tekst.\n" @@ -3008,25 +3019,25 @@ msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" msgstr "Fout bij starten tabellen voor het hoofdstuk, markering en segment info elementen: Kon het element vinden met de debug naam '%1%'. %2%\n" -#: src/mmg/mmg.cpp:217 -#: src/mmg/mmg_dialog.cpp:369 -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" msgstr "Instellingen laad fout" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "Fout bij openen bestand" #: src/input/r_mpeg_ps.cpp:1044 msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" -msgstr "Fout bij ontleden van een MPEG PS pakket tijden het lezen van de kopinfo fase. Deze stroom lijkt ernstig bescahdigd.\n" +msgstr "Fout bij ontleden van een MPEG PS pakket tijden het lezen van de kopinfo fase. Deze stroom lijkt ernstig beschadigd.\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "Fout bij ontleden van bestand" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" msgstr "Fout bij ontleden van markeringen '%1%': sommige verplichte elementen ontbreken.\n" @@ -3034,19 +3045,19 @@ msgid "Error saving the information" msgstr "Fout bij informatie opslaan" -#: src/mmg/header_editor/frame.cpp:690 -#: src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 -#: src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "Fout bij schrijven MATROSKA bestand" -#: src/common/output.cpp:68 -#: src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "Fout:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "Fout:" @@ -3054,16 +3065,16 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "Fout: %1% ontleder faalde bij '%2%', regel %3%, kolom %4%: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "Fout: Kon invoer bestand niet openen %1% (%2%).\n" -#: src/extract/timecodes_v2.cpp:180 -#: src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." msgstr "Fout: Géén EBML kopinfo gevonden." -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -3075,11 +3086,11 @@ msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" msgstr "Fout: vorbis_packetizer: Kon de de stroom parameters niet achterhalen uit het eerste pakket.\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "Fouten:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "Alles ging goed" @@ -3111,7 +3122,7 @@ #: src/extract/extract_cli_parser.cpp:102 msgid "Exports the chapter infomartion in the simple format used in OGM tools (CHAPTER01=... CHAPTER01NAME=...)." -msgstr "Exporteerd de hoofdstuk informatie in simpel format gebruikt in OGM hulpmiddel (HOOFDSTUK01=... HOOFDSTUK01NAAM=...)." +msgstr "Exporteert de hoofdstuk informatie in simpel format gebruikt in OGM hulpmiddel (HOOFDSTUK01=... HOOFDSTUK01NAAM=...)." #: src/mmg/tabs/input.cpp:192 msgid "Extra options" @@ -3125,142 +3136,138 @@ msgid "Extract the data to a raw file." msgstr "Extract de data naar een raw bestand." -#: src/output/p_avc.cpp:128 -#: src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" -msgstr "Haal de verwachtte ratio informatie uit de MPEG-4 layer 10 (AVC) video data en zet het scherm dimensie naar %1%/%2%.\n" +msgstr "Haal de verwachtte verhouding informatie uit de MPEG-4 layer 10 (AVC) video data en zet het scherm dimensie naar %1%/%2%.\n" #: src/output/p_mpeg4_p2.cpp:338 msgid "Extracted the aspect ratio information from the MPEG4 layer 2 video data and set the display dimensions to %1%/%2%.\n" -msgstr "Haal de verwachtte ratio informatie uit de MPEG4 layer 2 video data en zet scherm dimensie naar %1%/%2%.\n" +msgstr "Haal de verwachtte verhouding informatie uit de MPEG4 layer 2 video data en zet scherm dimensie naar %1%/%2%.\n" #: src/output/p_theora.cpp:74 msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" -msgstr "Haal de verwachtte ratio informatie uit de Theora video koppen en zet het scherm dimensie naar %1%/%2%.\n" +msgstr "Haal de verwachtte verhouding informatie uit de Theora video koppen en zet het scherm dimensie naar %1%/%2%.\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" msgstr "Uittreksel van spoor %1% met de CodecID '%2%' naar bestand '%3%'. Inhoud format: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" msgstr "Extractie van spoor nummer %1% met het CodecID '%2%' is niet ondersteund.\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (verlies vrije audio Audio Codec)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC verlies vrije audio" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" -msgstr "FPS:" +msgstr "Beelden per sec (FPS) :" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "Gefaald te creëren VobSub data bestand '%1%': %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 -#: src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "Gefaald bestand te creëren '%1%': %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "Gefaald een tijdelijk bestand te creëren '%1%': %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" -msgstr "Gefgaald een USF ondertitel ingang te ontleden voor spoor 1%: %2%\n" +msgstr "Gefaald een USF ondertitel ingang te ontleden voor spoor %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "Gefaald de USF codec privé data te ontleden voor spoor %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "Gefaald het USF eind markering te ontleden voor spoor %1%: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "Familie UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Bestand %1% heeft een onbekend type. Kijk even naar de ondersteunde bestandstypen ('mkvmerge --lijst-typen') en maak contact met de autheur Moritz Bunkus <moritz@bunkus.org> als je bestand wordt ondersteund maar niet correct wordt herkend.\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "Bestand '%1%': houderr: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "Bestand '%1%': niet ondersteunde houder: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "Bestand UID: %1%" -#: src/input/r_real.cpp:471 -#: src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "Bestand bevat minder beelden dan verwacht of is beschadigd na beeld %1%.\n" -#: src/mmg/mmg_dialog.cpp:765 -#: src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "Aanmaken bestand mislukt" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "Bestand data, grootte: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "Bestand beschrijving: %1%" -#: src/mmg/tabs/input.cpp:401 -#: src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "Bestand identificatie gefaald" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "Bestand identificatie gefaald voor '%s'. Terugkoppel code: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." -msgstr "Bestand identificatie gefaald. Terugkoppel code: %d. Fout code: %d (%s). Wees er zeker van dat je mkvmerge hebt geslecteerd in de Bestand >>Opties scherm." +msgstr "Bestand identificatie gefaald. Terugkoppel code: %d. Fout code: %d (%s). Wees er zeker van dat je mkvmerge hebt geslecteerd in de Bestand >>Opties >> tab Mkvmerge." -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "Bestand is al uitgevoerd" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "Bestand gewijzigd" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "Bestand naam: %1%" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "Bestand ontcijferen niet gelukt" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "Bestand verwijderen niet mogelijk" -#: src/mmg/header_editor/frame.cpp:702 -#: src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "Bestand structuur waarschuwing" @@ -3272,46 +3279,46 @@ msgid "File/segment title:" msgstr "Bestand/segment titel:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" -msgstr "Bestanden kunnen niet aanzichzel tiegeveogd worden. Het argument voor '--voeg toe-aan' is ongeldig.\n" +msgstr "Bestanden kunnen niet aanzichzelf bijgevoegd worden. Het argument voor '--append-to' was ongeldig.\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "Voltooid met taak ID %d op %s: status '%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "Voltooid op" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "Voltooide uitvoer op %s" #: src/mmg/header_editor/value_page.cpp:147 msgid "Floating point number" -msgstr "Verdanderend nummer" +msgstr "Veranderend nummer" #: src/mmg/tabs/global.cpp:270 #: src/mmg/tabs/global.cpp:272 msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." msgstr "Voor uitgebreidere uitleg van bestand/segment linken en de mogelijkheden lees de documentatie van mkvmerge's." -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "Forceer aaneenkoppelen van EBML stijle." -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "Forceer aaneenkoppelen van Xiph stijl." -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "Forceer de vertaling voor 'code' om die te gebruiken." -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "Geforceerde markering: %1%" @@ -3319,21 +3326,21 @@ msgid "Forced track flag:" msgstr "Forceer spoor markering:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "Forceer de VierrCC van het video spoor met deze waarde. Opmerking, dit werkt alleen voor video sopren die AVI compatibele mode gebruiken van QuickTime video sporen. Deze optie kan niet worden gebruikt om de Matroska's CodecID te veranderen." -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." -msgstr "Forceert de Matroska lezer de algemene doorlaat inpakker te gebruiken zelfs voor bekende en ondersteunde spoortypen." +msgstr "Forceert de Matroska lezer de algemene doorvoer inpakker te gebruiken zelfs voor bekende en ondersteunde spoortypen." -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "Forceert NALU lengte grootte naar een bepaalde hoeveelheid aan bytes. Deze parameter is alleen beschikbaar voor AVC/h.264 basis stromen gelezen van AVC/h.264 ES bestanden, AVI's of Matroska bestanden gecreëerd met '--engage allow_avc_in_vwf_mode'. Standaard waarde 4 bytes, maar er zijn bestanden die geen beeld of deel bevatten die groter zijn dan 65535 bytes. Voor die bestanden kan je deze parameter gebruiken en de grootte verlagen naar2." -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." -msgstr "Forceert de tijdschaal factor naar VERVANGMIJ. Je dient de VERVANGMIJ te vervangen met een waarde tussen 1000 en 10000000 of met -1. Normaal zal mkvmerge een waarde gebruiken van 1000000 wat inhoud dat de tijdcode en duren een precisie zullen hebben van 1ms. Voor bestanden die geen video spoor hebben maar minimaal één audio spoor, zal mkvmerge automatisch een tijdcode schaal factor kiezen, zodat alle tijdcodes en duren de precisie hebben van één voorbeeld. Dit veroorzaakt een grotere overloop maar staat een betere zoek en extractie toe. Als de magische waarde -1 is gebruikt dan zal mkvmerge het voorbeeld precisie gebruiken zelfs als een video spoor aanwezig is." +msgstr "Forceert de tijdschaal factor naar VERVANGMIJ. Je dient de VERVANGMIJ te vervangen met een waarde tussen 1000 en 10000000 of met -1. Normaal zal mkvmerge een waarde gebruiken van 1000000 wat inhoudt dat de tijdcode en duren een precisie zullen hebben van 1ms. Voor bestanden die geen video spoor hebben maar minimaal één audio spoor, zal mkvmerge automatisch een tijdcode schaal factor kiezen, zodat alle tijdcodes en duren de precisie hebben van één voorbeeld. Dit veroorzaakt een grotere overloop maar staat een betere zoek en extractie toe. Als de magische waarde -1 is gebruikt dan zal mkvmerge het voorbeeld precisie gebruiken zelfs als er een video spoor aanwezig is." #: src/mmg/tabs/input.cpp:191 msgid "Format specific options" @@ -3341,11 +3348,11 @@ #: src/mpegparser/M2VParser.cpp:442 msgid "Found B frame without second reference in a non closed GOP. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Gevonden B beeldje zonder tweede referentie in een niet gesloten GOP. Herstel de MPEG2 video stroom voordat je een poging doet het te verminigvuldigen.\n" +msgstr "Gevonden B beeldje zonder tweede referentie in een niet gesloten GOP. Herstel de MPEG2 video stroom voordat je een poging doet het te vermenigvuldigen.\n" #: src/mpegparser/M2VParser.cpp:396 msgid "Found group of picture with broken link. You may want use smart reencode before attempting to multiplex it.\n" -msgstr "Gevonden een groep van beelden met een onjuiste verwijzing. Je zou kunnen gebruiken de slimme re-encode voordat je een poging doet het te vermnigvuldigen.\n" +msgstr "Gevonden een groep van beelden met een onjuiste verwijzing. Je zou kunnen gebruiken de slimme re-encode voordat je een poging doet het te vermenigvuldigen.\n" #: src/common/xml/element_parser.cpp:131 msgid "Found no encoded data nor '@file' to read binary data from." @@ -3355,37 +3362,36 @@ msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" msgstr "Vond één of meer B beelden zonder een tweede referentie in het eerste GOP. Misschien wil je de MPEG2 video stroom herstellen of gebruik de slimme her-coderen voordat je een poging doet het te vermenigvuldigen.\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" -msgstr "VierCC:" +msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" -msgstr "VierCC: Ongeldig spoor ID in '%1% %2%'.\n" +msgstr "FourCC: Ongeldig spoor ID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" -msgstr "VierCC: Missend spoor nummer in '%1% %2%'.\n" +msgstr "FourCC: Missend spoor nummer in '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "Beeld nummer: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" -msgstr "Beeld ratio: %1%" +msgstr "Beeld verhouding: %1%" -#: src/info/mkvinfo.cpp:148 -#: src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "Beeld met grootte %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 -#: src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." -msgstr "Vrij-formulier bewerk veld voor gebruiker gedefinieerde optie voor dit spoor. Wat je hier ingeeft, wordt toegevoegd na alle andere opties die mmg toevoegt. Daardoor kan je enig andere mmg optie overschrijven voor dit spoor. Alle gebeurtenissen van de reeks\"<TID>\" zullen vervangen worden door het sporen spoor ID." +msgstr "Vrij-formulier bewerk veld voor gebruiker gedefinieerde optie voor dit spoor. Wat je hier ingeeft, wordt toegevoegd na alle andere opties die mmg toevoegt. Daardoor kan je enig andere mmg optie overschrijven voor dit spoor. Alle gebeurtenissen van de reeks\"<TID>\" zullen vervangen worden door het sporen, spoor ID." -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "Gamma: %1%" @@ -3393,7 +3399,7 @@ msgid "General track options" msgstr "Algemene spoor opties" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "Globaal" @@ -3402,12 +3408,12 @@ msgid "Global options" msgstr "Globale opties" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "Globale markeringens (%d ingangen) van %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "Globale markeer: %1% ingangen" @@ -3428,41 +3434,49 @@ msgid "Header editor: %s" msgstr "Koppen bewerker: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "Kopdeel compressie verwijderen niet mogelijk omdat de buffer %1% bytes bevat wat minder is dan de grootte van het kopdeel wat verwijderd zou moeten worden, %2%." -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." -msgstr "Veerwijderen kop compressie niet mogelijk omdat het buffer niet is gestart met de bytes die verwijderd moeten worden. Gezochte bytes:%1%; gevonden:%2%." +msgstr "Verwijderen kop compressie niet mogelijk omdat het buffer niet is gestart met de bytes die verwijderd moeten worden. Gezochte bytes:%1%; gevonden:%2%." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "Koppen valideren" -#: src/mmg/header_editor/frame.cpp:566 -#: src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "Koppen gewijzigd" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "Hoogte van de gedecodeerde video beelden in pixels." #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "Te tonen hoogte van de video beelden." -#: src/mmg/mmg_dialog.cpp:686 -#: src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "Help bestand niet gevonden" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"Help is beschikbaar in de vorm van tips, via het\n" +"'Help' menu of via de 'F1' toets." + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3470,12 +3484,12 @@ "down box and pressing the 'add' button." msgstr "" "Hier kan je meer commando regels opties toevoegen\n" -"doo ze hieronder in te geven of door ze te kiezen in de\n" +"door ze hieronder in te geven of door ze te kiezen in de\n" "uitklaplijst en de 'voeg toe' knop te gebruiken." -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "Hier kan je de tijd codes bijstellen met een bepaalde hoeveelheid (verhogen of verlagen) van de geselecteerde hoofdstukken (en de bijbehorende)." #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3489,51 +3503,51 @@ "veranderd worden indien nodig. De standaard waarde zal\n" "worden bewaard als je MMG afsluit." -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." -msgstr "Hier kan je de waarde instellen van de taal en land die je wilt toevoegen aan alle hoofdstukken hieronder incl. de huige geselecteerde." +msgstr "Hier kan je de waarde instellen van de taal en land die je wilt toekennen aan alle hoofdstukken hieronder incl. de huige geselecteerde." -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1 code" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2 code" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "IVF met VP8" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "IVF met VP8 video bestanden" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "Als een hoofdstuk is gemarkeerd als 'verborgen' dan zou de afspeler deze niet moeten tonen aan de gebruiker. Dergelijke ingangen kunnen nog wel gebruikt worden in het menu systeem." -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "Als een hoofstuk niet is gemarkerd als 'aan' dan zou de afspeler dat deel moeten overslaan wat dat hoofdstuk bevat." -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." -msgstr "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." +msgstr "Indien aangevinkt, zal mmg om een bevestiging vragen voor het overschrijven van bestanden, of voordat er een nieuwe taak wordt toegevoegd wanneer er een oude taak is, waarvan de naam hetzelfde is." -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." -msgstr "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." +msgstr "Indien aangevinkt, zal mmg automatisch de uitvoer bestandsnaam instellen als dat niet reeds gebeurd is. Dit gebeurt, wanneer je het eerste bestand toevoegt. Indien niet afgevinkt dan zal mmg de uitvoerbestandsnaam niet wijzigen." -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "Indien aangevinkt zet mmg de 'compressie' uitklapmenu naar 'geen' voor alle audio en video sporen (standaard). Achteraf is de compressie nog in te stellen." + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "Indien aangevinkt, zal mmg je waarschuwen als het denkt dat je het onjuist gebruikt. Die waarschuwingen worden tenminste éénmaal getoond zefls als deze mogelijkheid uitstaat." -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "Indien leeggelaten dan zal mmg de uitvoer in dezelfde map plaatsen vanwaar het eerste bestand geladen is in deze taak. Anders zal deze map worden gebruikt." @@ -3541,31 +3555,31 @@ msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." msgstr "Als een bestand splitst, kan het aan alle gecreëerde bestanden of slechts aan het eerste bestand worden vastgemaakt. Heeft geen effect op hoe het splitsen wordt gebruikt." -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "Negeer een ingang dat begint voordat het eindigd.\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "Negeer een ingang dat begint voordat het eindigd (%1%).\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "Geïmporteerde letter van %1%" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "Geïmporteerd plaatje van %1%" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "Onmogelijk bestand '%1%' te gebruiken: Het bestand kon voor lezen niet geopend worden.\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "Niet verenigbaar met deze mkvmerge versie" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "Onverenigbaar spoor" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "Samenhangend AAC audio pakket (lengte: %1% != len_check %2%)\n" @@ -3573,16 +3587,16 @@ msgid "Increase verbosity." msgstr "Verhoog uitgebreide info voor mkvmerge." -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "Invoer" -#: src/mmg/tabs/chapters.cpp:1374 -#: src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 -#: src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "Invoer data fout" @@ -3594,24 +3608,24 @@ msgid "Input too long: %1% > %2%" msgstr "Invoer te lang: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "Programma taal:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "Interlaced: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "Interne bug: tracks.cpp SSA #1. %1%" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "Interne programma fout" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" msgstr "Ongeldig %1% opgegeven in '--%2% %3%'.\n" @@ -3623,21 +3637,21 @@ msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "Ongeldig BlockAddition niveau in argument '%1%'.\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." -msgstr "Ongeldige UID. Een UID is een simpel nummer." +msgstr "Ongeldig UID. Een UID is een simpel nummer." -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." msgstr "Ongeldig UID. Dit hoofdstuk UID is reeds in gebruik. Het originele UID is niet veranderd." -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." msgstr "Ongeldig UID. Deze editie UID is al in gebruik. het orginele UID is niet veranderd." -#: src/input/r_avi.cpp:638 -#: src/input/r_avi.cpp:643 -#: src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." msgstr "Ongeldige Vorbis koppen in AVI audio spoor." @@ -3649,15 +3663,15 @@ msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." msgstr "Ongeldig binair data format '%1%' opgegeven. Ondersteund zijn 'Base64', 'ASCII' en 'hex'." -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" -msgstr "Ongeldige variable optie gespecificeerd in '--standaard-spoor %1%'.\n" +msgstr "Ongeldige variable optie gespecificeerd in, standaard spoor, '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" -msgstr "Ongeldige variable optie gespecificeerd in '--geforceerd-spoor %1%'.\n" +msgstr "Ongeldige variable optie gespecificeerd in, geforceerd-spoor, '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" msgstr "Ongeldige variable gespecificeerd in '--aac-is-sbr %1%'.\n" @@ -3665,52 +3679,52 @@ msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "Ongeldige wijzig opgave (%3%) in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" -msgstr "Ongeldige compressie optie opgegeven in '--compressie %1%'.\n" +msgstr "Ongeldige compressie optie opgegeven in, compressie, '--compression %1%'.\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" -msgstr "Ongeldige compressie optie. Geen spoor ID opgegeven in '--compressie %1%'.\n" +msgstr "Ongeldige compressie optie. Geen spoor ID opgegeven in, compressie, '--compression %1%'.\n" #: src/mmg/options/chapters.cpp:121 msgid "Invalid country selected" msgstr "Ongeldig land geselecteerd" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" -msgstr "Ongeldige geleiding optie opgegeven in '--geleidingen %1%'.\n" +msgstr "Ongeldige volg document(en) (cue) optie opgegeven in '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" -msgstr "Ongeldige geleidde optie. Geen spoor ID opgegeven in '--geleidingen %1%'.\n" +msgstr "Ongeldige volg document(en) (cue) optie. Geen spoor ID opgegeven in '--cues %1%'.\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "Ongeldige bestandsnaam" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" -msgstr "Ongeldig formaat voor '--splits' in '--splits %1%'.\n" +msgstr "Ongeldig formaat voor '--split' in '--split %1%'.\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" msgstr "Ongeldig formaat voor SSA regel ('%1%') bij tijd code %2%: Het eerste veld is geen geheel. Deze ingave wordt overgeslagen.\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" msgstr "Ongeldig formaat voor een SSA regel ('%1%') bij tijd code %2%: Te veel velden gevonden (%3% i.p.v. 9). Deze ingang wordt overgeslagen.\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." msgstr "Ongeldig formaat gebruikt voor bijstelling." -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." msgstr "Ongeldig formaat voor eindtijd gebruikt voor '%s'. Zet waarde naar 0." -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." msgstr "Ongeldige starttijd gebruikt voor '%s'. Zet waarde naar 0." @@ -3751,7 +3765,7 @@ msgid "Invalid format: unknown character '%1%' found" msgstr "Ongeldig format: onbekend karakter '%1%' gevonden" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "Ongeldige kop lengte: %1% (totale lengte: %2%, idx: %3%, dataidx: %4%)\n" @@ -3760,7 +3774,7 @@ msgstr "Ongeldige hexadecimale data aangetroffen: '%1%' is noch een lege ruimte of een hexadecimaal nummer." #: src/mmg/options/chapters.cpp:114 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" msgstr "Ongeldige taal geselecteerd" @@ -3788,112 +3802,112 @@ msgid "Invalid selector in '%1% %2%'.\n" msgstr "Ongeldige selectie in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" msgstr "ongeldige splits grootte in '--splits %1%'.\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" msgstr "Ongeldige start of stop tijd" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" msgstr "Ongeldige starttijd" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" -msgstr "Ongeldige sub karakterset optie. Geen spoor ID opgegeven in '--sub-karakterset %1%'.\n" +msgstr "Ongeldige sub karakterset optie. Geen spoor ID opgegeven in, sub-karakter set, '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" -msgstr "Ongeldige sub karakterset opgegeven in '--sub-karakterset %1%'.\n" +msgstr "Ongeldige sub karakterset opgegeven in, sub-karakter set, '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" msgstr "Ongeldige sync optie opgegeven in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" msgstr "Ongeldige sync optie opgegeven in '%1% %2%'. De deler is NUL.\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" msgstr "Ongeldige sync optie opgegeven in '%1% %2%'. De lineaire sync waarde mag niet gelijk aan of kleiner zijn dan nul.\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" msgstr "Ongeldige sync optie. Geen spoor ID opgegeven in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" msgstr "Ongeldige markeringen bestandsnaam opgegeven in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" msgstr "Ongeldige markeringen optie. Geen spoor ID opgegeven in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" -msgstr "ongeldige fout voor '--splits' in '--split %1%'. Extra fout bericht: %2%\n" +msgstr "ongeldige fout voor '--split' in '--split %1%'. Extra fout bericht: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" -msgstr "Ongeldige tijd voor '--splits' in '--splits %1%'. Extra fout bericht: %2%.\n" +msgstr "Ongeldige tijd voor '--split' in '--split %1%'. Extra fout bericht: %2%.\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" -msgstr "Ongelig spoor ID in '%1% %2%'.\n" +msgstr "Ongeldig spoor ID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:579 -#: src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" msgstr "Ongeldig spoor ID ingegeven in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" msgstr "Ongeldig spoor ID ingegeven in '--%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" msgstr "Ongeldig spoor ID ingegeven in '--aac-is-sbr %1%'.\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" msgstr "Ongeldig spoor ID ingegeven in '--compressie %1%'.\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" -msgstr "Ongeldig spoor ID ingegeven in '--geleidde richting %1%'.\n" +msgstr "Ongeldig spoor ID ingegeven in '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" -msgstr "Ongeldig spoor ID ingegeven in '--standaard spoor %1%'.\n" +msgstr "Ongeldig spoor ID ingegeven in '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" -msgstr "Ongeldig spoor ID ingegeven in '--geforceerd-spoor %1%'.\n" +msgstr "Ongeldig spoor ID ingegeven in '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" -msgstr "Ongeldig spoor ID ingegeven in '--sub-karakterset %1%'.\n" +msgstr "Ongeldig spoor ID ingegeven in '--sub-charset %1%'.\n" #: src/extract/extract_cli_parser.cpp:239 msgid "Invalid track ID/file name specification in argument '%1%'.\n" msgstr "Ongeldig spoor ID/bestandsnaam specificatie in argument '%1%'.\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "Taak toegevoegd aan taak wachtrij" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "Taak beschrijving" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "Taak uitvoer" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "Taak rij beheren" @@ -3905,30 +3919,20 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "Hou alleen BlockAdditions tot aan dit niveau (standaard: hou alle niveaus)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"Bekende bestandstypen:\n" -" ext beschrijving\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "LZO compressie gefaald. Resultaat: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" -msgstr "Rijg nummer: %1%" +msgstr "Aankoppel nummer: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "Aaneenkoppel markering: %1%" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:429 +#: src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "Taal" @@ -3941,13 +3945,13 @@ msgstr "Taal is niet op NUL afgesloten" #: src/mmg/options/chapters.cpp:86 -#: src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 #: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "Taal:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "Taal: %1%" @@ -3955,25 +3959,21 @@ msgid "Languages" msgstr "Talen" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "Laat extra ruimte (EbmlVoid) in het uitvoer bestand na de hoofstukken." -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "Linker oog" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" -msgstr "Staat je toe een willekeurihge optie toe te voegen aan de commando regel" +msgstr "Staat je toe een willekeurige optie toe te voegen aan de commando regel" #: src/merge/timecode_factory.cpp:349 msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the duration or the FPS are smaller than zero).\n" -msgstr "Regel %1% van het tijdcode bestand '%2%' bevat onsamenhangend data (b.v. de duur of de FPS zijn kleiner dan nul).\n" +msgstr "Regel %1% van het tijdcode bestand '%2%' bevat onsamenhangende data (b.v. de duur of de FPS zijn kleiner dan nul).\n" #: src/merge/timecode_factory.cpp:120 msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the start frame number is bigger than the end frame number, or some values are smaller than zero).\n" -msgstr "Regel %1% van het tijdcode bestand '%2%' bevat onsamenhangend data (b.v. het start beeldnummer is groter dan het eind beeldnummer, of sommige waarden zijn kleiner dan nul).\n" +msgstr "Regel %1% van het tijdcode bestand '%2%' bevat onsamenhangende data (b.v. het start beeldnummer is groter dan het eind beeldnummer, of sommige waarden zijn kleiner dan nul).\n" #: src/merge/timecode_factory.cpp:114 #: src/merge/timecode_factory.cpp:342 @@ -3984,7 +3984,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "Regel %1%, kolom %2%: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "Regel %1%: Negatieve tijdwaarde tegengekomen. De ingang wordt bijgesteld naar start vanaf 00:00:00.000.\n" @@ -3999,30 +3999,30 @@ #: src/input/r_vobsub.cpp:267 msgid "Line %1%: The line seems to be a subtitle entry but the timecode was negative even after adding the track delay. Negative timecodes are not supported in Matroska. This entry will be skipped.\n" -msgstr "Regel %1%: De regel lijkt een ondertiteling maar de tijdcode was negatief zelf na het toevoegen van een spoor vertraging. Negatieve tijdcodes worden niet ondersteund Matroska. De ingang wordt overgeslagen.\n" +msgstr "Regel %1%: De regel lijkt een ondertiteling maar de tijdcode was negatief, zelfs na het toevoegen van een spoor vertraging. Negatieve tijdcodes worden niet ondersteund Matroska. De ingang wordt overgeslagen.\n" #: src/propedit/propedit_cli_parser.cpp:142 msgid "List all valid property names and exit" msgstr "Lijst alle geldige eigenschap namen en sluit af." -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" msgstr "Laad hoofdstuk bestand (simpel/OGM format of XML format)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" msgstr "Laad samenvoeg instellingen vanuit een bestand" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "Log bestanden (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "Log uitvoer:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -4034,58 +4034,42 @@ msgid "MIME type:" msgstr "MIME type:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix is licenceerd onder de GNU GPL v2" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 audio/video bestanden" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEG audio bestanden" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG programma stroom" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG programma stromen" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEG video basis stromen" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer II audio (CBR en VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer III audio (CBR en VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 video basis stroom" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 video basis stroom" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "Maak dit spoor als standaard spoor voor het type (audio, video, ondertiteling). Afspelers zouden sporen prefereren als de standaard markering is gezet." -#: src/input/r_matroska.cpp:1468 -#: src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" msgstr "Misvormde AAC codec start data gevonden.\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" msgstr "Misvormde codec id '%1%'.\n" -#: src/input/subtitles.cpp:349 #: src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" msgstr "Misvormde regel? (%1%)\n" @@ -4093,39 +4077,39 @@ msgid "Mark this track as 'forced'. Players must play this track." msgstr "Markeer dit spoor als 'geforceerd'. Afspelers moeten dit spoor afspelen." -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska A/V bestanden (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska bestanden (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroska audio/video bestanden" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska files (*.mkv *.mka *.mks);;Alle bestanden (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroska files (*.mkv *.mka *.mks *.mk3d);;Alle bestanden (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska bestanden (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska bestanden (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska bestanden (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroska bestanden (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "Max. BlokToevoeging ID: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "Max. tijdelijk geheugen: %1%" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:412 +#: src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "Maximum tijdelijk geheugen" @@ -4137,44 +4121,44 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "Geheugen voor een RealAudio/RealVideo beeld kon niet worden toegewezen.\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "Mime type: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "Min. tijdelijk geheugen: %1%" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:407 +#: src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "Minimum cache" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" msgstr "Ontbrekend argument voor '--uitvoer-karakterset'.\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" -msgstr "Ontbrekend argument voor '--ui-taal'.\n" +msgstr "Ontbrekend argument voor, ui-taal, '--ui-language'.\n" #: src/common/cli_parser.cpp:106 msgid "Missing argument to '%1%'.\n" msgstr "Ontbrekend argument naar '%1%'.\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "Ontbrekende bestandsnaam" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." -msgstr "Ontbrekende bestandsnaam na de voor optie '--bewerk koppen'." +msgstr "Ontbrekende bestandsnaam na de voor optie, bewerk koppen, '--edit-headers'." -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "Ontbrekende kop/pakket commentaar voor stroom. Dit bestand is gebroken maar zou correct samengevoegd worden. Zo niet? neem contact op met de autheur Moritz Bunkus <moritz@bunkus.org>.\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "Ontbrekende invoer" @@ -4190,15 +4174,15 @@ msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "Veranderen van eigenschappen in de sectie '%1%' was gevraagd, maar géén corresponderend niveau 1 element is gevonden in het bestand. %2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "Meer" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "Meer dan één MIME type is opgegeven voor een enkele bijlage. '%1%' wordt afgewezen en '%2%' word i.p.v gebruikt.\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "Meer dan één beschrijving is opgegeven voor een enkele bijlage.\n" @@ -4206,69 +4190,69 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "Meer dan één bestandsnaam is opgegeven. ('%1%' and '%2%').\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" -msgstr "Meer dan één naamis opgegeven voor een enkele bijlage. '%1%' wordt overgeslagen '%2%' daarvoor in de paats gebruikt.\n" +msgstr "Meer dan één naam is opgegeven voor een enkele bijlage. '%1%' wordt overgeslagen '%2%' daarvoor in de paats gebruikt.\n" #: src/common/xml/element_parser.cpp:333 msgid "More than one root element found." -msgstr "Meer den één root element gevonden." +msgstr "Meer dan één root element gevonden." -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" -msgstr "Meer dan één spoor wordt toegevoed aan het spoor %1% van bestand no. %2% ('%3%'). Het argument voor '--voeg toe-aan' was ongeldig.\n" +msgstr "Meer dan één spoor wordt bijgevoegd aan het spoor %1% van bestand no. %2% ('%3%'). Het argument voor, bijvoegen aan, '--append to' was ongeldig.\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "Meer dan één spoor met spoor nummer %1% gevonden.\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "Verplaats geselecteerde ta(a)k(en) omlaag" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "Verplaats geselecteerde ta(a)k(en) omhoog" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" msgstr "Applicatie samenvoegen: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "Samenvoegen in uitvoering." -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" msgstr "Samenvoegen duurde %1% seconde(n).\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" msgstr "Samenvoegen duurde 1 seconde.\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALU lengte grootte:" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "Naam" #: src/mmg/tabs/input_general.cpp:180 msgid "Name for this track, e.g. \"director's comments\"." -msgstr "Naam voor dit spoor, b.v. \"commentaar regiseur\"." +msgstr "Naam voor dit spoor, b.v. \"commentaar regieseur\"." #: src/mmg/tabs/attachments.cpp:158 -#: src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "Naam:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "Naam: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." msgstr "Nieuwe hoofdstukken aangemaakt." @@ -4277,15 +4261,15 @@ msgstr "Nieuwe waarde:" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "Volgende bestandsnaam" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" -msgstr "Volgende betstandsnaam: %1%" +msgstr "Volgende bestandsnaam: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "Volgende niveau 0 element is geen segment maar %1%" @@ -4293,49 +4277,49 @@ msgid "Next segment UID:" msgstr "Volgend segment UID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" msgstr "Volgende segment UID:%1%" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:347 +#: src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" -msgstr "Volgende unike segment ID" +msgstr "Volgende uniek segment ID" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "Geen %1% opgegeven in '--%2% %3%'.\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" -msgstr "Geen AC3 kop gevonden in nhet eerste beeld; spoor wordt overgeslagen.\n" +msgstr "Geen AC3 kop gevonden in het eerste beeld; spoor wordt overgeslagen.\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." msgstr "Geen EBML kop gevonden." -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" msgstr "Geen FPS selecteerd voor AVC/h.264 spoor" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." msgstr "Geen MIME type is geselecteerd voor deze bijlage'%s'." -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" msgstr "Geen MIME type is ingesteld voor de bijlage '%1%', en het kon niet gegokt worden.\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" -msgstr "Geen voeg toe indeling ingegeven voor bestand no. %1% ('%2%'). En standaard indeling van %3% wordt daarvoor in de plaats gebruikt. Hou in gedachten dat als mkvmerge fabreekt met een fout bericht aangaande ongeldig invalid '--voeg toe-aan' opties.\n" +msgstr "Geen bijvoeg indeling ingegeven voor bestand no. %1% ('%2%'). En standaard indeling van %3% wordt daarvoor in de plaats gebruikt. Hou in gedachten, dat als mkvmerge afbreekt met een fout bericht aangaande een ongeldig, bijgevoegd aan, '--append to' optie.\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "Er zijn nog geen hoofdstuk ingangen gecreëerd." -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" msgstr "Geen hoofdstukken gevonden" @@ -4343,7 +4327,7 @@ msgid "No error" msgstr "Geen fouten" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" msgstr "Geen velden veranderd" @@ -4352,14 +4336,15 @@ "No file has been loaded yet. You can open a file by selecting\n" "'Open' from the 'File' menu." msgstr "" -"Nog geen bestand gekaden. Je kunt een bestand openen door te selecteren\n" -"'tab invoer' knop invoegen." +"Nog geen bestand geladen. Je kunt een bestand openen door te selecteren\n" +"'Open' van het 'Bestand' menu." #: src/mmg/header_editor/frame.cpp:218 msgid "No file loaded" msgstr "Geen bestand geladen" #: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "Geen bestandsnaam gegeven.\n" @@ -4367,11 +4352,11 @@ msgid "No filename found after the '@'." msgstr "Geen bestandsnaam gevonden na '@'." -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." -msgstr "geen help beschikbaar." +msgstr "Geen help beschikbaar." -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" msgstr "Geen invoer bestand opgegeven. Er zal geen uitvoer worden gemaakt.\n" @@ -4381,19 +4366,19 @@ #: src/extract/extract_cli_parser.cpp:252 msgid "No output file name specified, will use attachment name.\n" -msgstr "Geenn uitvoernaam opgegeven, zal bijlagenaam gebruiken.\n" +msgstr "Geenn uitvoernaam opgegeven, zal bijlage naam gebruiken.\n" -#: src/extract/timecodes_v2.cpp:194 -#: src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." -msgstr "Geen segement/niveaul 0 element gevonden." +msgstr "Geen segment/niveaul 0 element gevonden." -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "Geen stromen voor uitvoer gevonden. Afbreken.\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "Geen spoor ID opgegeven in '--%1% %2%'.\n" @@ -4401,7 +4386,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "Geen spoor dat beantwoordt aan te bewerken specificaties '%1%' is gevonden. %2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "Geen spoor met het ID %1% is gevonden in het bron bestand.\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "Geen sporen gevonden" @@ -4409,66 +4398,69 @@ msgid "No version number found.\n" msgstr "Geen versienummer gevonden.\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "Geen" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." -msgstr "Geen van de kop velden is veranderd. Niet is opgeslagen." +msgstr "Geen van de kop velden is veranderd. Niets is opgeslagen." -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." -msgstr "Normaal gesproken behoud mkvmerge de verwachtte ration info van een MPEG4 video bitstroom en plaats de informatie in de inhoud. Deze optie veroozaakt dat mkvmerge de verwachtte bitstroom informatie uit de bitstroom." +msgstr "Normaal gesproken behoud mkvmerge de verwachtte verhouding info van een MPEG4 video bitstroom en plaats de informatie in de inhoud. Deze optie veroozaakt, dat mkvmerge de verwachtte verhouding informatie verwijdert uit de bitstroom." #: src/common/bitvalue.cpp:67 msgid "Not a hex digit at position %1%" msgstr "Geen hex nummer op positie %1%" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" msgstr "Geen geldig Matroska bestand (geen EBML kop gevonden)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" msgstr " (geen segment/niveaul 0 element gevonden)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" msgstr "Opmerking" +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 #: src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "Niets te doen.\n" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:418 +#: src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." -msgstr "Aantal nanoseconden (niet geschrapt) per beeld." +msgstr "Aantal nanoseconden (niet geschaald) per beeld." #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "Aantal kanalen in het spoor." -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM audio/video bestanden" #: src/mmg/message_dialog.cpp:31 -#: src/mmg/mux_dialog.cpp:100 +#: src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "Ok" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "Eén van de hoofdstukken heeft geen naam." -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "Online controleren op opwaarderingen" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "Alleen één hoofdstuk bestand toegstaan in '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "Alleen één invoer bestand toegstaan.\n" @@ -4478,19 +4470,23 @@ #: src/common/tags/parser.cpp:48 msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." -msgstr "Alleen één van de <Reeks> en <Binair> kan eronder worden gebruikt <Simpel> maar niet allebei tegelijk." +msgstr "Alleen één van de <Reeks> en <Binair> kan onder<Simpel> worden gebruikt maar niet allebei tegelijk." -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "Alleen één uitvoer bestand toegestaan.\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" -msgstr "Alleen é'n segment info is toegestaan in '%1% %2%'.\n" +msgstr "Alleen één segment info bestand is toegestaan in '%1% %2%'.\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" -msgstr "Alleen een deel van het herplaatsen is gegeven voor bestand no. %1% ('%2%'). Eén van beide geef herplaatsen niet op (waarbij de standaard herplaatsing zal worden gebruikt) of specificeer herplaatsen voor alle sporen die worden gecopieerd.\n" +msgstr "Alleen een deel van het bijvoeg herplaatsen is gegeven voor bestand no. %1% ('%2%'). Eén van beide, geef herplaatsen niet op (waarbij de standaard herplaatsing zal worden gebruikt) of specificeer herplaatsen voor alle sporen die worden gecopieerd.\n" + +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "Toon alleen de samenvating van de inhoud, niet elk element." #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" @@ -4498,9 +4494,9 @@ #: src/input/r_vobsub.cpp:99 msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" -msgstr "Alleen v7 en nieuwere VobSub bestanden zijn ondersteund. Als je een oudere versie hebt gebruik dan het VSConv hulpstuk van http://sourceforge.net/projects/guliverkli/ om deze bestanden te converteren naaar v7 bestanden.\n" +msgstr "Alleen v7 en nieuwere VobSub bestanden zijn ondersteund. Als je een oudere versie hebt, gebruik dan het VSConv hulpstuk van http://sourceforge.net/projects/guliverkli/ om deze bestanden te converteren naaar v7 bestanden.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "Op&ties\tCtrl-P" @@ -4509,7 +4505,7 @@ msgstr "Open bestand" #: src/mmg/header_editor/frame.cpp:238 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "Open een Matroska bestand" @@ -4517,24 +4513,25 @@ msgid "Open an existing Matroska file" msgstr "Open bestaand Matroska bestand" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "Open map" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "Optie bestand aangemaakt." #: src/mmg/options/dialog.cpp:43 #: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "Opties" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" -msgstr "Opties alleen bedoeld voor ontwikkelaars. Gebruik ze niet. Als er iets verondersteld wordt als offiële ondersteun optie dan is het NIET in deze lijst!" +msgstr "Opties alleen bedoeld voor ontwikkelaars. Gebruik ze niet. Als er iets verondersteld wordt als offiële ondersteunde optie dan is het NIET in deze lijst!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" msgstr "Volgorde: %1%" @@ -4546,40 +4543,44 @@ msgid "Other options" msgstr "Overige opties" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" msgstr "Uitvoer" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" msgstr "Bestandsnaam uitvoer" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "Uitvoer bericht van deze karakterset" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "Uitvoer van geselecteerde taken:" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "Uitvoer voorbeeld frequentie: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "Uitvoer:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "Bestaand bestand(en) overschrijven?" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "Bestand bestand overschrijven?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUPondertitels" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTS fout: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4587,11 +4588,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "Pakket nummer %1% bevat een ongeldige FLAC wordt overgeslagen.\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" -msgstr "Pakket rij niet leefg (verloren: %1%). beelden zijn verleren gegaan gedurende hetsamenvoegen. %2%\n" +msgstr "Pakket rij niet leeg (verloren: %1%). beelden zijn verloren gegaan gedurende het samenvoegen. %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "Ontleed bestand volledig en toon alle elementen" @@ -4599,53 +4600,53 @@ msgid "Parse the whole file instead of relying on the index." msgstr "Ontleed bestand volledig i.p.v. op het index bestand te vertrouwen." -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "Bestand ontleden" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "Pixel uitsnijden onderaan: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "Pixel uitsnijden links: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "Pixel uitsnijden rechts: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "Pixel uitsnijden bovenaan: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "Pixel hoogte: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "Pixel breedte: %1%" #: src/mmg/options/mkvmerge.cpp:117 msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." -msgstr "Gebruik 'mmg' niet als het 'mkvmerge' programma." +msgstr "Gebruik 'mmg' zelf niet als het 'mkvmerge' programma." -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "Geef a.u.b een beschrijving voor de nieuwe taak:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" "below and including the currently selected entry." msgstr "" "Geef de waarde in voor de taal en het land dat\n" -"je wilt toevoegen aan alle onderstaande hoofdstukken\n" +"je wilt toekennen aan alle onderstaande hoofdstukken\n" "Inclusief de huidig geselecteerde." -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4656,11 +4657,11 @@ "die niet geheel duidelijk kunnen zijn in deze lijst.\n" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "Vorige bestandsnaam" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "Vorige bestandsnaam: %1%" @@ -4668,12 +4669,12 @@ msgid "Previous segment UID:" msgstr "Vorig segment UID:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" msgstr "Vorige segment UID:%1%" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:343 +#: src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "Vorige segment's unieke ID" @@ -4681,60 +4682,56 @@ msgid "Process priority:" msgstr "Proces prioriteit:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "Uitvoerende 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "Uitvoerende taken %d/%d" -#: src/mmg/jobs.cpp:243 -#: src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 msgid "Progress" msgstr "Voortgang" -#: src/extract/timecodes_v2.cpp:264 -#: src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" msgstr "Voortgang: %1%%%%2%" +#: src/extract/timecodes_v2.cpp:359 #: src/extract/mkvextract.cpp:93 -#: src/extract/timecodes_v2.cpp:354 msgid "Progress: 100%\n" msgstr "Voortgang: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" msgstr "Voortgang: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" msgstr "Voortgang: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "Opgevraagde mogelijkheden van mkvmerge" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime audio/video bestanden" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 audio en video" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4 lezer: '%1%' deel is te klein. Verwacht grootte: >= %2%. Huidige grootte: %3%.\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" -msgstr "Quicktime/MP4 lezer: Konstante voorbeeld grootte & variabele duur nog niet ondersteund. Neem kontakt op met de autheur als je zo'n bestand hebt.\n" +msgstr "Quicktime/MP4 lezer: Constante voorbeeld grootte & variabele duur nog niet ondersteund. Neem kontakt op met de autheur als je zo'n bestand hebt.\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4 lezer: Kon het volgende deel niet lezen %1%/%2% met grootte %3% van positie %4%. Afbreken.\n" @@ -4753,7 +4750,7 @@ #: src/input/r_qtmp4.cpp:978 msgid "Quicktime/MP4 reader: Could not read the stream description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 reader: Kon deel stroom beschrijving niet lezen voor spoor ID %1%.\n" +msgstr "Quicktime/MP4 lezer: Kon deel stroom beschrijving niet lezen voor spoor ID %1%.\n" #: src/input/r_qtmp4.cpp:1060 msgid "Quicktime/MP4 reader: Could not read the video description atom for track ID %1%.\n" @@ -4761,7 +4758,7 @@ #: src/input/r_qtmp4.cpp:212 msgid "Quicktime/MP4 reader: Have not found any header atoms.\n" -msgstr "Quicktime/MP4 lezer: Heb geen enkele delen kop gevonden.\n" +msgstr "Quicktime/MP4 lezer: Heb geen enkele kop delen gevonden.\n" #: src/input/r_qtmp4.cpp:214 msgid "Quicktime/MP4 reader: Have not found the 'mdat' atom. No movie data found.\n" @@ -4769,7 +4766,7 @@ #: src/input/r_qtmp4.cpp:161 msgid "Quicktime/MP4 reader: Invalid chunk size %1% at %2%.\n" -msgstr "Quicktime/MP4 lezer: Ongeldeige deel grootte %1% op %2%.\n" +msgstr "Quicktime/MP4 lezer: Ongeldige deel grootte %1% op %2%.\n" #: src/input/r_qtmp4.cpp:290 msgid "Quicktime/MP4 reader: MPEG4 part 10/AVC track %1% is missing its decoder config. Skipping this track.\n" @@ -4777,7 +4774,7 @@ #: src/input/r_qtmp4.cpp:283 msgid "Quicktime/MP4 reader: MPEG4 track %1% is missing the esds atom/the decoder config. Skipping this track.\n" -msgstr "Quicktime/MP4 lezer: MPEG4 spoor %1% mist het esds deel/de decode instelling. Sla dir spoor over.\n" +msgstr "Quicktime/MP4 lezer: MPEG4 spoor %1% mist het esds deel/de decode instelling. Sla dit spoor over.\n" #: src/input/r_qtmp4.cpp:121 msgid "Quicktime/MP4 reader: Source is not a valid Quicktime/MP4 file." @@ -4801,7 +4798,7 @@ #: src/input/r_qtmp4.cpp:245 msgid "Quicktime/MP4 reader: The audio track %1% is using an unsupported 'object type id' of %2% in the 'esds' atom. Skipping this track.\n" -msgstr "Quicktime/MP4 lezer: Het audio spoor %1% gebruikt een niet ondersteund 'object type id' van %2% in het 'esds' deel. Sla dit spoor over.\n" +msgstr "Quicktime/MP4 lezer: Het audio spoor %1% gebruikt een niet ondersteunt 'object type id' van %2% in het 'esds' deel. Sla dit spoor over.\n" #: src/input/r_qtmp4.cpp:263 msgid "Quicktime/MP4 reader: The video track %1% is missing the ESDS atom. Skipping this track.\n" @@ -4835,13 +4832,13 @@ #: src/input/r_qtmp4.cpp:992 #: src/input/r_qtmp4.cpp:1066 msgid "Quicktime/MP4 reader: Track ID %1% has more than one FourCC. Only using the first one (%|2$.4s|) and not this one (%|3$.4s|).\n" -msgstr "Quicktime/MP4 lezer: Spoor ID %1% heeft meer dan één VierCC. Gebruik alleen de eerste (%|2$.4s|) en niet deze (%|3$.4s|).\n" +msgstr "Quicktime/MP4 lezer: Spoor ID %1% heeft meer dan één FourCC. Gebruik alleen de eerste (%|2$.4s|) en niet deze (%|3$.4s|).\n" #: src/input/r_qtmp4.cpp:237 msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" -msgstr "Quicktime/MP4 lezer: Onbekend/niet ondersteund VierCC '%|1$.4s|' voor spoor %2%.\n" +msgstr "Quicktime/MP4 lezer: Onbekend/niet ondersteunt FourCC '%|1$.4s|' voor spoor %2%.\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "Verlaat programma" @@ -4849,23 +4846,23 @@ msgid "Quit the header editor" msgstr "Koppen bewerker afsluiten" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "Verlaat mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "Geselecteerde taken opnieuw aanzetten" #: src/input/r_mpeg_ps.cpp:404 msgid "Reading encrypted VOBs is not supported.\n" -msgstr "Lezen van versleutelde VOB's niet ondersteund.\n" +msgstr "Lezen van versleutelde VOB's niet ondersteunt.\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "Leest extra commando regel opties van opgegeven bestand (zie handleiding)." @@ -4874,39 +4871,35 @@ msgstr "Klaar" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." -msgstr "Real iutvoer voorbeeld frequentie in Hz." - -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia audio en video" +msgstr "Real uitvoer voorbeeld frequentie in Hz." -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMedia audio/video bestanden" #: src/input/r_real.cpp:377 msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" -msgstr "RealMedia bestanden mogen bvatten HE-AAC / AAC+ / SBR AAC audio. In sommmige gevallen kan dit NIET automatisch herkend worden. Daarom moet je specificeren '--aac-is-sbr %1%' handmatig voor dit invoer bestand als het bestand werkelijk SBR AAC bevat. Anders wordt het bestand op de verkeerde manier samengeb=voegd. Lees tevens mkvmerge's documentatie\n" +msgstr "RealMedia bestanden mogen bevatten HE-AAC / AAC+ / SBR AAC audio. In sommmige gevallen kan dit NIET automatisch herkend worden. Daarom moet je handmatig specificeren '--aac-is-sbr %1%' voor dit invoer bestand, als het bestand werkelijk SBR AAC bevat. Anders wordt het bestand op de verkeerde manier samengevoegd. Lees tevens mkvmerge's documentatie\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "Stuurt alle berichten door naar een bestand." -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "Referentie blok: %1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "Referentie blok: -%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "Referentie prioriteit: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "Virtuele referentie: %1%" @@ -4914,9 +4907,9 @@ msgid "Reload the current file without saving" msgstr "Herlaad het huidige bestand zonder bewaren" -#: src/mmg/jobs.cpp:71 -#: src/mmg/jobs.cpp:73 -#: src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "Resterende tijd:" @@ -4924,7 +4917,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr "Onthou dat spciale karakters zoals &, <, > en \" moeten worden opgegeven in op de gebruikelije HTML manier: & voor '&', < voor '<', > voor '>' en " voor '\"'." -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "Verwijder hoofdstuk" @@ -4932,62 +4925,64 @@ msgid "Remove element" msgstr "Verwijder element" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "Verwijder naam" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "Rechter oog" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "Her-syns gefaald: géén geldig Matroska niveaul 1 element gevonden)\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "Her-syncen succesvol op positie %1%.\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "Start mkvmerge en start het samenvoeg proces" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "Start de kopveld bewerker" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "T&oon de commando regel" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "S&tart selectie" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 -#: src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT tekst ondertiteling" -#: src/mmg/tabs/input.cpp:251 -#: src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS tekst ondertiteling" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "Be&waar commando regel" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "Zelfde map van waaruit bestand(en) is/wordt ingelezen" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "Voorbeeld frequentie in Hz." -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "Voorbeeld frequentie: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "Bewaar &als" @@ -4995,31 +4990,31 @@ msgid "Save information as" msgstr "Bewaar informatie als" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "Bewaar log" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "Bewaar samenvoeg instellingen in een bestand" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "Bewaar de commando regel naar een bestand" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "Bewaar commando regel naar een optie bestand dat gelezen kan worden door mkvmerge" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "Sla het huidige hoofdstukken op in een XML bestand" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "Sla het huidige hoofdstukken op in een bestand met een andere naam" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "Sla het huidige hoofdstukken op in een Matroska bestand" @@ -5027,46 +5022,46 @@ msgid "Save the header values" msgstr "Bewaar de kop waarde" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "Bewaar als &Matroska bestand" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "Sla de informatie van het huidge bestand op in een tekst bestand" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "Gebied: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "Zoek ID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "Zoek ingang" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "Zoek kop" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "Zoek kop (sub ingangen worden overgeslagen)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "Zoek positie: %1%" -#: src/extract/timecodes_v2.cpp:198 -#: src/extract/tracks.cpp:348 +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 #: src/info/qt_ui.cpp:177 -#: src/info/wxwidgets_ui.cpp:221 +#: src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "Segment" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "Segment UID:%1%" @@ -5075,11 +5070,11 @@ msgstr "Segment UIDs:" #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "Segment bestandsnaam" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "Segment bestandsnaam: %1%" @@ -5092,50 +5087,50 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "Segment info bestanden (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 -#: src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 -#: src/propedit/options.cpp:152 +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 #: src/propedit/propedit_cli_parser.cpp:87 #: src/propedit/propedit_cli_parser.cpp:160 -#: src/info/mkvinfo.cpp:544 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 #: src/info/qt_ui.cpp:178 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "Segment informatie" -#: src/extract/timecodes_v2.cpp:252 -#: src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 #: src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "Segment sporen" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:339 +#: src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "Segment unieke ID" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "Segment, grootte %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "Segment, grootte onbekend" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "Selecteer Matroska bestand" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "Selecteer opslagbestand" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" -msgstr "Select the file you want to write to" +msgstr "Selecteer het bestand waarnaar je wilt schrijven" #: src/mmg/options/languages.cpp:84 msgid "" @@ -5143,29 +5138,28 @@ "of language drop down boxes." msgstr "Selecteer de talen die bovenaan moeten staan van de uitklaplijst." -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" -msgstr "Selecteer de toe te voegen waarde" +msgstr "Selecteer de bij te voegen waarde" -#: src/mmg/tabs/input_extra.cpp:55 -#: src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." -msgstr "Selecteerd voor welke blokken mkvmerge index ingangen aanmaakt ( = cue entries). \"standaar\" is een goede keuze voor bijna alles situaties." +msgstr "Selecteerd voor welke blokken mkvmerge index ingangen aanmaakt ( = volg document(en) (cue) ingangen). \"standaard\" is een goede keuze voor bijna alles situaties." -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." -msgstr "Selecdteer de karakterset waarin het ondertitel bestand of hoofdstuk informatie mee geschreven dient te worden. Alleen nodig voor niet-UTF gecodeerde ondetitel bestanden of voor bestanden met hoofdstuk informatie van (b.v. OGM, MP4) waarvan mkvmerge het coderen niet juist detecteerd." +msgstr "Selecteer de karakterset waarin het ondertitel bestand of hoofdstuk informatie mee geschreven dient te worden. Alleen nodig voor niet-UTF gecodeerde ondertitel bestanden of voor bestanden met hoofdstuk informatie van (b.v. OGM, MP4) waarvan mkvmerge het coderen niet juist detecteert." -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "Maak &bestandsnaam" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" -msgstr "Stel land in naar" +msgstr "Stel land in op" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:395 +#: src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -5176,7 +5170,7 @@ "die overeenkomt met de voorkeur van de gebruiker." #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:402 +#: src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5191,7 +5185,7 @@ "standaard en het geforceerde spo(o)r(en)." #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "Stel in als spoor gebruikt wordt." @@ -5199,15 +5193,15 @@ msgid "Set if the video is interlaced." msgstr "Zet wanneer de vidieo 'interlaced' is." -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "Stel taal in op:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "Haal de vertraging uit het bestand en plaats die op het invul veld" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "Zet waarden" @@ -5221,30 +5215,29 @@ #: src/propedit/propedit_cli_parser.cpp:143 msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" -msgstr "Zet de Matroska onmtleed modde op 'snel' (Standaard) of 'volledigl'" +msgstr "Zet de Matroska ontleed mode op 'snel' (standaard) of 'volledigl'" -#: src/mmg/tabs/input_extra.cpp:64 -#: src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "Stelt de gebruikte compressie in voor VobSub ondertitels. Als er niets is geselecteerd dan zal de VobSubs automatisch worden gecomprimeerd met zlib. 'geen' zal resuleeren in bestanden die aanmerkelijk groter zijn." +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "Stelt de compressie algoritme in voor dit spoor. Indien neits geselecteerd dan zal mkvmerge zelf beslissen wat te selecteren op basis van het spoor type. Meeste sporen zijn niet eens gecomprimeerd. " -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." -msgstr "Stelt de uitsnij parameters in. Moet een komma gescheiden lijst zijn van vier nummers die voor het uitsnijden gebruikt wordt zijnde links, boven, rechts en onder." +msgstr "Stelt de uitsnij parameters in. Moet een komma gescheiden lijst van vier nummers zijn, die voor het uitsnijden gebruikt wordt zijnde links, boven, rechts en onder." -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." -msgstr "Zet de standaard duur of aantal beelden per seconden voor dit spoor. Dit is alleen mogelijk voor video sporen. Voor AVC/h.264 basis stromen moet deze optie opgegeven worden. Dit kan zijn een veranderbaar nummer of een fractie." +msgstr "Zet de standaard duur of aantal beelden per seconde voor dit spoor. Dit is alleen mogelijk voor video sporen. Voor AVC/h.264 basis stromen moet deze optie opgegeven worden. Dit kan zijn een veranderbaar nummer of een fractie." -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." -msgstr "Stelt het scherm verwachtte ratio in voor het spoor. Het formaat kan zijn één van beiden 'a/b' waarbij beide nummer een integer moeten zijn (b.v. 16/9) of slecht één enkel veranderbaar nummer 'f' (b.v. 2.35)." +msgstr "Stelt het scherm verwachtte verhouding in voor het spoor. Het formaat kan zijn één van beiden 'a/b' waarbij beide nummers een verhouding moet zijn (b.v. 16/9) of slecht één enkel veranderbaar nummer 'f' (b.v. 2.35)." -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "Zet de scherm hoogte van een spoor. De breedte moet ook ingesteld worden, anders wordt dit veld genegeerd." -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "Zet de scherm breedte van een spoor. De hoogte moet ook ingesteld worden, anders wordt dit veld genegeerd." @@ -5258,91 +5251,107 @@ "\n" "Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." msgstr "" -"Stelt het te gebruiken segment UIDs in. Dit is een komma gescheiden lijst van 128bit segment UID's in het gebruikelijke UID format: hex nummers met of zonder het \"0x\" voorzetsel, met of zonder ruimte, met excact, 32 cijfers.\n" +"Stelt het te gebruiken segment UIDs in. Dit is een komma gescheiden lijst van 128bit segment UID's in het gebruikelijke UID format: hex nummers met of zonder het \"0x\" voorzetsel, met of zonder ruimte, met exact, 32 cijfers.\n" "\n" -"elk gecreëerd bestand bevat één segment, en elk segment heeft zijn eigen UID. Zijn er meer sement UID's opgegeven dan er aan segementen zijn aangemaakt dan zullen de extra UIDs worden genegeerd. Zijn er minder UIDs opgegeven, dan worden er voor hen willekeurig segmenten UID's gegenereerd." +"Elk gecreëerd bestand bevat één segment en elk segment heeft zijn eigen UID. Zijn er meer sement UID's opgegeven dan er aan segementen zijn aangemaakt, dan zullen de extra UIDs worden genegeerd. Zijn er minder UIDs opgegeven, dan worden er voor hen willekeurig segmenten UID's gegenereerd." -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." -msgstr "Stelt de stereo mode in voor het video spoor met deze waarde. Indien leeggelaten dan wordt het orginele stereo mode behouden of, als je er geenn een had, wordt er helemaal niets ingesteld." +msgstr "Stelt de stereo mode in voor het video spoor met deze waarde. Indien leeg gelaten dan wordt de orginele stereo mode behouden of, als je er geen één had, wordt er helemaal niets ingesteld." -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "Instellingen: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "Verscheidene opties die de algemene uitvoer controleren die mkvmerge creëert." -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "Korte AAC audio pakket (lengte: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "Kort AAC audio pakket (lengte: %1% < 2)\n" #: src/mpegparser/M2VParser.cpp:392 msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Verkort GOP gedetecteerd. Sommige beelden zijn vervallen. Misschien wil je de MPEG2 video stroom herstellen voordat je een poging doet het te vermnigvuldigen.\n" +msgstr "Verkort GOP gedetecteerd. Sommige beelden zijn vervallen. Misschien wil je de MPEG2 video stroom herstellen voordat je een poging doet het te vermenigvuldigen.\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "Toon &alle elementen\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" msgstr "Toon over dialoog" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Toon alle bytes van elk beeld als een hex dump." + +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "Toon element groo&tte\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" msgstr "Toon mmg's debug scherm" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "Toon programma informatie" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "Toon statistieken voor elk spoor in 'stille' mode." + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "Toon de commando regel die MMG maakt voor mkvmerge" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Toon de eerste 16 bytes van elk beeld als een hex dump." + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "Toon handeiding van mkvmerge GUI" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" msgstr "Toon de grootte van elk element inclusief kophoofd" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "Toon de grootte van elk element inclusief kophoofd." + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "Toon deze help." -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "Toon versie informatie." -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." -msgstr "toont mmg's fouitcode scherm waarinde fout codes worden getoond. Dit is allen zinvol om de autheur te helpen met een 'fout' probleem in mmg." +msgstr "Toont mmg's fout code scherm, waarin de fout code's worden getoond. Dit is alleen zinvol om de autheur te helpen met een 'fout' probleem in mmg." -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "Handtekening algoritme: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "Handtekening hash algoritme: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "Handtekening sleutel ID: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "Handtekening: %1%" @@ -5350,11 +5359,11 @@ msgid "Signed integer" msgstr "Getekende integer" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "Stil spoornummer: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "Eenvoudig blok" @@ -5362,52 +5371,52 @@ msgid "Simple chapter parser: %1%\n" msgstr "Simpele hoofdstuk ontleder: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "SimpelBlok" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "SimpleBlok (%1% spoor nummer %2%, %3% be(e)ld(en), tijd code %|4$.3f|s = %5%)" #: src/mpegparser/M2VParser.cpp:389 msgid "Single field frame before GOP header detected. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Enkele veld beeld GOP kop otndekt. Herstel de MPEG2 video stroom voor een poging het te verminigvuldigen.\n" +msgstr "Enkele veld beeld GOP kop ontdekt. Herstel de MPEG2 video stroom voor je een poging het te vermenigvuldigen.\n" #: src/output/p_aac.cpp:73 msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" -msgstr "Overslaan %1% bytes (geen geldige DTS kop gevonden). Dit kan audio/video desynchronisatie veroorzaken.\n" +msgstr "Overslaan %1% bytes (geen geldige DTS kop gevonden). Dit kan audio/video de-synchronisatie veroorzaken.\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" -msgstr "Overslaan %1% bytes (geen geldige DTS kop gevonden). Dit kan audio/video desynchronisatie veroorzaken.\n" +msgstr "Overslaan %1% bytes (geen geldige DTS kop gevonden). Dit kan audio/video de-synchronisatie veroorzaken.\n" #: src/input/r_mp3.cpp:53 msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" msgstr "Sla over %1% bytes aan het begin (geen geldige MP3 kop gevonden).\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "Schuiven" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" -msgstr "Some header values have been modified. Wil je echt sluiten zonder het bestand te bewaren?" +msgstr "Sommige kop waarden zijn veranderd. Wil je echt sluiten zonder het bestand te bewaren?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" -msgstr "Some header values have been modified. Wil je echt een nieuw bestand laden zonder dat je de huidige wilt bewaren?" +msgstr "Sommige kop waarden zijn veranderd. Wil je echt een nieuw bestand laden zonder dat je de huidige wilt bewaren?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" -msgstr "Sommige kop waardes zijn veranderd. Wil je echt herladen zonder het bestand te bewaren?" +msgstr "Sommige kop waarden zijn veranderd. Wil je echt herladen zonder het bestand te bewaren?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" -msgstr "Sommige markeer elementen ontbreken (deze fout had niet moge gebeuren - een soortgelijke fout had eerder moeten gebeuren). %1%\n" +msgstr "Sommige markeer elementen ontbreken (deze fout had niet mogen gebeuren - een soortgelijke fout had eerder moeten gebeuren). %1%\n" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:430 +#: src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." @@ -5416,13 +5425,13 @@ "Matroska talen formulier." #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:486 +#: src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." msgstr "" -"Geef de mogelijke veranderingen op voor de verwachtte ratio\n" -"(0: vrij vergroten/verkleinen resizing, 1: houd huidige ratio, 2: vast)." +"Geef de mogelijke veranderingen op voor de verwachtte verhouding\n" +"(0: vrij vergroten/verkleinen, 1: houdt huidige verhouding, 2: vast)." #: src/mmg/tabs/global.cpp:232 msgid "Splitting" @@ -5430,73 +5439,85 @@ #: src/mmg/tabs/global.cpp:532 msgid "Splitting by size was selected, but no size has been given." -msgstr "Splitsen op groote is geselecterd maar er is geen groote opgegeven." +msgstr "Splitsen op groote is geselecterd maar er is geen grootte opgegeven." #: src/mmg/tabs/global.cpp:565 msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "Splitsen met tijd code/duur is geselecteerd maar niets is ingegeven." -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "Splitsen is actief en minstends één van de potentiële uivoer bestanden '%s%s*%s' bestaan reeds. Wil je die overschrijven?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "Sta&rt samenvoegen" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "Sta&rt samenvoegen (start mkvmerge)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "Start de GUI (en open een inname indien ingegeven)." + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" msgstr "Start de taken met de status 'wachtend'" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "Start de geselecteerde ta(a)k(en) ongeacht hun status" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" -msgstr "Start met leg instellingen" +msgstr "Start met lege instellingen" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "Start:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "Gestart op" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "Start taak ID %d (%s) op %s" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "Statistieken voor spoornummer %1%: aantal blokken: %2%; grootte in bytes: %3%; tijdsinconden%4%; verwachtte bitratte in bits/seconde: %5%\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "Status" -#: src/mmg/jobs.cpp:62 -#: src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 msgid "Status and progress" msgstr "Status en voortgang" +#: src/mmg/update_checker.cpp:57 #: src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "Status:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "Stereo mode parameter: niet ingegeven in formulier <TID>:<n|sleutelwoord> waar n een nummer is tussen 0 en 3 of één vande sleutelwoorden 'geen', 'rechts', 'links', 'beide' (argument is '%1%').\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "Stereo mode: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "Stereo mode parameter: niet ingegeven in formulier <TID>:<n|keyword> waar n een nummer is tussen 0 en %1% of één van deze ingave's 'geen', 'rechts', 'links', 'beide' %2% (argument was '%3%').\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "Stereo mode: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "Stereo-3D video mode (0 - 11, zie documentatie)." #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5504,39 +5525,43 @@ "Stereo-3D video mode (0: mono, 1: rechter oog,\n" "2: linker oog, 3: beide ogen)." -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "Stereoscopisch:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "Oprekken tot:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." -msgstr "Rek dit spoor zijn tijdcode's op. Deze ingave heeft twee formaten. Het is één van beiden een positief vast nummerl, of a fractie zoals b.v. 1200/1253. Werkt het best met video en ondertiteling sporen." +msgstr "Rek dit spoor zijn tijdcode's op. Deze ingave heeft twee formaten. Het is één van beiden een positief vast nummer, of een fractie zoals b.v. 1200/1253. Werkt het best met video en ondertiteling sporen." #: src/mmg/header_editor/value_page.cpp:144 msgid "String" msgstr "Reeks" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" -msgstr "Ondertitel spoor %1% mist sommige duur elementen. Controleer a.u.b. het SSA/ASS ressultaat bestand voor de ingangen welke dezelfde start en eindtijd hebben.\n" +msgstr "Ondertitel spoor %1% mist sommige duur elementen. Controleer a.u.b. het SSA/ASS resultaat bestand voor de ingangen welke dezelfde start en eindtijd hebben.\n" #: src/mmg/header_editor/track_type_page.cpp:52 #, c-format msgid "Subtitle track %u" -msgstr "Obdertitel spoor %u" +msgstr "Ondertitel spoor %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "Ondersteunde bestandstypen:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "Onderdrukt status uitvoer." + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The lossless True Audio codec)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA verliesvrije audio" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" msgstr "Markeer extractie" @@ -5555,19 +5580,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "Markeer bestanden (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "Markeringen" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "Markeringen zijn niet toegstaan in WebM herkenbare bestanden. Er worden geen markeringen geschreven naar het uitvoer bestand.\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "Markeringen voor spoor ID %1%: %2% ingangen" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "Markeringen voor spoor %lld (%d ingangen) van %s" @@ -5576,24 +5601,24 @@ msgid "Tags:" msgstr "Markeringen:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "Vertelt mkvmerge geen meta zoek data elementen te creëren aan het eind van het bestand bevattende alle clusters." - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." -msgstr "Vertelt mkvmerge niet te creëren en schrijven de volg data welke vergeleken kan worden met een index in een AVI. Matroska bestanden kunnen afgespeeld worrden zonder deze volg data, maar zoeken zal niet zo precies zijn en trager. Gebruik dit alleen voor test bedoelingen." +msgstr "Vertelt mkvmerge niet te creëren en schrijven de volg data, welke vergeleken kan worden met een index in een AVI. Matroska bestanden kunnen worden afgespeeld zonder deze volg data, maar zoeken zal niet zo precies zijn en trager. Gebruik dit alleen voor test bedoelingen." + +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "Vertelt mkvmerge een meta zoek data elementen te creëren aan het eind van het bestand, bevattende alle clusters." #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" -msgstr "Tekst bestanden (*.txt);;All files (*.*)" +msgstr "Tekst bestanden (*.txt);;Alle bestanden (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "Tekst bestanden (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "Tekst bestanden (*.txt)|*.txt|Alle bestanden|*.*" @@ -5603,17 +5628,17 @@ #: src/output/p_aac.cpp:207 msgid "The AAC profiles are different: %1% and %2%" -msgstr "De AAC profilen zijn verschillende: %1% en %2%" +msgstr "De AAC profielen zijn verschillende: %1% en %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" -msgstr "Het AVC video spoor ontbreekt het 'CTTS' deel voor beeld tijdcode compensatie. Hoewel, AVC/h.264 toestaat beelden te hebben die meer zijn dan de traditonele (voor P beelden) of twee (voor B beelden) referende naar andere beelden. De tijdcode voor zulke beelden zijn buiten gebruik, en het 'CTTS' deel is nodig om de tijdcode correct te krijgen. Als het mist, kunnen de tijdcodes voor dit spoor foutief zijn. Je zull het resultaat bestand moeten bekijken om zeker te zijn dat het is zoals je het verwachtte.\n" +msgstr "Het AVC video spoor ontbreekt het 'CTTS' deel voor beeld tijdcode compensatie. Hoewel, AVC/h.264 toe staat beelden te hebben die meer zijn dan de traditonele (voor P beelden) of twee (voor B beelden) referende naar andere beelden. De tijdcode voor zulke beelden zijn buiten gebruik, en het 'CTTS' deel is nodig om de tijd code correct te krijgen. Omdat ze missen, kunnen de tijdcodes voor dit spoor foutief zijn. Je zull het resultaat bestand moeten bekijken, om zeker te zijn, dat het is zoals je het verwachtte.\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" -msgstr "Het volg vel voor spoor %1% wordt geschreven naar '%2%'.\n" +msgstr "De volg document(en) (cue) voor spoor %1% wordt geschreven naar '%2%'.\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "Het CodecID van de twee sporen zijn verschillend: %1% en %2%" @@ -5629,96 +5654,92 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "De FPS is 0.0 maar de lezer voorzag het pakket niet van een tijdcode. %1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." msgstr "De FPS instellingen voor spoor nr. %s in bestand '%s' is ongeldig." -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" -msgstr "De VierCC moeten excact vier karakters lang zijn in '%1% %2%'.\n" +msgstr "De FourCC moeten excact vier karakters lang zijn in '%1% %2%'.\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." -msgstr "De VierCC instellingen voor spoor nr. %s in bestand '%s' is nniet precies vier karakters lang." +msgstr "De FourCC instellingen voor spoor nr. %s in bestand '%s' is niet precies vier karakters lang." -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "GUI is ingesteld om mkvmerge te gebruiken vanuit/af een andere versie (%s) dan de GUI zelf (%s). Dit is niet ondersteund maar zal ook niet worden voorkomen. Je zou het mkvmerge programma moeten veranderen in de voorkeur instellingen (Bestand >> Opties >> tab Mkvmerge)." -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "Het Kate identifactie kop kon niet ontleed worden (%1%).\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "Het MPEG-4 part 2 compressie werkt alleen met basis MPEG-4. Hoewel, basis MPEG-4 mode is niet geselecteerd met selected with '--aangaan basis_mpeg4'.\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "Het Matroska bestand wordt geanalyseerd." -#: src/mmg/header_editor/frame.cpp:700 +#: src/mmg/header_editor/frame.cpp:701 #: src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" -msgstr "Het Matroska bestand is veranderd, maar de meta zoek data kon niet opgewaardeerd worden. Dit betekend dat afspelers moeite kunnen hebben dit element te vinden. Gebruik je favoriete afspeler en controleer dit bestand.\n" +msgstr "Het Matroska bestand is veranderd, maar de meta zoek data kon niet opgewaardeerd worden. Dit betekend, dat afspelers moeite kunnen hebben dit element te vinden. Gebruik je favoriete afspeler en controleer dit bestand.\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" "The proper solution is to save these chapters into a XML file and then to remux the file with the chapters included." msgstr "" -"Het Matroska bestand is veranderd, maar de meta zoek data kon niet opgewaardeerd worden. Dit betekend dat afspelers moeite kunnen hebben dit element te vinden. Gebruik je favoriete afspeler en controleer dit bestand.\n" +"Het Matroska bestand is veranderd, maar de meta zoek data kon niet opgewaardeerd worden. Dit betekend, dat afspelers moeite kunnen hebben dit element te vinden. Gebruik je favoriete afspeler en controleer dit bestand.\n" "\n" -"De juiste oplossing is deze hoofdstukken te bewaren in een XML bestand en het bestand dan samen te voegen met de hoofdstukken ingesloten." +"De juiste oplossing is, deze hoofdstukken te bewaren in een XML bestand en het bestand dan samen te voegen met de hoofdstukken ingesloten." -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" -msgstr "De NALU lengte grootte moet een nummer zijn tussen 2 en 4 gezet in '--nalu-lente-grootte %1%'.\n" +msgstr "De NALU lengte grootte moet een nummer zijn tussen 2 en 4 gezet in, nalu-grootte-lengte, '--nalu-lenth-size %1%'.\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Het Theora identifactie kop kon niet ontleed worden (%1%).\n" #: src/output/p_vorbis.cpp:142 msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" -msgstr "De Vorbis code boeken zijn verschillend; zulke sporeen kunnen niet aaneengeschakeld worden zonder ze te hercoderen" +msgstr "De Vorbis code boeken zijn verschillend; zulke sporen kunnen niet aaneengeschakeld worden zonder ze te hercoderen" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" -msgstr "het argument '%1%' naar '%2%' is ongeldig: '%3%' is geen geldig spoor ID.\n" +msgstr "Het argument '%1%' naar '%2%' is ongeldig: '%3%' is geen geldig spoor ID.\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" -msgstr "Het argument '%1%' to '%2%' is ongeldig: '%3%' moet zijn 'alle' of 'eerste'.\n" +msgstr "Het argument '%1%' naar '%2%' is ongeldig: '%3%' moet zijn 'alle' of 'eerste'.\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" -msgstr "Het argument '%1%' to '%2%' is ongeldig: teveel separatie tekens in het element '%3%'.\n" +msgstr "Het argument '%1%' naar '%2%' is ongeldig: teveel separatie tekens in het element '%3%'.\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" -msgstr "Het argument naar '--tijd code-schaal' moet een nummer zijn.\n" +msgstr "Het argument naa,r tijd code-schaal, '--timecode-scale' moet een nummer zijn.\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." -msgstr "De verwachtte ratio instelling voor spoor nr. %s in bestand '%s' is ongeldig." +msgstr "De verwachtte verhouding instelling voor spoor nr. %s in bestand '%s' is ongeldig." -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" -msgstr "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" +msgstr "De bijlaget #%1%, ID %2%, MIME type %3%, grootte %4%, is geschreven naar '%5%'.\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "De bijlage '%1%' kon niet worden gelezen.\n" #: src/common/xml/element_parser.cpp:217 msgid "The binary data must be at least %1% bytes long." -msgstr "De binaire data moet minimaal %1% bytes langzijn." +msgstr "De binaire data moet minimaal %1% bytes lang zijn." #: src/common/xml/element_parser.cpp:220 msgid "The binary data must be at most %1% bytes long." @@ -5732,17 +5753,17 @@ msgid "The changes are written to the file.\n" msgstr "De veranderingen worden geschreven naar het bestand.\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "Het hoofdstuk '%s' mist zijn taal." -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "Het hoofdstuk '%s' mist de start tijd." -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5750,13 +5771,13 @@ "\n" "Note: This warning can be deactivated in the 'options' dialog. Turn off the 'Warn about usage...' option." msgstr "" -"De hoofdstuk berwerker is gebruikt en bevat data. Hoewel, geen hoofdstuk bestand is gekozen op de globale pagina. In mmg, is de hoofdstuk bewerker onafhankelijk van het samenvoeg proces. De hoofdstukken aanwezig in de bewerker zullen niet worden samengevoegd naar het uitvoer bestand. Alleen de verschillende 'bewaar' functies van het hoofdstuk bewerk menu zullen veroorzaken dat de hoofdstukken worden geschreven naar de harde schijf.\n" +"De hoofdstuk berwerker is gebruikt en bevat data. Hoewel, geen hoofdstuk bestand is gekozen op de globale pagina. In mmg, is de hoofdstuk bewerker onafhankelijk van het samenvoeg proces. De hoofdstukken aanwezig in de bewerker zullen niet worden samengevoegd naar het uitvoer bestand. Alleen de verschillende 'bewaar' functies van het hoofdstuk bewerk menu, zullen ervoor zorgen dat de hoofdstukken worden geschreven naar de harde schijf.\n" "\n" "Wil je echt doorgaan met samenvoegen?\n" "\n" "Opmerking: Deze waarschuwing kan worden uitgezet in 'Opties'. Vink uit de 'Waarschuw over mogelijk...'" -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "Het gekozen NALU lengte grootte of %1% is te klein. Probeer '4' te gebruiken.\n" @@ -5764,15 +5785,15 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "Het codec type '%1%' kan niet gebruikt worden in een WebM herkenbaar bestand.\n" -#: src/output/p_avc.cpp:200 -#: src/output/p_kate.cpp:113 +#: src/output/p_textsubs.cpp:102 #: src/output/p_passthrough.cpp:63 -#: src/output/p_textsubs.cpp:98 #: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "De codec's privé data komen niet overeen (lengte: %1% en %2%)." -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "De codec's privé data komen niet overeen. Beide hebben dezelfde lengte (%1%) maar verschillend van inhoud." @@ -5785,29 +5806,29 @@ msgid "The country '%s' is not a valid ccTLD and cannot be selected." msgstr "Het land '%s' is geen geldig ccTLD en kan niet geselecteerd worden." -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." -msgstr "De volg ingangen (de index) worden geschreven..." +msgstr "De volg document(en) (cue) ingangen (de index) worden geschreven..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." -msgstr "Het huidige bestand (nummer %d) kan niet worden verwijderd. Er zijn andere bestanden -- minimaal bestand nummer %d -- waarvan de sporen verondersteld worden om toegevoegd te worden aan de sporen van dit bestand. Verwijder die bestanden eerst a.u.b." +msgstr "Het huidige bestand (nummer %d) kan niet worden verwijderd. Er zijn andere bestanden -- minstends bestand nummer %d -- waarvan de sporen verondersteld worden om bijgevoegd te worden aan de sporen van dit bestand. Verwijder die bestanden eerst a.u.b." -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "Het huidige pakket tijd code is kleiner dan het voorafgaande pakket. Normaal gesproken betekend dit dat het een Matroska bestand is welke niet 100%% juist is aangemaakt. De tijdcodes worden bijgesteld met %1%ms om niets (welke dat dan ook) te verliezen. Dat kan de audio/video synchronisatie uitzetten, maar kunnen gecorrigeerd worden met mkvmerge's \"--sync\" optie. Gebruik je dit \"--sync\" reeds en je blijft deze melding houden geen probleem -- dit is normaal. Komt deze fout vaker voor en je krijgt dit bericht meer dan eens voor een specifiek spoor dan is of de bron slecht beheerd of mkvmerge bevat een fout (bug). In dat geval dien je kontakt op te nemen met de autheur Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "Het huidige pakket tijd code is kleiner dan het voorafgaande pakket. Normaal gesproken betekent dit, dat het een Matroska bestand is welke niet 100%% juist is aangemaakt. De tijd codes worden bijgesteld met %1%ms om niets (welke dat dan ook) te verliezen. Dat kan de audio/video synchronisatie uitzetten, maar kunnen gecorrigeerd worden met mkvmerge's \"--sync\" optie. Gebruik je dit \"--sync\" reeds en je blijft deze melding houden geen probleem -- dit is normaal. Komt deze fout vaker voor en je krijgt dit bericht meer dan eens voor een specifiek spoor, dan is of de bron slecht beheerd of mkvmerge bevat een fout (bug). In dat geval dien je kontakt op te nemen met de autheur Moritz Bunkus <moritz@bunkus.org>.\n" #: src/input/r_usf.cpp:129 msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "De standaar taal code '%1%' is geen geldige ISO639-2 taal code en wordt genegeerd.\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." msgstr "De vertraag instellingen voor spoor nr. %s in bestand '%s' zijn ongeldig." -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5818,17 +5839,17 @@ #: src/mmg/tabs/global.cpp:294 #: src/mmg/tabs/global.cpp:298 msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." -msgstr "het verschil tussen een markering gekoppeld aaneen spoor en globale markeringen worden uitgelgd in mkvmerge's documentatie. In het kort: globale markeringen gaan over het gehele bestand terwijl de markeringen die jij kunt toevoegen aan de 'invoer' tab gaan alleen over één spoor." +msgstr "Het verschil tussen een markering gekoppeld aan een spoor en globale markeringen worden uitgelegd in mkvmerge's documentatie. In het kort: globale markeringen gaan over het gehele bestand terwijl de markeringen die jij kunt toevoegen aan de 'invoer' tab alléén gaan over één spoor." -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "De scherm hoogte van de twee sporen zijn verschillend: %1% en %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "De scherm breedte van de twee sporen zijn verschillend: %1% en %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5839,17 +5860,17 @@ #: src/mmg/tabs/global.cpp:240 msgid "The duration after which a new output file is started. The time can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH' and the number of nanoseconds 'nnnnnnnnn'. If given then you may use up to nine digits after the decimal point. Examples: 01:00:00 (after one hour) or 1800s (after 1800 seconds)." -msgstr "De duur waarna een nieuw uitvoer bestand moet worden gestart. De tijd kan één van beiden in de vormen worden gegeven HH:MM:SS.nnnnnnnnn of als een aantal seconden gevolgd door een 's'. Je mag de hoeveelheid uren overslaan 'HH' en de hoeveelheid aan nanoseconden 'nnnnnnnnn'. Indien ingegeven mag je tot aan negen nummers gebruiken na de decimale punt. Bijvoorbeeld: 01:00:00 (na één uur) of 1800s (na 1800 seconden)." +msgstr "De duur waarna een nieuw uitvoer bestand moet worden gestart. De tijd kan in één van beiden de vormen worden gegeven HH:MM:SS.nnnnnnnnn of als een aantal seconden gevolgd door een 's'. Je mag de hoeveelheid uren overslaan 'HH' en de hoeveelheid aan nanoseconden 'nnnnnnnnn'. Indien ingegeven, mag je tot aan negen nummers gebruiken na de decimale punt. Bijvoorbeeld: 01:00:00 (na één uur) of 1800s (na 1800 seconden)." #: src/propedit/options.cpp:188 msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "De bewerk specificaties '%1%' en '%2%' herleiden naar hetzelfde spoor met het UID %3%.\n" -#: src/mmg/header_editor/frame.cpp:688 -#: src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" -msgstr "Het element is geschreven aan het einde van het bestand, maar de segment waarde kon niet opgewaardeerd worden. Daarom is dit element niet zichtbaar. Het proces word afgebroken. Het betand is veranderd!" +msgstr "Het element is geschreven aan het einde van het bestand, maar de segment waarde kon niet opgewaardeerd worden. Daarom is dit element niet zichtbaar. Het proces word afgebroken. Het bestand is veranderd!" #: src/output/p_mpeg4_p2.cpp:379 msgid "The extracted values for video width and height from the MPEG4 layer 2 video data bitstream differ from what the values in the source container. The ones from the video data bitstream (%1%x%2%) will be used.\n" @@ -5857,49 +5878,49 @@ #: src/extract/extract_cli_parser.cpp:110 msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." -msgstr "De vijde mode probeert het hoofstuk informatie te achterhalen, markeert en voert ze uit als in een volg vel. Dit is het omgekeerde dan het gebruik maken van een volg vel via mkvmerge's '--hoofdstukken' optie." +msgstr "De vijde mode probeert het hoofstuk informatie te achterhalen, markeert en voert ze uit als in een volg document(en) (cue). Dit is het omgekeerde dan het gebruik maken van een volg document(en) (cue) via mkvmerge's,-hoofdstukken, '--chapters' optie." -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "Het bestand '%1%' kan niet vastgemaakt worden het bestaat niet of kan niet gelezen worden.\n" -#: src/extract/attachments.cpp:114 -#: src/extract/chapters.cpp:47 +#: src/extract/attachments.cpp:141 #: src/extract/cuesheets.cpp:208 #: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "Het bestand '%1%' kon voor lezen niet geopend worden (%2%)." -#: src/extract/timecodes_v2.cpp:169 -#: src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "Het bestand '%1%' kon voor lezen niet geopend worden (%2%).\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" msgstr "Het bestand '%1%' kon niet geopend worden voor het lezen van commando regel argumenten.\n" -#: src/extract/tracks.cpp:275 +#: src/extract/tracks.cpp:276 #: src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 -#: src/extract/xtr_wav.cpp:112 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "Het bestand '%1%' kon voor schrijven niet geopend worden (%2%).\n" -#: src/extract/attachments.cpp:92 +#: src/extract/attachments.cpp:121 #: src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "Het bestand '%1%' kon voor schrijven niet geopend worden (%2%, %3%).\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" -msgstr "Het bestande '%1%' is geopend voor schrijven.\n" +msgstr "Het bestand '%1%' is geopend voor schrijven.\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Het bestand '%1%' is een onbekend type. Kijk a.u.b naar de ondersteunende bestandstypen ('mkvmerge --lijst-typen') en maak contact met de autheur Moritz Bunkus <moritz@bunkus.org> als je bestand wordt ondersteund maar niet wordt herkend.\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "Het bestand '%1%' is een niet ondersteund bestandstype (%2%).\n" @@ -5907,12 +5928,12 @@ msgid "The file '%1%' is empty." msgstr "Het bestand '%1%' is leeg." -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "Het bestand '%s' bestaat niet." -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "Het bestand '%s' wordt al uitgevoerd in combinatie met bestand '%s'. Het kan géén tweede keer worden toegevoegd." @@ -5921,17 +5942,21 @@ msgid "The file could not be opened for writing." msgstr "Het bestand kon voor schrijven niet geopend worden." -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "Het bestand bestaat niet." -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "Het bestand schijnt geen geldig mkvmerge GUI instelling bestand te zijn." -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." -msgstr "Het bestand is verandedr door een ander programma sinds het is gelezen door het kopstuk bewerker. Daarom moet je het opnieuw inladen. Ongelukkigerwijs betekent dit dat de veranderingen verloren zijn gegaan." +msgstr "Het bestand is veranderd door een ander programma sinds het is gelezen door het kopstuk bewerker. Daarom moet je het opnieuw inladen. Ongelukkigerwijs betekent dit dat de veranderingen verloren zijn gegaan." + +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "Het bestand ie niet veranderd." #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" @@ -5941,63 +5966,63 @@ msgid "The file header was not read correctly.\n" msgstr "De bestandskop is niet correct ingelezen.\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." -msgstr "Het bestand is een niet ondersteund inhouds formaat (%s)." +msgstr "Het bestand is een niet ondersteund inhoud formaat (%s)." #: src/propedit/propedit.cpp:87 msgid "The file is analyzed.\n" msgstr "Het bestand is geanaliseerd.\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "Het bestand wordt gerepareerd, deel 1/4..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "Het bestand wordt gerepareerd, deel 2/4..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "Het bestand wordt gerepareerd, deel 3/4..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "Het bestand wordt gerepareerd, deel 4/4..." #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "De bestandsnaam voor dit segment." -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" -msgstr "Het bestand nr. %1% ('%2%') bevat geen spoor met het ID %3%, of dat spoor kan niet gekopieerd worden. Het argument '--voeg toe-aan' is ongeldig.\n" +msgstr "Het bestand nr. %1% ('%2%') bevat geen spoor met het ID %3%, of dat spoor kan niet gekopieerd worden. Het argument, bijvoegen aan, '--append to' is ongeldig.\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" -msgstr "Het bestand nr. %1% ('%2%') bevat geen spoor met het ID %3%, of dat spoor kan niet gekopieerd worden. Daarom kan er geen spoor aan toegevoegd worden. Het argument '--voeg toe-aan' is ongeldig.\n" +msgstr "Het bestand nr. %1% ('%2%') bevat geen spoor met het ID %3%, of dat spoor kan niet gekopieerd worden. Daarom kan er geen spoor aan bijgevoegd worden. Het argument, bijvoegen aan, '--append to' was ongeldig.\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" -msgstr "Het bestand nr. %1% ('%2%') wordt niet toegevoegd. Het argument voor '--voeg toe-aan' is ongeldig.\n" +msgstr "Het bestand nr. %1% ('%2%') wordt niet toegevoegd. Het argument voor, bijvoegen aan, '--append to' was ongeldig.\n" #: src/mmg/header_editor/frame.cpp:248 msgid "The file you tried to open is not a Matroska file." msgstr "het bestand wat je probeerde te openen is geen Matroska bestand." -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "het bestand wat je probeerde te bewaren is geen Matroska bestand." -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "Het bestand dat je probeerde te bewaren naar... is een Matroska bestand. Voordat dit werkt dien je gebruiken het 'Bewaar naar Matroska bestand' in menu optie." -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" -msgstr "Het eerste bestand kan niet worden toegevoegd omdat er geen bestand is om toe te voegen.\n" +msgstr "Het eerste bestand kan niet worden bijgevoegd omdat er geen bestand is om bij te voegen.\n" #: src/extract/extract_cli_parser.cpp:71 msgid "The first mode extracts some tracks to external files." @@ -6005,32 +6030,32 @@ #: src/extract/extract_cli_parser.cpp:60 msgid "The first word tells mkvextract what to extract. The second must be the source file. There are few global options that can be used with all modes. All other options depend on the mode." -msgstr "Het eerste woord vertelt mkvextract wat te extraheren. De tweede moet het bronbestand zijn. Er zijn een paar globale opties die gebruikt kunnen worden in allen moden. Alle andere opties hangen af van de gebruikte mode." +msgstr "Het eerste woord vertelt mkvextract wat te extraheren. De tweede moet het bronbestand zijn. Er zijn een paar globale opties die gebruikt kunnen worden in allen mode's. Alle andere opties hangen af van de gebruikte mode." #: src/mmg/tabs/global.cpp:554 msgid "The format of the split size is invalid (size too small)." -msgstr "Het formaat vdn de pslits grootte in ongeldig (grootte te kleinl)." +msgstr "Het formaat van de splits grootte is ongeldig (grootte te klein)." #: src/mmg/tabs/global.cpp:546 #: src/mmg/tabs/global.cpp:550 msgid "The format of the split size is invalid." -msgstr "The format of the split size is invalid." +msgstr "Het formaat van de splits grootte is ongeldig." #: src/mmg/tabs/global.cpp:573 msgid "The format of the split timecode/duration is invalid." -msgstr "het formaat van de spilts tijdcode/duur is ongeldig." +msgstr "Het formaat van de spilts tijdcode/duur is ongeldig." -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "De formaten komen niet overeen." #: src/extract/extract_cli_parser.cpp:101 msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "De vierde mode extraheert de hoofdstukken en zet ze om naar een XML formaat. De uitvoer wordt geschreven naar de standaard uitvoer. De uitvoer kan gebruikt worden als standaar bron voor mkvmerge." +msgstr "De vierde mode extraheert de hoofdstukken en zet ze om naar een XML formaat. De uitvoer wordt geschreven naar de standaard uitvoer. De uitvoer kan gebruikt worden als standaard bron voor mkvmerge." -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" -msgstr "De gegeven tijd code schaal fator valt buiten een geldig bereik (1...10000000 or -1 voor 'voorbeeld precisie zelfs als een video spoor aanwezig is').\n" +msgstr "De gegeven tijd code schaal fator valt buiten een geldig bereik (1...10000000 of-1 voor 'voorbeeld precisie zelfs als een video spoor aanwezig is').\n" #: src/common/xml/element_writer.cpp:187 #: src/common/xml/element_writer.cpp:197 @@ -6038,16 +6063,16 @@ msgid "The header has already been written." msgstr "De kop is reeds geschreven." -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "De hoogte van de twee sporen verschillen: %1% en %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "Het invoer bestand '%s' bevat geen enkel spoor." -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6057,13 +6082,13 @@ "(Problem occured in tab_input::load(), #1)" msgstr "" "Het taak bestand kon niet correct ontleed worden.\n" -"Htet is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" +"Het is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" "(bug) gevonden in mmg. rapporteer dit aan de autheur\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Probleem voorgekomen in tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6073,13 +6098,13 @@ "(Problem occured in tab_input::load(), #2)" msgstr "" "Het taak bestand kon niet correct ontleed worden.\n" -"Htet is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" +"Het is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" "(bug) gevonden in mmg. rapporteer dit aan de autheur\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Problem occured in tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6089,36 +6114,36 @@ "(Problem occured in tab_input::load(), #3)" msgstr "" "Het taak bestand kon niet correct ontleed worden.\n" -"Htet is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" +"Het is ongeldig of het is beschadigd, of je hebt zojuist een fout\n" "(bug) gevonden in mmg. rapporteer dit aan de autheur\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Problem occured in tab_input::load(), #3)" #: src/mmg/options/chapters.cpp:113 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." msgstr "De taal '%s' is geen geldige taal en kan niet geselecteerd worden." #: src/input/r_usf.cpp:161 msgid "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" -msgstr "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" +msgstr "De taal code '%1%' is geen geldig ISO639-2 taal code en zal genegeerd worden.\n" #: src/merge/timecode_factory.cpp:214 msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" -msgstr "De regel %1% van het tijdcode bestand '%2%' bevat geen gelidg veranderbaar nummer.\n" +msgstr "De regel %1% van het tijd code bestand '%2%' bevat geen geldig veranderbaar nummer.\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "De lokatie kon niet juist ingesteld worden. Controleer de taal, LC_ALL and LC_MESSAGES omgeving variabelen.\n" #: src/mmg/tabs/global.cpp:258 msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." -msgstr "Het maximaal aantal bestanden dat wordt gecreëerd zelfs wanneer het laatste bestand meer bytes/tijd bevat dan benodigd was. Zinvol b.v. wanneer je precies twee bestanden wilt. Als je dit leeglaat dan is er geen maximaal aantal bestanden dat mkvmerge zou kunnen creeren." +msgstr "Het maximaal aantal bestanden dat wordt gecreëerd zelfs wanneer het laatste bestand meer bytes/tijd bevat dan benodigd was. Zinvol b.v. wanneer je precies twee bestanden wilt. Als je dit leeg laat dan is er geen maximaal aantal bestanden dat mkvmerge zou kunnen creeren." #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:413 +#: src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -6130,14 +6155,14 @@ "Indien ingesteld op 0, is het pseudo-voorschrijf systeem\n" "niet in gebruik." -#: src/mmg/header_editor/frame.cpp:694 -#: src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" -msgstr "Het meta zoek element is geschreven aan het einde van het bestand, maar de segment grootte kon niet opgewaardeerd worden. Daarom is het element niet zichtbaar. Het preces wordt afgebroken. Het bestand is veranderd!" +msgstr "Het meta zoek element is geschreven aan het einde van het bestand, maar de segment grootte kon niet opgewaardeerd worden. Daarom is het element niet zichtbaar. Het proces wordt afgebroken. Het bestand is veranderd!" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:408 +#: src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -6149,17 +6174,17 @@ "Indien ingesteld op 0, is het pseudo-voorschrijf systeem\n" "niet in gebruik." -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "Het mkvmerge GUI help bestand is niet op de opgegeven lokatie gevonden. Probeer overnieuw, of breek af met de 'afbreken' knop." -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" "Please select the location of the 'mkvmerge-gui.hhp' file." msgstr "" -"Het mkvmerge GUI help bestand is niet gevonden. Dit houd in dat het nog niet eerder was geopend, of dat de installatie plaats nadien is gewijzigd.\n" +"Het mkvmerge GUI help bestand is niet gevonden. Dit houdt in dat het nog niet eerder was geopend, of dat de installatie plaats nadien is gewijzigd.\n" "\n" "Selecteer a.u.b de lokatie van het 'mkvmerge-gui.hhp' bestand." @@ -6167,81 +6192,81 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "De naam '%1%' is geen geldige eigendom naam voor de huidige bewerk specificatie in '%2%'.\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" -msgstr "De nnaam van het uitvoer bestand '%1%' en één van de invoer bestanden zijn INDENTIEK!. Dit zou veroorzaken dat mkvmerge één van je invoer bestanden overschrijft. Dit is waarschijnlijk niet wat je wilt.\n" +msgstr "De naam van het uitvoer bestand '%1%' en één van de invoer bestanden zijn INDENTIEK!. Dit zou veroorzaken, dat mkvmerge één van je invoer bestanden overschrijft. Dit is waarschijnlijk niet wat je wilt.\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "Het volgende UID is reeds ingegeven in '%1% %2%'.\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" -msgstr "The number of bits per sample of the two audio tracks is different: %1% and %2%" +msgstr "Het aantal bits per voorbeeld van de twee audio sporen zijn verschillend: %1% en %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "Het aantal kanalen van de twee audio sporen zijn verschillend: %1% and %2%" #: src/merge/timecode_factory.cpp:262 msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" -msgstr "Het aantal externe tijdcodes %1% is kleiner dan het aantal beelden in dit spoor. De resterende beelden van dit spoor zouden niet kunnen zijn voorzien nvan een tijd code op de manier zoals je het van plan was. mkvmerge zou zelf kunnen vastlopen.\n" +msgstr "Het aantal externe tijdcodes %1% is kleiner dan het aantal beelden in dit spoor. De resterende beelden van dit spoor, zouden niet kunnen zijn voorzien van een tijd code op de manier zoals je het van plan was. mkvmerge zou zelfs kunnen vastlopen.\n" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." msgstr "" -"The number of video pixels to remove\n" -"on the bottom of the image." +"Het aantal te verwijderen video pixels\n" +"aan de onderkant van het plaatje/beeld." #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." msgstr "" -"The number of video pixels to remove\n" -"on the left of the image." +"Het aantal te verwijderen video pixels\n" +"aan de linkerzijde van het plaatje/beeld." #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." msgstr "" -"The number of video pixels to remove\n" -"on the right of the image." +"Het aantal te verwijderen video pixels\n" +"aan de rechterkant van het plaatje/beeld." #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." msgstr "" -"The number of video pixels to remove\n" -"on the top of the image." +"Het aantal te verwijderen video pixels\n" +"aan de bovenkant van het plaatje/beeld." -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" -msgstr "De optie '--meta-zoek-grootte' wordt niet langer ondersteund. Lees a.u.b de handleidinvan mkvmerge, speciaal het gedeelte over de MATROSKA FILE LAYOUT.\n" +msgstr "De optie,meta-zoek-grootte '--meta-seek-size' wordt niet langer ondersteund. Lees a.u.b de handleiding van mkvmerge, speciaal het gedeelte over de MATROSKA BESTANDSLAYOUT.\n" #: src/propedit/propedit_cli_parser.cpp:157 msgid "The order of the various options is not important." msgstr "De volgorde van de verschillende opties zijn niet belangrijk.." -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "Het uitvoerbestand '%1%' kon voor schrijven niet geopend worden (%2%).\n" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "Het uitvoer bestand '%s' bestaat reeds. Wil je die overschrijven?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "De uitvoer bestand naam is ongeldig, b.v. het kan een ongeldig karakter bevatten zoals ':'." @@ -6251,11 +6276,11 @@ #: src/input/r_corepicture.cpp:138 msgid "The picture type '%1%' is not recognized.\n" -msgstr "The picture type '%1%' is not recognized.\n" +msgstr "Het plaatjes type '%1%' is niet herkend.\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" -msgstr "The previous UID was already given in '%1% %2%'.\n" +msgstr "Het vorige UID was al opgegeven in '%1% %2%'.\n" #: src/propedit/change.cpp:114 msgid "The property value contains non-ASCII characters, but the property is not a Unicode string in '%1%'. %2%\n" @@ -6263,7 +6288,7 @@ #: src/propedit/change.cpp:156 msgid "The property value is not a valid binary spec or it is not exactly 128 bits long in '%1%'. %2%\n" -msgstr "De eigendomswaarde is geen geldigd binaire spec of is niet precies 128 bits lang in '%1%'. %2%\n" +msgstr "De eigendomswaarde is geen geldig binaire spec of is niet precies 128 bits lang in '%1%'. %2%\n" #: src/propedit/change.cpp:141 msgid "The property value is not a valid boolean in '%1%'. %2%\n" @@ -6271,7 +6296,7 @@ #: src/propedit/change.cpp:148 msgid "The property value is not a valid floating point number in '%1%'. %2%\n" -msgstr "De eiegendomswaarde is geen geldig veranderbaar nummer in '%1%'. %2%\n" +msgstr "De eigendomswaarde is geen geldig veranderbaar nummer in '%1%'. %2%\n" #: src/propedit/change.cpp:133 msgid "The property value is not a valid signed integer in '%1%'. %2%\n" @@ -6281,103 +6306,103 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "De eigendomswaarde is geen geldig ongetekend geheel in '%1%'. %2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." -msgstr "De redenh is onbekend." +msgstr "De reden is onbekend." #: src/common/xml/element_parser.cpp:335 msgid "The root element must be <%1%>." msgstr "Het root element moet zijn <%1%>." -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" -msgstr "De voorbeel ratio van de twee audio sporen zijn verschillend: %1% en %2%" +msgstr "De voorbeel verhouding van de twee audio sporen zijn verschillend: %1% en %2%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:422 +#: src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" "to adjust video speed when the audio length differs)." msgstr "" -"De schaal die je wilt toevoegen aan dit spoor werkt op\n" -" normale snelheid in relatie tot andere sporen (meest gebruikt\n" +"De schaal die je wilt toekennen aan dit spoor werkt op\n" +"normale snelheid in relatie tot andere sporen (meest gebruikt\n" "om video snelheid bij te stellen als de audio lengte verschilt)." #: src/extract/extract_cli_parser.cpp:85 msgid "The second mode extracts the tags and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "De tweede mode extraheert de markeringen en converteeerd hen naar XML. De uitvoer wordt geschreven naar de standaar uitvoer. De uitvoer kan als standaard bron gebruikt worden voor mkvmerge." +msgstr "De tweede mode, extraheert de markeringen en converteeert hen naar XML. De uitvoer wordt geschreven naar de standaar uitvoer. De uitvoer kan als standaard bron gebruikt worden voor mkvmerge." #: src/input/r_tta.cpp:84 msgid "The seek table in this TTA file seems to be broken.\n" -msgstr "De zoek tabel in ditTTA lijkt te zijn gebroken.\n" +msgstr "De zoek tabel in dit TTA lijkt te zijn gebroken.\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." msgstr "De geselecteerd taal '%s' voor hoofdstuk '%s' is geen geldige taal code. Selecteer a.u.b een vooraf opgeven taal." #: src/extract/extract_cli_parser.cpp:119 msgid "The sixth mode finds the timecodes of all blocks for a track and outputs a timecode v2 file with these timecodes." -msgstr "De zesde mode vond de tijd code van alle blokken voor een spoor en voert die uit naar een tijd code v2 bestand met deze ytijd code's." +msgstr "De zesde mode vond de tijd code van alle blokken voor een spoor en voert die uit naar een tijd code v2 bestand met deze tijd code's." #: src/mmg/tabs/global.cpp:237 msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." -msgstr "De grootte waarna een nieuw uitvoer bestand word begonnen. De letters 'G', 'M' en 'K' kunnen gebruikt worden om respectievelijk giga/mega/kilo bytes te indiceren. Alle units zijn gebaseerd op 1024 (G = 1024^3, M = 1024^2, K = 1024)." +msgstr "De grootte waarna een nieuw uitvoer bestand wordt begonnen. De letters 'G', 'M' en 'K' kunnen gebruikt worden om respectievelijk giga/mega/kilo bytes te indiceren. Alle units zijn gebaseerd op 1024 (G = 1024^3, M = 1024^2, K = 1024)." -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "De grootte van de bijlage '%1%' is 0.\n" -#: src/merge/output_control.cpp:305 -#: src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" -msgstr "Het bron bestand '%1%' kon niet succesvol worden geopend, of kon de groote niet worden verkregen, zoeken tot aan het eind werkte niet.\n" +msgstr "Het bron bestand '%1%' kon niet succesvol worden geopend, of kon de grootte niet worden verkregen, zoeken tot aan het eind werkte niet.\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." msgstr "De uitrek instelling voor spoor nr. %s in bestand '%s' is ongeldig." #: src/propedit/propedit_cli_parser.cpp:165 msgid "The string 'track:' followed by one of the chars 'a', 'b', 's' or 'v' followed by a number 'n' selects the nth audio, button, subtitle or video track (e.g. '--edit track:a2')." -msgstr "De reeks 'spoor:' gevolgd door één van de karakters 'a', 'b', 's' or 'v' gevolgd door een nummer 'n' selecteerd de 'de audio, knop, ondertiteling of video spoor (b.v. '--bewerk spoor:a2')." +msgstr "De reeks 'spoor:' gevolgd door één van de karakters 'a', 'b', 's' or 'v' gevolgd door een nummer 'n' selecteert de 'de audio, knop, ondertiteling of video spoor (b.v. '--edit track:a2')." #: src/propedit/propedit_cli_parser.cpp:167 msgid "The string 'track:=uid' with 'uid' being a number selects the track whose 'track UID' element equals 'uid'." -msgstr "De reeks 'spoor:=uid' met 'uid' zijnde een nummer selecteerd het spoor welke 'spoor UID' element gelijk is met 'uid'." +msgstr "De reeks 'spoor:=uid' met 'uid' zijnde een nummer selecteert het spoor welke 'spoor UID' element gelijk is met 'uid'." #: src/propedit/propedit_cli_parser.cpp:168 msgid "The string 'track:@number' with 'number' being a number selects the track whose 'track number' element equals 'number'." -msgstr "De reeks 'spoor:@nummer' met 'nummer' zijnde een nummer selecteerd het spoor waarvan 'spoor nummer' element gelijk is met 'nummer'." +msgstr "De reeks 'spoor:@nummer' met 'nummer' zijnde een nummer selecteert het spoor waarvan 'spoor nummer' element gelijk is met 'nummer'." #: src/propedit/propedit_cli_parser.cpp:164 msgid "The string 'track:n' with 'n' being a number selects the nth track." -msgstr "De reeks 'spoor:n' met 'n' zijnde een nummer selecteerd de n'de spoor." +msgstr "De reeks 'spoor:n' met 'n' zijnde een nummer selecteert de n'de spoor." #: src/propedit/propedit_cli_parser.cpp:161 msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." -msgstr "De reeks 'info', 'segment_info' of 'segmentinfo' selecteerd het informatie element segment. Dit is tevens standaard totdat de eerste '--edit' optie is gevonden." +msgstr "De reeks 'info', 'segment_info' of 'segmentinfo' selecteert het informatie element segment. Dit is tevens standaard totdat de eerste, bewerk, '--edit' optie is gevonden." -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "De markeringen in '%1%' konden niet ontleed worden: sommige vereiste elementen ontbreken.\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "Het tijdelijke bestand '%1%' kon voor lezen niet geopend worden (%2%).\n" #: src/extract/extract_cli_parser.cpp:93 msgid "The third mode extracts attachments from the source file." -msgstr "De derde modehaat de bijlage uit het bron bestand." +msgstr "De derde mode haalt de bijlage uit het bron bestand." #: src/merge/timecode_factory.cpp:54 msgid "The timecode file '%1%' contains an unsupported/unrecognized format (version %2%).\n" -msgstr "het tijd code bestand '%1%' bevat een niet ondersteund/onherkenbaar formaat (versie %2%).\n" +msgstr "Het tijd code bestand '%1%' bevat een niet ondersteund/onherkenbaar formaat (versie %2%).\n" #: src/merge/timecode_factory.cpp:40 msgid "The timecode file '%1%' contains an unsupported/unrecognized format line. The very first line must look like '# timecode format v1'.\n" -msgstr "Het tijd code bestand '%1%' bevat een niet ondersteund/onherkenbaar formaat regel. De allereerste regel moet lijken op '# tijdcode formaat v1'.\n" +msgstr "Het tijd code bestand '%1%' bevat een niet ondersteund/onherkenbaar formaat regel. De aller eerste regel moet lijken op '# tijd code formaat v1'.\n" #: src/merge/timecode_factory.cpp:34 msgid "The timecode file '%1%' could not be opened for reading.\n" @@ -6405,7 +6430,7 @@ "\n" "If you really have to specify non-sorted timecodes then use the timecode format v4. It is identical to format v2 but allows non-sorted timecodes.\n" msgstr "" -"Het tijdcode v2 bestand '%1%' bevat tijdcodes die niet zijn geordend. Door een fout (bug) in mkvmerge versies tot en met v1.5.0 is dit noodzakelijk wanneer de tijdcode bestand toegewezen is en B fbeelden bevat. Vanaf versie v1.5.1 behandeld mkvmerge ze nu correct, en de tijdcodes in het tijdcode bestand moeten normaal geordend zijn. Bijvoorbeeld, de beeld volgorde 'IPBBP...' bij 25 FPS vereisen geen tijdcode bestand waarvan de eerste tijdcodes zijn '0', '40', '80', '120' etc en niet '0', '120', '40', '80' etc.\n" +"Het tijdcode v2 bestand '%1%' bevat tijdcodes die niet zijn geordend. Door een fout (bug) in mkvmerge versies tot en met v1.5.0 is dit noodzakelijk wanneer de tijdcode bestand toegewezen is en B beelden bevat. Vanaf versie v1.5.1 behandelt mkvmerge ze nu correct, en de tijdcodes in het tijdcode bestand moeten normaal geordend zijn. Bijvoorbeeld, de beeld volgorde 'IPBBP...' bij 25 FPS vereisen geen tijdcode bestand waarvan de eerste tijdcodes zijn '0', '40', '80', '120' etc en niet '0', '120', '40', '80' etc.\n" "\n" "Als je echt niet geordende tijdcodes moet opgeven gebruik dan format v4. Het is gelijk aan format v2 maar staat niet gesorteerde tijdcodes toe.\n" @@ -6413,110 +6438,122 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "De tijdcode's waarmee een nieuw bestand is gestart. De tijdcodes refereren naar de gehele stroom en niet naar elk individueel uitvoer bestand. De tijdcodes kunnen worden opgegeven in formaat HH:MM:SS.nnnnnnnnn of als een hoeveelheid seconden gevolgd door 's'. Je mag het aantal uren weglaten 'HH'. Je kunt ingeven tot negen nummers voor de hoeveelheidd aan nanoseconden 'nnnnnnnnn' of helemaal niets. Indien ingegeven, mag je tot negen cijfers na de decimale punt ingeven. Als er twee of meer tijdcodes zijn ingegeven, dien je die te scheiden met een komma. De formaten kunnen ook gemixt worden. Bijvoorbeeld: 01:00:00,01:30:00 (na één uur en na één uur en dertig minuten) of 1800s,3000s,00:10:00 (na drie,vijf, en tien minuten)." -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" -msgstr "De tijdcodes voor deze stroom zijn ge reset in het midden van het bestand. Dit is niet ondersteund. Het huidige pakket zal worden afgewezen.\n" +msgstr "De tijdcodes voor deze stroom zijn ge-reset in het midden van het bestand. Dit is niet ondersteund. Het huidige pakket zal worden afgewezen.\n" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." msgstr "De titel voor de hele film." -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" -msgstr "Het spoor %1% van bestand no. %2% ('%3%') is meer dan eens toegevoegd. Het argument voor '--append-to' is ongeldig.\n" +msgstr "Het spoor %1% van bestand no. %2% ('%3%') is meer dan eens bijgevoegd. Het argument voor, bijvoegen-aan, '--append-to' was ongeldig.\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "De kop sporen konden niet juist terugegeven worden. %1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" msgstr "Het spoornummer %1% heeft geen geldige CodecID.\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" -msgstr "Spoor nummer %1% van nbestand '%2%' kan waarschijnlijk niet worden toegevoegd aan spoor nummer% 3% van het bestand '%4%': %5% Wees a.u.b er zeker van, dat het resulterende bestand de gehele tijd correct wordt afgespeeld. De auteur van dit programma zal waarschijnlijk geen ondersteuning voor afspeel kwesties met het resulterende bestand geven.\n" +msgstr "Spoor nummer %1% van bestand '%2%' kan waarschijnlijk niet worden bijgevoegd aan spoor nummer %3% van het bestand '%4%': %5% Wees a.u.b er zeker van, dat het resulterende bestand de gehele tijd correct wordt afgespeeld. De auteur van dit programma zal waarschijnlijk geen ondersteuning voor afspeel kwesties met het resulterende bestand geven.\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" -msgstr "Het spoor ummer %1% van bestand '%2%' kan niet toegeoegd worden aan dit spoor nummer %3% van bestande '%4%'. %5%\n" +msgstr "Het spoor ummer %1% van bestand '%2%' kan niet bijgevoegd worden aan dit spoor nummer %3% van bestand '%4%'. %5%\n" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:387 +#: src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." -msgstr "Het spoornummer zoslas gebruik in de kop blok." +msgstr "Het spoornummer zoals gebruikt in de kop blok." -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "De spoor parameters komen niet overeen." -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "Het opwaardeer bestand kon niet verkregen worden van (%1%).\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" -msgstr "De breedte van de twe sporen zijn verschillend: %1% en %2%" +msgstr "De breedte van de twee sporen zijn verschillend: %1% en %2%" -#: src/merge/output_control.cpp:804 -#: src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "Er is online een nieuwere versie beschikbaar." + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" -msgstr "Er is geen bestand met ID '%1%'. Het argument voor '--append-to' is ongeldig.\n" +msgstr "Er is geen bestand met ID '%1%'. Het argument voor, bijvoegen-aan, '--append-to' was ongeldig.\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "Geen vertaling beschikbaar voor '%1%'.\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "Er was een fout bij opvragen van de opwaardeer status." + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "Er waren FOUTEN." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." -msgstr "Er waren fouten in de kop waardes waardoor deze niet bewaard kondenworden. De eerste fout is geselecteerd." +msgstr "Er waren fouten in de kop waardes waardoor deze niet bewaard konden worden. De eerste fout is geselecteerd." -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "Er waren waarschuwingen" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." -msgstr "Er waren waarchuwingen, of het proces is geëindigdg." +msgstr "Er waren waarchuwingen, of het proces is geëindigd." -#: src/input/r_avi.cpp:609 #: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" -msgstr "Dit AAC spoor bevat geen gelidge koppen. Kon de AAC informatie niet ontleden.\n" +msgstr "Dit AAC spoor bevat geen geldige koppen. Kon de AAC informatie niet ontleden.\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" msgstr "Dit AAC spoor bevat geen geldige koppen. De extra kop grootte is %1% bytes, verwacht werd 2 of 5 bytes.\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "Dit AC3 spoor bevat %1% bytes aan niet-AC3 data aan het begin. Wat leidt tot een vertraging van %2%ms. Deze vertraging zal worden gebruikt i.p.v de niet-AC3 data.\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Dir AC3 spoor bevat %1% bytes aan niet-AC3 data welke zijn overgeslagen. De audio/video synchronisatie kan verloren zijn gegaan.\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "Dit AVC/h.264 bevat beelden welke te groot zijn voor het maximum NALU grootte. Je moet mkvmerge herstarten en de maximun waarde voor de NALU grootte wijzigen naar %1% voor dit spoor (commando regel paramaters '--nalu-size-length %2%:%1%').\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" -msgstr "Dit AVC/h.264 spoor start niet met het sleutel beeld. Het eerste %1% beeld is overgslagen.\n" +msgstr "Dit AVC/h.264 spoor start niet met het sleutel beeld. Het eerste %1% beeld is overgeslagen.\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "Dit MPEG audio spoor bevat %1% bytes aan niet-MP3 data aan het begin. Wat leidt tot een vertraging van %2%ms. Deze vertraging wordt gebruikt i.p.v. de 'rotzooi' data.\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Dit MPEG audio spoor bevat %1% bytes aan niet-MP3 data welke zijn overgeslagen. De audio/video synchronisatie kan verloren zijn gegaan.\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" -msgstr "Dit Ogg/OGM bestand bevat hoofdstuk of titel informatie. Helaas kan de karakterset om de informatie in het bestand op te slaan niet ondubbelzinnig herkend worden. Het programma neemt aan dat jouw huidige systeem karakterset de juiste is. Dit kan overschreven worden met '--chapter-charset <charset>' instelling.\n" +msgstr "Dit Ogg/OGM bestand bevat hoofdstuk of titel informatie. Helaas kan de karakterset om de informatie in het bestand op te slaan, niet ondubbelzinnig herkend worden. Het programma neemt aan dat jouw huidige systeem karakter set de juiste is. Dit kan overschreven worden met, hoofdstuk-karakter set, '--chapter-charset <charset>' instelling.\n" #: src/mmg/header_editor/value_page.cpp:171 msgid "" @@ -6552,12 +6589,12 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "Dit bestand bevat tenminste één beeld met een negatieve tijd code. Alle tijd codes moeten bijgesteld worden met %1% zodat er geen enkele meer negatief is.\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "Dit bestand bevat coördinaten in de tijd code regels. Zulke coördinaten worden niet ondersteund door het Matroska SRT ondertitel formaat. De coördinaten worden automatisch verwijderd.\n" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "Dit bestand kon niet geopend of ontleed worden." @@ -6565,11 +6602,11 @@ msgid "This file could not be opened or parsed.\n" msgstr "Dit bestand kon niet geopend of ontleed worden.\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "Dirt bestand bevat geen hoofdstukken." -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." msgstr "Dit bestand bevat geen geldige hoofdstukken." @@ -6581,9 +6618,9 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "Dit is de titlel die afspelers zouden kunen tonen als 'hoofd titel' voor deze film." -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." -msgstr "Deze optie heeft een extra argument nodig 'n'. Vertelt mkvmerge plaats de meeste 'n' data blokken en elke clusterr. Is het nummer vastgezet met 'ms' plaats dan de meeste 'n' milliseconden aan data in elke cluster. De maximum lengte aan clusters die mkvmerge accepteerd is 60000 blokken en 32000ms; de minimum lengte is 100ms. Programmas kunnen alleen zoeken in clusters, dus grote clusters creëren kan leiden tot onnauwkeurigheid of trager zoeken." +msgstr "Deze optie heeft een extra argument nodig 'n'. Vertelt mkvmerge plaats de meeste 'n' data blokken en elke clusterr. Is het nummer vastgezet met 'ms' plaats dan de meeste 'n' milliseconden aan data in elke cluster. De maximum lengte aan clusters die mkvmerge accepteerd is 60000 blokken en 32000ms; de minimum lengte is 100ms. Programma's kunnen alleen zoeken in clusters dus grote clusters creëren, kan leiden tot onnauwkeurigheid of trager zoeken." #: src/propedit/change.cpp:253 msgid "This property is mandatory and cannot be deleted in '%1%'. %2%\n" @@ -6593,27 +6630,27 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "Dit eigendom is uniek. Meer zaken kunnen niet toegevoegd worden in '%1%'. %2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "Dit zou ECHT niet mogen gebeuren. De gereserveerde ruimte voor het eerste meta zoek element is te klein. %1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "Dit zou ECHT niet mogen gebeuren. De gereserveerde ruimte voor het eerste meta zoek element is te klein. Heb nodig: %1%. %2%\n" #: src/common/common.h:56 msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." -msgstr "Dit zou niet mogen gebeuren. Neem a.u.b kontak op met de autheur Moritz Bunkus <moritz@bunkus.org> met deze fout/waarschuwing bericht, een beschrijving van wat je probeerde te doen, de gebruikte commando regel en welk besturing systeem je gebruikt. Bedankt!" +msgstr "Dit zou niet mogen gebeuren. Neem a.u.b kontak op met de autheur Moritz Bunkus <moritz@bunkus.org> met deze fout/waarschuw bericht, een beschrijving van wat je probeerde te doen, de gebruikte commando regel en welk besturingssysteem je gebruikt. Bedankt!" -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." -msgstr "Dirt spoor bevat SBR AAC/HE-AAC/AAC+ data. Alleen nodig voorr AAC invoer bestanden, omdat SBR AAC niet automatisch gedetecterd kan worden voor deze bestanden. Niet benodigd voor AAC sporen gelezen van MP4 of Matroska bestanden." +msgstr "Dit spoor bevat SBR AAC/HE-AAC/AAC+ data. Alleen nodig voorr AAC invoer bestanden, omdat SBR AAC niet automatisch gedetecterd kan worden voor deze bestanden. Niet benodigd voor AAC sporen gelezen van MP4 of Matroska bestanden." -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "Dit spoor is niet vereningbaar met de WebM mode en kan niet worden aangezet." -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "Tijd schuif" @@ -6624,17 +6661,17 @@ #: src/mmg/tabs/input_general.cpp:289 #, c-format msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" -msgstr "Tijdcode bestanden (*.tmc;*.txt)|*.tmc;*.txt|%s" +msgstr "Tijd code bestanden (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 -#: src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 -#: src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "Tijd code schaal: %1%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:421 +#: src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "Tijd code schalen" @@ -6643,11 +6680,11 @@ msgstr "Tijd code's:" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "Titel" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "Titel: %1%" @@ -6663,19 +6700,19 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "Spoor %1% CodecPrivé is te kleinl.\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "Spoor %1% is gecomprimeerd met een onbekend/niet ondersteund compressie algoritme (%2%).\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "Spoor %1% is gecomprimeerd met bzlib maar mkvmerge is niet gecompileerd met ondersteuning van bzlib compressie.\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "Spoor %1% is gecomprimeerd met lzo1x maar mkvmerge is niet gecomplimerde met ondersteuning van lzo1x compressie.\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "Spoor %1% is gecomprimeerd met zlib maar mkvmerge is niet gecompileerd met ondersteuning voor zlib compressie.\n" @@ -6687,23 +6724,23 @@ msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" msgstr "Spoor%1% met de CodecID '%2%' bevat geen geldige koppen.\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" -msgstr "Spoor %1% met het CodecID '%2%' ontbreken de \"bits per secondde (bps)\" element en kan niet uitgepakt worden.\n" +msgstr "Spoor %1% met het CodecID '%2%' ontbreken de \"bits per seconde (bps)\" element en kan niet uitgepakt worden.\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" msgstr "Spoor %1% met de CodecID '%2%' ontbreekt de \"codec private \" element kan niet worden uitgepakt.\n" -#: src/extract/xtr_aac.cpp:42 -#: src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_ogg.cpp:37 #: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 -#: src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" msgstr "Spoor %1% met het CodecID '%2%' ontbreekt de \"codec private\" element en kan niet worden uitgepakt.\n" @@ -6711,7 +6748,7 @@ msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" msgstr "Spoor %1% met het CodecID '%2%' ontbreekt de \"default duration\" element en kan niet worden uitgepakt.\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "Spoor %1%: %2%, codec ID: %3%%4%%5%%6%\n" @@ -6723,7 +6760,7 @@ msgid "Track %1%: NAL too big\n" msgstr "Spoor %1%: NAL te groot\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "Spoor %1%: Ondertitel ingang nummer %2% mist zijn duur. Neem een duur aan van 1s.\n" @@ -6736,16 +6773,16 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "Spoor ID %1% heeft een onbekend AAC type.\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "Spoor ID %1%: %2% (%3%)" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:390 +#: src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "Spoor UID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "Spoor UID: %1%" @@ -6753,9 +6790,9 @@ msgid "Track extraction" msgstr "Sppor extractie" -#: src/propedit/options.cpp:157 #: src/propedit/propedit_cli_parser.cpp:88 #: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 msgid "Track headers" msgstr "Spoor koppen" @@ -6764,44 +6801,44 @@ msgstr "Spoor naam:" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:386 +#: src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "Spoor nummer" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "Spoor nummer %1% is versleuteld en decryptie is nog niet ingebakken.\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "Spoor nummer: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "Spoor overlay: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "Spoor type: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" -msgstr "Sporen met niet ondersteunde codeer schema's (compressie o vesleuteling) kunnen niet uitgepakt worden.\n" +msgstr "Sporen met niet ondersteunde codeer schema's (compressie of vesleuteling) kunnen niet uitgepakt worden.\n" #: src/mmg/tabs/input.cpp:187 msgid "Tracks, chapters and tags:" msgstr "Sporen, hoofdstukken en markeringen:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." -msgstr "TrueHD audio stromen kennen twee soorten frame typen: gesyncte en niet gesyncte frames . Met deze setting zal mkvmergel één sync frame zetten en alle volgende niet gesyncte frames in één enkel Matroska blok plaatsen. Zonder dat elek niet gesyncte frame wordt elk fame in zijn eigen Matroska blok geplats worden." +msgstr "TrueHD audio stromen kennen twee soorten beeld typen: gesyncte en niet gesyncte beelden . Met deze instelling, zal mkvmergel één sync frame zetten en alle volgende niet gesyncte frames in één enkel Matroska blok plaatsen. Zonder dat, wordt elk niet gesyncte beeld in zijn eigen Matroska blok geplaatst." -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" msgstr "Twee VobSub sporen kunnen alleen uitgepakt worden naar hetzeflde bestand als hun CodecPrivate data overeenkomt. Dit is niet het geval voor de sporen %1% en %2%.\n" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6813,15 +6850,15 @@ msgid "Type:" msgstr "Type:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "Type: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF tekst ondertiteling" @@ -6831,7 +6868,11 @@ #: src/mpegparser/M2VParser.cpp:237 msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Onverwacht beeld plaatje na een enkel beeld veld. Herstel het MPEG2 video spoor voor een poging het te verminigvuldigen.\n" +msgstr "Onverwacht beeld plaatje na een enkel beeld veld. Herstel het MPEG2 video spoor voorje een poging doet het te vermenigvuldigen.\n" + +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "Onbekend" #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." @@ -6841,7 +6882,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "Onbekend AAC MPEG-4 object type %1%." -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "Onbekend audio stroom type 0x%|1$04x|. Stroom ID %2% wordt genegeerd.\n" @@ -6849,23 +6890,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "Onbekend hoofdstuk formaat in '%1%'. Het bevat geen ondersteund hoofdstuk format.\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" -msgstr "Onbekend inhouds codeer type %1% voor spoor %2%.\n" +msgstr "Onbekend inhoud codeer type %1% voor spoor %2%.\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" -msgstr "Onbekend format voor de volgendet UID in '%1% %2%'.\n" +msgstr "Onbekend format voor de volgende UID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "Onbekend format voor het vorige UID in '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" msgstr "Onbekend format voor het segment UID '%3%' in '%1% %2%'.\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "Onbekende kop 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6873,8 +6914,8 @@ msgid "Unknown mode '%1%'.\n" msgstr "Onbekende mode '%1%'.\n" +#: src/common/mm_io_win.cpp:69 #: src/common/mm_io.cpp:112 -#: src/common/mm_io_win.cpp:68 msgid "Unknown open mode" msgstr "Onbekende open mode" @@ -6886,9 +6927,9 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "Onbekende ontleed mode in '%1% %2%'.\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" -msgstr "Onbekend/niet ondersteund audio format 0x%|1$04x| voor dit audio spoor.\n" +msgstr "Onbekend/niet ondersteunt audio format 0x%|1$04x| voor dit audio spoor.\n" #: src/extract/extract_cli_parser.cpp:230 msgid "Unrecognized command line option '%1%'.\n" @@ -6896,23 +6937,23 @@ #: src/mmg/header_editor/value_page.cpp:145 msgid "Unsigned integer" -msgstr "Unsigned integer" +msgstr "Ongetekende integer" #: src/common/xml/element_parser.cpp:81 msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." -msgstr "Niet getekdend veranderbaar nummerr (%1%) is te klein. Mininum waarde is %2%." +msgstr "Niet getekend veranderbaar nummer (%1%) is te klein. Mininum waarde is %2%." -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" -msgstr "Niet ondersteunde MPEG mpeg_versie: 0x%|1$02x| in pakket %2% voor tijdcode %3%, neem aan MPEG2. Geen verdere waarschuwingen worden geprint voor dit spoor.\n" +msgstr "Niet ondersteunde MPEG mpeg_versie: 0x%|1$02x| in pakket %2% voor tijd code %3%, neem aan MPEG2. Geen verdere waarschuwingen worden geprint voor dit spoor.\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" -msgstr "Niet ondersteund format" +msgstr "Niet ondersteunt format" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" -msgstr "Niet ondersteund type voor dit spoor.\n" +msgstr "Niet ondersteunt type voor dit spoor.\n" #: src/propedit/propedit.cpp:24 msgid "Updating the '%1%' element failed. Reason:\n" @@ -6922,88 +6963,46 @@ msgid "Usage" msgstr "Gebruik" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"Gebruik: mkvinfo [opties] inname\n" -"\n" -" opties:\n" -" -g, --gui Start de GUI (en open een inname indien ingegeven).\n" -" inname Gebruik 'inname' als de bron.\n" -" -v, --uitgebreid Verhoog info naar mkvmerge. Zie handleiding voor meer\n" -" beschrijving van wat mkvinfo weergeeft.\n" -" -c, --controle som Calculeert controle som van spoor inhoud.\n" -" -s, --samenvatting Toon alleen de samenvating van de inhoud, niet elk element.\n" -" -x, --hexdump toon de eerste 16 bytes van elk beeld als een hex dump.\n" -" -X, --full-hexdump\n" -" Toon alle bytes van elk beeld als een hex dump.\n" -" -z, --grootte Toont de grootte van elk element incl. kopinfo.\n" -" --uitvoer-karakterset>\n" -" voert de beichten uit in deze karakterset\n" -" -r, -o, --doorsturen-uitvoer bestand.ext\n" -" Stuur alle berichten door naar dit bestand.\n" -" -h, --help toont deze help.\n" -" -V, --versie Toont deze versie informatie.\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." msgstr "Gebruik 'segment linken' voor de resulterende bestanden. Voor een volledige uitleg van deze mogelijkheid lees de mkvmerge documentatie." -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." -msgstr "Gebruik vaste waardes voor elementen die anders bij elk bestand veranderen (samenvoegen datum, segment UID, spoor UID's etc.). Twee bestanden samengevoegd met dezelfde instellingen en deze optie actief zullen identiek zijn." +msgstr "Gebruik vaste waardes voor elementen die anders bij elk bestand veranderen (samenvoegen, datum, segment UID, spoor UID's etc.). Twee bestanden samengevoegd met dezelfde instellingen en deze optie actief, zullen identiek zijn." -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "Gebruik de oude AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') i.p.v. de nieuwe ('A_AAC')." -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" msgstr "Gebruik voorgaande uitvoer map" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "Gebruik deze map:" -#: src/mmg/tabs/input_extra.cpp:69 -#: src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "Gebruiker gedefinieerde opties" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "Gebruikmakend van een NALU lengte grootte van 3 bytes kan resulteren in sporen die niet decodeerbaar zijn met bepaalde AVC/h.264 codecs.\n" -#: src/input/r_ac3.cpp:90 -#: src/input/r_matroska.cpp:1510 #: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "Gebruik de %1%AC3 uitvoer module.\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "Gebruik de AAC audio uitvoer module.\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "Gebruik de AAC splitser.\n" @@ -7011,10 +7010,10 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "Gebruik de AAC uitvoer module (FourCC: %1%).\n" -#: src/input/r_aac.cpp:123 -#: src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 -#: src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "Gebruik de AAC uitvoer module.\n" @@ -7026,9 +7025,9 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "Using the AC3 output module (FourCC: %1%).\n" -#: src/input/r_avi.cpp:538 -#: src/input/r_ogm.cpp:987 -#: src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "Gebruik de AC3 uitvoer module.\n" @@ -7037,23 +7036,23 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "Gebruik de AVC/h.264 ES splitser.\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "Gebruik de AVI splitser. Open bestand. Dit kan enige tijd duren afhankelijk van de grootte van het bestand.\n" #: src/input/r_corepicture.cpp:89 msgid "Using the CorePanorama subtitle reader.\n" -msgstr "Gebruik de CorePanorama sondertitel lezer.\n" +msgstr "Gebruik de CorePanorama ondertitel lezer.\n" #: src/input/r_dts.cpp:83 msgid "Using the DTS demultiplexer.\n" msgstr "Gebruik de DTS splitser.\n" -#: src/input/r_avi.cpp:549 +#: src/input/r_avi.cpp:680 #: src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 -#: src/input/r_mpeg_ps.cpp:1181 #: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "Gebruik de DTS uitvoer module.\n" @@ -7062,7 +7061,7 @@ msgstr "Gebruik de Dirac splitser.\n" #: src/input/r_dirac.cpp:96 -#: src/input/r_matroska.cpp:1431 +#: src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "Gebruik de Dirac video uitvoer module.\n" @@ -7071,8 +7070,8 @@ msgstr "Gebruik de FLAC splitser.\n" #: src/input/r_flac.cpp:164 -#: src/input/r_matroska.cpp:1540 #: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "Gebruik de FLAC uitvoer module.\n" @@ -7080,11 +7079,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "Gebruik de IVF splitser.\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "Gebruik de Kate uitvoer module.\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "Gebruik de Kate ondertitel uitvoer module.\n" @@ -7092,7 +7091,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "Gebruik de MP2/MP3 splitser.\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "Gebruik de MPEG ES splitser.\n" @@ -7100,69 +7099,78 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "Gebruik de MPEG PS splitser.\n" -#: src/input/r_avi.cpp:531 -#: src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 #: src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 -#: src/input/r_qtmp4.cpp:1541 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "Gebruik de MPEG audio uitvoer module.\n" -#: src/input/r_matroska.cpp:1415 -#: src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "Gebruik de MPEG-%1% video uitvoer module.\n" -#: src/input/r_avi.cpp:299 -#: src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "Gebruik de MPEG-1/2 video uitvoer module.\n" -#: src/input/r_matroska.cpp:1804 -#: src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "Gebruik de MPEG-4 deel 10 (AVC) video uitvoer module.\n" +#: src/input/r_ogm.cpp:1154 #: src/input/r_avc.cpp:136 -#: src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 +#: src/input/r_avi.cpp:348 #: src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "Gebruikmakend van een MPEG-4 deel 10 ES video uitvoer module.\n" -#: src/input/r_avi.cpp:307 -#: src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 -#: src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "Gebruikmakend van een MPEG-4 deel 2 video uitvoer module.\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "Gebruikmakend van de Matroska splitser.\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "Gebruikmakend van de OGG/OGM splitser.\n" -#: src/input/r_avi.cpp:523 -#: src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 -#: src/input/r_qtmp4.cpp:1547 +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 #: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "Gebruikmakend van de PCM uitvoer module.\n" +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "Gebruik de PGS uitvoer module.\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "Gebruik de PGSSUP splitser.\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "Gebruikmakend van de Quicktime/MP4 splitser.\n" #: src/input/r_real.cpp:401 msgid "Using the RealAudio output module (FourCC: %1%).\n" -msgstr "Gebruikmakend van de RealAudio uitvoer module (VierCC: %1%).\n" +msgstr "Gebruikmakend van de RealAudio uitvoer module (FourCC: %1%).\n" #: src/input/r_real.cpp:158 msgid "Using the RealMedia demultiplexer.\n" @@ -7172,7 +7180,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "Gebruikmakend van de SRT ondertitel lezer.\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "Gebruikmakend van de SSA/ASS ondertitel uitvoer module.\n" @@ -7184,13 +7192,13 @@ msgid "Using the TTA demultiplexer.\n" msgstr "Gebruikmakend van de TTA splitser.\n" -#: src/input/r_matroska.cpp:1566 #: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "Gebruikmakend van de TTA uitvoer module.\n" -#: src/input/r_matroska.cpp:1427 -#: src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "Gebruikmakend van de Theora video uitvoer module.\n" @@ -7214,13 +7222,14 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "Gebruikmakend van de VC1 ES splitser.\n" -#: src/input/r_mpeg_ps.cpp:1215 #: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "Gebruikmakend van de VC1 video uitvoer module.\n" +#: src/input/r_ogm.cpp:1445 #: src/input/r_ivf.cpp:87 -#: src/input/r_matroska.cpp:1435 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "Gebruikmakend van de VP8 video uitvoer module.\n" @@ -7228,11 +7237,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "Gebruikmakend van de VobBtn knop lezer.\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "Gebruikmakend van de VobBtn uitvoer module.\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "Gebruikmakend van de VobSub uitvoer module.\n" @@ -7244,9 +7253,9 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "Gebruikmakend van de VobSub ondertitel lezer (SUB bestand '%1%').\n" -#: src/input/r_avi.cpp:678 -#: src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "Gebruikmakend van de Vorbis uitvoer module.\n" @@ -7262,131 +7271,127 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "Gebruikmakend van de WAVPACK splitser.\n" -#: src/input/r_matroska.cpp:1596 -#: src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "Gebruikmakend van de WAVPACK uitvoer module.\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" -msgstr "Gebruikmakend van de algemene audio uitvoer module (VierCC: %|1$.4s|).\n" +msgstr "Gebruikmakend van de algemene audio uitvoer module (FourCC: %|1$.4s|).\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "Gebruikmakend van de doorgang uitvoer module voor dit %1% spoor.\n" -#: src/input/r_avi.cpp:381 -#: src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 -#: src/input/r_srt.cpp:60 -#: src/input/r_ssa.cpp:71 #: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "Gebruikmakend van de tekst ondertitel uitvoer module.\n" #: src/input/r_real.cpp:299 msgid "Using the video output module (FourCC: %1%).\n" -msgstr "Gebruikmakend van de video uitvoer module (VierCC: %1%).\n" +msgstr "Gebruikmakend van de video uitvoer module (FourCC: %1%).\n" -#: src/input/r_qtmp4.cpp:1473 -#: src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" -msgstr "Gebruikmakend van de video uitvoer module (VierCC: %|1$.4s|).\n" +msgstr "Gebruikmakend van de video uitvoer module (FourCC: %|1$.4s|).\n" -#: src/input/r_avi.cpp:336 -#: src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "UGebruikmakend van de video uitvoer module.\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 basis stromen" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 video basis stroom" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" -msgstr "Geldige hacks zijn:\n" +msgstr "Geldige 'kraken' zijn:\n" #: src/mmg/header_editor/frame.cpp:149 msgid "Validates the content of all changeable headers" -msgstr "Valideerd de inhoud van alle veranderbare koppen" +msgstr "Valideert de inhoud van alle veranderbare koppen" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" -msgstr "Controleerd het huidige hoofdstuk om te zien of er fouten zijn" +msgstr "Controleert het huidige hoofdstuk om te zien of er fouten zijn" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:485 +#: src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" -msgstr "Verwachtte video ratio type" +msgstr "Verwachtte video verhouding type" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "Video onderkant uitsnijden" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "Video links uitsnijden" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "Video rechts uitsnijden" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "Video bovenkant uitsnijden" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "Video scherm hoogte" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "Video scherm unit" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "Video scherm breedte" #: src/mpegparser/M2VParser.cpp:163 msgid "Video ended with a shortened group of pictures. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "De Video is geeïndigd met een te kort aan plaatjes beeld groepen. Sommige beelden zijn vervallen. Misschien wil je de MPEG2 video stroom herstellen voordat je een poging doet het te verminigvuldigen.\n" +msgstr "De Video is geeïndigd met een te kort aan plaatjes beeld groepen. Sommige beelden zijn vervallen. Misschien wil je de MPEG2 video stroom herstellen voordat je een poging doet het te vermenigvuldigen.\n" #: src/common/property_element.cpp:137 msgid "Video interlaced flag" msgstr "Video interlaced markering" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "Video pakket assemblatie gefaald. Fout code: %1% (%2%)\n" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "Video pixel hoogte" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "Video pixel breedte" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 +#: src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "Video stereo mode" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "Video spoor" @@ -7395,87 +7400,73 @@ msgid "Video track %u" msgstr "Video spoor %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "Bekijk de uitvoer welke mkvmerge maakt gedurende het samenvoeg proces voor de geselecteerde ta(a)k(en)" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn knoppen" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobKnoppen" -#: src/mmg/tabs/input.cpp:256 -#: src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub ondertitels" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE (ongecomprimeerd PCM audio)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (ongecompromeerd PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK verliesvrije audio" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4 audio" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" msgstr "Waarschuw over mogelijk onjuist gebruik van MMG" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "Waarschuwing in regel %1%: De start tijdcode is kleiner dan de vorige ingave. Alle ingangen van dit bestand worden gesorteerd op hun start tijd.\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "Waarschuwing:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "Waarschuwing: " -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "Waarschuwing: Er zijn meer dan één sporen met UID %1%." -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "Waarschuwing: Er is meer dan één spoor met het nummer %1%." -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "Waarschuwingen:" -#: src/mmg/tabs/input.cpp:259 -#: src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebM audio/video bestanden" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." msgstr "Als een bestand wordt toegevoegd wordt de naam gescand. Als het het woord 'DELAY' bevat gevolgd door een nummer dan wordt dit nummer automatisch toegevoegd aan het invoer veld 'delay' voor elk audio spoor gevonden in het bestand." #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "Breedte van de te coderen video beelden in pixels." #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." msgstr "Breedtte van de video te tonen beelden." -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "Duur schrijven voor alle blokken. Dit zal de bestandsgrootte verhogen en geeft geen extra waarde aan afspelers van dit moment." @@ -7487,15 +7478,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "Schrijf spoor met ID TID naar het bestand 'out'." -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "Applicatie aan het schrijven: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" -msgstr "Iinfo schrijven" +msgstr "Info schrijven" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "VobSub index bestand aan het schrijven '%1%'.\n" @@ -7507,24 +7498,24 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "Verkeerde Theora versie: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" -msgstr "Verkeerd argument voor '--splits-max-bestanden'.\n" +msgstr "Verkeerd argument voor, splits-max-bestanden, '--split-max-files'.\n" #: src/mmg/options/mkvmerge.cpp:117 msgid "Wrong file chosen" msgstr "Verkeerd bestand gekozen" #: src/mmg/header_editor/frame.cpp:248 -#: src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "Verkeerd bestand geselecteerd" -#: src/common/kate.cpp:46 #: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" -msgstr "verkeerd kop type: 0x%|1$02x| != 0x%|2$02x|" +msgstr "Verkeerd kop type: 0x%|1$02x| != 0x%|2$02x|" #: src/common/theora.cpp:40 msgid "Wrong identifaction string: '%|1$6s|' != 'theora'" @@ -7542,7 +7533,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "XML ontleed fout op regel %1%: %2%." -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "Je hebt reeds de laatste versie." + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7556,13 +7551,13 @@ "Je kunt deze functie gebruiken om de tijdcode's bij te stellen van het\n" "geselecteerde hoofdstuk en de daarbij behorende met een vast aantal.\n" "Het aantal kan zowel positief als negatief zijn. Het gebruikte kan zijn\n" -"Of een alleen een nummer en wordt gezien als een aantal seconden,het\n" -"kan gevolgd worden door 'ms' or 's' respectivelijk voor milliseconden en\n" -"seconden, of het kan het gebruikelijke HH:MM:SS.mmm or HH:MM:SS\n" +"of een alleen een nummer en wordt gezien als een aantal seconden, het\n" +"kan gevolgd worden door 'ms' of 's' respectivelijk voor milliseconden en\n" +"seconden, of het kan het gebruikelijke HH:MM:SS.mmm of HH:MM:SS\n" "format zijn. Voorbeeld: -00:05:23 zou alle hoofdstukken laten beginnen\n" "met 5 minuten en 23 seconden vroeger dan nu." -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7571,13 +7566,13 @@ "\n" "Do you still want to continue?" msgstr "" -"Je hebt nog niet geselecteerd het aantal beelden per seconden voor spoor %lld van bestand '%s'. mkvmerge zelf kan niet het aantal beelden nper seconde achterhalen. Daarom moet je dit zelf instellen in 'specifiek formaat opties' tabblad.\n" +"Je hebt nog niet geselecteerd het aantal beelden per seconden voor spoor %lld van bestand '%s'. mkvmerge zelf kan niet het aantal beelden per seconde achterhalen. Daarom moet je dit zelf instellen bij 'specifieke formaat opties' tabblad.\n" "\n" -"Als je dit niet doe gaat mkvmerge uit van 25 fps (beelden per seconde).\n" +"Als je dit niet doet, gaat mkvmerge uit van 25 fps (beelden per seconde).\n" "\n" "Wil je nog steeds doorgaan?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7585,26 +7580,26 @@ "\n" "This message will only be shown once unless you have enabled mmg's warnings on its 'settings' page." msgstr "" -"U voegt toe een AVC/h.264 basisstroom naar het uitvoerbestand.Voor zulke bestanden kan mkvmerge niet het aantal beelden per seconde zelf bepalen. Daarom moet je zelf de waarde bepalen bij 'specifieke formaat opties' pagina.\n" -"Als je dat niet doet gaat mkvmerge uit van 25 fps (beelden per seconde).\n" +"Je voegt toe een AVC/h.264 basisstroom naar het uitvoerbestand.Voor zulke bestanden kan mkvmerge niet het aantal beelden per seconde zelf bepalen. Daarom moet je zelf de waarde bepalen bij 'specifieke formaat opties' pagina.\n" +"Als je dat niet doet, gaat mkvmerge uit van 25 fps (beelden per seconde).\n" "\n" -"Deze waarschuwing wordt éénmaal getoond tenzij je in mmg's waarschuwingen hebt aangezet op de 'opties' pagina." +"Deze waarschuwing wordt éénmaal getoond, tenzij je in mmg's waarschuwingen hebt aangezet op de 'opties' pagina." -#: src/common/compression.cpp:130 -#: src/common/compression.cpp:167 +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib decompressie gefaald. Resultaat: %1%\n" -#: src/info/mkvinfo.cpp:165 -#: src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" -msgstr "[%1% beeld voor spoor %2%, tijdcode %3%]" +msgstr "[%1% beeld voor spoor %2%, tijd code %3%]" #: src/input/r_aac.cpp:62 msgid "aac_reader: ADIF header files are not supported." msgstr "aac_lezer: ADIF kop bestanden zijn niet ondersteund." -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_lezer: Kan bestand niet openen." @@ -7612,19 +7607,19 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_lezer: Kan%1% bytes niet lezen." -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" -msgstr "aac_reader: No valid AAC packet found in the first %1% bytes.\n" +msgstr "aac_lezer: Geen geldig AAC pakket gevonden in de eerste %1% bytes.\n" -#: src/mmg/jobs.cpp:335 -#: src/mmg/jobs.cpp:444 -#: src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 msgid "aborted" msgstr "afgebroken" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" -msgstr "ac3_bs_packetizer::add_to_buffer(): Niet geteste code ('grootte' is vreemd). Als mkvmerge crasht of als het resultaat bestand niet het gehele en correcte audio spoor bevat, neem dan a.u.b kontakt op met de autheur Moritz Bunkus via moritz@bunkus.org.\n" +msgstr "ac3_bs_packetizer::add_to_buffer(): Niet geteste code ('grootte' is vreemd). Als mkvmerge vast loopt of als het resultaat bestand niet het gehele en correcte audio spoor bevat, neem dan a.u.b kontakt op met de autheur Moritz Bunkus via moritz@bunkus.org.\n" #: src/input/r_ac3.cpp:67 msgid "ac3_reader: Could not open the source file." @@ -7641,22 +7636,22 @@ #: src/mmg/tabs/attachments.cpp:156 #: src/mmg/tabs/input.cpp:183 msgid "add" -msgstr "invoegen" +msgstr "toevoegen" + +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "anaglyph" #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "bijvoegen" -#: src/input/r_matroska.cpp:88 -#: src/mmg/mmg.cpp:57 -#: src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "audio" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "audio/video/tekst ondertiteling ingebed in OGG" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_lezer: Kon bron bestand niet openen." @@ -7665,36 +7660,36 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_lezer: Had niet mogen gebeuren." -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_lezer: Kon AVI bron niet starten. Reden: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_lezer: Kon bron bestand niet lezen." -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." msgstr "avi_lezer: Bron is geen geldig AVI bestand." -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "bits per voorbeeld: %1%" -#: src/input/r_matroska.cpp:89 -#: src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "knoppen" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > grootte. Zou niet mogen gebeuren. Vul a.u.b. een fout (bug) rapport in.\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2 compressie gefaald. Resultaat: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress() niet ingebouwd\n" @@ -7703,19 +7698,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index: '%1%' niet gevonden\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "kanalen: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "controlebord (links eerst)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "checkboard (rechts eerst)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "kolom volgorde (links eerst)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "kolom volgorde (rechts eerst)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "voltooid OK" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "voltooid met waarschuwingen" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "compressie" @@ -7727,26 +7738,21 @@ msgid "corepicture_reader: Source is not a valid CorePanorama file." msgstr "corepicture_lezer: Bron is geen geldig CorePanorama bestand." -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num niet gevonden. %1%\n" -#: src/common/ebml.cpp:100 -#: src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: Ongeldig UTF-8 reeks tegengekomen. Neem a.u.b. kontakt op met moritz@bunkus.org en verzoek om een betere UTF-8 ontleder." - -#: src/mmg/tabs/input_extra.cpp:91 -#: src/mmg/tabs/input_extra.cpp:165 #: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "standaard" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "standaard duur: %|1$.3f|ms (%|2$.3f| fps voor een video spoor)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit() gefaald. Resultaat: %1%\n" @@ -7758,24 +7764,24 @@ msgid "disable all" msgstr "vink alles uit" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " -msgstr "discardable, " +msgstr "afwijsbaar, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "scherm hoogte: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "scherm breedte: %1%" -#: src/mmg/jobs.cpp:520 -#: src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 msgid "done" msgstr "gedaan" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "gedaan/waarschuwingen" @@ -7799,11 +7805,11 @@ msgid "enable all" msgstr "vink alles aan" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "aangezet" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "versleuteling" @@ -7813,8 +7819,8 @@ #: src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 #: src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 -#: src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 #: src/common/mm_io.cpp:481 #: src/common/mm_io.cpp:491 @@ -7824,17 +7830,17 @@ #: src/common/mm_io.cpp:531 #: src/common/mm_io.cpp:541 #: src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 -#: src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "einde van bestand" -#: src/mmg/jobs.cpp:344 -#: src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 msgid "failed" msgstr "mislukt" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "filelist_t niet gevonden voor generic_packetizer_c. %1%\n" @@ -7848,7 +7854,7 @@ #: src/input/r_ogm_flac.cpp:128 msgid "flac_header_extraction: FLAC__stream_decoder_new() failed.\n" -msgstr "flac_header_extraction: FLAC__stream_decoder_new() failed.\n" +msgstr "flac_header_extraction: FLAC__stream_decoder_new() gefaald.\n" #: src/input/r_ogm_flac.cpp:42 msgid "flac_header_extraction: bytes (%1%) < op.bytes (%2%). Could not read the FLAC headers.\n" @@ -7878,7 +7884,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_lezer: Kon niet instellen de metadata_respond_all.\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_lezer: Fout bij ontleden bestand: %1%\n" @@ -7890,24 +7896,20 @@ msgid "flac_reader: could not initialize the FLAC packetizer.\n" msgstr "flac_lezer: kon de FLAC pakket inpakker niet starten.\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "voor alle beelden" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "algemeen Matroska bestand" - #: src/input/r_avc.cpp:76 #: src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "heb een xcptn\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "kop verwijdering" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "verborgen" @@ -7919,14 +7921,14 @@ msgid "highest" msgstr "hoogst" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit() gefaald. Resultaat: %1%\n" -#: src/mmg/jobs.cpp:72 -#: src/mmg/jobs.cpp:74 -#: src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "wordt verwacht" @@ -7934,15 +7936,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_lezer: Kan bestand niet openen." -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "sleutel, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "taal: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "lengte %1%, data: %2%" @@ -7962,158 +7964,158 @@ msgid "lowest" msgstr "laagste" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress() niet uitgevoerd\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init() gefaald. Resultaat: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) gefaald.\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_lezer: (MS compatibiliteits mode voor spoor %1%) Matroska zegt dat er zijn %2% bits per voorbeeld, maar het WAVEFORMATEX zegt dat er zijn %3%.\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_lezer: (MS compatibilitiets mode voor spoor %1%) Matroska zegt er zijn %2% kanalen, maar het WAVEFORMATEX zegt dat er zijn %3%.\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_lezer: (MS compatibiliteits mode voor spoor %1%) Matroska zegt dat er zijn %2% voorbeelden per seconde, maar WAVEFORMATEX zegt dat er zijn %3%.\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_lezer: (MS compatibiliteits mode, spoor %1%) Matrosa zegt video breedte is %2%, maar de BITMAPINFOHEADER zegt %3%.\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_lezer: (MS compatibiliteits mode, spoor %1%) Matrosa video hoogte is %2%, maar de BITMAPINFOHEADER zegt %3%.\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_lezer: Een spoor mist zijn spoor UID.\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_lezer: Een spoor mist zijn spoor nummer.\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" -msgstr "matroska_lezer: Kan spoor UID niet houden %1% omdat het als is toegewezen aan het nieuwe bestand.\n" +msgstr "matroska_lezer: Kan spoor UID %1% niet houden, omdat het als is toegewezen aan het nieuwe bestand.\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_lezer: Gefaald de koppen te lezen." -#: src/input/r_matroska.cpp:1208 -#: src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_lezer: Geen segment gevonden.\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_lezer: Pixel hoogte ontbreekt.\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_lezer: Pixel breedte ontbreekt.\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_lezer: Het CodecID '%1%' voor spoor %2% is onbekend.\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" -msgstr "matroska_lezer: Het CodecID voor spoor %1% is '%2%', maar er was geen BITMAPINFOHEADER structuur aanwezig. Daarom hebben we geen VierCC om de gebruikte video codec te achterhalen.\n" +msgstr "matroska_lezer: Het CodecID voor spoor %1% is '%2%', maar er was geen BITMAPINFOHEADER structuur aanwezig. Daarom hebben we geen FourCC om de gebruikte video codec te achterhalen.\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_lezer: Het CodecID voor spoor %1% is '%2%', maar er was geen WAVEFORMATEX structuur aanwezig. Daarom hebben we geen format ID om de gebruikte video codec te achterhalen.\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_lezer: Het CodecID voor spoor %1% is '%2%', maar er was geen codec privé koppen.\n" -#: src/input/r_matroska.cpp:483 -#: src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_lezer: Het CodecID voor spoor %1% is '%2%', maar er was geen privé data gevonden.\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_lezer: Het CodecID voor spoor %1% is 'A_VORBIS', maar er zijn geen kop paketten aanwezig.\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" msgstr "matroska_lezer: De CodecID ontbreekt.\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_lezer: De hoogte voor spoor %1% is niet gezet.\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_lezer: De breedte voor spoor %1% is niet gezet.\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_lezer: Spoor %1% lijkt oké te zijn.\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_lezer: Spoor type is niet gevonden.\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" msgstr "matroska_lezer: Vorbis spoor bevat vgeen geldige koppen.\n" -#: src/input/r_matroska.cpp:1300 -#: src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_lezer: uitzondering bemerkt\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_lezer: mkvmerge is niet gecompileerd met FLAC ondersteuning. Negeer spoor %1%.\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_lezer: geen EBML kop gevonden.\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" -msgstr "matroska_lezer:: onbekend demuxer type voor spoor %1%: '%2%'\n" +msgstr "matroska_lezer:: onbekende samenvoeg type voor spoor %1%: '%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_lezer: | + Er is meer dan één spoor met het UID %1%.\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" -msgstr "matroska_lezer: | + Er is meer dan één spoor met het nummr %1%.\n" +msgstr "matroska_lezer: | + Er is meer dan één spoor met het nummer %1%.\n" #: src/mmg/tabs/global.cpp:257 msgid "max. number of files:" msgstr "max. aantal bestanden:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() opgeroepen van bestand %1%, regel %2%: malloc() returned NULL voor de grootte van %3% bytes.\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() opgeroepen van bestand %1%, regel %2%: malloc() returned NULL voor de grootte van %3% bytes.\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() opgeroepen van bestand %1%, regel %2%: realloc() returned NULL voor de grootte van %3% bytes.\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor: Moet niet worden gebruikt!" @@ -8136,19 +8138,19 @@ #: src/extract/extract_cli_parser.cpp:47 msgid "mkvextract <mode> <source-filename> [options] <extraction-spec>" -msgstr "mkvextract <mode> <bron-bestand> [opties] <extractie-spec>" +msgstr "mkvextract <mode> <source-filename> [options] <extraction-spec>" #: src/extract/extract_cli_parser.cpp:98 msgid "mkvextract attachments \"a movie.mkv\" 4:cover.jpg" -msgstr "mkvextract bijlagen \"a movie.mkv\" 4:cover.jpg" +msgstr "mkvextract bijlagen \"een film.mkv\" 4:cover.jpg" #: src/extract/extract_cli_parser.cpp:52 msgid "mkvextract attachments <inname> [options] [AID1:out1 [AID2:out2 ...]]" -msgstr "mkvextract attachments <inname> [opties] [AID1:out1 [AID2:out2 ...]]" +msgstr "mkvextract bijlagen <inname> [opties] [AID1:out1 [AID2:out2 ...]]" #: src/extract/extract_cli_parser.cpp:106 msgid "mkvextract chapters \"a movie.mkv\" > movie_chapters.xml" -msgstr "mkvextract chapters \"een film.mkv\" > film_hoofdstukken.xml" +msgstr "mkvextract hoofdstukken \"een film.mkv\" > film_hoofdstukken.xml" #: src/extract/extract_cli_parser.cpp:53 msgid "mkvextract chapters <inname> [options]" @@ -8156,11 +8158,11 @@ #: src/extract/extract_cli_parser.cpp:115 msgid "mkvextract cuesheet \"audiofile.mka\" > audiofile.cue" -msgstr "mkvextract cuesheet \"audiofile.mka\" > audiofile.cue" +msgstr "mkvextract volg document(en) (cue) \"audiofile.mka\" > audiofile.cue" #: src/extract/extract_cli_parser.cpp:54 msgid "mkvextract cuesheet <inname> [options]" -msgstr "mkvextract cuesheet <inname> [opties]" +msgstr "mkvextract volg document(en) (cue) <inname> [opties]" #: src/extract/extract_cli_parser.cpp:89 msgid "mkvextract tags \"a movie.mkv\" > movie_tags.xml" @@ -8168,7 +8170,7 @@ #: src/extract/extract_cli_parser.cpp:51 msgid "mkvextract tags <inname> [options]" -msgstr "mkvextract tags <inname> [opties]" +msgstr "mkvextract markeringen <inname> [opties]" #: src/extract/extract_cli_parser.cpp:123 msgid "mkvextract timecodes_v2 \"a movie.mkv\" 1:timecodes_track1.txt" @@ -8190,19 +8192,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): niveau > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: Onbekende mode!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [opties] <inname>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "Mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o out [globale opties] [opties1] <bestand1> [@optie bestand ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmerge GEFAALD met terugkoppel code %d. %s" @@ -8217,88 +8219,88 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUI fout" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI klaar" -#: src/mmg/mmg_dialog.cpp:364 -#: src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI instellingen (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 -#: src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 -#: src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 -#: src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: fout" #: src/mmg/tabs/global.cpp:287 msgid "mkvmerge can read CUE sheets for audio CDs and automatically convert them to chapters. This option controls how the chapter names are created. The sequence '%p' is replaced by the track's PERFORMER, the sequence '%t' by the track's TITLE, '%n' by the track's number and '%N' by the track's number padded with a leading 0 for track numbers < 10. The rest is copied as is. If nothing is entered then '%p - %t' will be used." -msgstr "mkvmerge kan volg reeksen voor audio cd's lezen en ze automatisch converteren naar hoofdstukken. Deze optie regelt hoe hoofdstuk namen worden gecreëerd. De reeks '%p' is vervangen door het spoor van de artist, de reeks '%t' door het spoor titel, '%n' door het spoornummer en '%N' door het spoornummer opgevuld beginnend met een 0 voor spoor nummers < 10. De rest is gecopiëerd zoals het was. Als niet is ingegeven dan wordt '%p - %t' gebruikt." +msgstr "mkvmerge kan volg document(en) (cue) voor audio cd's lezen en ze automatisch converteren naar hoofdstukken. Deze optie regelt hoe hoofdstuk namen worden gecreëerd. De reeks '%p' is vervangen door het spoor van de artist, de reeks '%t' door het spoor titel, '%n' door het spoornummer en '%N' door het spoornummer opgevuld beginnend met een 0 voor spoor nummers < 10. De rest is gecopiëerd zoals het was. Als niets is ingegeven dan wordt '%p - %t' gebruikt." #: src/mmg/tabs/input_general.cpp:190 #: src/mmg/tabs/input_general.cpp:192 msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." -msgstr "mkvmerge kan tijd codes lezen en gebruiken van een extern bestand. Deze mogelijkheid is een erg adventureuze mogelijkheid. Bijna alle gebruikers dienen dit leeg te laten." +msgstr "mkvmerge kan tijd code's lezen en gebruiken van een extern bestand. Deze mogelijkheid is een erg adventureuze mogelijkheid. Bijna alle gebruikers dienen dit leeg te laten." -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" msgstr "" -"mkvmerge kwan een gebroken of een on-ontleedbare data tegen in dit AVC/h.264 video spoor. Of je bestandsnaam is beschadigd (waarmee mkvmerge nog niet mee overweg kan) of dit is een fout (bug) in mkvmerge zelf. Het fout bericht was:\n" +"mkvmerge kwam een gebroken of een on-ontleedbare data tegen in dit AVC/h.264 video spoor. Of je bestandsnaam is beschadigd (waarmee mkvmerge nog niet mee overweg kan) of dit is een fout (bug) in mkvmerge zelf. Het fout bericht was:\n" "%1%\n" #: src/mmg/options/mkvmerge.cpp:57 msgid "mkvmerge executable" msgstr "Mkvmerge programma" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" msgstr "mkvmerge voltooide met terugkoppel code van %d. %s" -#: src/mmg/jobs.cpp:147 -#: src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" msgstr "mkvmerge is voltooid" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" msgstr "mkvmerge is niet gecompileerd met FLAC ondersteuning maar het behandelen van deze stoorm is gevraagd.\n" -#: src/mmg/jobs.cpp:49 -#: src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge is uitgevoerd" #: src/mmg/options/mkvmerge.cpp:80 msgid "mkvmerge options" -msgstr "Mkvmerge opties" +msgstr "mkvmerge opties" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" msgstr "mkvmerge uitvoer:" #: src/mmg/tabs/global.cpp:275 #: src/mmg/tabs/global.cpp:277 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format." -msgstr "mkvmerge ondersteund twee hoofdstuk formaten: Het OGM gelijkende tekst format en het volledige XML format." +msgstr "mkvmerge ondersteunt twee hoofdstuk formaten: Het OGM gelijkende tekst format en het volledige XML format." #: src/mmg/tabs/global.cpp:283 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. If the OGM format is used and the file's charset is not recognized correctly then this option can be used to correct that. This option is ignored for XML chapter files." -msgstr "mkvmerge ondersteund twee hoofstuk formaten: Het OGM gelijkend tekst format en het uitgebreide XML format. Als het OGM format is gebruikt en de bestands karakterset is niet juist herkend dan kan deze optie gebruikt worden dat te corrigeren. Het negeert dan XML hoofdstuk bestanden." +msgstr "mkvmerge ondersteunt twee hoofdstuk formaten: Het OGM gelijkend tekst format en het uitgebreide XML format. Als het OGM format is gebruikt en de bestands karakter set is niet juist herkend dan kan deze optie gebruikt worden dat te corrigeren. Het negeert dan XML hoofdstuk bestanden." #: src/mmg/tabs/global.cpp:279 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." -msgstr "mkvmerge ondersteund twee hoofstuk formaten: Het OGM gelijkend tekst format en het uitgebreide XML format. Deze optie specifceert een taal en ze worden geassocieerd met hoofdstukken als het OGM hoofdstuk format is gebruikt. Het negeert dan XML hoofdstuk bestanden." +msgstr "mkvmerge ondersteunt twee hoofstuk formaten: Het OGM gelijkend tekst format en het uitgebreide XML format. Deze optie specifceert een taal en ze worden geassocieerd met hoofdstukken als het OGM hoofdstuk format is gebruikt. Het negeert dan XML hoofdstuk bestanden." -#: src/merge/output_control.cpp:247 -#: src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmerge werd onderbroken door SIGINT (Ctrl+C?)\n" @@ -8310,35 +8312,39 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [opties] <bestand> <actie>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: UTF32_* wordt op het moment niet ondersteund.\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): ongeldig UTF-8 karakter. Eerste byte: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" -msgstr "Mmg" +msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" msgstr "mmg debug uitvoer" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmg opties" #: src/mmg/options/languages.cpp:86 msgid "mmg will reset to the default list if no entry is selected." -msgstr "MMG zal de standaard lijst herstellen als er geen waarde is gekozen." +msgstr "mmg zal de standaard lijst herstellen als er geen waarde is gekozen." + +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "mono" #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_lezer: Kon bron bestand niet openen." -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_lezer: Kon bestand niet openen." @@ -8360,7 +8366,7 @@ msgid "no" msgstr "nee" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "geen versleuteling" @@ -8372,17 +8378,18 @@ msgid "no file loaded" msgstr "geen bestand geladen" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "geen algoritme handtekening" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "geen hash algoritme handtekening" -#: src/mmg/tabs/input_extra.cpp:94 -#: src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "niets" @@ -8390,68 +8397,72 @@ msgid "normal" msgstr "normaal" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ogg_stream_init voor stroom nummerr %1% gefaaid. Zal proberen door te gaan negeer deze stroom.\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_buffer gefaald\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_lezer: Kon bron bestand niet openen." -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_lezer: Kon niet alle kop paketten lezen." -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." msgstr "ogm_reade: Bron is geen geldig OGG media bestand." -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." -msgstr "on_entry_selected: toon == NULL. Had niet mogen gebeuren" +msgstr "on_entry_selected: toon == NULL. Had niet mogen gebeuren." -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "alleen voor I beelden" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "uitvoer voorbeeld frequentie: %1%" -#: src/mmg/jobs.cpp:519 -#: src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 msgid "pending" msgstr "wachtend" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader:: Kon bestand niet openen." + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "pixel uitsnijden benedenaan: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "pixel uitsnijden links: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "pixel uitsnijden rechts: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "pixel uitsnijden bovenaan: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "pixel hoogte: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "pixel breedte: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_algemeen.cpp/generic_packetizer_c::add_packet(): timecode < laatste_tijdcode (%1% < %2%). %3%\n" @@ -8459,12 +8470,12 @@ msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_algemeen.cpp/generic_lezer_c::demuxing_requested(): Ongeldig spoor type %1%." -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "raw data" -#: src/info/wxwidgets_ui.cpp:148 -#: src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "gereed" @@ -8474,7 +8485,7 @@ #: src/input/r_real.cpp:246 msgid "real_reader: Couldn't find RealAudio FourCC for id %1% (description length: %2%) Skipping track.\n" -msgstr "real_lezer: Kon niet vinden RealAudio VierCC voor id %1% (beschrijving lengte: %2%) Sla spoor over.\n" +msgstr "real_lezer: Kon niet vinden RealAudio FourCC voor id %1% (beschrijving lengte: %2%) Sla spoor over.\n" #: src/input/r_real.cpp:274 msgid "real_reader: Only audio header versions 3, 4 and 5 are supported. Track ID %1% uses version %2% and will be skipped.\n" @@ -8493,15 +8504,31 @@ msgid "remove all" msgstr "verwijder alles" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" msgstr "rest: onbekend" -#: src/info/mkvinfo.cpp:645 +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "rij volgorde (links eerst)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "rij volgorde (rechts eerst)" + +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "voorbeeld frequentie: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "naast elkaar (links eerst)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "naast elkaar (rechts eerst)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extractie_duur: Een gebroken SPU pakket tegengekomen (next_off < start_off) bij tijdcode %1%. Dit pakket kan onjuist worden weergegeven of zelfs helemaal niet.\n" @@ -8517,7 +8544,7 @@ msgid "ssa_reader: Could not open the source file." msgstr "ssa_lezer: Kon het bronbestand niet openen." -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." msgstr "ssa_lezer: Ongeldig formaat. Kon niet vinden \"Format\" regel in de \"[Events]\" sectie." @@ -8525,16 +8552,16 @@ msgid "ssa_reader: Source is not a valid SSA/ASS file." msgstr "ssa_lezer: Bron is geen geldig SSA/ASS bestand." -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize(). Dit mocht niet gebeuren. Vul a.u.b. een 'bug' rapport in. Bedankt." -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "ondertitel" -#: src/mmg/mmg.cpp:59 -#: src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "ondertitels" @@ -8542,11 +8569,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index: '%1%' niet gevonden\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" -msgstr "tijd codes" +msgstr "tijd code's" + +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "bovenste beneden (links eerst)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "bovenste beneden (rechts eerst)" -#: src/merge/mkvmerge.cpp:2036 +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "spoor naam" @@ -8570,21 +8605,22 @@ msgid "und (Undetermined)" msgstr "onb (Onbekend)" -#: src/input/r_matroska.cpp:87 -#: src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 -#: src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 -#: src/mmg/mmg.cpp:60 +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 #: src/mmg/header_editor/value_page.cpp:150 -#: src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 -#: src/info/mkvinfo.cpp:820 -#: src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 -#: src/info/mkvinfo.cpp:881 -#: src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "onbekend" @@ -8606,31 +8642,31 @@ #: src/input/r_vc1.cpp:82 msgid "vc1_es_reader: Could not open the source file." -msgstr "vc1_es_lezer: kon bronbestand niet openen." +msgstr "vc1_es_lezer: Kon bronbestand niet openen." -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" -msgstr "verifiëren gefaalt: chapters->CheckMandatory() is fout. Dit had niet mogen gebeuren. Vul a.u.b. een fout (bug) rapport in.\n" +msgstr "verifiëren gefaald: chapters->CheckMandatory() is fout. Dit had niet mogen gebeuren. Vul a.u.b. een fout (bug) rapport in.\n" -#: src/input/r_matroska.cpp:90 -#: src/mmg/mmg.cpp:58 -#: src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 msgid "video" msgstr "video" #: src/input/r_vobbtn.cpp:56 msgid "vobbtn_reader: Could not open the file." -msgstr "lezer_vobbtn: kon bestand niet openen." +msgstr "lezer_vobbtn: Kon bestand niet openen." #: src/input/r_vobsub.cpp:82 msgid "vobsub_reader: Could not open the sub file" -msgstr "lezer_vobsub: kon sub bestand niet openen" +msgstr "lezer_vobsub: Kon sub bestand niet openen" #: src/input/r_vobsub.cpp:70 msgid "vobsub_reader: Cound not open the source file." msgstr "lezer_vobsub: Kon bronbestand niet openen." -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" msgstr "lezer_vobsub: sub_bestand->leesfout" @@ -8660,26 +8696,26 @@ #: src/input/r_wavpack.cpp:58 msgid "wavpack_reader: Could not open the file." -msgstr "lezer wavepack: kon bestand niet openen." +msgstr "lezer wavepack: Kon bestand niet openen." -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "lezer wavepack: niet audio blok gevonden\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" -msgstr "lezer wavepack: unknown sample rate!\n" +msgstr "lezer wavepack: onbekende voorbeeld verhouding!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "verkeerd gebruik: verhogen < 0" -#: src/common/mm_io.cpp:839 -#: src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "verkeerd gebruik: Alleen-lezen met NUL geheugen" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "verkeerd gebruik: schrijven naar alleen lezen geheugen" @@ -8689,9 +8725,174 @@ msgid "yes" msgstr "ja" +#~ msgid " (both eyes)" +#~ msgstr " (beide ogen)" + +#~ msgid " (left eye)" +#~ msgstr " (linker oog)" + +#~ msgid " (right eye)" +#~ msgstr " (rechter oog)" + +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "Deze GUI is geschreven door Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Gebasseerd op mmg van Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licenseerd onder GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is beschikbaar via, het 'Help'\n" +#~ "menu of door op F1 te drukken." + +#~ msgid "About mkvmerge's GUI" +#~ msgstr "Over mkvmerge's GUI" + +#~ msgid "Both eyes" +#~ msgstr "Beide ogen" + +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (Digital Theater System)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac basis stroom" + +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC verlies vrije audio" + +#~ msgid "IVF with VP8" +#~ msgstr "IVF met VP8" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "Bekende bestandstypen:\n" +#~ " ext beschrijving\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "Linker oog" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG programma stroom" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer II audio (CBR en VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer III audio (CBR en VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 video basis stroom" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 video basis stroom" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska A/V bestanden (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroska bestanden (*.mkv;*.mka)|*.mkv;*.mka|%s" + +#~ msgid "None" +#~ msgstr "Geen" + +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 audio en video" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia audio en video" + +#~ msgid "Right eye" +#~ msgstr "Rechter oog" + +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "Stelt de gebruikte compressie in voor VobSub ondertitels. Als er niets is geselecteerd, dan zal de VobSubs automatisch worden gecomprimeerd met zlib. 'geen' zal resuleeren in bestanden die aanmerkelijk groter zijn." + +#~ msgid "TTA lossless audio" +#~ msgstr "TTA verlies vrije audio" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "Het MPEG-4 part 2 compressie werkt alleen met basis MPEG-4. Hoewel, basis MPEG-4 mode is niet geselecteerd met selected with '--aangaan basis_mpeg4'.\n" + +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "Gebruik: mkvinfo [opties] inname\n" +#~ "\n" +#~ " opties:\n" +#~ " -g, --gui Start de GUI (en open een inname indien ingegeven).\n" +#~ " inname Gebruik 'inname' als de bron.\n" +#~ " -v, --verbose Verhoog info naar mkvmerge. Zie handleiding voor meer\n" +#~ " beschrijving van wat mkvinfo weergeeft.\n" +#~ " -c, --checksum Calculeert controle som van spoor inhoud.\n" +#~ " -s, --summary Toon alleen de samenvating van de inhoud, niet elk element.\n" +#~ " -x, --hexdump toon de eerste 16 bytes van elk beeld als een hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Toon alle bytes van elk beeld als een hex dump.\n" +#~ " -z, --size Toont de grootte van elk element incl. kop info.\n" +#~ " --output-charset>\n" +#~ " voert de berichten uit in deze karakter set\n" +#~ " -r, -o, --redirect-output bestand.ext\n" +#~ " Stuur alle berichten door naar dit bestand.\n" +#~ " -h, --help toont deze help.\n" +#~ " -V, --version Toont deze versie informatie.\n" + +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "Gebruikmakend van de VP8 video uitvoer module.\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 video basis stroom" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn knoppen" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (ongecompromeerd PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK verliesvrije audio" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "Schrijf raw FLAC bestanden (standaard: schrijf OggFLAC bestanden)." +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "audio/video/tekst ondertiteling ingebed in OGG" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: Ongeldig UTF-8 reeks tegengekomen. Neem a.u.b. kontakt op met moritz@bunkus.org en verzoek om een betere UTF-8 ontleder." + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: Kon niet instellen de fout terugkoppeling.\n" @@ -8727,3 +8928,9 @@ #~ msgid "flac_reader: Could not set the write callback.\n" #~ msgstr "flac_lezer: Kon niet instellen de schrijf terugkoppeling.\n" + +#~ msgid "general Matroska files" +#~ msgstr "algemeen Matroska bestand" + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: Onbekende mode!?\n" diff -Nru mkvtoolnix-4.0.0/po/ru.po mkvtoolnix-4.5.0+dfsg/po/ru.po --- mkvtoolnix-4.0.0/po/ru.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/ru.po 2011-01-31 20:34:09.000000000 +0000 @@ -8,15 +8,16 @@ "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: Moritz Bunkus <moritz@bunkus.org>\n" "POT-Creation-Date: 2009-02-18 23:52+0100\n" -"PO-Revision-Date: 2010-06-03 18:13+0300\n" +"PO-Revision-Date: 2011-01-31 23:10+0300\n" "Last-Translator: rusguy6 rusguy6 <rusguy6@gmail.com>\n" "Language-Team: Russian <moritz@bunkus.org>\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" @@ -24,7 +25,7 @@ "\n" "Временный файл TTA для дорожки ID %1% в настоящее время копируется в конечный файла TTA. Это может занять некоторое время.\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" @@ -32,25 +33,25 @@ "\n" "mkvmerge получил SIGINT (вероятно потому что пользователь нажал Ctrl+C). Попытка санировать файл. Если mkvmerge падает во время этого процесса, вам придется завершить ее вручную.\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" msgstr "" -" --aac-is-sbr <TID[:0|1]> Трек с ID является HE-AAC/AAC+/SBR-AAC\n" -" или нет. Значение ': 1' может быть опущено.\n" +" --aac-is-sbr <TID[:0|1]> Дорожка с ID является HE-AAC/AAC+/SBR-AAC\n" +" или нет. Значение ':1' может быть опущено.\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" " appending files.\n" msgstr "" " --append-mode <file|track>\n" -" Выбор как mkvmerge вычисляет тайм-коды, когда\n" +" Выбрать как mkvmerge вычисляет тайм-коды, когда\n" " добавление файлов.\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -64,7 +65,7 @@ " добавляется к другой дорожке предыдущего\n" " файла.\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" @@ -74,7 +75,7 @@ " Устанавливать отображения размеров путем расчета\n" " ширина и высота для этих пропорций.\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -83,12 +84,12 @@ " dimensions from this factor.\n" msgstr "" " --aspect-ratio-factor <TID:f|a/b>\n" -" Первый вычисляет пропорции мульти-\n" +" Первым вычисляет пропорции мульти-\n" " проигрывания оригинальных пропорций видео\n" " с этим фактором и рассчитывает дисплей\n" " размерами от этого фактора.\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" @@ -96,7 +97,7 @@ " --attach-file <file> Создает файл вложения в\n" " Matroska файле.\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" @@ -104,9 +105,9 @@ msgstr "" " --attach-file-once <file>\n" " Создает файл вложения в\n" -" Matroska файле, написанного первым.\n" +" Matroska файле, написанный первым.\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" @@ -114,15 +115,15 @@ " --attachment-description <desc>\n" " Описание для следующего вложения.\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" msgstr "" " --attachment-mime-type <mime type>\n" -" Mime-тип для следующего вложения.\n" +" Mime тип для следующего вложения.\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" @@ -130,7 +131,7 @@ " --attachment-name <name> Имя должно храниться в течение \n" " следующего вложения.\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" @@ -138,19 +139,19 @@ " --blockadd <TID:x> Устанавливает максимальное количество блоков\n" " дополнительных уровней для этого трека.\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" msgstr " --chapter-charset <cset> Кодировка для простого файла главы.\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" msgstr " --chapter-language <lng> Установить 'язык' элемента в разделе статьи.\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" msgstr " --chapters <file> Читать главу информации из файла.\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -162,11 +163,11 @@ " положить не более n миллисекунд данных в каждую\n" " группу.\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr " --clusters-in-meta-seek Создать мета поиск данных для кластеров.\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" @@ -174,7 +175,7 @@ " --command-line-charset <charset>\n" " Кодировка для строк в командной строке\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" @@ -184,7 +185,7 @@ " Устанавливает метод сжатия, используемый для\n" " указанный дорожки ('none' или 'zlib').\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" @@ -192,7 +193,7 @@ " --cropping <TID:left,top,right,bottom>\n" " Устанавливает параметры обрезки.\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" @@ -202,7 +203,7 @@ " Шаблон для перехода от записи CUE\n" " к листу имени главы.\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" @@ -212,7 +213,7 @@ " Создать cue (индекс) записи для этого трека:\n" " Ни на всех, только для всех I кадров.\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" @@ -222,29 +223,29 @@ " Заставлять по умолчанию продолжительность дорожки к X.\n" " X может быть числом с плавающей точкой или долей.\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" msgstr "" -" --default-language <lng> Использование этого языка для всех треков, если\n" +" --default-language <lng> Использование этого языка для всех дорожек, если\n" " отменено с опцией --language.\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" " forces it not to be present if bool is 0.\n" msgstr "" " --default-track <TID[:bool]>\n" -" Устанавливать 'по умолчанию' флаг для этого трека или\n" +" Устанавливать 'по умолчанию' флаг для этой дорожки или\n" " принудительно не будет присутствовать, если bool 0.\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" -msgstr " --disable-lacing Не использовать сшивание.\n" +msgstr " --disable-lacing Не использовать объединение.\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" @@ -252,53 +253,53 @@ " --display-dimensions <TID:width>x<height>\n" " Точно установить размеры дисплея.\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr " --enable-durations Включить продолжительность блока для всех блоков.\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" " forces it not to be present if bool is 0.\n" msgstr "" " --forced-track <TID[:bool]>\n" -" Устанавливать 'вынужденного' флаг для этой дорожки или\n" +" Устанавливать 'принудительный' флаг для этой дорожки или\n" " принудительно не будет присутствовать, если bool 0.\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" -msgstr " --global-tags <file> Читать глобальной теги файла XML.\n" +msgstr " --global-tags <file> Читать глобальные теги из XML файла.\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" msgstr "" -" --language <TID:lang> Установка языка для трека (ISO639-2\n" +" --language <TID:lang> Установка языка для дорожки (ISO639-2\n" " код, смотри --list-languages).\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" -msgstr " --link Ссылка разделенных файлов.\n" +msgstr " --link Связать разделенные файлы.\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" -msgstr " --link-to-next <SID> Ссылка следующего файла на данный SID.\n" +msgstr " --link-to-next <SID> Связать последний файл с данным SID.\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" -msgstr " --link-to-previous <SID> Ссылка предыдущего файл на данный SID.\n" +msgstr " --link-to-previous <SID> Связать первый файл с данным SID.\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" msgstr "" " --list-languages Списки всех ISO639 языков и их\n" -" ISO639-2 коды.\n" +" ISO639-2 кодов.\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" @@ -308,27 +309,27 @@ " Принудительная длина NALU размера n байт с\n" " 2 <= n <= 4 с 4 время по умолчанию.\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters Не брать главы из исходного файла.\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" msgstr " --no-cues Не писать cue (индекс) данных.\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" msgstr " --no-global-tags Не брать глобальные теги из исходного файла.\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" msgstr " --output-charset <cset> Выходные сообщения в этой кодировке\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" msgstr " --priority <priority> Установить приоритет выполнения mkvmerge.\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -336,11 +337,11 @@ " --segment-uid <SID1,[SID2...]>\n" " Установить сегмент UIDs в SID1, SID2 и т.д.\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" msgstr " --segmentinfo <file> Читать сегмент информации из файла.\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" @@ -350,7 +351,7 @@ " Создать новый файл после d байт (КБ, МБ, ГБ)\n" " или по истечении определенного времени.\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" @@ -360,49 +361,49 @@ " Создать новый файл после каждого тайм-кода A, B\n" " и т.д.\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" msgstr " --split-max-files <n> Создать много n файлов.\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode <TID:n|none|left|right|both>\n" -" Устанавливать параметры стерео режима. Это может\n" -" либо число 0 - 3 или одно из\n" -" ключевых слов 'none', 'right', 'left' или 'both'.\n" +" --stereo-mode <TID:n|keyword>\n" +" Устанавливает параметр стерео режима. Это может\n" +" быть либо номер 0 - 11 или ключевое слово\n" +" (см. документацию, полный список).\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" " read as for the conversion to UTF-8.\n" msgstr "" " --sub-charset <TID:charset>\n" -" Определяет кодировку текстовых субтитров\n" -" читая как для перехода на UTF-8.\n" +" Определяет кодировку, в которой текстовые субтитры\n" +" читаются для преобразования в UTF-8.\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" -msgstr " --timecode-scale <n> Принудительный тайм-код коэффициент пропорций для n.\n" +msgstr " --timecode-scale <n> Принудительный тайм-код коэффициента пропорций для n.\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" msgstr " --timecodes <TID:file> Читать тайм-коды, которые будут использоваться из файла.\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" msgstr " --title <title> Название для этого выходного файла.\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" -msgstr " --track-name <TID:name> Установить имя дорожки.\n" +msgstr " --track-name <TID:name> Установить имя для дорожки.\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -414,47 +415,47 @@ " и отслеживать IDs, которые контролируют порядок\n" " дорожек в выходном файле.\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" msgstr "" -" --track-tags <n,m,...> Копия тегов для дорожек n,m т.д. По умолчанию: копировать\n" +" --track-tags <n,m,...> Копировать теги для дорожек n,m т.д. По умолчанию: копировать\n" " теги для всех дорожек.\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" msgstr " --ui-language <code> Принудительный перевод для 'код', который будет использоваться.\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio Не копировать звуковую дорожку из этого файла.\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons Не копировать кнопки дорожки из этого файла.\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video Не копировать видео дорожки из этого файла.\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" msgstr " -M, --no-attachments Не копировать вложения из исходного файла.\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" msgstr " -S, --no-subtitles Не копировать дорожку субтитров из этого файла.\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr " -T, --no-track-tags Не копировать теги для дорожки из исходного файла.\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version Показывать информацию о версии.\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -464,7 +465,7 @@ " Копировать аудио дорожки n,m т.д. По умолчанию: копировать все\n" " звуковые дорожки.\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -474,7 +475,7 @@ " Копировать кнопки дорожек n,m т.д. По умолчанию: копировать\n" " все кнопки дорожек.\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -484,7 +485,7 @@ " Копировать видео дорожки n,m т.д. По умолчанию: копировать все\n" " видеодорожки.\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -492,19 +493,19 @@ " -f, --fourcc <FOURCC> Принудительный FourCC до указанного значения.\n" " Работает только для видеодорожек.\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help Показать помощь.\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <file> Распечатать информацию об исходном файле.\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -l, --list-types Списки поддерживаемых форматов входных файлов.\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -516,15 +517,15 @@ " все или только первый выходной файл. По умолчанию: копировать\n" " все приложения для всех выходных файлов.\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out Записать в файл 'вывод'.\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" msgstr " -q, --quiet Скрыть вывод статуса\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -532,7 +533,7 @@ " -r, --redirect-output <file>\n" " Перенаправлять все сообщения в этот файл.\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -542,19 +543,19 @@ " Копировать дорожки субтитров n,m и т.д. По умолчанию: копировать\n" " все дорожки субтитров.\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" -msgstr " -t, --tags <TID:file> Читать теги для дорожки из файла XML.\n" +msgstr " -t, --tags <TID:file> Читать теги для дорожки из XML файла.\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose Подробный статус\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm Создать WebM совместимый файл.\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -565,14 +566,14 @@ " floating point numbers.\n" msgstr "" " -y, --sync <TID:d[,o[/p]]>\n" -" Синхронизация, настроить тайм-коды трека с\n" +" Синхронизация, настроить тайм-коды дорожки с\n" " ID TID по 'd' ms.\n" " 'o/p': Отрегулируйте тайм-коды путем умножения с\n" " 'o/p' установить линейный дрейфы. 'p' по умолчанию\n" " 1, если пропущен. Оба 'o' и 'p' могут быть\n" " числами с плавающей запятой.\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -608,168 +609,164 @@ msgid " X: binary in hex\n" msgstr " X: двоичный, шестнадцатеричный\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 -#: src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (оба глаза)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (сантиметров)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (фиксированный)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (Формат тега: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (свободный размер)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264 профиль: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (дюймы)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" msgstr " (сохранить пропорции)" -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (левый глаз)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (моно)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (пиксели)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (правый глаз)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" -msgstr " Прерваться.\n" +msgstr " Прерывание.\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " Поддержка вложений (больше глобальных опций):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" msgstr " Глава обработки:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" msgstr " Разделение файлов и связь (больше глобальных опций):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" -msgstr " Генеральный выходной контроль (продвинутые глобальные опции):\n" +msgstr " Общее управление выхода (расширенные глобальные опции):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " Глобальные опции:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " Параметры для каждого входного файла:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" -msgstr " Функции, которые применяются только для субтитров VobSub треков:\n" +msgstr " Функции, которые применяются только для VobSub субтитров дорожек:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" -msgstr " Функции, которые применяются только к тексту субтитров дорожки:\n" +msgstr " Функции, которые применяются только к тексту субтитров дорожек:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " Функции, которые применяются только к видеодорожкам:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " Другие опции:\n" #: src/common/xml/element_parser.cpp:460 msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." -msgstr " Помните, что специальные символы, такие как &, <, > и \" должна быть замаскирована в обычном порядке HTML: & для '&', < для '<', > для '>' и " для '\"'." +msgstr " Помните, что специальные символы, такие как &, <, > и \" должны быть замаскированы в обычном порядке HTML: & для '&', < для '<', > для '>' и " для '\"'." -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" msgstr " Сегмент обработки информации:\n" #: src/extract/mkvextract.cpp:63 -#: src/info/mkvinfo.cpp:174 +#: src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " в %1%" -#: src/merge/output_control.cpp:257 -#: src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 -#: src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 msgid " done\n" -msgstr " Сделанный\n" +msgstr " сделанный\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " размер %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr " неизвестный размер" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### Работники развития ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" -msgstr "### Глобальный выходной контроль ###" +msgstr "### Общее управление выхода ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% сборка от %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% кадр, дорожка %2%, тайм-код %3% (%4%), продолжительность %|5$.3f|, размер %6%, adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% кадр, дорожка %2%, тайм-код %3% (%4%), размер %5%, adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% кадр, дорожка %2%, тайм-код %3% (%4%), размер %5%, adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Ошибка в структуре файла Matroska в позиции %2%. Пересинхронизация на следующем уровне 1 элемента.\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" msgstr "%1%: делитель 0 в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: неверный ID дорожки в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" msgstr "%1%: отсутствует дивиденд в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" msgstr "%1%: отсутствует делитель в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" msgstr "%1%: отсутствует ID дорожки в '%2% %3%'.\n" @@ -791,47 +788,24 @@ "Исходники и последние файлы всегда доступны на\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 -#: src/mmg/jobs.cpp:299 -#: src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d минут(ы) %d секунд(ы)" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"Это GUI была написана Moritz Bunkus <moritz@bunkus.org>\n" -"На основе mmg от Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI распространяется по лицензии GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Помощь предоставляется в виде подсказки, в меню\n" -"'Справка' или нажав на кнопку 'F1'." - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s (MIME тип %s, размер %ld) из %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, тип: %s) из %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -850,35 +824,43 @@ "Исходники и последние файлы всегда доступны на\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "&Прервать" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "&О программе" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "&О программе\tF1" -#: src/mmg/mmg_dialog.cpp:263 -#: src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "&Добавить к очереди задание" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "&Вложения\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "&Редактор глав" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "&Редактор глав\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "&Проверить обновления" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "&Закрыть" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "&Закрыть\tCtrl-W" @@ -887,19 +869,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "&Свернуть все записи\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "&Копировать командную строку в буфер обмена" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "&Скопировать в буфер обмена" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "&Выключить" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "&Вниз" @@ -907,86 +889,86 @@ msgid "&Expand all entries\tCtrl-E" msgstr "&Развернуть все записи\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "&Развернуть важные элементы\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 +#: src/mmg/mmg_dialog.cpp:299 #: src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "&Файл" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" -msgstr "&Глобальные опции\tAlt-3" +msgstr "&Глобальные\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "&Редактор заголовка\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 +#: src/mmg/mmg_dialog.cpp:303 #: src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "&Помощь" -#: src/mmg/mmg_dialog.cpp:276 +#: src/mmg/mmg_dialog.cpp:293 #: src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "&Справка\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "&Вход\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "&Загрузить" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" msgstr "&Загрузить настройки\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "&Управление заданиями\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" -msgstr "&Мультиплексирование" +msgstr "&Обработка" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "&Новый\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" -msgstr "&Новые главы" +msgstr "&Новая глава" -#: src/mmg/jobs.cpp:100 -#: src/mmg/jobs.cpp:385 -#: src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "&OK" #: src/mmg/header_editor/frame.cpp:142 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "&Открыть\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "&Опции" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 #: src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "&Выход\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" -msgstr "&Повторно включить" +msgstr "&Повторное включение" #: src/mmg/header_editor/frame.cpp:144 msgid "&Reload\tCtrl-R" @@ -996,8 +978,8 @@ msgid "&Reset" msgstr "&Сбросить" -#: src/mmg/jobs.cpp:390 -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "&Сохранить" @@ -1005,19 +987,19 @@ msgid "&Save\tCtrl-S" msgstr "&Сохранить\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "&Сохранить информацию как текст\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "&Сохранить настройки\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "&Запустить" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "&Вверх" @@ -1025,60 +1007,60 @@ msgid "&Validate\tCtrl-T" msgstr "&Проверить правильность\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "&Проверить" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "&Просмотр журнала" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "&Окно" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" msgstr "'%1%' могут быть использованы только с именем файла. Никакие другие варианты не допустимы, если этот параметр используется.\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" -msgstr "'%1%' не содержат действительный блок ('s', 'ms', 'us' или 'ns') в '%2% %3%'.\n" +msgstr "'%1%' не содержит действительный блок ('s', 'ms', 'us' или 'ns') в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%' является аргументом для неподдерживаемых --compression. Доступные методы сжатия 'none' и 'zlib'.\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' является аргументом для неподдерживаемых --compression. Доступные методы сжатия: %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" msgstr "'%1%' является аргументом для неподдерживаемых --cues.\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" msgstr "'%1%' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не является ни действительным ISO639-2 ни действительным ISO639-1 код в '--chapter-language %1%'. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" +msgstr "'%1%' не является ни действительным ISO639-2, ни действительным ISO639-1 кодом в '--chapter-language %1%'. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не является ни действительным ISO639-2 ни действительным ISO639-1 код в '--default-language %1%'. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" +msgstr "'%1%' не является ни действительным ISO639-2, ни действительным ISO639-1 кодом в '--default-language %1%'. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не является ни действительным ISO639-2 ни действительным ISO639-1 код. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" +msgstr "'%1%' не является ни действительным ISO639-2, ни действительным ISO639-1 кодом. Посмотри 'mkvmerge --list-languages' для получения списка всех языков и их ISO639-2 кодов.\n" #: src/common/chapters/chapters.cpp:184 #: src/common/chapters/chapters.cpp:201 msgid "'%1%' is not a CHAPTERxx=... line." -msgstr "'%1%' не является CHAPTERxx=... линией." +msgstr "'%1%' не является Главаxx=... строка." #: src/common/chapters/chapters.cpp:207 msgid "'%1%' is not a CHAPTERxxNAME=... line." -msgstr "'%1%' не является CHAPTERxxNAME=... линией." +msgstr "'%1%' не является ГлаваxxИмя=... строка." -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "'%1%' не является допустимым %2% в '%3% %4%'.\n" @@ -1086,62 +1068,62 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "'%1%' не является допустимым ISO639-2 кодом языка." -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" -msgstr "'%1%' не является правильным добавить режим в '--append-mode %1%'.\n" +msgstr "'%1%' не является правильным добавленным режимом в '--append-mode %1%'.\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" -msgstr "'%1%' не является допустимым блок дополнительных max в '--blockadd %2%'.\n" +msgstr "'%1%' не является допустимым блоком дополнительного максимума в '--blockadd %2%'.\n" #: src/common/chapters/xml_parser.cpp:132 msgid "'%1%' is not a valid ccTLD country code." -msgstr "'%1%' не является допустимым ccTLD код страны." +msgstr "'%1%' не является допустимым ccTLD кодом страны." -#: src/merge/mkvmerge.cpp:1152 -#: src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" msgstr "'%1%' не является допустимым ID файлом в '--track-order %2%'.\n" #: src/common/hacks.cpp:87 msgid "'%1%' is not a valid hack.\n" -msgstr "'%1%' не действительный работник.\n" +msgstr "'%1%' не правильная работа.\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" msgstr "'%1%' не является корректным отображением файлов и дорожек IDs в '--append-to %2%'.\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" -msgstr "'%1%' не действительная пара файла ID и дорожки ID в '--track-order %2%'.\n" +msgstr "'%1%' не является допустимой парой файла ID и дорожки ID в '--track-order %2%'.\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" -msgstr "'%1%' не является допустимым пару дорожек ID и блок дополнительных в '--blockadd %1%'.\n" +msgstr "'%1%' не является допустимой парой дорожки ID и дополнительного блока в '--blockadd %1%'.\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" -msgstr "'%1%' не является допустимым класса приоритетных.\n" +msgstr "'%1%' не является допустимым приоритетом класса.\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" msgstr "'%1%' не является допустимой дорожкой ID в '--blockadd %2%'.\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" msgstr "'%1%' не является допустимой дорожкой ID в '--default-duration %2%'.\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" msgstr "'%1%' не является допустимой дорожкой ID в '--nalu-size-length %2%'.\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" -msgstr "'%1%' не является допустимым кортеж дорожек ID и NALU размер длины в '--nalu-size-length %1%'.\n" +msgstr "'%1%' не является допустимый кортеж дорожки ID и NALU размер длины в '--nalu-size-length %1%'.\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" -msgstr "'%1%' не является допустимым кортеж дорожек ID и по умолчанию продолжительность в '--default-duration %1%'.\n" +msgstr "'%1%' не является допустимый кортеж дорожки ID и по умолчанию продолжительность в '--default-duration %1%'.\n" #: src/extract/extract_cli_parser.cpp:136 msgid "'%1%' is only allowed when extracting chapters.\n" @@ -1151,286 +1133,286 @@ msgid "'%1%' is only allowed when extracting tracks.\n" msgstr "'%1%' допускается только при извлечении треков.\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "'%1%' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:1842 -#: src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" -msgstr "'%1%' не хватает своего аргумента.\n" +msgstr "'%1%' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" msgstr "'%1%' не хватает FourCC.\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" -msgstr "'%1%' отсутствуют задержки.\n" +msgstr "'%1%' отсутствует задержка.\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "'%1%' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "'%1%' отсутствует ID дорожки.\n" -#: src/merge/mkvmerge.cpp:1880 -#: src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 -#: src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" -msgstr "'%1%' отсутствует номер(а) дорожек.\n" +msgstr "'%1%' отсутствует номер(а) дорожки.\n" -#: src/common/output.cpp:127 -#: src/common/output.cpp:140 -#: src/common/output.cpp:153 -#: src/common/output.cpp:174 +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%' дорожка %2%: %3%" -#: src/common/output.cpp:120 -#: src/common/output.cpp:133 -#: src/common/output.cpp:146 -#: src/common/output.cpp:163 +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%': %2%" #: src/common/mm_multi_file_io.cpp:165 -#: src/mmg/tabs/input.cpp:741 +#: src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" -msgstr "'%1%': Обработка следующие файлы, а также: %2%\n" +msgstr "'%1%': Обработка следующих файлов, а также: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" -msgstr "'--append-mode' не хватает своего аргумента.\n" +msgstr "'--append-mode' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" -msgstr "'--append-to' не хватает своего аргумента.\n" +msgstr "'--append-to' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" msgstr "'--aspect-ratio' не хватает пропорций.\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" msgstr "'--aspect-ratio-factor' отсутствует фактор пропорций.\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" msgstr "'--attachment-description' отсутствует описание.\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" msgstr "'--attachment-mime-type' отсутствует MIME тип.\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" msgstr "'--attachment-name' отсутствует имя.\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" -msgstr "'--blockadd' не хватает своего аргумента.\n" +msgstr "'--blockadd' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" msgstr "'--chapter-charset' не хватает кодировки.\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" msgstr "'--chapter-charset' может быть дан только один раз в '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" -msgstr "'--chapter-charset' должны быть предоставлены до '--chapters' в '--chapter-charset %1%'.\n" +msgstr "'--chapter-charset' должен быть предоставлен перед '--chapters' в '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" msgstr "'--chapter-language' не хватает языка.\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" msgstr "'--chapter-language' может быть дан только один раз в '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" -msgstr "'--chapter-language' должны быть предоставлены до '--chapters' в '--chapter-language %1%'.\n" +msgstr "'--chapter-language' должен быть предоставлен перед '--chapters' в '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" msgstr "'--chapters' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" msgstr "'--cluster-length' не хватает длины.\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" msgstr "'--command-line-charset' отсутствует аргумент.\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" -msgstr "'--compression' не хватает своего аргумента.\n" +msgstr "'--compression' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" msgstr "'--cropping' не хватает обрезки параметров.\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" msgstr "'--cue-chapter-name-format' не хватает формата.\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" -msgstr "'--cue-chapter-name-format' должны быть предоставлены до '--chapters'.\n" +msgstr "'--cue-chapter-name-format' должен быть предоставлен перед '--chapters'.\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" -msgstr "'--cues' не хватает своего аргумента.\n" +msgstr "'--cues' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" -msgstr "'--default-duration' не хватает своего аргумента.\n" +msgstr "'--default-duration' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" -msgstr "'--default-language' не хватает своего аргумента.\n" +msgstr "'--default-language' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" -msgstr "'--default-track' не хватает своего аргумента.\n" +msgstr "'--default-track' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" msgstr "'--display-dimensions' не хватает размеров.\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" -msgstr "'--engage' не хватает своего аргумента.\n" +msgstr "'--engage' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" -msgstr "'--forced-track' не хватает своего аргумента.\n" +msgstr "'--forced-track' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" msgstr "'--global-tags' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" -msgstr "'--language' не хватает своего аргумента.\n" +msgstr "'--language' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" msgstr "'--link' имеет смысл только в сочетании с '--split'.\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" msgstr "'--link-to-next' не хватает следующего UID.\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" -msgstr "'--link-to-previous' недостатки предыдущих UID.\n" +msgstr "'--link-to-previous' не хватает предыдущего UID.\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" -msgstr "'--nalu-size-length' не хватает своего аргумента.\n" +msgstr "'--nalu-size-length' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" -msgstr "'--priority' не хватает своего аргумента.\n" +msgstr "'--priority' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" msgstr "'--segment-uid' отсутствует сегмент UID.\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "'--segmentinfo' отсутствует имя файла.\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" msgstr "'--split' не хватает размера.\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" msgstr "'--split-max-files' не хватает нескольких файлов.\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" -msgstr "'--stereo-mode' не хватает своего аргумента.\n" +msgstr "'--stereo-mode' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" -msgstr "'--sub-charset' не хватает своего аргумента.\n" +msgstr "'--sub-charset' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" -msgstr "'--timecode-scale' не хватает своего аргумента.\n" +msgstr "'--timecode-scale' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" -msgstr "'--timecode-scale' была использована более одного раза.\n" +msgstr "'--timecode-scale' был использован более одного раза.\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" -msgstr "'--timecodes' не хватает своего аргумента.\n" +msgstr "'--timecodes' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" msgstr "'--title' не хватает названия.\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" -msgstr "'--track-name' не хватает своего аргумента.\n" +msgstr "'--track-name' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" -msgstr "'--track-order' не хватает своего аргумента.\n" +msgstr "'--track-order' не хватает аргумента.\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" msgstr "'--track-order' может быть дан только один раз.\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "'-A' и '-a' используют тот же исходный файл.\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" msgstr "'-B' и '-b' используют тот же исходный файл.\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" msgstr "'-D' и '-d' используют тот же исходный файл.\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" msgstr "'-S' и '-s' используют тот же исходный файл.\n" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:394 +#: src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" -msgstr "'По умолчанию трек' flag" +msgstr "'По умолчанию дорожка' флаг" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:401 +#: src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" -msgstr "'Принудительный дисплей' flag" +msgstr "'Принудительный дисплей' флаг" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" -msgstr "'Трек включен' flag" +msgstr "'Дорожка включена' флаг" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(Неизвестный элемент: %1%; ID: 0x%2% размер: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(новый файл главы)" @@ -1438,15 +1420,15 @@ msgid "(none)" msgstr "(ни один)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" -msgstr "(безымянные главы)" +msgstr "(безымянная глава)" -#: src/mmg/tabs/chapters.cpp:880 -#: src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 -#: src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(безымянный)" @@ -1462,41 +1444,41 @@ msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> Предварительный анализ FLAC файла: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", описание '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", имя файла '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", завершено %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", позиция %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" msgstr ", начался %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" -msgstr "--- Начать работу %d (%s, добавлено %s)" +msgstr "--- Начало работы %d (%s, добавлено %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" -msgstr "--- Закончить работу %d" +msgstr "--- Конец работы %d" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" -msgstr "--- Нет работы нашли выход.\n" +msgstr "--- Нет работы найденной на выходе.\n" #: src/mmg/options/languages.cpp:46 #: src/mmg/tabs/input_general.cpp:159 @@ -1507,9 +1489,13 @@ msgid "---common---" msgstr "---общий---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length Замена" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" -msgstr "--timecode-scale REPLACEME" +msgstr "--timecode-scale Замена" #: src/mmg/tabs/global.cpp:239 msgid "...after this duration:" @@ -1523,19 +1509,19 @@ msgid "...after timecodes:" msgstr "...после тайм-кодов:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: все кадры" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 байта" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" -msgstr "2: кодек личные данные" +msgstr "2: личные данные кодека" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 байта" @@ -1561,32 +1547,32 @@ msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." msgstr "<ChapterTrack> отсутствует <ChapterTrackNumber>." -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" -msgstr "Блока группа оказалась в положении %1%, но не блок элемент был найден внутри него. Это может сделать mkvmerge аварию.\n" +msgstr "Блок группы оказался в положении %1%, но не блок элемента был найден внутри него. Это может сделать mkvmerge крах.\n" -#: src/input/r_matroska.cpp:1961 -#: src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" -msgstr "Блок был найден на метку %1% за номер трека %2%. Тем не менее, заголовки не найдены для этого номера трека. Блока будут пропущены.\n" +msgstr "Блок был найден на метке %1% для номера дорожки %2%. Тем не менее, заголовки не найдены для этого номера дорожки. Блок будет пропущен.\n" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." msgstr "Удобная для восприятия человеком строка, определяющая кодек." #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." -msgstr "Удобное для восприятия человеком название трека." +msgstr "Удобное для восприятия человеком название дорожки." -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" msgstr "Работа с описанием '%s' уже существует. Вы действительно хотите добавить еще одну с тем же описание?" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:340 +#: src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." @@ -1594,27 +1580,27 @@ "Случайный уникальный ID для определения текущего\n" "сегмента между многими другими (128 bits)." -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "Дорожка" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" -msgstr "Дорожка с ID %1% была запрошена, но не нашел в этом файле. Соответствующий параметр будет проигнорирован.\n" +msgstr "Дорожка с ID %1% была запрошена, но не найдена в этом файле. Соответствующий параметр будет проигнорирован.\n" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:391 +#: src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" "of the Track to another file." msgstr "" -"Уникальный ID для идентификации Трека. Это должно быть\n" +"Уникальный ID для идентификации дорожки. Это должно быть\n" "все при создании прямого потока копии\n" -"Трека в другой файл." +"дорожки в другой файл." #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:348 +#: src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." @@ -1623,7 +1609,7 @@ "сегмента (128 bits)." #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:344 +#: src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." @@ -1631,21 +1617,19 @@ "Уникальный ID для определения предыдущего\n" "сегмента (128 bits)." -#: src/mmg/tabs/input.cpp:232 -#: src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (aka AC3)" -#: src/mmg/tabs/input.cpp:233 -#: src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (Advanced Audio Coding)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "AAC файлы могут содержать HE-AAC / AAC+ / SBR AAC аудио. Это не может быть определена автоматически. Поэтому вы должны указать '--aac-is-sbr 0' вручную, для этого исходного файла, если файл действительно содержит SBR AAC. Файл при объединении в неправильном направлении, в противном случае. Также читайте в документации mkvmerge.\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC является SBR/HE-AAC/AAC+" @@ -1657,46 +1641,40 @@ "ASCII строка (без специальных символов, как\n" "Umlaute и т.д.)" -#: src/mmg/tabs/input.cpp:234 -#: src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/H.264 элементарные потоки" -#: src/mmg/tabs/input.cpp:235 -#: src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (Audio/Video Interleaved)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "Прервать" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "Прервать после текущего задания" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "Прервать после обработки текущего задания" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" -msgstr "Прервать процесс мультиплексирования прямо сейчас" +msgstr "Прервать процесс обработки прямо сейчас" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" -msgstr "Прервать обработку %s" +msgstr "Прервана обработка на %s" #: src/info/qt_ui.cpp:125 -#: src/info/wxwidgets_ui.cpp:354 +#: src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "О mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "О mkvmerge GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "Действия" @@ -1705,39 +1683,39 @@ msgid "Add" msgstr "Добавить" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" -msgstr "&Добавить параметры командной строки" +msgstr "&Добавить параметры к командной строке" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "Добавить главу" #: src/mmg/cli_options_dlg.cpp:24 msgid "Add command line options" -msgstr "Добавить параметры командной строки" +msgstr "Добавить параметры к командной строке" #: src/mmg/header_editor/value_page.cpp:162 msgid "Add element" msgstr "Добавить элемент" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "Добавить имя" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "Добавить подраздел" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "Добавлено" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "Дополнительный ID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "Дополнения" @@ -1745,23 +1723,23 @@ msgid "Adds a property with the value even if such a property already exists" msgstr "Добавляет свойство со значением, даже если такое уже существует" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" -msgstr "Добавляет текущие настройки как новая запись работы очереди заданий" +msgstr "Добавляет текущие настройки как новая запись работы к очереди задания" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "Отрегулировать главу тайм-кодов" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "Отрегулировать тайм-коды" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" msgstr "После загрузки файл расширяет самые важные элементы" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "Алгоритм: %1% (%2%)" @@ -1773,11 +1751,11 @@ msgid "All Files (*.*)|*.*" msgstr "Все файлы (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "Все главы записи являются действительными." -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "Все заголовки значения ОК." @@ -1785,20 +1763,20 @@ msgid "All known property names and their meaning\n" msgstr "Все известные имена свойств и их значения\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "Все поддерживаемые файлы|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska файлы (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM файлы (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Все файлы|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Все поддерживаемые файлы|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska файлы (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM файлы (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Все файлы|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "Все поддерживаемые медиа-файлы|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" -msgstr "Позволяет хранить AVC/h.264 в видео для Windows в режиме совместимости, например, когда читал из AVI" +msgstr "Позволяет хранить AVC/h.264 в видео для Windows в режиме совместимости, например, когда читает из AVI" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." msgstr "Позволяет использовать элемент CodecState. Это используется для MPEG-1/-2 видеодорожки для хранения последовательности заголовков." @@ -1806,25 +1784,25 @@ msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." msgstr "Кроме того, попробуйте извлечь CUE лист из информации главы и метки для этой дорожки." -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "Всегда поверх других окон" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "ID соответствующий кодек." -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "Вложение с ID %1% не было найдено.\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" -msgstr "Пустое имя файла не выполняется.\n" +msgstr "Пустое имя файла не правильно.\n" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." @@ -1833,7 +1811,7 @@ "к следующему сегменту." #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." @@ -1841,8 +1819,8 @@ "Сбежавшее соответствие имени файла\n" "к предыдущему сегменту." -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." msgstr "Неизвестная ошибка. Файл был изменен." @@ -1851,44 +1829,44 @@ msgid "Analysis is running" msgstr "Выполняется анализ" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." msgstr "Анализ MPEG4 потоки битов, положить каждый кадр в один блок Matroska, использовать надлежащие таймштампинг (I P B B = 0 120 40 80), использование V_MPEG4/ISO/... CodecIDs." -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" msgstr "Другая дорожка по умолчанию для %1% дорожки уже были установлены. 'По умолчанию' флаг дорожки %2% из '%3%' не будут установлены.\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." msgstr "Другой мультиплексирования работу в еще продолжается. Пожалуйста, подождите, пока она не завершена, или прервать ее вручную, прежде чем начинать новое." -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." msgstr "Добавление дорожки из файла в другой трек с того же файла, не допускается. Это имеет место для треков число %u и %u." -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" msgstr "Добавление дорожки %1% из файла нет. %2% ('%3%') к дорожке %4% из файла нет. %5% ('%6%').\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "Спрашивать перед перезаписью (файлы, рабочие места)" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" msgstr "Формат изображения" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" msgstr "Фактор формата изображения" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" msgstr "Тип формата изображения: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" msgstr "Формат изображения:" @@ -1904,7 +1882,7 @@ msgid "Atatchment extraction" msgstr "Извлечение приложения" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "Прикрепленный" @@ -1912,7 +1890,7 @@ msgid "Attached files" msgstr "Прикрепленные файлы" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "Прикреплений ID %1%: тип '%2%', размер %3% байт" @@ -1920,29 +1898,29 @@ msgid "Attachment style:" msgstr "Стиль прикрепления:" -#: src/mmg/mmg_dialog.cpp:286 +#: src/mmg/mmg_dialog.cpp:306 #: src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "Вложения" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "Звуковая битовая глубина" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "Аудио каналы" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "Аудио выход частота дискретизации" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "Аудио частота дискретизации" @@ -1951,15 +1929,15 @@ msgid "Audio track %u" msgstr "Звуковая дорожка %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "Автоматическая установка выходного файла" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "Автоматическое распознавание MIME типа для '%1%': %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" msgstr "Автоматически предоставление режима согласия WebM из-за выходного файла с расширением.\n" @@ -1967,12 +1945,16 @@ msgid "Available options:" msgstr "Доступные опции:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "Доступные переводы:\n" -#: src/common/compression.cpp:204 -#: src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "Доступна версия:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit() не удалось. Результат: %1%\n" @@ -1980,42 +1962,42 @@ msgid "Binary (displayed as hex numbers)" msgstr "Binary (отображается в виде шестнадцатеричных чисел)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "Разрядность: %1%" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "Биты в выборке, в основном используется для PCM." -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "Block (номер трека %1%, %2% кадр(ы), тайм-код %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "Дополнительный блок ID: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "Дополнительный блок: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "Блок продолжительности: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 -#: src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "Блок группы" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "Виртуальный блок: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" msgstr "Поддельная помощь %1%\n" @@ -2023,10 +2005,6 @@ msgid "Boolean (yes/no, on/off etc)" msgstr "Boolean (да/нет, вкл/выкл и т.д.)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "Оба глаза" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" msgstr "Обе пропорции и '--display-dimensions' дать.\n" @@ -2035,18 +2013,18 @@ msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" msgstr "Оба фактора пропорций и '--display-dimensions' дать.\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "Открывает редактор очереди заданий" -#: src/mmg/mmg_dialog.cpp:291 +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 #: src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 #: src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 #: src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 -#: src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "Обзор" @@ -2054,26 +2032,34 @@ msgid "CUE sheet extraction" msgstr "CUE листовое извлечение" +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "Вычислить и показать сумму и использовать уровень подробности 4." + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "Вычисляет и отображает контрольные суммы информационных наполнений кадра." + #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" msgstr "Не удалось преобразовать неместных MPEG4 видео кадров в родных, если исходный контейнер не обеспечивает ни тайм-кодов, ни количество кадров в секунду.\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" msgstr "Не удается извлекать треки различных видов в одном файле. Это было предложено для треков %1% и %2%.\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "Не удается запустить вторую работу мультиплексирования" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" msgstr "Невозможно записать трек %1% с CodecID '%2%' в файл '%3%' потому что трек %4% с CodecID '%5%' уже записываются в тот же файл, и их CodecPrivate данных (USF стилей и т.д.) не совпадают.\n" #: src/extract/xtr_avi.cpp:46 -#: src/extract/xtr_base.cpp:64 #: src/extract/xtr_ivf.cpp:53 -#: src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "Невозможно записать трек %1% с CodecID '%2%' в файл '%3%' потому что трек %4% с CodecID '%5%' уже записываются в тот же файл.\n" @@ -2081,13 +2067,13 @@ msgid "Category is not NUL terminated" msgstr "Категория не завершенную нулем" -#: src/extract/timecodes_v2.cpp:357 -#: src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "Пойманное исключение" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "Причины mkvmerge добавить 'остановить отображения' команды субтитров VobSub пакеты, которые не содержат поле Длительность." @@ -2107,7 +2093,7 @@ msgid "Change for '%1%' executed. One entry added.\n" msgstr "Изменения для '%1%' выполняется. Всего одна запись.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "Изменение mmg предпочтения и параметры" @@ -2115,35 +2101,35 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "Изменения в этот список не вступят в силу до mmg будет перезапущен." -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "Положения канала: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "Каналы: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "Редактор глав" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "Переводчик глав" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "Кодек переводчика глав: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "Выпуск UID переводчика глав: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "ID Переводчика глав: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "Редактор глав не пустой" @@ -2155,7 +2141,7 @@ msgid "Chapter file:" msgstr "Файл главы:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "Файлы главы (*.xml)|*.xml|%s" @@ -2165,12 +2151,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "Файлы главы (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "Файлы главы (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "Файлы главы (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "Названия главы и языки" @@ -2186,61 +2172,79 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "Анализатор глав: EditionUID %1% не является уникальным и не может быть использован повторно. Будет создан новый.\n" -#: src/mmg/tabs/chapters.cpp:759 -#: src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 -#: src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "Ошибка проверки главы" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "Проверка главы удалась" #: src/mmg/options/chapters.cpp:130 #: src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "Главы" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "Главы (%d записи) из %s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "Главы, не допускаются в WebM совместимых файлах. Нет главы будут написаны в любой выходной файл.\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." msgstr "Главы загружены." -#: src/mmg/tabs/chapters.cpp:721 -#: src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "Главы написаны." -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "Главы:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "Главы: %1% записи" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "Кодировка для строк в командной строке" +#: src/mmg/tabs/input_format.cpp:249 #: src/mmg/tabs/global.cpp:282 -#: src/mmg/tabs/input_format.cpp:248 msgid "Charset:" msgstr "Кодировка:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "Проверять в интернете последнюю версию" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "Проверить в интернете последнюю версию." + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "Проверить в интернете или нет, на наличие новой версии MKVtoolnix доступной на домашней странице. Останется только проверить, когда mmg запускается и не более одного раза в день. Никакая информация не передается на сервер." + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "Проверка наличия обновлений, пожалуйста, подождите" + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "Выберите файл главы" @@ -2256,26 +2260,26 @@ msgid "Choose an attachment file" msgstr "Выберите файл вложения" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" msgstr "Выбор входного файла" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "Выберите входной файл чтобы добавить" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" msgstr "Выберите входной файл чтобы приложить" -#: src/mmg/jobs.cpp:401 -#: src/mmg/mmg_dialog.cpp:314 -#: src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 -#: src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 -#: src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "Выберите выходной файл" @@ -2283,7 +2287,7 @@ msgid "Choose the chapter file" msgstr "Выберите файл главы" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "Выберите расположение помощью mkvmerge GUI файлы" @@ -2291,7 +2295,7 @@ msgid "Choose the mkvmerge executable" msgstr "Выберите исполняемый mkvmerge" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "Выберите выходной каталог" @@ -2303,85 +2307,85 @@ msgid "Choose the tags file" msgstr "Выберите файл метки" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" -msgstr "Очистить входы после успешного запуска мультиплексирования" +msgstr "Очистить входы после успешного запуска обработки" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" -msgstr "Очистить входы после добавления задания на очереди заданий" +msgstr "Очистить входы после добавления задания к очереди" #: src/mmg/header_editor/frame.cpp:145 msgid "Close the current file without saving" msgstr "Закрыть текущий файл без сохранения" -#: src/extract/timecodes_v2.cpp:259 -#: src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "Кластер" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "Длина кластера '%1%' вне досягаемости (0..65535).\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "Длина кластера '%1%' вне досягаемости (100..32000).\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "Кластер позиции: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "Кластер прежнего размера: %1%" -#: src/extract/timecodes_v2.cpp:274 -#: src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "Кластер тайм-кода: %|1$.3f|s" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "Кодек ID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "Кодек ID: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "Кодек декодировать все: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "Кодек скачать URL: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "Кодек информация URL: %1%" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "Название кодека" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "Название кодека: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "Настройки кодека: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "Состояние кодека: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "CodecPrivate, длина %1%%2%" @@ -2389,11 +2393,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "Свернуть все записи так, что никто их не соответствующие записи будут показаны" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "Цветовое пространство: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "Командная строка копируется в буфер обмена." @@ -2401,11 +2405,11 @@ msgid "Command line options:" msgstr "Параметры командной строки:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "Командная строка сохранена." -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "Командная строка используется:" @@ -2413,40 +2417,40 @@ msgid "Common languages" msgstr "Общие языки" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "Сжатие не удалось: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 -#: src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "Сжатие:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "Конфигурация очищается." -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." msgstr "Конфигурация загружена." -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "Настройки сохранены." -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "Сжатие содержания" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "Кодировка содержания" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "Кодирование содержания" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "Шифрование содержания" @@ -2454,7 +2458,7 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "Конвертировать текстовые субтитры на эту кодировку (по умолчанию: UTF-8)." -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "Скопировать командную строку в буфер обмена" @@ -2466,19 +2470,19 @@ msgid "CorePicture frame %1% not supported.\n" msgstr "CorePicture кадр %1% не поддерживается.\n" -#: src/mmg/jobs.cpp:178 -#: src/mmg/mux_dialog.cpp:129 -#: src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "Не удалось создать временный файл для команды mkvmerge линия вариант называется '%s' (ошибка кода %d, %s)." -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "Не удалось создать файл '%s'." -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "Не удалось создать указанный файл." @@ -2486,14 +2490,14 @@ msgid "Could not decode the Base64 encoded data - it seems to be malformed." msgstr "Не удалось декодировать Base64 кодированные данные - это, кажется, неправильно." -#: src/input/r_avi.cpp:327 -#: src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" msgstr "Невозможно получить декодер конкретных данных конфигурации (AVCC) из этого AVC/H.264 трек.\n" -#: src/input/r_avi.cpp:277 -#: src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" msgstr "Невозможно получить последовательность заголовок этого MPEG-1/2 трека.\n" @@ -2501,11 +2505,11 @@ msgid "Could not find a valid MP3 packet." msgstr "Не удалось найти действительный MP3 пакет." -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "Не нашел индекс для звуковой дорожки %1% (avilib сообщение об ошибке: %2%). Пропуск трека.\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" msgstr "Не нашел gptzr, когда добавление. %1%\n" @@ -2513,10 +2517,15 @@ msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "Не удается найти кодек данных конфигурации в первую MPEG-4, часть 2 видео кадр. Этот трек не могут быть сохранены в собственном режиме.\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "Не удалось найти на следующей странице Ogg. Это указывает на поврежденный OGG/OGM файл. Постараюсь продолжить.\n" +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "Не удалось найти действительные DTS заголовки в первых кадрах дорожки.\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" msgstr "Не удалось инициализировать Iconv библиотека для преобразования %1% в UFT-8. Некоторые строки не будут преобразованы в UTF-8 и в результате Matroska файл не может соответствовать спецификации Matroska (ошибка: %2%, %3%).\n" @@ -2531,7 +2540,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "Не удалось открыть '%1%' для чтения.\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "Не могу открыть буфер обмена." @@ -2539,16 +2548,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "Не удалось открыть соответствующий файл коррекции '%1%c'.\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "Не удалось открыть файл назначения '%s' для записи. Код ошибки: %d (%s)." -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "Не удалось открыть файл '%1%' для того, чтобы направить вывод.\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "Не удалось открыть файл тайм-кода '%1%' для записи (%2%).\n" @@ -2564,77 +2573,77 @@ msgid "Could not read the FLAC header packets.\n" msgstr "Не удалось прочитать заголовок FLAC пакетов.\n" +#: src/common/mm_io_win.cpp:167 #: src/common/mm_io.cpp:181 -#: src/common/mm_io_win.cpp:166 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "Не удалось записать в выходной файл: %1% (%2%)\n" #: src/mmg/options/chapters.cpp:89 -#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "Страна:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "&Создать файл конфигурации" #: src/mmg/tabs/global.cpp:300 msgid "Create WebM compliant file" -msgstr "Создать WebM совместимый файл" +msgstr "Создать совместимый WebM файл" #: src/mmg/tabs/global.cpp:301 msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." -msgstr "Создать WebM совместимый файл. mkvmerge также включается, если это на расширение имя выходного файла является \"webm\". Этот режим обеспечивает ряд ограничений. Допускается только кодеки VP8 видео и Vorbis аудио треков. Ни главы, ни теги не разрешены. Doctype пункт заголовок изменен на \"webm\"." +msgstr "Создать совместимый WebM файл. mkvmerge также включается, если это на расширение имя выходного файла является \"webm\". Этот режим обеспечивает ряд ограничений. Допускается только кодеки VP8 видео и Vorbis аудио треков. Ни главы, ни теги не разрешены. Doctype пункт заголовок изменен на \"webm\"." -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "Создать новый файл главы" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" -msgstr "Подрезание параметров: не данный в форме <TID>:<left>,<top>,<right>,<bottom> например 0:10,5,10,5 (параметр был '%1%').\n" +msgstr "Обрезка параметров: не дан в форме <TID>:<left>,<top>,<right>,<bottom> например 0:10,5,10,5 (параметр был '%1%').\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "Обрезка:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "Номер блока Cue: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Положение кластера Cue: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" -msgstr "Cue кодек состояние: %1%" +msgstr "Cue состояние кодека: %1%" #: src/mmg/tabs/global.cpp:286 msgid "Cue name format:" msgstr "Cue формат имени:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" msgstr "Cue точка" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" msgstr "Cue реф кластер: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" msgstr "Cue реф кодек состояние: %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" msgstr "Cue реф номер: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" msgstr "Cue реф время: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "Cue ссылки" @@ -2650,41 +2659,41 @@ msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" msgstr "Cue лист анализатор: нет нашли указателя на предыдущей записи трека (текущей строки: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "Cue время: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "Позиция Cue трека" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "Cue трек: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" msgstr "Cues (подстатьи будут пропущены)" #: src/mmg/tabs/input_extra.cpp:50 -#: src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" msgstr "Cues:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "Текущие и прошлые задания:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "Текущая командная строка" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "ID текущий работы %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "ID текущий работы 1000:" @@ -2692,43 +2701,43 @@ msgid "Current value:" msgstr "Текущее значение:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "Текущая версия:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "&Удалить" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (Digital Theater System)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "DTS заголовок изменился! - Новый формат:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (Digital Theater System)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTS_Header проблема: закодированные с помощью новой версии несовместим кодировщик\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" msgstr "DTS_Header проблема: неверный основной частоты дискретизации\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" msgstr "DTS_Header проблема: неверный байт кадра\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" msgstr "DTS_Header проблема: неверное число блоков в кадре\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" msgstr "DTS_Header проблема: неверный резолюции PCM источник\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" msgstr "DTS_Header проблема: не достаточно данных, чтобы прочитать заголовок\n" @@ -2736,33 +2745,33 @@ msgid "Data is not allowed inside <%1%>." msgstr "Данные не пустили <%1%>." -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "Дата (недопустимый, значение: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "Дата: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "Отладка> " -#: src/mmg/tabs/input_format.cpp:193 -#: src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "По умолчанию" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:417 +#: src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "По умолчанию продолжительность" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "По умолчанию продолжительность: %|1$.3f|ms (%|2$.3f| fps для видео дорожки)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "По умолчанию флаг: %1%" @@ -2770,31 +2779,31 @@ msgid "Default track flag:" msgstr "По умолчанию флаг трека:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "Задержка (в ms):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "Задержка тайм-кодов этой дорожки на несколько ms. Может быть негативно. Работы со всеми типами дорожки, но отрицательные задержки не должны использоваться с видеодорожками." -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "Задержка: %|1$.3f|ms" #: src/propedit/propedit_cli_parser.cpp:151 msgid "Delete all occurences of a property" -msgstr "Удалите все вхождения свойства" +msgstr "Удалить все вхождения свойства" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" -msgstr "Удалите выбранное задание(я) из очереди задания" +msgstr "Удалить выбранное задание(я) из очереди" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "Описание" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "Описание уже существует" @@ -2804,36 +2813,36 @@ msgid "Description:" msgstr "Описание:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac элементарный поток" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "Отключить удаление заголовка сжатия для аудио и видео треков по умолчанию" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "Отключить выбранный работу(ы) и устанавливает статус на 'Готово'" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "Запретить использование SimpleBlocks вместо BlockGroups." -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "Отключение сшивание на всех направлениях. Это позволит увеличить размер файла, особенно если много звуковых дорожек. Использовать только для тестирования." -#: src/merge/mkvmerge.cpp:683 -#: src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" msgstr "Размеры дисплея: не заданы в виде <TID>:<width>x<height>, например 1:640x480 (параметр был '%1%').\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "Высота дисплея: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "Дисплейный блок: %1%%2%" @@ -2841,35 +2850,35 @@ msgid "Display usage information" msgstr "Информация использования дисплея" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "Ширина/высота дисплея:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "Ширина дисплея: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "Не добавить запись по главам в мета-поиск элемента." -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "Не писать мета искать элементы на всех." -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "Тип документа читал версию: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "Версия типа документа: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "Тип документа: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" @@ -2881,51 +2890,55 @@ msgid "Done.\n" msgstr "Сделан.\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "Скачать URL: " + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "Продолжительность: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "Продолжительность: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "&Выход\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBML глава" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML максимальная длина ID: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML максимальная длина размера: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "EBML читать версию: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBML версия: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "Зло внутренней ошибки! (Неизвестный тип файла). %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "В каждой главе, и каждое издание имеет уникальный идентификатор. Этот идентификатор, как правило, присваивается автоматически программы, но его можно изменить вручную, если это действительно необходимо." -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "Каждый выпуск должен содержать как минимум одну главу." -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "EbmlVoid (размер: %1%)" @@ -2933,13 +2946,13 @@ msgid "Edit selectors" msgstr "Изменить селекторы" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "Издание %d" -#: src/mmg/tabs/chapters.cpp:870 -#: src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "Вход Издания %u" @@ -2964,7 +2977,7 @@ msgid "Enable splitting..." msgstr "Включить разбиение..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "Включено: %1%" @@ -2972,24 +2985,24 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "Позволяет расщепления выход на более чем один файл. Вы можете разделить по истечении определенного размера, после определенного количества времени прошло в каждом файле или после список тайм-кодов." -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "Криптоалгоритм: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "Ключ шифрования ID: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "Конец:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "Английское название языка" #: src/info/qt_ui.cpp:130 -#: src/info/wxwidgets_ui.cpp:245 +#: src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "Ошибка" @@ -2997,25 +3010,25 @@ msgid "Error %1%\n" msgstr "Ошибка %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "Ошибка в строке %1%: ожидается линия SRT тайм-кода, но найти что-нибудь другое. Прерывание этого файла.\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "Ошибка в строке %1%: ожидаемое количество субтитров и найти какой-нибудь текст.\n" #: src/common/xml/element_mapping.cpp:43 msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" -msgstr "Ошибка инициализации таблицы для главы теги и элементы сегмента, информация: Не удалось найти элемент с отладки имя '%1%'. %2%\n" +msgstr "Ошибка при инициализации таблицы для главы, тега и информации элементов сегмента: Не удалось найти элемент с именем отладки '%1%'. %2%\n" -#: src/mmg/mmg.cpp:217 -#: src/mmg/mmg_dialog.cpp:369 -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" -msgstr "Ошибка, загружающая параметры настройки" +msgstr "Ошибка при загрузке настроек" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "Ошибка при открытии файла" @@ -3023,31 +3036,31 @@ msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" msgstr "Ошибка при разборе пакетов MPEG PS во время чтения заголовков фазы. Этот поток, как представляется, серьезно повреждены.\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "Ошибка при разборе файла" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" -msgstr "Ошибка при разборе метки в '%1%': некоторые обязательные элементы отсутствуют.\n" +msgstr "Ошибка при разборе тегов в '%1%': некоторые обязательные элементы отсутствуют.\n" #: src/info/qt_ui.cpp:77 msgid "Error saving the information" msgstr "Ошибка при сохранении информации" -#: src/mmg/header_editor/frame.cpp:690 -#: src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 -#: src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "Ошибка записи в файл Matroska" -#: src/common/output.cpp:68 -#: src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "Ошибка:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "Ошибка: " @@ -3055,16 +3068,16 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "Ошибка: %1% сбой анализатора '%2%', строка %3%, столбец %4%: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "Ошибка: не удалось открыть входной файл %1% (%2%).\n" -#: src/extract/timecodes_v2.cpp:180 -#: src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." -msgstr "Ошибка: не нашли глава EBML." +msgstr "Ошибка: не найдена глава EBML." -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -3076,11 +3089,11 @@ msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" msgstr "Ошибка: vorbis_packetizer: Невозможно получить параметры потока из первого пакета.\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "Ошибки:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "Все прошло отлично." @@ -3108,11 +3121,11 @@ #: src/common/xml/element_parser.cpp:78 msgid "Expected an unsigned integer but found '%1%'." -msgstr "Ожидаемые беззнаковое целое число, но нашли '%1%'." +msgstr "Ожидаемое беззнаковое целое число, но нашли '%1%'." #: src/extract/extract_cli_parser.cpp:102 msgid "Exports the chapter infomartion in the simple format used in OGM tools (CHAPTER01=... CHAPTER01NAME=...)." -msgstr "Экспорт главе информации в простой формат, используемый в инструменты OGM (CHAPTER01=... CHAPTER01NAME=...)." +msgstr "Экспорт главы информации в простой формат, используемый в инструментах OGM (Глава01=... Глава01Имя=...)." #: src/mmg/tabs/input.cpp:192 msgid "Extra options" @@ -3126,8 +3139,8 @@ msgid "Extract the data to a raw file." msgstr "Извлечение данных в сырой файл." -#: src/output/p_avc.cpp:128 -#: src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" msgstr "Извлеченные информации пропорции с MPEG-4 layer 10 (AVC) видео-данных и установить дисплей с размерами %1%/%2%.\n" @@ -3139,129 +3152,125 @@ msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" msgstr "Извлеченные информации пропорции из заголовков Theora видео и установить дисплей с размерами %1%/%2%.\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" -msgstr "Извлечение трек %1% с CodecID '%2%' в файл '%3%'. Контейнер формат: %4%\n" +msgstr "Извлечение трека %1% с CodecID '%2%' в файл '%3%'. Контейнер формата: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" -msgstr "Получение номер трека %1% с CodecID '%2%' не поддерживается.\n" +msgstr "Получение номера трека %1% с CodecID '%2%' не поддерживается.\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (Free Lossless Audio Codec)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC аудио без потерь" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" msgstr "FPS:" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "Не удалось создать файл данных VobSub '%1%': %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 -#: src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "Не удалось создать файл '%1%': %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "Не удалось создать временный файл '%1%': %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" msgstr "Не удалось разобрать запись USF субтитров на трек %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "Не удалось разобрать USF кодек личные данные для дорожки %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "Не удалось разобрать теги USF конца в треке %1%: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "Род UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Файл %1% неизвестного типа. Пожалуйста, посмотрите на поддерживаемых типов файлов ('mkvmerge --list-types') и связаться с автором Мориц Bunkus <moritz@bunkus.org>, если ваш тип файла поддерживается, но не признаются должным образом.\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "Файл '%1%': контейнер: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "Файл '%1%': неподдерживаемое контейнера: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "Файл UID: %1%" -#: src/input/r_real.cpp:471 -#: src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "Файл содержит меньшее количество кадров, чем ожидалось, или поврежден кадр %1%.\n" -#: src/mmg/mmg_dialog.cpp:765 -#: src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "Ошибка создания файла" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "Файл данных, размер: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "Описание файла: %1%" -#: src/mmg/tabs/input.cpp:401 -#: src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "Идентифицировать файл не удалось" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "Идентифицировать файл не удалось для '%s'. Код возврата: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." msgstr "Идентифицировать файл не удалось. Код возврата: %d. Ошибка: %d (%s). Убедитесь, что вы выбрали mkvmerge исполняемый в диалоге настроек." -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "Файл уже обработан" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "Файл изменен" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "Имя файла: %1%" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "Не удалось выполнить разбор файла" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "Файл удаление не представляется возможным" -#: src/mmg/header_editor/frame.cpp:702 -#: src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "Файловая структура предупреждение" @@ -3273,20 +3282,20 @@ msgid "File/segment title:" msgstr "Файл/сегмент название:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" msgstr "Файлы не могут быть приложены к себе. Аргументом в пользу '--append-to' является недействительным.\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "Законченное задание ID %d на %s: статус '%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "Законченный на" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "Готовые обработки на %s" @@ -3300,19 +3309,19 @@ msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." msgstr "Для углубленного файла/сегмент взаимосвязи и этой возможности читайте в документации в mkvmerge." -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "Заставлять EBML стиль сшивания." -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "Заставлять Xiph стиль сшивания." -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "Заставлять переводы для 'код' использоваться." -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "Принудительный флаг: %1%" @@ -3320,19 +3329,19 @@ msgid "Forced track flag:" msgstr "Принудительный флаг трека:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "Принудительный FourCC на треке видео к этому значению. Обратите внимание, что это работает только для видео-треков, которые используют режим совместимости или AVI для треков QuickTime видео. Этот параметр не может быть использована для изменения CodecID Matroska's." -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." msgstr "Принудительный читателя Matroska использовать общий packetizer передачу даже для известных и поддерживает трек типов." -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "Принудительный длина NALU размер определенное количество байт. Этот параметр доступен только для AVC/H.264 элементарных потоков чтения файлов AVC/H.264 ES, AVI или Matroska файлов, созданных с '--engage allow_avc_in_vwf_mode'. По умолчанию используется 4 байта, но Есть файлы, которые не содержат рамку или кусок, что больше, чем 65535 байт. Для таких файлов, которые вы можете использовать этот параметр и уменьшить размер 2." -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." msgstr "Принудительный таймкод фактор масштаба REPLACEME. Вы должны заменить REPLACEME на сумму от 1000 до 10000000 или -1. Обычно mkvmerge будет использовать значение 1000000 Это означает, что таймкодов и продолжительность будет иметь точность 1 мс. Для файлов, которые не будут содержать видео-трек, но по крайней мере один звуковой mkvmerge трек будет автоматически выбирать коэффициент масштаба временной код так, чтобы все таймкодов и продолжительность имеют точность одного образца. Это вызывает большие накладные расходы, но позволяет точно поиска и извлечения. Если магическое значение -1, то используется mkvmerge будет использовать образец точности, даже если видео дорожки присутствует." @@ -3356,37 +3365,36 @@ msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" msgstr "Найден один или более B кадров без второй ссылки в первый GOP. Вы можете исправить MPEG2 поток видео или использовать смарт-перекодировать, прежде чем пытаться его мультиплексировать.\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" msgstr "FourCC: Неверный трак ID в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" msgstr "FourCC: Отсутствующий трак ID в '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "Число кадров: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "Частота кадров: %1%" -#: src/info/mkvinfo.cpp:148 -#: src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "Кадр с размером %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 -#: src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." msgstr "Свободной форме текстовое поле для пользовательских опций для этого трека. То, что вы здесь ввода добавляется после всех других вариантов mmg добавляет, так что вы могли бы переписать любой mmg's в специальных опций для этого трека. Все вхождения строки \"<TID>\" будет заменен на трек трек ID." -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "Гамма: %1%" @@ -3394,7 +3402,7 @@ msgid "General track options" msgstr "Общие опции дорожки" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "Глобальные" @@ -3403,12 +3411,12 @@ msgid "Global options" msgstr "Глобальные опции" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "Глобальные метки (%d записей) из %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "Глобальные метки: %1% записей" @@ -3429,41 +3437,49 @@ msgid "Header editor: %s" msgstr "Редактор заголовка: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "Заголовок удаления сжатие невозможно, так как буфер, содержащиеся %1% байт, которые меньше, чем размер заголовков, которые должны быть устранены, %2%." -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." msgstr "Заголовок удаления сжатие невозможно, так как буфер, не начинаются с байта, которые должны быть удалены. Требуются байт:%1%; найдено:%2%." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "Заголовок проверки" -#: src/mmg/header_editor/frame.cpp:566 -#: src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "Заголовки изменены" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "Высота закодированные кадры видео в пикселях." #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "Высота кадров видео для показа." -#: src/mmg/mmg_dialog.cpp:686 -#: src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "Файл помощи не найден" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"Помощь доступна в виде подсказки, из\n" +"меню 'Справка' или нажав 'F1'." + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3474,9 +3490,9 @@ "ввод их ниже, или выбрав один из раскрывающегося\n" "списке и нажатия кнопки 'добавить'." -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "Здесь вы можете настроить все timcdoes в отдельной главе, и все childrend ее на определенную величину, увеличивая или уменьшая ее." +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "Здесь вы можете настроить все тайм-коды от выбранной главы, а также все его подразделы на определенную величину, увеличивая или уменьшая их." #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3490,51 +3506,51 @@ "быть изменены в случае необходимости. Значения по умолчанию будет\n" "сохраняются при выходе mmg." -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." msgstr "Здесь вы можете задать значения для языка и страны, которые вы хотите применить ко всем главам ниже, и в том числе выбранный элемент." -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1 код" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2 код" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "IVF с VP8" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "IVF с VP8 видео файлами" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "Если глава пометку 'скрытый', то игрок не должен показывать эту главу запись для пользователя. Такие элементы могут еще быть использованы в меню системы." -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "Если раздел не помечен 'разрешить', то игрок должен пропустить часть файла, что эта глава занимает." -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." msgstr "При выборе mmg запрос на подтверждение при перезаписи существующих файлов или перед добавлением нового места работы, если есть старые работы, для описания которых соответствует один новый." -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." msgstr "При выборе mmg будет автоматически устанавливать выходного файла, если он не был установлен уже. Это происходит, когда вы добавляете первый файл. Если не установлена, mmg не тронет выходного файла." -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "При выборе mmg будет установлено 'сжатие' вниз в окне 'нет' для всех аудио и видео треков по умолчанию. Пользователь может изменить настройки сжатия." + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "При выборе mmg будет предупреждать, если он думает, что вы используете его неправильно. Такие предупреждения показали по крайней мере один раз, даже если вы включите эту функцию." -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "Если оставить пустым, то mmg будет установить имя выходного файла, чтобы быть в той же папке, что первый файл добавлен в эту работу. В противном случае этот каталог будет использоваться." @@ -3542,31 +3558,31 @@ msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." msgstr "Если расщепление файл может быть подключен либо все файлы, созданные или только на первый файл. Не имеет никакого эффекта, если не используется расщепление." -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "Игнорирование запись, которая начинается после его окончания.\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "Игнорирование запись, которая начинается после его окончания (%1%).\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "Импорт шрифтов из %1%" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "Импорт изображения из %1%" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "Невозможно использовать файл '%1%': файл не может быть открыт для чтения.\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "Несовместимая версия mkvmerge" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "Несовместимый трек" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "Непоследовательность AAC аудио пакета (длина: %1% != len_check %2%)\n" @@ -3574,16 +3590,16 @@ msgid "Increase verbosity." msgstr "Увеличение многословием." -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "Вход" -#: src/mmg/tabs/chapters.cpp:1374 -#: src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 -#: src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "Входная ошибка в данных" @@ -3595,24 +3611,24 @@ msgid "Input too long: %1% > %2%" msgstr "Ввод слишком долгий: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "Язык интерфейса:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "Чересстрочная: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "Внутренняя ошибка: tracks.cpp SSA #1. %1%" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "Внутренняя ошибка программы" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" msgstr "Неверный %1%, указанных в '--%2% %3%'.\n" @@ -3624,21 +3640,21 @@ msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "Недопустимый уровень BlockAddition в параметре '%1%'.\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." msgstr "Неверный UID. этот UID просто число." -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." msgstr "Неверный UID. В этой главе UID уже используется. Оригинальные UID не был изменен." -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." msgstr "Неверный UID. Это издание UID уже используется. Оригинальные UID не был изменен." -#: src/input/r_avi.cpp:638 -#: src/input/r_avi.cpp:643 -#: src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." msgstr "Неверный Vorbis заголовки AVI звуковой дорожки." @@ -3650,15 +3666,15 @@ msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." msgstr "Неверный двоичный формат данных '%1%' указан. Поддерживаются 'Base64', 'ASCII' и 'hex'." -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" msgstr "Неверный логический вариант, указанный в '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" msgstr "Неверный логический вариант, указанный в '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" msgstr "Неверный логический, указанных в '--aac-is-sbr %1%'.\n" @@ -3666,11 +3682,11 @@ msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "Неверное изменение спектра (%3%) в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" msgstr "Неверный выбор сжатия, указанные в '--compression %1%'.\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" msgstr "Неверный сжатия вариант. Нет трек ID, указанных в '--compression %1%'.\n" @@ -3678,40 +3694,40 @@ msgid "Invalid country selected" msgstr "Выбрана недопустимая страна" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" msgstr "Неверный выбор сигналов, указанных в '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" msgstr "Неверный cues вариант. Нет трек ID, указанных в '--cues %1%'.\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "Неправильное имя файла" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" msgstr "Неверный формат '--split' в '--split %1%'.\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" msgstr "Неверный формат SSA линии ('%1%') на тайм-кода %2%: первое поле не является целым числом. Эта запись будет пропущена.\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" msgstr "Неверный формат SSA линии ('%1%') на тайм-кода %2%: слишком много полей нашли (%3% вместо 9). Эта запись будет пропущена.\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." msgstr "Неверный формат, используемый для настройки." -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." msgstr "Неверный формат, используемый на конец времени '%s'. Установка значения 0." -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." msgstr "Неверный формат времени старта для '%s'. Установка значения 0." @@ -3752,7 +3768,7 @@ msgid "Invalid format: unknown character '%1%' found" msgstr "Недопустимый формат: неизвестный символ '%1%' найден" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "Недопустимая длина заголовка: %1% (полная длина: %2%, idx: %3%, idx данных: %4%)\n" @@ -3761,7 +3777,7 @@ msgstr "Недопустимые шестнадцатеричные данные столкнулись: '%1%' не ни незаполненное пространство, ни шестнадцатеричное число." #: src/mmg/options/chapters.cpp:114 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" msgstr "Выбран недопустимый язык" @@ -3789,92 +3805,92 @@ msgid "Invalid selector in '%1% %2%'.\n" msgstr "Недопустимый селектор в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" msgstr "Недопустимый размер разбиения в '--split %1%'.\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" msgstr "Недопустимое начало или остановка тайм-кода" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" msgstr "Недопустимое начало тайм-кода" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" msgstr "Недопустимая подкодировка опция. Никакой ID дорожки, определенный в '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" msgstr "Недопустимая подкодировка определенная в '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" msgstr "Недопустимая синхронизирующая опция, определенная в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" msgstr "Недопустимая синхронизирующая опция определена в '%1% %2%'. Делитель - ноль.\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" msgstr "Недопустимая синхронизирующая опция определена в '%1% %2%'. Линейное синхронизирующее значение, возможно, не равно или меньше чем ноль.\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" msgstr "Недопустимая синхронизирующая опция. Никакой ID дорожки, определенный в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" msgstr "Недопустимое имя файла тэгов, определенное в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" msgstr "Недопустимая опция тэгов. Никакой ID дорожки, определенный в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" msgstr "Недопустимое время для '--split' в '--split %1%'. Дополнительное сообщение об ошибках: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" msgstr "Недопустимое время для '--split' в '--split %1%'. Дополнительное сообщение об ошибках: %2%.\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" msgstr "Недопустимый ID дорожки в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:579 -#: src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" msgstr "Недопустимый ID дорожки, определенный в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--aac-is-sbr %1%'.\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--compression %1%'.\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" msgstr "Недопустимый ID дорожки, определенный в '--sub-charset %1%'.\n" @@ -3882,19 +3898,19 @@ msgid "Invalid track ID/file name specification in argument '%1%'.\n" msgstr "Недопустимая спецификация ID/имени файла дорожки в параметре '%1%'.\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "Задание, добавленное к очереди задания" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "Описание задания" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "Задание выведено" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "Управление очереди задания" @@ -3906,30 +3922,20 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "Сохраните только BlockAdditions до этого уровня (значение по умолчанию: сохраните все уровни)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"Известные типы файла:\n" -" описание расширения\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "Сжатие LZO потерпело неудачу. Результат: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" msgstr "Число шнурка: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "Флажок сшивания: %1%" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:429 +#: src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "Язык" @@ -3942,13 +3948,13 @@ msgstr "Язык не должен завершаться нулем" #: src/mmg/options/chapters.cpp:86 -#: src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 #: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "Язык:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "Язык: %1%" @@ -3956,15 +3962,11 @@ msgid "Languages" msgstr "Языки" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "Оставьте дополнительное пространство (EbmlVoid) в выходном файле после глав." -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "Левый глаз" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" msgstr "Позволяет вам добавлять произвольные опции к командной строке" @@ -3985,7 +3987,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "Строка %1%, столбец %2%: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "Строка %1%: негатив временной метки столкнутый. Вход будет откорректирован, чтобы начаться с 00:00:00.000.\n" @@ -4006,24 +4008,24 @@ msgid "List all valid property names and exit" msgstr "Перечислите все правильные названия свойства и выход" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" msgstr "Загрузите файл главы (simple/OGM формат или формат XML)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" msgstr "Загрузить мультиплексированые настройки из файла" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "Log файлы (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "Log вывод:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -4035,98 +4037,82 @@ msgid "MIME type:" msgstr "MIME Тип:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVtoolnix под лицензией GNU GPL v2" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 Audio/Video файлы" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEG Audio файлы" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG программный поток" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG программные потоки" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEG Video элементарный поток" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer II audio (CBR и VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer III audio (CBR и VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 video элементарный поток" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 video элементарный поток" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "Сделайте эту дорожку заданной по умолчанию дорожкой для ее типа (аудио, видео, подзаголовки). Игроки должны предпочесть дорожки с заданным по умолчанию набором флажка дорожки." -#: src/input/r_matroska.cpp:1468 -#: src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" msgstr "Неправильные данные инициализации кодер-декодера AAC найдены.\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" msgstr "Неправильный кодек ID '%1%'.\n" -#: src/input/subtitles.cpp:349 #: src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" -msgstr "Неправильная линия? (%1%)\n" +msgstr "Неправильная строка? (%1%)\n" #: src/mmg/tabs/input_general.cpp:186 msgid "Mark this track as 'forced'. Players must play this track." -msgstr "Отметьте эту дорожку как 'вызвано'. Плееры должны запустить эту дорожку." +msgstr "Отметить эту дорожку как 'принудительно'. Плееры должны запустить эту дорожку." -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska Audio/Video файлы (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska файлы (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroska Audio/Video файлы" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska файлы (*.mkv *.mka *.mks);;Все файлы (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroska файлы (*.mkv *.mka *.mks *.mk3d);;Все файлы (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska файлы (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska файлы (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska файлы (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroska файлы (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "Максимальное блочное суммирование ID: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "Максимальный кэш: %1%" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:412 +#: src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "Максимальный кэш" @@ -4138,24 +4124,24 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "Память для кадра RealAudio/RealVideo не могла быть распределена.\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "MIME тип: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "Минимальный кэш: %1%" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:407 +#: src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "Минимальный кэш" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" msgstr "Отсутствует параметр для '--output-charset'.\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" msgstr "Отсутствует параметр для '--ui-language'.\n" @@ -4163,19 +4149,19 @@ msgid "Missing argument to '%1%'.\n" msgstr "Отсутствует параметр в '%1%'.\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "Отсутствует имя файла" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." msgstr "Отсутствует имя файла после опции '--edit-headers'." -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "Отсутствуют пакеты заголовка/комментария для потока. Этот файл сломан, не может правильно мультиплексироваться. Пожалуйста войдите в контакт с автором Moritz Bunkus <moritz@bunkus.org>.\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "Отсутствует вход" @@ -4191,15 +4177,15 @@ msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "Модификацию свойств в разделе '%1%' требовали, но никакой соответствующий элемент уровня 1 не был найден в файле. %2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "Больше" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "Больше чем один MIME тип был дан для единственного вложения. '%1%' откажутся, и '%2%' используются вместо этого.\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "Больше чем одно описание было дано для единственного вложения.\n" @@ -4207,7 +4193,7 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "Больше чем одно имя файла было дано ('%1%' и '%2%').\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "Больше чем одно название было дано для единственного вложения. '%1%' откажутся, и '%2%' используются вместо этого.\n" @@ -4215,44 +4201,44 @@ msgid "More than one root element found." msgstr "Больше чем один корневой элемент найден." -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" msgstr "Больше чем одна дорожка должна быть приложена к дорожке %1% от файла номер %2% (%3%). Параметр для '--append-to' было недопустимо.\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "Больше чем одна дорожка с номером дорожки %1% найдена.\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "Переместите выбранное задание(я) вниз" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "Переместите выбранное задание(я) вверх" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" -msgstr "Мультиплексирование приложение: %1%" +msgstr "Обработка применение: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." -msgstr "Мультиплексирование в процессе." +msgstr "Обработка в процессе." -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" -msgstr "Мультиплексирование заняло %1% секунд.\n" +msgstr "Обработка заняла %1% секунд.\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" -msgstr "Мультиплексирование заняло 1 секунду.\n" +msgstr "Обработка заняла 1 секунду.\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" -msgstr "NALU длина размера:" +msgstr "Длина NALU размера:" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "Имя" @@ -4261,32 +4247,32 @@ msgstr "Название для этой дорожки, например, \"комментарии директора\"." #: src/mmg/tabs/attachments.cpp:158 -#: src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "Имя:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "Имя: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." -msgstr "Созданы новые главы." +msgstr "Новые главы созданы." #: src/mmg/header_editor/value_page.cpp:161 msgid "New value:" msgstr "Новое значение:" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "Следующее имя файла" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" msgstr "Следующее имя файла: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "Следующий элемент уровня 0 не сегмент, но %1%" @@ -4294,59 +4280,59 @@ msgid "Next segment UID:" msgstr "Следующий сегмент UID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" -msgstr "Следующий сегмент UID:%1%" +msgstr "Следующий сегмент UID: %1%" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:347 +#: src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" msgstr "Следующий уникальный ID сегмент" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "Нет %1%, определенных в '--%2% %3%'.\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" msgstr "Не найден AC3 заголовок в первом кадре; дорожка будет пропущена.\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." -msgstr "Никакой заголовок EBML не найден." +msgstr "Заголовок EBML не найден." -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" -msgstr "Никакой FPS не выбран для дорожки AVC/h.264" +msgstr "FPS не выбран для дорожки AVC/h.264" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." -msgstr "Никакой MIME тип не был выбран для вложения '%s'." +msgstr "MIME тип не был выбран для вложения '%s'." -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" -msgstr "Никакой MIME тип не был установлен для вложения '%1%', и оно не могло быть предположено.\n" +msgstr "MIME тип не был установлен для вложения '%1%', и оно не могло быть предположено.\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" -msgstr "Нет не приложите отображение, был дан для файла номер %1% (%2%). Заданное по умолчанию отображение %3% будет использоваться вместо этого. Пожалуйста помните это, если mkvmerge прерывается с сообщением об ошибках относительно недопустимого '--append-to' опции.\n" +msgstr "Не приложено отображение, был дан для файла номер %1% (%2%). Заданное по умолчанию отображение %3% будет использоваться вместо этого. Пожалуйста помните это, если mkvmerge прерывается с сообщением об ошибках относительно недопустимой '--append-to' опции.\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "Глава записи еще не была создана." -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" -msgstr "Никакие главы не найдены" +msgstr "Главы не найдены" #: src/common/xml/element_parser.h:45 msgid "No error" msgstr "Нет ошибок" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" -msgstr "Никакие поля не изменены" +msgstr "Поля не изменены" #: src/mmg/header_editor/frame.cpp:218 msgid "" @@ -4361,40 +4347,41 @@ msgstr "Нет загруженного файла" #: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "Не дано имя файла.\n" #: src/common/xml/element_parser.cpp:135 msgid "No filename found after the '@'." -msgstr "Не указано имя файла, найденные после '@'." +msgstr "Не найдено имя файла после '@'." -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "Помощь недоступна." -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" -msgstr "Никакие входные файлы не были даны. Никакой вывод не будет создан.\n" +msgstr "Входные файлы не были даны. Никакой вывод не будет создан.\n" #: src/input/r_flac.cpp:194 msgid "No metadata block found. This file is broken.\n" -msgstr "Никакой блок метаданных не найден. Этот файл сломан.\n" +msgstr "Блок метаданных не найден. Этот файл испорчен.\n" #: src/extract/extract_cli_parser.cpp:252 msgid "No output file name specified, will use attachment name.\n" -msgstr "Не указано имя результирующего файла будет использовать имя вложения.\n" +msgstr "Не указано имя результирующего файла, будет использоваться имя вложения.\n" -#: src/extract/timecodes_v2.cpp:194 -#: src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." -msgstr "Никакой сегмент/уровень 0 элементов не найден." +msgstr "Сегмент/уровень 0 элемент не найден." -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "Потоки для вывода не были найдены. Прерывание.\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "Нет ID дорожки, определенной в '--%1% %2%'.\n" @@ -4402,7 +4389,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "Нет дорожки, соответствующей спецификации редактирования '%1%', не была найдена. %2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "Нет дорожки с ID %1% в исходном файле.\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "Дорожки не найдены" @@ -4410,15 +4401,11 @@ msgid "No version number found.\n" msgstr "Номер версии не найден.\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "ни один" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." msgstr "Ни одно из полей заголовка не было изменено. Ничто не было сохранено." -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." msgstr "Обычно mkvmerge хранит информацию коэффициента пропорциональности в видео MPEG4 bitstreams и помещает информацию в контейнер. Эта опция заставляет mkvmerge удалять информацию коэффициента пропорциональности из bitstream." @@ -4426,50 +4413,57 @@ msgid "Not a hex digit at position %1%" msgstr "Не шестнадцатеричная цифра в позиции %1%" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" msgstr "Не правильный файл Matroska (не найден заголовок EBML)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" msgstr "Не правильный файл Matroska (нет сегмент/уровень 0 найденных элементов)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" -msgstr "Заметка" +msgstr "Записка" +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 #: src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "Ничего не делать.\n" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:418 +#: src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." msgstr "Количество наносекунд (не в пересчете) в кадре." #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "Число каналов в дорожке." -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM Audio/Video файлы" #: src/mmg/message_dialog.cpp:31 -#: src/mmg/mux_dialog.cpp:100 +#: src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "OK" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "Одна из глав не имеет имени." -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "Проверять наличие обновлений" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "Только один файл в главе позволено '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "Только один входной файл позволен.\n" @@ -4481,18 +4475,22 @@ msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." msgstr "Только одна из <String> и <Binary> может использоваться ниже <Simple>, но не оба в то же самое время." -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "Только один выходной файл позволен.\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" msgstr "Только одному файлу информации сегмента позволяют войти '%1% %2%'.\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" msgstr "Только неравнодушный прилагают отображения, были даны для файла номер %1% (%2%). Любой не определяет отображения (когда заданное по умолчанию отображение будет использоваться), или определите отображение для всех дорожек, которые должны быть скопированы.\n" +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "Только показывают резюме информационных наполнений, не каждому элементу." + #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" msgstr "Только к первому" @@ -4501,7 +4499,7 @@ msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" msgstr "Только v7 и более новые файлы VobSub поддержаны. Если у Вас есть старшая версия, тогда используют утилиту VSConv от http://sourceforge.net/projects/guliverkli/ чтобы преобразовать эти файлы в v7 файлы.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "&Опции\tCtrl-P" @@ -4510,7 +4508,7 @@ msgstr "Открыть файл" #: src/mmg/header_editor/frame.cpp:238 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "Открыть Matroska файл" @@ -4518,26 +4516,27 @@ msgid "Open an existing Matroska file" msgstr "Открыть существующий файл Matroska" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "Открыть папку" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "Файл опций создан." #: src/mmg/options/dialog.cpp:43 #: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "Опции" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" msgstr "Опции, предназначенные только для разработчиков. Не используйте их. Если кое-что, как полагают, является официально поддержанной опцией тогда, это не находится в этом списке!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" -msgstr "Заказ: %1%" +msgstr "Порядок: %1%" #: src/mmg/header_editor/value_page.cpp:176 msgid "Original value:" @@ -4547,40 +4546,44 @@ msgid "Other options" msgstr "Другие опции" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" -msgstr "Выходной" +msgstr "Выход" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" -msgstr "Выходной файл" +msgstr "Выходное имя файла" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "Выходные сообщения в этой кодировке" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "Вывод выбранных заданий:" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "Выходная частота дискретизации: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "Выход:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "Заменять существующий файл(ы)?" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "Заменять существующий файл?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP субтитры" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTS ошибка: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4588,11 +4591,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "Число пакета %1% содержали недопустимый заголовок FLAC и пропускаются.\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" msgstr "Очередь пакета, не пустая (сброшенный на диск: %1%). Кадры были потеряны во время remux. %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "Анализировать файл полностью и показывать всем элементам" @@ -4600,31 +4603,31 @@ msgid "Parse the whole file instead of relying on the index." msgstr "Анализировать целый файл вместо того, чтобы положиться на индекс." -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "Синтаксический анализ файла" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "Обрезать нижний пиксель: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "Обрезать левый пиксель: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "Обрезать правый пиксель: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "Обрезать верхний пиксель: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "Высота пикселя: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "Ширина пикселя: %1%" @@ -4632,11 +4635,11 @@ msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." msgstr "Пожалуйста не выбирайте 'mmg' непосредственно как 'mkvmerge' выполнимую программу." -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "Пожалуйста введите описание для нового задания:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" @@ -4646,7 +4649,7 @@ "страны, что вы хотите применить ко всем главам\n" "внизу и включив выбранный элемент." -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4657,11 +4660,11 @@ "этой записи.\n" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "Предыдущий файл" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "Предыдущий файл: %1%" @@ -4669,12 +4672,12 @@ msgid "Previous segment UID:" msgstr "Предыдущий UID сегмент:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" -msgstr "Предыдущий UID сегмент:%1%" +msgstr "Предыдущий UID сегмент: %1%" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:343 +#: src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "Уникальный ID предыдущего сегмента" @@ -4682,60 +4685,56 @@ msgid "Process priority:" msgstr "Приоритет процесса:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "Обработка 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "Обработка задания %d/%d" -#: src/mmg/jobs.cpp:243 -#: src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 msgid "Progress" -msgstr "Прогресс" +msgstr "Процесс" -#: src/extract/timecodes_v2.cpp:264 -#: src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" -msgstr "Прогресс: %1%%%%2%" +msgstr "Процесс: %1%%%%2%" +#: src/extract/timecodes_v2.cpp:359 #: src/extract/mkvextract.cpp:93 -#: src/extract/timecodes_v2.cpp:354 msgid "Progress: 100%\n" -msgstr "Прогресс: 100%\n" +msgstr "Процесс: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" -msgstr "Прогресс: 100%%%1%" +msgstr "Процесс: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" -msgstr "Прогресс: [%1%%2%] %3%%%" +msgstr "Процесс: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "Запрос возможностей mkvmerge" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime Audio/Video файлы" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 Audio и Video" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4 читатель: '%1%' часть является слишком маленькой. Ожидаемый размер: >= %2%. Фактический размер: %3%.\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" msgstr "Quicktime/MP4 читатель: постоянный типовой размер и переменная продолжительность пока не поддерживается. Связаться с автором, если у вас есть такой образец файла.\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4 читатель: не мог читать число, участка памяти %1%/%2% с размером %3% от позиции %4%. Прерывание.\n" @@ -4758,7 +4757,7 @@ #: src/input/r_qtmp4.cpp:1060 msgid "Quicktime/MP4 reader: Could not read the video description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читатель: невозможно прочитать видео часть описания ID дорожки %1%.\n" +msgstr "Quicktime/MP4 читатель: невозможно прочитать часть видео описания ID дорожки %1%.\n" #: src/input/r_qtmp4.cpp:212 msgid "Quicktime/MP4 reader: Have not found any header atoms.\n" @@ -4802,7 +4801,7 @@ #: src/input/r_qtmp4.cpp:245 msgid "Quicktime/MP4 reader: The audio track %1% is using an unsupported 'object type id' of %2% in the 'esds' atom. Skipping this track.\n" -msgstr "Quicktime/MP4 читателя: аудио дорожка %1% использует неподдерживаемый 'объект типа id' %2% в 'esds' части. Пропуск этой дорожки.\n" +msgstr "Quicktime/MP4 читатель: аудио дорожка %1% использует неподдерживаемый 'объект типа id' %2% в 'esds' части. Пропуск этой дорожки.\n" #: src/input/r_qtmp4.cpp:263 msgid "Quicktime/MP4 reader: The video track %1% is missing the ESDS atom. Skipping this track.\n" @@ -4842,7 +4841,7 @@ msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" msgstr "Quicktime/MP4 читатель: неизвестный/неподдерживаемый FourCC '%|1$.4s|' для дорожки %2%.\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "Закрыть приложение" @@ -4850,15 +4849,15 @@ msgid "Quit the header editor" msgstr "Закрыть редактор заголовков" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "Закрыть mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "Вновь дать возможность выбранному заданию(ям)" @@ -4866,7 +4865,7 @@ msgid "Reading encrypted VOBs is not supported.\n" msgstr "Зашифрованный VOBs чтение не поддерживается.\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "Читает дополнительные опции командной строки из указанного файла (см. страницу помощи)." @@ -4875,15 +4874,11 @@ msgstr "Готов" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." msgstr "Реальная частота дискретизации на выходе в Hz." -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia Audio и Video" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMedia Audio/Video файлы" @@ -4891,23 +4886,23 @@ msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "RealMedia файлы могут содержать HE-AAC / AAC+ / SBR AAC аудио. В некоторых случаях это не может быть определена автоматически. Поэтому вы должны указать '--aac-is-sbr %1%' вручную, для этого исходного файла, если файл действительно содержит SBR AAC. Файл при объединении в неправильном направлении, в противном случае. Также читайте в документации mkvmerge.\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "Перенаправлять все сообщения в этот файл." -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "Отношение блока: %1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "Отношение блока: -%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "Отношение приоритета: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "Отношение виртуальное: %1%" @@ -4915,9 +4910,9 @@ msgid "Reload the current file without saving" msgstr "Перезагрузить текущий файл без сохранения" -#: src/mmg/jobs.cpp:71 -#: src/mmg/jobs.cpp:73 -#: src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "Оставшееся время:" @@ -4925,7 +4920,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr "Помните, что специальные символы, такие как &, <, > и \" должны быть замаскированы в обычный HTML: & для '&', < для '<', > для '>' и " для '\"'." -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "Удалить главу" @@ -4933,62 +4928,64 @@ msgid "Remove element" msgstr "Удалить элемент" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "Удалить имя" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "Правый глаз" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "Пересинхронизация не удалась: не найден действительный Matroska уровень 1 элемента.\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "Пересинхронизация успешна в позиции %1%.\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "Выполнить mkvmerge и начать процесс мультиплексирования" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "Выполнить в поле заголовка редактора" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "&Показать в командной строке" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "&Начало выбранного" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 -#: src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT текстовые субтитры" -#: src/mmg/tabs/input.cpp:251 -#: src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS текстовые субтитры" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "&Сохранить командную строку" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "Тот же самый каталог как первый входной файл" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "Частота дискретизации в Hz." -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "Частота дискретизации: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "&Сохранить как" @@ -4996,31 +4993,31 @@ msgid "Save information as" msgstr "Сохранить информацию как" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "Сохранить журнал" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "Сохранить настройки мультиплексирования в файл" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "Сохранить в командной строке файл" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "Сохранить в командной строке конфигурационного файла, который может быть прочитан mkvmerge" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "Сохранить текущие главы в файл XML" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "Сохранить текущие главы в файл под другим именем" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "Сохранить текущие главы в существующий Matroska файл" @@ -5028,46 +5025,46 @@ msgid "Save the header values" msgstr "Сохранить значения заголовка" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "&Сохранить в файл Matroska" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "Сохраняет информацию из текущего файла в текстовый файл" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "Область: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "Искать ID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "Искать статью" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "Искать заголовок" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "Искать заголовок (подстатьи будут пропущены)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "Искать позицию: %1%" -#: src/extract/timecodes_v2.cpp:198 -#: src/extract/tracks.cpp:348 +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 #: src/info/qt_ui.cpp:177 -#: src/info/wxwidgets_ui.cpp:221 +#: src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "Сегмент" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "Сегмент UID:%1%" @@ -5076,11 +5073,11 @@ msgstr "Сегмент UIDs:" #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "Имя файла сегмента" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "Имя файла сегмента: %1%" @@ -5093,48 +5090,48 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "Файлы информации сегмента (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 -#: src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 -#: src/propedit/options.cpp:152 +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 #: src/propedit/propedit_cli_parser.cpp:87 #: src/propedit/propedit_cli_parser.cpp:160 -#: src/info/mkvinfo.cpp:544 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 #: src/info/qt_ui.cpp:178 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "Информация сегмента" -#: src/extract/timecodes_v2.cpp:252 -#: src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 #: src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "Дорожки сегмента" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:339 +#: src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "Уникальный ID сегмента" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "Сегмент, размер %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "Сегмент, неизвестного размера" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "Выберите файл Matroska" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "Выберите выходной файл" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" msgstr "Выберите файл, который вы хотите писать" @@ -5146,29 +5143,28 @@ "Выберите языки, которые вы хотите показывать наверху\n" "языка выпадающего." -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" msgstr "Выберите значения, которые должны применяться" -#: src/mmg/tabs/input_extra.cpp:55 -#: src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." msgstr "Выбор блоков, для которых mkvmerge будет производить записи индекса ( = cue записи). \"По умолчанию\" это хороший выбор почти для всех ситуаций." -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." msgstr "Выбор кодировки файла с субтитрами или главы информация была написана. Необходимы только для не-UTF закодированных файлов с субтитрами или файлы с главой информации (например, OGM, MP4), для которых mkvmerge не определяет кодировку неправильно." -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "&Установить выходной файл" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" msgstr "Установить страну:" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:395 +#: src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -5179,7 +5175,7 @@ "с предпочтениями пользователя." #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:402 +#: src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5194,7 +5190,7 @@ "по умолчанию + нужная дорожка." #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "Установить, если дорожка используется." @@ -5202,15 +5198,15 @@ msgid "Set if the video is interlaced." msgstr "Установить, если видео с чересстрочной разверткой." -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "Установить язык:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "Установить поле задержки ввода из файла" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "Установить значения" @@ -5226,28 +5222,27 @@ msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" msgstr "Устанавливает режим Matroska анализатор на 'быстрый' (по умолчанию) или 'полный'" -#: src/mmg/tabs/input_extra.cpp:64 -#: src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "Устанавливает сжатие, используемое для субтитров VobSub. Если ничего не выбрали, то VobSubs будут автоматически сжимать с zlib. Результаты это файлы, которые много больше." +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "Устанавливает алгоритм сжатия для использования в этой дорожке. Если нет опции mkvmerge будет решить, является ли для сжатия и какой алгоритм использовать, исходя из типа дорожки. Большинство типов дорожек не сжимаются вовсе." -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." msgstr "Устанавливает обрезку параметров. Должно быть запятую из четырех чисел, для сбора урожая, которые будут использоваться слева, сверху, справа и снизу." -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." -msgstr "Установка по умолчанию продолжительность и количество кадров в секунду для трека. Это возможно только для видео-треков. Для AVC/H.264 элементарных потоков эта опция должна быть предоставлена. Это может быть либо число с плавающей точкой или фракции." +msgstr "Установливает по умолчанию продолжительность и количество кадров в секунду для трека. Это возможно только для видео-треков. Для AVC/H.264 элементарных потоков эта опция должна быть предоставлена. Это может быть либо число с плавающей точкой или фракции." -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." msgstr "Устанавливает пропорции отображения пути. Формат может быть 'a/b' и в этом случае оба числа должны быть целыми (например, 16/9) или просто одним номером точки floting 'f' (например, 2,35)." -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "Устанавливает высоту дисплея дорожки. Ширина должна быть установлена как хорошо, или это поле будет игнорироваться." -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "Устанавливает ширину дисплея дорожки. Высота должна быть установлена как хорошо, или это поле будет игнорироваться." @@ -5265,23 +5260,23 @@ "\n" "Каждый файл содержит создал один сегмент, и каждый сегмент имеет один сегмент UID. Если больше UIDs сегмента указаны, чем сегментов создаются, то излишки UIDs игнорируются. Если меньше UIDs определяются, чем сегментов создаются тогда случайных UIDs будут созданы для них." -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." msgstr "Устанавливает стерео режим отслеживать видео к этому значению. Если оставить пустым, то исходный режим стерео дорожки будут сохранены или, если она не одна, никто не будет установлено на всех." -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "Настройки: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "Несколько опций, которые управляют полным выводом, что mkvmerge создает." -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "Краткий AAC аудио пакет (длина: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "Краткий AAC аудио пакет (длина: %1% < 2)\n" @@ -5289,63 +5284,79 @@ msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "Сокращенное GOP обнаружено. Некоторые кадры были сняты. Вы можете исправить MPEG2 видео поток, прежде чем пытаться его мультиплексировать.\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "&Показать все элементы\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" -msgstr "Показать диалог о mmg's" +msgstr "Показать диалог о mmg" + +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Показать всем байтам каждого кадра как шестнадцатеричный дамп." -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "&Показать размеры элемента\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" -msgstr "Показать mmg's отладки в окне" +msgstr "Показать отладку mmg в окне" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "Показать информацию о программе" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "Показать статистику для каждой дорожки в расширенном режиме." + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "Показать mmg командной строки, создает для mkvmerge" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Показ первые 16 байтов каждого кадра как шестнадцатеричный дамп." + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "Показать руководство mkvmerge GUI" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" msgstr "Показать размер каждого элемента в том числе его заголовок" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "Показать размер каждого элемента в том числе его заголовок." + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "Показать эту помощь." -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "Показать информацию о версии." -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." msgstr "Показывает окно отладки mmg, в котором отладочные сообщения будут появляться. Это только полезно, если вы помогаете автору отладки проблемы в mmg." -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "Алгоритм сигнатуры: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "Сигнатура хэш-алгоритма: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "Сигнатура ID ключа: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "Сигнатура: %1%" @@ -5353,11 +5364,11 @@ msgid "Signed integer" msgstr "Целое число" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "Скрытый номер дорожки: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "Простой блок" @@ -5365,11 +5376,11 @@ msgid "Simple chapter parser: %1%\n" msgstr "Простой парсер главы: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "Простой блок" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "Простой блок (%1% номер дорожки %2%, %3% кадр(ы), тайм-код %|4$.3f|s = %5%)" @@ -5381,7 +5392,7 @@ msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" msgstr "Пропуск %1% байт (не действительный заголовок AAC). Это может привести к аудио/видео рассинхронизации.\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" msgstr "Пропуск %1% байт (не действительный заголовок DTS). Это может привести к аудио/видео рассинхронизации.\n" @@ -5389,28 +5400,28 @@ msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" msgstr "Пропуск %1% байт в начале (не действительный MP3 заголовок).\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "Секторы" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" msgstr "Некоторые заголовка значения были изменены. Вы действительно хотите закрыть без сохранения файла?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" msgstr "Некоторые заголовка значения были изменены. Вы действительно хотите, чтобы загрузить новый файл без сохранения нынешней?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" msgstr "Некоторые заголовка значения были изменены. Вы действительно хотите перезагрузить без сохранения файла?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" msgstr "Некоторые теги элементы отсутствуют (эта ошибка не должна иметь место - еще Подобная ошибка должна была иметь место ранее). %1%\n" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:430 +#: src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." @@ -5419,7 +5430,7 @@ "виде Matroska языки." #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:486 +#: src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." @@ -5439,67 +5450,79 @@ msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "Разделение по тайм-коду/продолжительности был выбран, но ничего не вступил." -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "Разделение активено, и по крайней мере один из потенциальных выходных файлов '%s%s*%s' уже существует. Вы хотите переписать их?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" -msgstr "&Начать мультиплексирование" +msgstr "&Начать обработку" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" -msgstr "&Начать мультиплексирование (запустить mkvmerge)\tCtrl-R" +msgstr "&Начать обработку (запустить mkvmerge)\tCtrl-R" + +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "Запустите графический интерфейс пользователя (и откройте inname, если это было дано)." -#: src/mmg/jobs.cpp:495 +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" -msgstr "Начало работы с состоянием 'отложены'" +msgstr "Начало работы со статусом 'ожидание'" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "Начало выбранного задания(ий) независимо от их статуса" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" msgstr "Начать с пустой настройки" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "Начало:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "Процесс начался" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "Начало работы ID %d (%s) в %s" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "Статистика для дорожки %1%: количество блоков: %2%; размер в байтах: %3%, длительность в секундах: %4%; приблизительный битрейт в бит/секунду: %5%\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "Статус" -#: src/mmg/jobs.cpp:62 -#: src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 msgid "Status and progress" -msgstr "Статус и прогресс" +msgstr "Статус и процесс" +#: src/mmg/update_checker.cpp:57 #: src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "Статус:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "Stereo режим параметр не задается в виде <TID>:<n|keyword> где n число от 0 до 3 или один из ключевых слов 'нет', 'право', 'левый', 'и' (аргумент '%1%').\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "Стерео режим: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "Стерео режим параметра: не заданы в виде <TID>:<n|keyword> где n число между 0 и %1% или одно из ключевых слов: %2% (аргумент '%3%').\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "Стерео режим: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "Стерео-3D режим видео (0 - 11, см. документацию)." #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5507,15 +5530,15 @@ "Stereo-3D режим видео (0: моно, 1: правый глаз,\n" "2: левый глаз, 3: оба глаза)." -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "Стереоскопия:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "Растянуть по:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." msgstr "Растянуть эту композицию в тайм-кодов. Эта запись может иметь два формата. Это либо положительное число с плавающей точкой, или как, например, доля 1200/1253. Работы лучших на видео и субтитров." @@ -5523,7 +5546,7 @@ msgid "String" msgstr "Строка" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" msgstr "Субтитры дорожки %1% отсутствуют некоторые элементы срок. Пожалуйста, проверьте в результате SSA/ASS файл для записи, которые имеют одинаковое время начала и окончания.\n" @@ -5532,14 +5555,18 @@ msgid "Subtitle track %u" msgstr "Субтитры дорожки %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "Поддерживаемые типы файлов:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "Скрыть вывод статуса." + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The lossless True Audio codec)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA аудио без потерь" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" msgstr "Извлечение тега" @@ -5558,19 +5585,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "Тег файлы (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "Теги" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "Теги не допускаются в WebM совместимых файлах. Нет теги будут написаны в любой выходной файл.\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "Теги дорожки ID %1%: %2% записи" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "Теги дорожки ID %lld (%d записи) из %s" @@ -5579,24 +5606,24 @@ msgid "Tags:" msgstr "Теги:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "Сообщает mkvmerge, чтобы не создавать мета поиск элемента в конец файла, содержащего все кластеры." - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." msgstr "Сообщает mkvmerge, чтобы не создавать и записывать сигнал данных, которые можно сравнить с индексом в AVI. Matroska файлы могут быть воспроизведены без Кий данных, но ищет, возможно, будет неточным и медленнее. Использовать только для целей тестирования." +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "Сообщает mkvmerge создать мета поиск элемента в конец файла, содержащего все кластеры." + #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "Текстовые файлы (*.txt);;Все файлы (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "Текстовые файлы (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "Текстовые файлы (*.txt)|*.txt|Все файлы|*.*" @@ -5608,15 +5635,15 @@ msgid "The AAC profiles are different: %1% and %2%" msgstr "AAC профили различны: %1% и %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" msgstr "Трек AVC видео отсутствует 'CTTS' для смещения кадра тайм-кода. Тем не менее, AVC/H.264 позволяет кадров иметь более традиционным (для рам P) или два (для B кадров) ссылки на другие кадры. Тайм-кодов для таких кадров будет вне порядка, и 'CTTS' необходим для получения таймкодов права. Как не хватает таймкодов для этого рингтона может быть неправильным. Вы должны смотреть получившийся файл и убедитесь, что он выглядит, как вы ожидали, что это.\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" msgstr "CUE трек лист для %1% будут записаны в '%2%'.\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "CodecID из двух треков в другом: %1% и %2%" @@ -5632,43 +5659,39 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "FPS это 0.0 но читатель не предусматривает временного кода для пакета. %1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." msgstr "FPS настройки для номера дорожки. %s в файле '%s' является недействительным." -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" msgstr "FourCC должно быть ровно четыре символов в '%1% %2%'.\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." msgstr "Установка для FourCC номер дорожки. %s в файл '%s' не четыре символа." -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "GUI настроен на использование mkvmerge исполняемый файл из другой версии (%s), чем сам GUI (%s). Это не поддерживается, но не будет препятствовать. Вы должны изменить mkvmerge исполняемый в диалоговом окне настройки." -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "Заголовок Кейт identifaction не может быть обработан (%1%).\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "MPEG-4 часть 2 сжатие работает только с родным MPEG-4. Тем не менее, родной MPEG-4 режим не был выбран с '--engage native_mpeg4'.\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "Matroska файл анализируется." -#: src/mmg/header_editor/frame.cpp:700 +#: src/mmg/header_editor/frame.cpp:701 #: src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" msgstr "Matroska файл был изменен, но стремиться мета запись не может быть обновлен. Это означает, что плеер, возможно, трудно найти этот элемент. Пожалуйста, используйте ваш любимый плеер, чтобы проверить этот файл.\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" @@ -5678,11 +5701,11 @@ "\n" "Надлежащее решение, чтобы сохранить эти главы в файл XML, а затем remux файл с главами включен." -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" msgstr "Длина NALU размер должен быть целым числом от 2 до 4 включительно '--nalu-size-length %1%'.\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Заголовок Theora identifaction не может быть обработан (%1%).\n" @@ -5690,32 +5713,32 @@ msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" msgstr "Книги шифров Vorbis являются различными; такие дорожки не могут быть связаны без перекодирования" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" msgstr "Аргумент '%1%' в '%2%' недопустим: '%3%' не является допустимым ID трека.\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" msgstr "Аргумент '%1%' в '%2%' недопустим: '%3%' должно быть либо 'все' или 'первый'.\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" msgstr "Аргумент '%1%' в '%2%' недопустим: слишком много двоеточий в элементе '%3%'.\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" msgstr "Аргумент '--timecode-scale' должен быть целым числом.\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." msgstr "Пропорции настройки для номера трека. %s в файле '%s' является недействительным." -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" msgstr "Вложение #%1%, ID %2%, MIME тип %3%, размер %4%, записывается в '%5%'.\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "Вложение '%1%' не может быть прочитано.\n" @@ -5735,17 +5758,17 @@ msgid "The changes are written to the file.\n" msgstr "Изменения записываются в файл.\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "Главе '%s' не хватает языка." -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "Главе '%s' не хватает времени старта." -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5759,7 +5782,7 @@ "\n" "Примечание: Это предупреждение можно отключить на странице 'Настройки'. Выключите вариант 'Предупреждать об использовании...'." -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "Выбрали NALU размер длины %1% слишком мал. Попробуйте использовать '4'.\n" @@ -5767,15 +5790,15 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "Тип кодека '%1%' не может быть использован в WebM совместимом файле.\n" -#: src/output/p_avc.cpp:200 -#: src/output/p_kate.cpp:113 +#: src/output/p_textsubs.cpp:102 #: src/output/p_passthrough.cpp:63 -#: src/output/p_textsubs.cpp:98 #: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "Личные данные кодека не соответствуют (длины: %1% и %2%)." -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "Личные данные кодека не совпадают. Оба имеют одинаковую длину (%1%) но различное содержание." @@ -5788,29 +5811,29 @@ msgid "The country '%s' is not a valid ccTLD and cannot be selected." msgstr "Страна '%s' не является действительным ccTLD и не может быть выбрана." -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." msgstr "cue для записи (индекс) пишется..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." msgstr "Текущего файла (номер %d) не может быть удалена. Есть и другие файлы - по крайней мере файл %d - чьи треки должны быть приложены треки из этого файла. Пожалуйста, удалите эти файлы." -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "Тайм-код текущего пакета является меньше, чем у предыдущего пакета. Это обычно означает, что исходный файл представляет собой файл Matroska, которые не были созданы 100% правильно. Тайм-кодов всех пакетов, будет скорректирована %1%ms, чтобы не потерять какие-либо данные. Это может пролить аудио/видео синхронизацию с, но это может быть исправлено с помощью mkvmerge в '- синхронизировать' вариант. Если вы уже используете \" синхронизировать\", но вы получите это предупреждение, то не волнуйтесь - это нормально. Если эта ошибка происходит несколько раз, и вы получите это сообщение более одного раза за особый путь, то либо это исходный файл плохо освоили или mkvmerge содержит ошибку. В этом случае вам следует связаться с автором Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "Тайм-код текущего пакета является меньше, чем у предыдущего пакета. Это обычно означает, что исходный файл представляет собой файл Matroska, которые не были созданы 100%% правильно. Тайм-кодов всех пакетов, будет скорректирована %1%ms, чтобы не потерять какие-либо данные. Это может пролить аудио/видео синхронизацию с, но это может быть исправлено с помощью mkvmerge в '- синхронизировать' вариант. Если вы уже используете \" синхронизировать\", но вы получите это предупреждение, то не волнуйтесь - это нормально. Если эта ошибка происходит несколько раз, и вы получите это сообщение более одного раза за особый путь, то либо это исходный файл плохо освоили или mkvmerge содержит ошибку. В этом случае вам следует связаться с автором Moritz Bunkus <moritz@bunkus.org>.\n" #: src/input/r_usf.cpp:129 msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "Код языка по умолчанию '%1%' не является допустимым кодом ISO639-2 языка и будут проигнорированы.\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." msgstr "Установка задержки на номер трека. %s в файле '%s' является недействительным." -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5823,15 +5846,15 @@ msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." msgstr "Разница между тегами, связанные с дорожки и глобальные метки объясняется в документации в mkvmerge. Короче говоря: глобальные метки применяются к полному файл, теги, которые можно добавить на вкладке 'ввод' применяется только один трек." -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "Высота дисплея двух дорожек является различной: %1% и %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "Ширина дисплея двух дорожек является различной: %1% и %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5848,8 +5871,8 @@ msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "Править характеристики '%1%' и '%2%' решения той же дорожки UID %3%.\n" -#: src/mmg/header_editor/frame.cpp:688 -#: src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "Элемент был написан в конце файла, но размер сегмента не мог быть обновлен. Поэтому элемент не будет видим. Процесс будет прерван. Файл был изменен!" @@ -5862,47 +5885,47 @@ msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." msgstr "Пятый режим пытается извлечь информацию главы и теги и выводит их в качестве CUE листа. Это обратная использованием CUE листа с mkvmerge '--chapters' вариант." -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "Файл '%1%' не может быть присоединен потому что он не существует, или не может быть прочитаны.\n" -#: src/extract/attachments.cpp:114 -#: src/extract/chapters.cpp:47 +#: src/extract/attachments.cpp:141 #: src/extract/cuesheets.cpp:208 #: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "Файл '%1%' не может быть открыт для чтения (%2%)." -#: src/extract/timecodes_v2.cpp:169 -#: src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "Файл '%1%' не может быть открыт для чтения (%2%).\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" msgstr "Файл '%1%' не может быть открыт для чтения аргументов командной строки.\n" -#: src/extract/tracks.cpp:275 +#: src/extract/tracks.cpp:276 #: src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 -#: src/extract/xtr_wav.cpp:112 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "Файл '%1%' не может быть открыт для записи (%2%).\n" -#: src/extract/attachments.cpp:92 +#: src/extract/attachments.cpp:121 #: src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "Файл '%1%' не может быть открыт для записи (%2%, %3%).\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "Файл '%1%' был открыт для записи.\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "Файл '%1%' имеет неизвестен тип. Пожалуйста, посмотрите на поддерживаемых типов файлов ('mkvmerge --list-types') и связаться с автором Moritz Bunkus <moritz@bunkus.org>, если ваш тип файла поддерживается, но не признаются должным образом.\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "Файл '%1%' не является поддерживаемым типом файлов (%2%).\n" @@ -5910,12 +5933,12 @@ msgid "The file '%1%' is empty." msgstr "Файл '%1%' пустой." -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "Файл '%s' не существует." -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "Файл '%s' уже обработан в сочетании с файлом '%s'. Она не может быть добавлен второй раз." @@ -5924,18 +5947,22 @@ msgid "The file could not be opened for writing." msgstr "Этот файл не может быть открыт для записи." -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "Файл не существует." -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "Файл не кажется, действительный mkvmerge GUI файл настроек." -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." msgstr "Файл был изменен другой программой, так как он был прочитан заголовок редактора. Поэтому вам придется повторно загрузить его. К сожалению, это означает, что все изменения будут потеряны." +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "Файл не был изменен." + #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" msgstr "Файл заголовка является слишком коротким.\n" @@ -5944,7 +5971,7 @@ msgid "The file header was not read correctly.\n" msgstr "Файл заголовка не правильно прочитан.\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." msgstr "Файл неподдерживаемый формат контейнера (%s)." @@ -5953,36 +5980,36 @@ msgid "The file is analyzed.\n" msgstr "Файл анализируется.\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "Файл занимается ремонтом, часть 1/4..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "Файл занимается ремонтом, часть 2/4..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "Файл занимается ремонтом, часть 3/4..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "Файл занимается ремонтом, часть 4/4..." #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "Имя файла для данного сегмента." -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" msgstr "Файл no. %1% ('%2%') не содержит дорожку с ID %3%, или на том, что трек не должен быть скопирован. Аргументом в пользу '--append-to' является недействительным.\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" msgstr "Файл no. %1% ('%2%') не содержит дорожку с ID %3%, или на том, что трек не должен быть скопирован. Поэтому дорожка не может быть приложены к нему. Аргументом в пользу '--append-to' является недействительным.\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" msgstr "Файл no. %1% ('%2%') не является приложением. Аргументом в пользу '--append-to' является недействительным.\n" @@ -5990,15 +6017,15 @@ msgid "The file you tried to open is not a Matroska file." msgstr "Файл, который вы попытались открыть не файл Matroska." -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "Файл, который вы пытались сохранить, не является файл Matroska." -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "Файл, который вы пытались сохранить в это файл Matroska. Чтобы это работало нужно использовать 'Сохранить в Matroska файл' меню." -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" msgstr "Первый файл не может быть добавлен, поскольку нет файлов для добавления.\n" @@ -6023,7 +6050,7 @@ msgid "The format of the split timecode/duration is invalid." msgstr "Формат разделить тайм-код/продолжительность является недействительным." -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "Форматы не совпадают." @@ -6031,7 +6058,7 @@ msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." msgstr "Четвертый режим извлекает главы и преобразует их в XML. Печатает на стандартный вывод. Вывод может быть использован в качестве источника для mkvmerge." -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" msgstr "Данный фактор временной код масштаба за пределами допустимого диапазона (1 ... 10000000 или -1 для 'образец точности, даже если видео дорожки присутствует').\n" @@ -6041,16 +6068,16 @@ msgid "The header has already been written." msgstr "Заголовок уже был написан." -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "Высота двух дорожек является различной: %1% и %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "Входной файл '%s' не содержит никаких дорожек." -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6066,7 +6093,7 @@ "\n" "(Проблема возникла в tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6082,7 +6109,7 @@ "\n" "(Проблема возникла в tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6099,7 +6126,7 @@ "(Проблема возникла в tab_input::load(), #3)" #: src/mmg/options/chapters.cpp:113 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." msgstr "Язык '%s' не является корректным языком и не может быть выбран." @@ -6112,7 +6139,7 @@ msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" msgstr "Строка %1% тайм-кода файла '%2%' не содержит действительное число с плавающей запятой.\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "Язык не может быть установлен правильно. Проверьте LANG, LC_ALL и переменные окружения LC_MESSAGES.\n" @@ -6121,7 +6148,7 @@ msgstr "Максимальное число файлов, которые будут созданы, даже если последний файл может содержать более байт/времени, чем хотел. Полезно например если вы хотите именно этими двумя файлами. Если оставить поле пустым, то нет ограничений по количеству файлов mkvmerge может создать." #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:413 +#: src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -6133,14 +6160,14 @@ "Если установить значение 0, система отсчета псевдо-кэша\n" "не используется." -#: src/mmg/header_editor/frame.cpp:694 -#: src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "Мета элемент поиска дорожки был написан в конце файла, но размер сегмента не мог быть обновлен. Поэтому элемент не будет видим. Процесс будет прерван. Файл был изменен!" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:408 +#: src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -6152,11 +6179,11 @@ "Если установить значение 0, система отсчета псевдо-кэша\n" "не используется." -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "Файл помощи mkvmerge GUI не был найден, который вы выбрали. Пожалуйста, повторите попытку или отменить, нажав кнопку 'прервать'." -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" @@ -6170,19 +6197,19 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "Имя '%1%' не является допустимым именем собственности на текущий править спецификации в '%2%'.\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" msgstr "Имя выходного файла '%1%' и один из входных файлов, то же самое. Это может привести к mkvmerge переписать один из ваших файлов ввода. Скорее всего, это не то, что вы хотите.\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "Следующий UID уже приведен в '%1% %2%'.\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" msgstr "Количество бит на сэмпл из двух звуковых дорожек в другом: %1% и %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "Число каналов, две звуковые дорожки в другом: %1% и %2%" @@ -6191,7 +6218,7 @@ msgstr "Число внешних тайм-кодов %1% меньше, чем количество кадров в этом направлении. Остальные рамках этого трек может не сохраняться, как вы их задумала. mkvmerge может быть авария.\n" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." @@ -6200,7 +6227,7 @@ "в нижней части изображения." #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." @@ -6209,7 +6236,7 @@ "в левой части изображения." #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." @@ -6218,7 +6245,7 @@ "в правой части изображения." #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." @@ -6226,7 +6253,7 @@ "Число видео пикселей, чтобы удалить\n" "в верхней части изображения." -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" msgstr "Опция '--meta-seek-size' больше не поддерживается. Пожалуйста, прочитайте документацию mkvmerge, особенно раздел о Matroska файл разметки.\n" @@ -6234,17 +6261,17 @@ msgid "The order of the various options is not important." msgstr "Для различных вариантов не имеет значения." -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "Выходной файл '%1%' не может быть открыт для записи (%2%).\n" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "Выходной файл '%s' уже существует. Хотите переписать его?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "Имя выходного файла является недействительным, например он может содержать недопустимые символы, как ':'." @@ -6256,7 +6283,7 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "Тип изображения '%1%' не распознан.\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" msgstr "Предыдущий UID уже приведены в '%1% %2%'.\n" @@ -6284,7 +6311,7 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "Значение свойства не правильное целое число без знака в '%1%'. %2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "Причины этого пока неизвестны." @@ -6292,12 +6319,12 @@ msgid "The root element must be <%1%>." msgstr "Корневой элемент должен быть <%1%>." -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" msgstr "Частота дискретизации две звуковые дорожки в другой: %1% и %2%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:422 +#: src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" @@ -6315,7 +6342,7 @@ msgid "The seek table in this TTA file seems to be broken.\n" msgstr "Таблица поиска дорожки в этом файле TTA сломана.\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." msgstr "Выбранного языка '%s' к главе '%s' не является допустимым кодом языка. Пожалуйста, выберите один из предопределенных." @@ -6328,16 +6355,16 @@ msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." msgstr "Размер, после которого начат новый выходной файл. Символы 'G', 'M' и 'K' может использоваться, чтобы указать байты гига/мега/килограмма соответственно. Все модули основаны на 1024 (G = 1024^3, M = 1024^2 и K = 1024)." -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "Размер вложения '%1%' является 0.\n" -#: src/merge/output_control.cpp:305 -#: src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" msgstr "Исходный файл '%1%' не может быть открыт успешно, или получение его размер, поиск до конца не работает.\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." msgstr "Установка протяжения для дорожки номер %s в файле '%s' недопустима." @@ -6362,11 +6389,11 @@ msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." msgstr "Строки 'информация', 'segment_info' или 'segmentinfo' выбирают информационный элемент сегмента. Это - также значение по умолчанию до первого '--edit' опция найдена." -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "Теги в '%1%' не могли быть анализированы: некоторые принудительные элементы отсутствуют.\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "Временный файл '%1%' не мог быть открыт для того, чтобы читать (%2%).\n" @@ -6416,110 +6443,122 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "Тайм-коды, после которого начат новый выходной файл. Тайм-коды обращаются к целому потоку а не к каждому индивидуальному выходному файлу. Тайм-коды может быть дан или в форме HH:MM:SS.nnnnnnnnn или как число секунд, сопровождаемых 's'. Вы можете опустить число часов 'ГД'. Вы можете определить до девяти цифр для числа наносекунд 'nnnnnnnnn' или ни одного вообще. Если дано тогда Вы можете использовать до девяти цифр после десятичной точки. Если два или больше тайм-коды используются тогда, Вы должны отделить их с запятыми. Форматы могут быть смешаны, также. Примеры: 01:00:00,01:30:00 (после одного часа и после одного часа и тридцати минут) или 1800-ые, 3000, 00:10:00 (после три, пяти и десяти минут)." -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" msgstr "Тайм-коды для этого потока были сброшены в середине файла. Это не поддержано. От текущего пакета откажутся.\n" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." -msgstr "Заголовок для целого фильма." +msgstr "Название для всего фильма." -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" msgstr "Дорожка %1% от файла номер %2% (%3%) должна быть приложена не раз. Параметр для '--append-to' было недопустимо.\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "Заголовки дорожки не могут быть выполнены правильно. %1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" msgstr "У номера дорожки %1% нет правильного CodecID.\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" msgstr "Номер дорожки %1% от файла '%2%' не может вероятно быть приложен правильно к номеру дорожки %3% от файла '%4%': %5% Пожалуйста удостоверьтесь, что получающийся файл запускает правильно все время. Автор этой программы не будет вероятно оказывать поддержку для проблем воспроизведения с получающимся файлом.\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" msgstr "Номер дорожки %1% от файла '%2%' не может быть приложен к номеру дорожки %3% от файла '%4%'. %5%\n" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:387 +#: src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." msgstr "Номер дорожки как использующийся в Заголовке блока." -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "Параметры дорожки не соответствуют." -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "Обновленная информация не может быть получена из %1%.\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "Ширина двух дорожек является различной: %1% и %2%" -#: src/merge/output_control.cpp:804 -#: src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "Доступна новая версия." + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" msgstr "Нет никакого файла с ID '%1%'. Параметр для '--append-to' было недопустимо.\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "Нет никакой трансляции, доступной для '%1%'.\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "Существует ошибка запроса статуса обновлений." + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "Были ошибки." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." msgstr "Были ошибки в значениях заголовка, препятствующих тому заголовкам быть сохраненными. Первая ошибка была выбрана." -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "Были предупреждения" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." -msgstr "Были предупреждения, или процесс был закончен." +msgstr "Были предупреждения, или процесс был прекращен." -#: src/input/r_avi.cpp:609 #: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" msgstr "Эта дорожка AAC не содержит правильные заголовки. Не мог анализировать информацию AAC.\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" msgstr "Эта дорожка AAC не содержит правильные заголовки. Дополнительный размер заголовка - байты на %1%, ожидаемый были 2 или 5 байтов.\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "Эта дорожка AC3 содержит байты на %1% данных не-AC3 вначале. Это соответствует задержке %2%ms. Эта задержка будет использоваться вместо данных не-AC3.\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Эта дорожка AC3 содержит байты на %1% данных не-AC3, которые были пропущены. Звуковая/видео синхронизация, возможно, была потеряна.\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "Этот AVC/h.264 содержит кадров, которые являются слишком большими для текущего максимального размера NALU. Вы должны повторно запустить mkvmerge и установить максимальный размер NALU в %1% для этой дорожки (параметр командной строки '--nalu-size-length %2%:%1%').\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" msgstr "Эта дорожка AVC/h.264 не начинается с ключевого кадра. Первые кадры на %1% были пропущены.\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "Эта дорожка звукового канала MPEG содержит байты на %1% данных не-MP3 вначале. Это соответствует задержке %2%ms. Эта задержка будет использоваться вместо данных мусора.\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "Эта дорожка звукового канала MPEG содержит байты на %1% данных не-MP3, которые были пропущены. Звуковая/видео синхронизация, возможно, была потеряна.\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" -msgstr "Этот файл Ogg/OGM содержит информация заголовка или глава. К сожалению кодировка, чтобы хранить эту информацию в файле, не может быть идентифицирован однозначно. Программа предполагает, что электрический ток Вашей системы кодировки является соответствующим. Это может быть отменено с '--chapter-charset <charset>' переключатель.\n" +msgstr "Этот файл Ogg/OGM содержит информацию о заголовке или главах. К сожалению, кодировка, в которой сохранена информация, не может быть однозначно определена. Программа предполагает, что кодировка по умолчанию для вашей системы ей соответствует. Это может быть переопределено с помощью опции '--chapter-charset <charset>'.\n" #: src/mmg/header_editor/value_page.cpp:171 msgid "" @@ -6555,12 +6594,12 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "Этот файл содержит по крайней мере одного кадра с негативом тайм-кода. Весь тайм-код будет откорректирован на %1% так, чтобы ни один не был негативом больше.\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "Этот файл содержит координаты в строках тайм-кода. Такие координаты не поддержаны Matroska SRT формат подзаголовка. Координаты будут удалены автоматически.\n" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "Этот файл не мог быть открыт или анализирован." @@ -6568,11 +6607,11 @@ msgid "This file could not be opened or parsed.\n" msgstr "Этот файл не мог быть открыт или анализирован.\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "Этот файл не содержит глав." -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." msgstr "Этот файл не содержит правильные главы." @@ -6584,7 +6623,7 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "Это заголовок, которому плееры могут показать как 'основной заголовок' для этого фильма." -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." msgstr "Эта опция нуждается в дополнительном параметре 'n'. Говорит mkvmerge помещать самое большее 'n' блоки данных в каждый кластер. Если число постустановлено с 'ms', тогда помещенным самое большее 'n' миллисекунды данных в каждый кластер. Максимальная длина для кластера, что mkvmerge вводы 60000 блоков и 32000ms; минимальная длина 100ms. Программы только будут в состоянии искать на кластеры, так создавание больших кластеров может привести к неточному или медленному поиску." @@ -6596,11 +6635,11 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "Это свойство уникально. Больше экземпляров класса не может быть включено '%1%'. %2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "Это не должно было действительно случиться. Пространство, зарезервированное для первого мета элемента поиска дорожки, было слишком маленьким. %1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "Это не должно было действительно случиться. Пространство, зарезервированное для первого мета элемента поиска дорожки, было слишком маленьким. Размера необходимо: %1%. %2%\n" @@ -6608,15 +6647,15 @@ msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." msgstr "Это не должно было случиться. Пожалуйста войдите в контакт с автором Moritz Bunkus <moritz@bunkus.org> с этой ошибкой/предупреждающим сообщением, описанием того, что Вы пытались сделать, используемая командная строка и какую операционную систему Вы используете. Спасибо." -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." msgstr "Эта дорожка содержит SBR AAC/HE-AAC/AAC + данные. Только необходимый для входных файлов AAC, потому что SBR AAC не может быть обнаружен автоматически для этих файлов. Не необходимый для чтения дорожек AAC от MP4 или файлов Matroska." -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "Этот трек не совместим с режимом WebM и не может быть включен." -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "Интервал времени" @@ -6629,15 +6668,15 @@ msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" msgstr "Тайм-код файлы (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 -#: src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 -#: src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "Масштаб тайм-кода: %1%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:421 +#: src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "Масштабирование тайм-кода" @@ -6646,11 +6685,11 @@ msgstr "Тайм-коды:" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "Название" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "Название: %1%" @@ -6666,19 +6705,19 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "Дорожка CodecPrivate на %1% является слишком маленькой.\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "Дорожка %1% была сжата с неизвестным/неподдерживаемым алгоритмом сжатия (%2%).\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "Дорожка %1% была сжата с bzlib, но mkvmerge, не была откомпилирована с поддержкой bzlib сжатия.\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "Дорожка %1% была сжата с lzo1x, но mkvmerge, не была откомпилирована с поддержкой lzo1x сжатия.\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "Дорожка %1% была сжата с zlib, но mkvmerge, не была откомпилирована с поддержкой zlib сжатия.\n" @@ -6690,23 +6729,23 @@ msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" msgstr "Дорожка %1% с CodecID '%2%' не содержит правильные заголовки.\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" msgstr "Дорожка %1% с CodecID '%2%' отсутствует \"биты за второй (биты в секунду)\" элемент и не может быть извлечен.\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" msgstr "Дорожка %1% с CodecID '%2%' отсутствует \"codec private \" элемент, и не может быть извлечен.\n" -#: src/extract/xtr_aac.cpp:42 -#: src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_ogg.cpp:37 #: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 -#: src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" msgstr "Дорожка %1% с CodecID '%2%' отсутствует \"codec private\" элемент, и не может быть извлечен.\n" @@ -6714,7 +6753,7 @@ msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" msgstr "Дорожка %1% с CodecID '%2%' отсутствует \"заданная по умолчанию продолжительность\" элемент и не может быть извлечен.\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "Дорожка %1%: %2%, Codec ID: %3%%4%%5%%6%\n" @@ -6726,7 +6765,7 @@ msgid "Track %1%: NAL too big\n" msgstr "Дорожка %1%: NAL слишком большой\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "Дорожка %1%: Число входа субтитров %2% пропускает свою продолжительность. Принятие продолжительности 1s.\n" @@ -6739,16 +6778,16 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "Дорожка ID %1% имеет неизвестный AAC тип.\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "Дорожка ID %1%: %2% (%3%)" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:390 +#: src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "Дорожка UID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "Дорожка UID: %1%" @@ -6756,9 +6795,9 @@ msgid "Track extraction" msgstr "Извлечение дорожки" -#: src/propedit/options.cpp:157 #: src/propedit/propedit_cli_parser.cpp:88 #: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 msgid "Track headers" msgstr "Заголовки дорожки" @@ -6767,27 +6806,27 @@ msgstr "Имя дорожки:" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:386 +#: src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "Номер дорожки" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "Номер дорожки %1% был зашифрован и расшифровка еще не была осуществлена.\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "Номер дорожки: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "Оверлей дорожки: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "Тип дорожки: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" msgstr "Дорожки с неподдерживаемыми схемами кодирования информационного наполнения (сжатие или кодирование) не могут быть извлечены.\n" @@ -6795,16 +6834,16 @@ msgid "Tracks, chapters and tags:" msgstr "Дорожки, главы и теги:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." msgstr "Потоки аудио TrueHD знают два типа кадра: синхронизирующие кадры и несинхронизирующие кадры. С этим выключателем mkvmerge поместит одного синхронизирующего кадра и весь после несинхронизирующих кадров в единственный блок Matroska. Без этого каждый несинхронизирующий кадр помещен в его собственный блок Matroska." -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" msgstr "Две дорожки VobSub могут только быть извлечены в тот же самый файл, если их данные CodecPrivate соответствуют. Дело обстоит не так для дорожек %1% и %2%.\n" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6816,15 +6855,15 @@ msgid "Type:" msgstr "Тип:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "Тип: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF текстовые субтитры" @@ -6836,6 +6875,10 @@ msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "Неожиданная рамка кадра после единственной полевой структуры. Установите видео поток MPEG2 прежде чем попытаться мультиплексировать.\n" +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "Неизвестный" + #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." msgstr "Неизвестный AAC MPEG-2 профиль %1%." @@ -6844,7 +6887,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "Неизвестный AAC MPEG-4 тип объекта %1%." -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "Неизвестный тип аудио потока 0x%|1$04x|. Stream ID %2% будут игнорироваться.\n" @@ -6852,23 +6895,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "Неизвестный формат файла главы в '%1%'. Он не содержит поддержанный формат главы.\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "Неизвестный тип кодировки содержания %1% для дорожки %2%.\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "Неизвестный формат для следующего UID в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "Неизвестный формат за предыдущего UID в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" msgstr "Неизвестный формат сегмента UID '%3%' в '%1% %2%'.\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "Неизвестный заголовок 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6876,8 +6919,8 @@ msgid "Unknown mode '%1%'.\n" msgstr "Неизвестный режим '%1%'.\n" +#: src/common/mm_io_win.cpp:69 #: src/common/mm_io.cpp:112 -#: src/common/mm_io_win.cpp:68 msgid "Unknown open mode" msgstr "Неизвестный режим открытия" @@ -6889,7 +6932,7 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "Неизвестный режим синтаксического анализа в '%1% %2%'.\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "Неизвестный/неподдерживаемый формат аудио 0x%|1$04x| для этой звуковой дорожки.\n" @@ -6905,15 +6948,15 @@ msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." msgstr "Беззнаковое целое число (%1%) слишком мало. Минимальное значение %2%." -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" msgstr "Не поддерживается MPEG mpeg_version: 0x%|1$02x| в пакете %2% для тайм-кода %3%, принимая MPEG2. Никакие дальнейшие предупреждения не будут напечатаны для этой дорожки.\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" msgstr "Неподдерживаемый формат" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" msgstr "Неподдерживаемый тип дорожки для этой дорожки.\n" @@ -6925,88 +6968,46 @@ msgid "Usage" msgstr "Использование" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"Использование: mkvinfo [опции] inname\n" -"\n" -" Опции:\n" -" -g, --gui Запустите графический интерфейс пользователя (и откройте inname, если это было дано).\n" -" Использование inname 'inname' как источник.\n" -" -v, --verbose Многословие увеличения. См. страницу помощи для подробностей\n" -" описание того, что выводит mkvinfo.\n" -" -c, --checksum Вычисляет и отображает контрольные суммы информационных наполнений кадра.\n" -" -s, --summary Только показывают резюме информационных наполнений, не каждому элементу.\n" -" -x, --hexdump Показ первые 16 байтов каждого кадра как шестнадцатеричный дамп.\n" -" -X, --full-hexdump\n" -" Показать всем байтам каждого кадра как шестнадцатеричный дамп.\n" -" -z, --size Показать размер каждого элемента включая его заголовок.\n" -" --output-charset <charset>\n" -" Сообщения вывода в этой кодировке\n" -" -r,-o, --redirect-output файл.ext переадрес-вывода\n" -" Переадресуйте все сообщения к этому файлу.\n" -" -h, --help Показать эту справку.\n" -" -V, --version Показать информацию о версии.\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." msgstr "Используйте 'сегмент связи' для результирующих файлов. Для углубленного объяснения этой функции обратитесь к документации mkvmerge." -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." msgstr "Используйте постоянные значения для элементов, которые изменяются с каждым файлом иначе (мультиплексирование дата, сегментируйте UID, проследите UIDs и т.д.). Два файла muxed с теми же самыми параметрами настройки и этим активизированным выключателем будут идентичны." -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "Используйте старые IDs кодека AAC (например, 'A_AAC/MPEG4/SBR') вместо нового ('A_AAC')." -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" -msgstr "Использовать предыдущий каталог вывода" +msgstr "Использовать предыдущий каталог выхода" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "Использовать этот каталог:" -#: src/mmg/tabs/input_extra.cpp:69 -#: src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "Задать параметры:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "Использование длина NALU размер 3 байт может привести к тому, что дорожки не будут декодируемых с некоторыми AVC/H.264 кодеков.\n" -#: src/input/r_ac3.cpp:90 -#: src/input/r_matroska.cpp:1510 #: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "Использование %1%AC3 выходного модуля.\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "Использование AAC аудио выходного модуля.\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "Использование AAC демультиплексора.\n" @@ -7014,10 +7015,10 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "Использование AAC выходного модуля (FourCC: %1%).\n" -#: src/input/r_aac.cpp:123 -#: src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 -#: src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "Использование AAC выходного модуля.\n" @@ -7029,9 +7030,9 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "Использование AC3 выходного модуля (FourCC: %1%).\n" -#: src/input/r_avi.cpp:538 -#: src/input/r_ogm.cpp:987 -#: src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "Использование AC3 выходного модуля.\n" @@ -7040,7 +7041,7 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "Использование AVC/H.264 ES демультиплексора.\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "Использование AVI демультиплексора. Открытие файла. Это может занять некоторое время в зависимости от размера файла.\n" @@ -7052,11 +7053,11 @@ msgid "Using the DTS demultiplexer.\n" msgstr "Использование DTS демультиплексора.\n" -#: src/input/r_avi.cpp:549 +#: src/input/r_avi.cpp:680 #: src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 -#: src/input/r_mpeg_ps.cpp:1181 #: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "Использование DTS выходного модуля.\n" @@ -7065,7 +7066,7 @@ msgstr "Использование Dirac демультиплексора.\n" #: src/input/r_dirac.cpp:96 -#: src/input/r_matroska.cpp:1431 +#: src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "Использование Dirac видео выходного модуля.\n" @@ -7074,8 +7075,8 @@ msgstr "Использование FLAC демультиплексора.\n" #: src/input/r_flac.cpp:164 -#: src/input/r_matroska.cpp:1540 #: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "Использование FLAC выходного модуля.\n" @@ -7083,11 +7084,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "Использование IVF демультиплексора.\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "Использование Kate выходного модуля.\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "Использование Kate выходного модуля субтитров.\n" @@ -7095,7 +7096,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "Использование MP2/MP3 демультиплексора.\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "Использование MPEG ES демультиплексора.\n" @@ -7103,62 +7104,71 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "Использование MPEG PS демультиплексора.\n" -#: src/input/r_avi.cpp:531 -#: src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 #: src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 -#: src/input/r_qtmp4.cpp:1541 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "Использование MPEG аудио выходного модуля.\n" -#: src/input/r_matroska.cpp:1415 -#: src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "Использование MPEG-%1% видео выходного модуля.\n" -#: src/input/r_avi.cpp:299 -#: src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "Использование MPEG-1/2 видео выходного модуля.\n" -#: src/input/r_matroska.cpp:1804 -#: src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "Использование MPEG-4 Part 10 (AVC) видео выводного модуля.\n" +#: src/input/r_ogm.cpp:1154 #: src/input/r_avc.cpp:136 -#: src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 +#: src/input/r_avi.cpp:348 #: src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "Использование MPEG-4 Part 10 ES видео выводного модуля.\n" -#: src/input/r_avi.cpp:307 -#: src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 -#: src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "Использование MPEG-4 Part 2 видео выходного модуля.\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "Использование Matroska демультиплексора.\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "Использование OGG/OGM демультиплексора.\n" -#: src/input/r_avi.cpp:523 -#: src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 -#: src/input/r_qtmp4.cpp:1547 +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 #: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "Использование PCM выходного модуля.\n" +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "Использование PGS выходного модуля.\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "Использование PGSSUP демультиплексора.\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "Использование Quicktime/MP4 демультиплексора.\n" @@ -7175,7 +7185,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "Использование SRT читателя субтитров.\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "Использование SSA/ASS выходного модуля субтитров.\n" @@ -7187,13 +7197,13 @@ msgid "Using the TTA demultiplexer.\n" msgstr "Использование TTA демультиплексора.\n" -#: src/input/r_matroska.cpp:1566 #: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "Использование TTA выходного модуля.\n" -#: src/input/r_matroska.cpp:1427 -#: src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "Использование Theora видео выходного модуля.\n" @@ -7217,13 +7227,14 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "Использование VC1 ES демультиплексора.\n" -#: src/input/r_mpeg_ps.cpp:1215 #: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "Использование VC1 видео выводного модуля.\n" +#: src/input/r_ogm.cpp:1445 #: src/input/r_ivf.cpp:87 -#: src/input/r_matroska.cpp:1435 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "Использование VP8 видео выводного модуля.\n" @@ -7231,11 +7242,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "Использование VobBtn читателя кнопок.\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "Использование VobBtn выходного модуля.\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "Использование VobSub выходного модуля.\n" @@ -7247,9 +7258,9 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "Использование VobSub читателя субтитров. (SUB файл '%1%').\n" -#: src/input/r_avi.cpp:678 -#: src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "Использование Vorbis выходного модуля.\n" @@ -7265,25 +7276,25 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "Использование WavPack демультиплексора.\n" -#: src/input/r_matroska.cpp:1596 -#: src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "Использование WavPack выходного модуля.\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" msgstr "Использование общего аудио выходного модуля (FourCC: %|1$.4s|).\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "Использование передачи результата модуля этой %1% дорожке.\n" -#: src/input/r_avi.cpp:381 -#: src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 -#: src/input/r_srt.cpp:60 -#: src/input/r_ssa.cpp:71 #: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "Использование текста выводного модуля субтитров.\n" @@ -7291,25 +7302,21 @@ msgid "Using the video output module (FourCC: %1%).\n" msgstr "Использование видео выходного модуля (FourCC: %1%).\n" -#: src/input/r_qtmp4.cpp:1473 -#: src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" msgstr "Использование видео выходного модуля (FourCC: %|1$.4s|).\n" -#: src/input/r_avi.cpp:336 -#: src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "Использование видео выходного модуля.\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 элементарные потоки" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 видео элементарный поток" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" msgstr "Действительные хаки:\n" @@ -7318,47 +7325,47 @@ msgid "Validates the content of all changeable headers" msgstr "Проверяет содержание всех сменных заголовков" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" msgstr "Проверить текущие записи главы, есть ошибки" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:485 +#: src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" msgstr "Видео тип коэффициент пропорций" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "Видео обрезать снизу" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "Видео обрезать слева" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "Видео обрезать справа" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "Видео обрезать сверху" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "Видео высота дисплея" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "Видео дисплей" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "Видео ширина дисплея" @@ -7370,26 +7377,26 @@ msgid "Video interlaced flag" msgstr "Видео чересстрочное флаг" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "Видео пакет собрать не удалось. Код ошибки: %1% (%2%)\n" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "Видео высота пикселя" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "Видео ширина пикселя" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 +#: src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "Видео режим стерео" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "Видео дорожка" @@ -7398,87 +7405,73 @@ msgid "Video track %u" msgstr "Видео дорожка %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "Рассмотрите вывод, который mkvmerge сгенерировал во время мультиплексирования обрабатывает для выбранного задания(й)" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn кнопки" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobButtons" -#: src/mmg/tabs/input.cpp:256 -#: src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub субтитры" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE (несжатый аудио PCM)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (несжатый PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK аудио без потерь" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4 Audio" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" -msgstr "Предупреждения о возможном неправильном использовании mmg" +msgstr "Предупреждать о возможном неправильном использовании mmg" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "Предупреждение в строке %1%: начать тайм-кода меньше, чем в предыдущем посте. Все записи из этого файла будут отсортированы по времени их начала.\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "Предупреждение:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "Предупреждение: " -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "Предупреждение: Там больше, чем одна дорожка с UID %1%." -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "Предупреждение: Там больше, чем одна дорожка с номером %1%." -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "Предупреждения:" -#: src/mmg/tabs/input.cpp:259 -#: src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebM Audio/Video файлы" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." msgstr "При добавлении файла его имя сканирования. Если он содержит слова 'задержки' с последующим числом, то это число будет автоматически переведен в 'задержки' поле ввода за любую звуковую дорожку в файле." #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "Ширина закодированных видео кадров в пикселях." #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." -msgstr "Ширина видео кадров, чтобы отобразить." +msgstr "Ширина видео кадров дисплея." -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "Создать продолжительность для всех блоков. Это позволит увеличить размер файла, и не предлагает дополнительные преимущества для плееров на данный момент." @@ -7490,15 +7483,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "Записать дорожку с ID TID в файл 'out'." -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "Написать приложение: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" msgstr "Написать информацию" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "Написать VobSub индексный файл '%1%'.\n" @@ -7510,7 +7503,7 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "Неправильная версия Theora: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" msgstr "Неправильный параметр '--split-max-files'.\n" @@ -7519,13 +7512,13 @@ msgstr "Неправильно выбранный файл" #: src/mmg/header_editor/frame.cpp:248 -#: src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "Неправильный файл выбран" -#: src/common/kate.cpp:46 #: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "Неправильный тип заголовка: 0x%|1$02x| != 0x%|2$02x|" @@ -7545,7 +7538,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "Ошибка синтаксического анализатора XML в строке %1%: %2%." -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "Вы уже установили последнюю версию." + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7565,7 +7562,7 @@ "Пример: -00:05:23 позволил бы всем главам начинаться\n" "5 минут и на 23 секунды ранее чем теперь." -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7580,7 +7577,7 @@ "\n" "Вы все еще хотите продолжить?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7594,13 +7591,13 @@ "\n" "Этому сообщению только покажут однажды, если Вы не допустили предупреждениям mmg на его странице 'параметров настройки'." -#: src/common/compression.cpp:130 -#: src/common/compression.cpp:167 +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib декомпрессия не удалась. Результат: %1%\n" -#: src/info/mkvinfo.cpp:165 -#: src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[%1% кадр для дорожки %2%, тайм-код %3%]" @@ -7608,7 +7605,7 @@ msgid "aac_reader: ADIF header files are not supported." msgstr "aac_reader: ADIF заголовочные файлы не поддерживаются." -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader: Не удалось открыть файл." @@ -7616,17 +7613,17 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader: Не удалось прочитать %1% байт." -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" msgstr "aac_reader: Не найден пакет AAC в первых %1% байтах.\n" -#: src/mmg/jobs.cpp:335 -#: src/mmg/jobs.cpp:444 -#: src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 msgid "aborted" msgstr "Прерванный" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" msgstr "ac3_bs_packetizer::add_to_buffer(): Непроверенный код ('размер' нечетный). Если mkvmerge авария или если полученный файл не содержит полной и правильной звуковой дорожки, то, пожалуйста, свяжитесь с автором Moritz Bunkus на <moritz@bunkus.org>.\n" @@ -7647,20 +7644,20 @@ msgid "add" msgstr "Добавить" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "анаглиф" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "Присоединить" -#: src/input/r_matroska.cpp:88 -#: src/mmg/mmg.cpp:57 -#: src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "Аудио" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "аудио/видео/текст субтитров внедренных в OGG" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_reader: Не удалось открыть исходный файл." @@ -7669,36 +7666,36 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_reader: Не должен был случиться." -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_reader: Не удалось инициализировать AVI источника. Причина: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_reader: Не удалось прочитать исходный файл." -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." msgstr "avi_reader: Источник не является допустимым AVI файлом." -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "Разрядность: %1%" -#: src/input/r_matroska.cpp:89 -#: src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "Кнопки" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > size. Не должен был случиться. Пожалуйста подайте сообщение об ошибках.\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2 сжатие не удалось. Результат: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress() не выполняется\n" @@ -7707,19 +7704,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index: '%1%' не найден\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "Каналы: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "проверить правильность (первый слева)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "проверить правильность (первый справа)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "столбец с чередованием (первый слева)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "столбец с чередованием (первый справа)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "Завершено OK" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "Завершено с предупреждениями" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "Сжатие" @@ -7731,26 +7744,21 @@ msgid "corepicture_reader: Source is not a valid CorePanorama file." msgstr "corepicture_reader: Источник не является допустимым файлом CorePanorama." -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num не найден. %1%\n" -#: src/common/ebml.cpp:100 -#: src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: Неверный UTF-8 последовательности столкнулись. Пожалуйста, moritz@bunkus.org связаться и попросить, чтобы он лучше реализует UTF-8 анализатор." - -#: src/mmg/tabs/input_extra.cpp:91 -#: src/mmg/tabs/input_extra.cpp:165 #: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "По умолчанию" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "продолжительность по умолчанию: %|1$.3f|ms (%|2$.3f| кадров в секунду для видео дорожки)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit() не удалось. Результат: %1%\n" @@ -7762,24 +7770,24 @@ msgid "disable all" msgstr "Отключить все" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " msgstr "незащищенный, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "высота дисплея: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "ширина дисплея: %1%" -#: src/mmg/jobs.cpp:520 -#: src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 msgid "done" msgstr "Сделанный" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "сделать/предупреждения" @@ -7803,11 +7811,11 @@ msgid "enable all" msgstr "Включить все" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "Включен" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "Шифрование" @@ -7817,8 +7825,8 @@ #: src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 #: src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 -#: src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 #: src/common/mm_io.cpp:481 #: src/common/mm_io.cpp:491 @@ -7828,17 +7836,17 @@ #: src/common/mm_io.cpp:531 #: src/common/mm_io.cpp:541 #: src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 -#: src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "Конец файла" -#: src/mmg/jobs.cpp:344 -#: src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 msgid "failed" msgstr "Не удалось" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "filelist_t не найдется generic_packetizer_c. %1%\n" @@ -7882,7 +7890,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_reader: Не мог установить metadata_respond_all.\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_reader: Ошибка при разборе файла: %1%\n" @@ -7894,24 +7902,20 @@ msgid "flac_reader: could not initialize the FLAC packetizer.\n" msgstr "flac_reader: Не удалось инициализировать FLAC packetizer.\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "для всех кадров" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "Общие файлы Matroska" - #: src/input/r_avc.cpp:76 #: src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "есть xcptn\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "Удаление заголовка" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "Скрытый" @@ -7923,14 +7927,14 @@ msgid "highest" msgstr "наивысший" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit() не удалось. Результат: %1%\n" -#: src/mmg/jobs.cpp:72 -#: src/mmg/jobs.cpp:74 -#: src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "в настоящее время оценка" @@ -7938,15 +7942,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_reader: Не могу открыть файл." -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "ключ, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "язык: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "длина %1%, данные: %2%" @@ -7966,138 +7970,138 @@ msgid "lowest" msgstr "низкий" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress() не выполняется\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init() не удалось. Результат: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) не удалось.\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS режиме совместимости трек %1%) говорит, что Matroska %2% бит на сэмпл, но говорит, что WAVEFORMATEX %3%.\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS режиме совместимости трек %1%) говорит, что Matroska %2% каналов, но говорит, что WAVEFORMATEX %3%.\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (MS режиме совместимости трек %1%) говорит, что Matroska %2% отсчетов в секунду, но говорит, что WAVEFORMATEX %3%.\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (MS в режиме совместимости, трек %1%) говорит Матроса видео ширина %2%, но говорит BITMAPINFOHEADER %3%.\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (MS в режиме совместимости, трек %1%) Матроса видео высота %2%, но говорит BITMAPINFOHEADER %3%.\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_reader: У дорожки отсутствует ее UID дорожки.\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_reader: У дорожки отсутствует ее номер дорожки.\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" msgstr "matroska_reader: Не удалось сохранить дорожку UID %1%, поскольку это уже выделено для нового файла.\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader: Не удалось прочитать заголовки." -#: src/input/r_matroska.cpp:1208 -#: src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_reader: Не найден сегмент.\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_reader: Высота пикселя отсутствует.\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_reader: Ширина пикселя отсутствует.\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_reader: CodecID '%1%' для выбора дорожки %2% неизвестно.\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" msgstr "matroska_reader: CodecID для дорожки %1% в '%2%', но не было BITMAPINFOHEADER структуры настоящее время. Поэтому мы не имеем FourCC для выявления видео кодека.\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_reader: CodecID для дорожки %1% в '%2%', но не было WAVEFORMATEX структуры настоящее время. Поэтому мы не имеем формат ID для идентификации аудио кодека.\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_reader: CodecID для дорожки %1% в '%2%', но не было частной кодек заголовки.\n" -#: src/input/r_matroska.cpp:483 -#: src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_reader: CodecID для дорожки %1% в '%2%', но не было найдено личные данные.\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_reader: CodecID для дорожки %1% в 'A_VORBIS', но нет заголовка пакетов настоящих.\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" msgstr "matroska_reader: CodecID отсутствует.\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_reader: Высота дорожки %1% не была установлена.\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_reader: Ширина дорожки %1% не была установлена.\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_reader: Дорожка %1%, представляется ОК.\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader: Тип дорожки не найден.\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" msgstr "matroska_reader: Vorbis дорожка, не содержит нужных заголовков.\n" -#: src/input/r_matroska.cpp:1300 -#: src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_reader: поймал исключение\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader: mkvmerge не была скомпилирована с поддержкой FLAC. Игнорирование дорожки %1%.\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_reader: Нет EBML главы.\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader: неизвестный тип демультиплексора для дорожки %1%: '%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_reader: | + Там больше, чем один UID дорожки %1%.\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" msgstr "matroska_reader: | + Там больше, чем один номер дорожки %1%.\n" @@ -8105,19 +8109,19 @@ msgid "max. number of files:" msgstr "максимальное число файлов:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() называется из файла %1%, строка %2%: malloc() вернула NULL размер %3% байт.\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() называется из файла %1%, строка %2%: malloc() вернула NULL размер %3% байт.\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() называется из файла %1%, строка %2%: malloc() вернула NULL размер %3% байт.\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor: не должны использоваться!" @@ -8194,19 +8198,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): уровень > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: Неизвестный режим!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [опции] inname" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o out [глобальные опции] [опции1] <файл1> [@параметры файла ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmerge Ошибка с кодом возврата %d. %s" @@ -8221,22 +8225,22 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUI ошибка" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI готов" -#: src/mmg/mmg_dialog.cpp:364 -#: src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI настройки (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 -#: src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 -#: src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 -#: src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: ошибка" @@ -8249,7 +8253,7 @@ msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." msgstr "mkvmerge можно читать и использовать тайм-кодов от внешних текстовых файлов. Эта функция очень продвинутые функции. Почти все пользователи должны оставить эту запись пуста." -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" @@ -8261,22 +8265,22 @@ msgid "mkvmerge executable" msgstr "mkvmerge исполняемый" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" -msgstr "mkvmerge закончил код возврата %d. %s" +msgstr "mkvmerge завершен с кодом возврата %d. %s" -#: src/mmg/jobs.cpp:147 -#: src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" -msgstr "mkvmerge закончил" +msgstr "mkvmerge завершен" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" -msgstr "mkvmerge не был скомпилирован с поддержкой FLAC, но обработка этого потока было предложено.\n" +msgstr "mkvmerge не был скомпилирован с поддержкой FLAC, но обработка этого потока была предложена.\n" -#: src/mmg/jobs.cpp:49 -#: src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge работает" @@ -8284,9 +8288,9 @@ msgid "mkvmerge options" msgstr "mkvmerge опции" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" -msgstr "mkvmerge вывод:" +msgstr "mkvmerge выход:" #: src/mmg/tabs/global.cpp:275 #: src/mmg/tabs/global.cpp:277 @@ -8301,8 +8305,8 @@ msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." msgstr "mkvmerge поддерживает два формата главы: OGM, как текстовый формат и полнофункциональный формате XML. Этот параметр определяет язык, который будет связан с главами если формат OGM главе используется. Он игнорировал файлов XML главе." -#: src/merge/output_control.cpp:247 -#: src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmerge был прерван SIGINT (Ctrl+C?)\n" @@ -8314,23 +8318,23 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [опции] <файл> <actions>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: UTF32_* не поддерживается в настоящий момент.\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): Неверный UTF-8 символ. Первый байт: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" -msgstr "mmg отладка выведена" +msgstr "mmg вывод отладки" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmg опции" @@ -8338,11 +8342,15 @@ msgid "mmg will reset to the default list if no entry is selected." msgstr "mmg будет сбрасываться в список по умолчанию, если запись не выбрана." +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "моно" + #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_reader: Не удалось открыть исходный файл." -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader: Не удалось открыть файл." @@ -8364,7 +8372,7 @@ msgid "no" msgstr "Нет" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "без шифрования" @@ -8376,17 +8384,18 @@ msgid "no file loaded" msgstr "файл не загружается" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "нет сигнатуры алгоритма" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "нет сигнатуры хеш алгоритма" -#: src/mmg/tabs/input_extra.cpp:94 -#: src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "ни один" @@ -8394,68 +8403,72 @@ msgid "normal" msgstr "нормальный" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ogg_stream_init для потока число %1% не удалось. Постараюсь, чтобы продолжать и игнорировать этот поток.\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_buffer не удалось\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_reader: Не удалось открыть исходный файл." -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_reader: Не удалось прочитать заголовок все пакеты." -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." msgstr "ogm_reader: Источник не является допустимым OGG медиа файлом." -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." msgstr "on_entry_selected: display == NULL. Не должен был случиться." -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "только для I кадров" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "частота дискретизации на выходе: %1%" -#: src/mmg/jobs.cpp:519 -#: src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 msgid "pending" msgstr "ожидание" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: Не удалось открыть файл." + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "пиксель обрезать снизу: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "пиксель обрезать слева: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "пиксель обрезать справа: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "пиксель обрезать сверху: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "высота пикселя: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "ширина пикселя: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): тайм-код < последней_тайм-код (%1% < %2%). %3%\n" @@ -8463,12 +8476,12 @@ msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): Неверный тип дорожки %1%." -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "raw данные" -#: src/info/wxwidgets_ui.cpp:148 -#: src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "готов" @@ -8497,15 +8510,31 @@ msgid "remove all" msgstr "Удалить все" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" msgstr "остаток: неизвестен" -#: src/info/mkvinfo.cpp:645 +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "строка с чередованием (первый слева)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "строка с чередованием (первый справа)" + +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "частота дискретизации: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "сторона к стороне (первый слева)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "сторона к стороне (первый справа)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extraction_duration: Обнаружена сломанной пакет SPU (next_off < start_off) на тайм-код %1%. Этот пакет может отображаться неправильно.\n" @@ -8521,7 +8550,7 @@ msgid "ssa_reader: Could not open the source file." msgstr "ssa_reader: Не удалось открыть исходный файл." -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." msgstr "ssa_reader: Неверный формат. Не нашел \"Format\" строку в \"[Events]\" секции." @@ -8529,16 +8558,16 @@ msgid "ssa_reader: Source is not a valid SSA/ASS file." msgstr "ssa_reader: Источник не является допустимым SSA/ASS файлом." -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize(). Это не должно было случиться. Пожалуйста, сообщите об ошибке. Спасибо." -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "подзаголовок" -#: src/mmg/mmg.cpp:59 -#: src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "субтитры" @@ -8546,11 +8575,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index: '%1%' не найден\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "тайм-коды" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "сверху вниз (первый слева)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "сверху вниз (первый справа)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "название дорожки" @@ -8574,21 +8611,22 @@ msgid "und (Undetermined)" msgstr "und (Неопределенный)" -#: src/input/r_matroska.cpp:87 -#: src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 -#: src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 -#: src/mmg/mmg.cpp:60 +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 #: src/mmg/header_editor/value_page.cpp:150 -#: src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 -#: src/info/mkvinfo.cpp:820 -#: src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 -#: src/info/mkvinfo.cpp:881 -#: src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "неизвестный" @@ -8612,13 +8650,13 @@ msgid "vc1_es_reader: Could not open the source file." msgstr "vc1_es_reader: Не удалось открыть исходный файл." -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" msgstr "verify failed: chapters->CheckMandatory() ist false. Это не должно было случиться. Пожалуйста, сообщите об ошибке.\n" -#: src/input/r_matroska.cpp:90 -#: src/mmg/mmg.cpp:58 -#: src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 msgid "video" msgstr "Видео" @@ -8634,7 +8672,7 @@ msgid "vobsub_reader: Cound not open the source file." msgstr "vobsub_reader: Не удалось открыть исходный файл." -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" msgstr "vobsub_reader: sub_file->read неудача" @@ -8644,11 +8682,11 @@ #: src/input/r_wav.cpp:481 msgid "wav_reader: No data chunk was found." -msgstr "wav_reader: Никакой участок памяти данных не найден." +msgstr "wav_reader: Участок памяти данных не найден." #: src/input/r_wav.cpp:472 msgid "wav_reader: No format chunk found." -msgstr "wav_reader: Никакой участок памяти формата не найден." +msgstr "wav_reader: Участок памяти формата не найден." #: src/input/r_wav.cpp:453 msgid "wav_reader: Source is not a valid WAVE file." @@ -8666,24 +8704,24 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader: Не удалось открыть файл." -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "wavpack_reader: аудио блок не найден\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader: неизвестная частота дискретизации!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "неправильное использование: увеличение < 0" -#: src/common/mm_io.cpp:839 -#: src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "неправильное использование: только для чтения с NULL памяти" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "неправильное использование: писать только для чтения памяти" @@ -8693,34 +8731,199 @@ msgid "yes" msgstr "Да" +#~ msgid " (both eyes)" +#~ msgstr " (оба глаза)" + +#~ msgid " (left eye)" +#~ msgstr " (левый глаз)" + +#~ msgid " (right eye)" +#~ msgstr " (правый глаз)" + #~ msgid "%1% at %2%" #~ msgstr "%1% в %2%" +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "Это GUI была написана Moritz Bunkus <moritz@bunkus.org>\n" +#~ "На основе mmg от Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI распространяется по лицензии GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Помощь предоставляется в виде подсказки, в меню\n" +#~ "'Справка' или нажав на кнопку 'F1'." + #~ msgid "(Unknown element: %1%)" #~ msgstr "(Неизвестный элемент: %1%)" +#~ msgid "About mkvmerge's GUI" +#~ msgstr "О mkvmerge GUI" + +#~ msgid "Both eyes" +#~ msgstr "Оба глаза" + +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (Digital Theater System)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac элементарный поток" + #~ msgid "Do not write those header elements whose values are the same as their default values according to the Matroska specs." #~ msgstr "Не пишите заголовок тех элементов, значения которых совпадают с их значениями по умолчанию в соответствии с Matroska критериям." +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC аудио без потерь" + #~ msgid "File/segment title" #~ msgstr "Файл/сегмент название" +#~ msgid "IVF with VP8" +#~ msgstr "IVF с VP8" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "Известные типы файла:\n" +#~ " описание расширения\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "Левый глаз" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG программный поток" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer II audio (CBR и VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer III audio (CBR и VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 video элементарный поток" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 video элементарный поток" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska Audio/Video файлы (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroska файлы (*.mkv;*.mka)|*.mkv;*.mka|%s" + #~ msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|All files|*.*" #~ msgstr "Matroska файлы (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|Все файлы|*.*" +#~ msgid "None" +#~ msgstr "Ни один" + #~ msgid "Other global options" #~ msgstr "Другие глобальные опции" +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 Audio и Video" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia Audio и Video" + +#~ msgid "Right eye" +#~ msgstr "Правый глаз" + +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "Устанавливает сжатие, используемое для субтитров VobSub. Если ничего не выбрали, то VobSubs будут автоматически сжимать с zlib. Результаты это файлы, которые много больше." + +#~ msgid "TTA lossless audio" +#~ msgstr "TTA аудио без потерь" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "MPEG-4 часть 2 сжатие работает только с родным MPEG-4. Тем не менее, родной MPEG-4 режим не был выбран с '--engage native_mpeg4'.\n" + #~ msgid "This track uses a Matroska feature called 'Codec state elements'. mkvmerge supports these but this feature has not been turned on with the option '--engage use_codec_state'.\n" #~ msgstr "Эта дорожка использует особенность Matroska, названную 'запоминающие элементы Codec'. mkvmerge поддерживает их, но эта особенность не была включена с опцией '--engage use_codec_state'.\n" +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "Использование: mkvinfo [опции] inname\n" +#~ "\n" +#~ " Опции:\n" +#~ " -g, --gui Запустите графический интерфейс пользователя (и откройте inname, если это было дано).\n" +#~ " Использование inname 'inname' как источник.\n" +#~ " -v, --verbose Многословие увеличения. См. страницу помощи для подробностей\n" +#~ " описание того, что выводит mkvinfo.\n" +#~ " -c, --checksum Вычисляет и отображает контрольные суммы информационных наполнений кадра.\n" +#~ " -s, --summary Только показывают резюме информационных наполнений, не каждому элементу.\n" +#~ " -x, --hexdump Показ первые 16 байтов каждого кадра как шестнадцатеричный дамп.\n" +#~ " -X, --full-hexdump\n" +#~ " Показать всем байтам каждого кадра как шестнадцатеричный дамп.\n" +#~ " -z, --size Показать размер каждого элемента включая его заголовок.\n" +#~ " --output-charset <charset>\n" +#~ " Сообщения вывода в этой кодировке\n" +#~ " -r,-o, --redirect-output файл.ext переадрес-вывода\n" +#~ " Переадресуйте все сообщения к этому файлу.\n" +#~ " -h, --help Показать эту справку.\n" +#~ " -V, --version Показать информацию о версии.\n" + #, fuzzy #~ msgid "Using the IVF output module.\n" #~ msgstr "Использование FLAC выходного модуля.\n" +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "Использование VP8 видео выводного модуля.\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 видео элементарный поток" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn кнопки" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (несжатый PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK аудио без потерь" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "Создать исходные файлы FLAC (по умолчанию: написать OggFLAC файлы)." +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "аудио/видео/текст субтитров внедренных в OGG" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: Неверный UTF-8 последовательности столкнулись. Пожалуйста, moritz@bunkus.org связаться и попросить, чтобы он лучше реализует UTF-8 анализатор." + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: Не удалось установить ошибки обратного вызова.\n" @@ -8757,5 +8960,11 @@ #~ msgid "flac_reader: Could not set the write callback.\n" #~ msgstr "flac_reader: Не удалось установить написать обратного вызова.\n" +#~ msgid "general Matroska files" +#~ msgstr "Общие файлы Matroska" + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: Неизвестный режим!?\n" + #~ msgid "r_matroska: Cluster does not contain a cluster timecode. File is broken. Aborting.\n" #~ msgstr "r_matroska: Кластер не содержат кластера тайм-кода. Файл не работает. Прерывание.\n" diff -Nru mkvtoolnix-4.0.0/po/uk.po mkvtoolnix-4.5.0+dfsg/po/uk.po --- mkvtoolnix-4.0.0/po/uk.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/uk.po 2011-01-31 20:34:09.000000000 +0000 @@ -5,34 +5,37 @@ # rusguy6 rusguy6 <rusguy6@gmail.com>, 2010 msgid "" msgstr "" -"Project-Id-Version: ru\n" +"Project-Id-Version: mkvtoolnix_uk\n" "Report-Msgid-Bugs-To: Moritz Bunkus <moritz@bunkus.org>\n" "POT-Creation-Date: 2009-02-18 23:52+0100\n" -"PO-Revision-Date: 2010-06-03 18:24+0300\n" -"Last-Translator: rusguy6 rusguy6 <rusguy6@gmail.com>\n" -"Language-Team: Russian <moritz@bunkus.org>\n" +"PO-Revision-Date: 2011-01-21 20:01+0200\n" +"Last-Translator: Andriy Bilous'ko <arestarh@ukr.net>\n" +"Language-Team: Ukrainian <moritz@bunkus.org>\n" +"Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" +"X-Poedit-Language: Ukrainian\n" +"X-Poedit-Country: UKRAINE\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" msgstr "" "\n" -"Тимчасовий файл TTA для доріжки ID %1% у цей час копіюється в кінцевий файлу TTA. Це може зайняти деякий час.\n" +"Тимчасовий файл TTA для доріжки з ID %1% у цей час копіюється до кінцевого файлу TTA. Це може зайняти деякий час.\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" msgstr "" "\n" -"mkvmerge отримав SIGINT (ймовірно тому що користувач натиснув Ctrl+C). Спроба санувати файл. Якщо mkvmerge падає під час цього процесу, вам доведеться завершити її вручну.\n" +"mkvmerge отримав команду SIGINT (ймовірно тому, що користувач натиснув Ctrl+C). Спроба виправити файл. Якщо mkvmerge 'зависає' під час цього процесу, вам доведеться завершити виконання програми вручну.\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" @@ -40,17 +43,17 @@ " --aac-is-sbr <TID[:0|1]> Трек з ID є HE-AAC/AAC+/SBR-AAC\n" " чи ні. Значення ': 1' може бути опущене.\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" " appending files.\n" msgstr "" " --append-mode <file|track>\n" -" Вибір як mkvmerge обчислює тайм-коди, коли\n" -" додавання файлів.\n" +" Обирається те, як mkvmerge обчислює тайм-коди при\n" +" додаванні файлів.\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -59,22 +62,22 @@ " file.\n" msgstr "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" -" Кома список відстеження файлів і IDs доріжки\n" -" який контролює, яка доріжка файлу\n" -" додається на іншу доріжку попереднього\n" +" Список розділених комою ID файлів і доріжок\n" +" який контролює те, яка доріжка файлу\n" +" приєднується до іншої доріжки попереднього\n" " файлу.\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" " width and height for this aspect ratio.\n" msgstr "" " --aspect-ratio <TID:f|a/b>\n" -" Встановлювати відображення розмірів шляхом розрахунку\n" -" ширина і висота для цих пропорцій.\n" +" Встановлюється cпіввідношення сторін екрану відео шляхом розрахунку\n" +" ширини і висоти для даного співвідношення сторін.\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -83,54 +86,54 @@ " dimensions from this factor.\n" msgstr "" " --aspect-ratio-factor <TID:f|a/b>\n" -" Перший обчислює пропорції мульти-\n" -" програвання оригінальних пропорцій відео\n" -" з цим фактором і розраховує дисплей\n" -" розмірами від цього чинника.\n" +" Спочатку обчислюється співвідношення сторін шляхом множення\n" +" оригінального співвідношення сторін відео\n" +" з цим коефіцієнтом, а потім, спираючись на даний результат,\n" +" розраховуються розміри відображення відео.\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" msgstr "" -" --attach-file <file> Створює файл вкладення в\n" -" Matroska фото.\n" +" --attach-file <file> Створює файл-вкладення в\n" +" файлі Matroska.\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" " firsts Matroska file written.\n" msgstr "" " --attach-file-once <file>\n" -" Створює файл вкладення в\n" -" Matroska фото, написаного першим.\n" +" Створює файл-вкладення тільки в\n" +" найпершому створеному файлі Matroska.\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" msgstr "" " --attachment-description <desc>\n" -" Опис для наступного вкладення.\n" +" Опис для вказаного вкладення.\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" msgstr "" " --attachment-mime-type <mime type>\n" -" Mime-тип для наступного вкладення.\n" +" Mime-тип для вказаного вкладення.\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" msgstr "" -" --attachment-name <name> Ім'я повинно зберігатися протягом \n" -" наступного вкладення.\n" +" --attachment-name <name> Ім'я повинно зберігатися для \n" +" вказаного вкладення.\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" @@ -138,271 +141,271 @@ " --blockadd <TID:x> Встановлює максимальну кількість блоків\n" " додаткових рівнів для цього треку.\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" -msgstr " --chapter-charset <cset> Кодування для простого файлу голови.\n" +msgstr " --chapter-charset <cset> Набір символів для простого файлу розділу.\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" -msgstr " --chapter-language <lng> Встановити 'мова' елемента в розділі статті.\n" +msgstr " --chapter-language <lng> Встановити елемент 'language' в описі розділу.\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" -msgstr " --chapters <file> Читати главу інформації з файлу.\n" +msgstr " --chapters <file> Читати інформацію про розділи з файлу.\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" " put at most n milliseconds of data into each\n" " cluster.\n" msgstr "" -" --cluster-length <n[ms]> Покладіть більше n блоків даних у кожен кластер.\n" -" Якщо число після фіксованого 'ms', тоді\n" -" покласти не більше n мілісекунд даних в кожну\n" -" групу.\n" +" --cluster-length <n[ms]> Розміщує щонайбільше n блоків даних в кожному кластері.\n" +" Якщо число вказано з суфіксом 'ms', тоді\n" +" розміщується щонайбільше n мілісекунд даних в кожному\n" +" кластері.\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" -msgstr " --clusters-in-meta-seek Створити мета пошук даних для кластерів.\n" +msgstr " --clusters-in-meta-seek Записує дані метапошуку для кластерів.\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" msgstr "" " --command-line-charset <charset>\n" -" Кодування для рядків в командному рядку\n" +" Набір символів для рядків командного рядка\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" " specified track ('none' or 'zlib').\n" msgstr "" " --compression <TID:method>\n" -" Встановлює метод стиснення, використовуваний для\n" -" зазначений доріжки ('none' або 'zlib').\n" +" Встановлює метод стиснення, що використовується для\n" +" вказаної доріжки ('none' або 'zlib').\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" msgstr "" " --cropping <TID:left,top,right,bottom>\n" -" Встановлює параметри обрізки.\n" +" Встановлює параметри обрізки зображення.\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" " entries to chapter names.\n" msgstr "" " --cue-chapter-name-format <format>\n" -" Шаблон для переходу від запису CUE\n" -" до листа імені голови.\n" +" Шаблон для перетворення записів файлу CUE\n" +" в назви розділів.\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" " None at all, only for I frames, for all.\n" msgstr "" " --cues <TID:none|iframes|all>\n" -" Створити cue (індекс) запису для цього треку:\n" -" Ні на всіх, лише для всіх I кадрів.\n" +" Створює записи cue (індекси) для цього треку:\n" +" Ніяких не створює, лише для I кадрів, для всіх.\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" " X can be a floating point number or a fraction.\n" msgstr "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" -" Змушувати за замовчуванням тривалість доріжки до X.\n" -" X може бути числом з плаваючою точкою або часток.\n" +" Примусово вказувати типову тривалість доріжки як X.\n" +" X може бути числом з плаваючою точкою або дробом.\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" msgstr "" -" --default-language <lng> Використання цієї мови для всіх треків, якщо\n" -" скасовано з опцією --language.\n" +" --default-language <lng> Використовувати цю мову для всіх треків, якщо не\n" +" вказано опцію --language.\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" " forces it not to be present if bool is 0.\n" msgstr "" " --default-track <TID[:bool]>\n" -" Встановлювати 'за замовчуванням' прапор для цього треку або\n" -" примусово не буде присутній, якщо bool 0.\n" +" Встановлює прапорець 'default' для цього треку або\n" +" вказує на його відсутність, якщо змінна bool є 0.\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing Не використовувати зшивання.\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" msgstr "" " --display-dimensions <TID:width>x<height>\n" -" Точно встановити розміри дисплея.\n" +" Явно встановити розміри відображення відео.\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" -msgstr " --enable-durations Включити тривалість блоку для всіх блоків.\n" +msgstr " --enable-durations Ввімкнути тривалість блоку для всіх блоків.\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" " forces it not to be present if bool is 0.\n" msgstr "" " --forced-track <TID[:bool]>\n" -" Встановлювати 'вимушеного' прапор для цієї доріжки або\n" -" примусово не буде присутній, якщо bool 0.\n" +" Встановлює прапорець 'forced' для цієї доріжки або\n" +" вказує на його відсутність, якщо змінна bool є 0.\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" -msgstr " --global-tags <file> Читати глобальної теги файлу XML.\n" +msgstr " --global-tags <file> Читати глобальні теги з файлу XML.\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" msgstr "" -" --language <TID:lang> Встановлення мови для треку (ISO639-2\n" -" код, дивись --list-languages).\n" +" --language <TID:lang> Встановлює мову для треку (згідно коду ISO639-2,\n" +" дивіться --list-languages).\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" -msgstr " --link Посилання розділених файлів.\n" +msgstr " --link З'єднати розділені файли.\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" -msgstr " --link-to-next <SID> Посилання наступного файлу на даний SID.\n" +msgstr " --link-to-next <SID> Приєднати останній файл до даного SID.\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" -msgstr " --link-to-previous <SID> Посилання попереднього файлу на даний SID.\n" +msgstr " --link-to-previous <SID> Приєднати перший файл до даного SID.\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" msgstr "" -" --list-languages Списки всіх ISO639 мов і їх\n" +" --list-languages Вказується список усіх мов згідно ISO639 і їх\n" " ISO639-2 коди.\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" " 2 <= n <= 4 with 4 being the default.\n" msgstr "" " --nalu-size-length <TID:n>\n" -" Примусова довжина NALU розміру n байт з\n" -" 2 <= n <= 4 с 4 час за умовчанням.\n" +" Примусово встановлюється довжина 'NALU size' в n байт з\n" +" 2 <= n <= 4, причому 4 є типовим значенням.\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" -msgstr " --no-chapters Не брати глави з вихідного файлу.\n" +msgstr " --no-chapters Не брати розділи з вхідного файлу.\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" -msgstr " --no-cues Не писати cue (індекс) даних.\n" +msgstr " --no-cues Не писати дані cue (індекси).\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" -msgstr " --no-global-tags Не брати глобальні теги з вихідного файлу.\n" +msgstr " --no-global-tags Не брати глобальні теги з вхідного файлу.\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" -msgstr " --output-charset <cset> Вихідні повідомлення у цій кодуванні\n" +msgstr " --output-charset <cset> Вихідні повідомлення будуть мати даний набір символів\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" -msgstr " --priority <priority> Установити пріоритет виконання mkvmerge.\n" +msgstr " --priority <priority> Встановлює пріоритет запуску mkvmerge.\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" msgstr "" " --segment-uid <SID1,[SID2...]>\n" -" Встановити сегмент UIDs в SID1, SID2 і т.д.\n" +" Встановлює UID сегменту як SID1, SID2 і т.д.\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" -msgstr " --segmentinfo <file> Читати сегмент інформації з файлу.\n" +msgstr " --segmentinfo <file> Читати інформацію сегменту з файлу.\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" " or after a specific time.\n" msgstr "" " --split <d[K,M,G]|HH:MM:SS|s>\n" -" Створити новий файл після d байт (КБ, МБ, ГБ)\n" -" або після закінчення певного часу.\n" +" Створюється новий файл після d байт (КБ, МБ, ГБ)\n" +" або після вказаного часу.\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" " etc.\n" msgstr "" " --split timecodes:A[,B...]\n" -" Створити новий файл після кожного тайм-код A, B\n" +" Створюється новий файл після кожного тайм-коду A, B\n" " і т.д.\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" -msgstr " --split-max-files <n> Створити багато n файлів.\n" +msgstr " --split-max-files <n> Створити щонайбільше n файлів.\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode <TID:n|none|left|right|both>\n" -" Встановлювати параметри стерео режиму. Це може\n" -" або число 0 - 3 або одне з\n" -" ключових слів 'none', 'right', 'left' або 'both'.\n" +" --stereo-mode <TID:n|keyword>\n" +" Задається параметр стереорежиму. Можна\n" +" задавати як числом від 0 до 11, так і одним з\n" +" ключових слів (повний список див. в документ.).\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" " read as for the conversion to UTF-8.\n" msgstr "" " --sub-charset <TID:charset>\n" -" Визначає кодування текстових субтитрів\n" -" читаючи як для переходу на UTF-8.\n" +" Визначає набір символів зчитування текстових субтитрів\n" +" щодо перетворення в UTF-8.\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" -msgstr " --timecode-scale <n> Примусовий тайм-код коефіцієнт пропорцій для n.\n" +msgstr " --timecode-scale <n> Примусово задається масштабний коефіцієнт n для тайм-коду.\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" -msgstr " --timecodes <TID:file> Читати тайм-коди, які будуть використовуватися з файлу.\n" +msgstr " --timecodes <TID:file> Читати тайм-коди, які будуть використовуватися, з файлу.\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" -msgstr " --title <title> Назва для цього вихідного файлу.\n" +msgstr " --title <title> Назва (в полі 'title') для цього вихідного файлу.\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" -msgstr " --track-name <TID:name> Встановити ім'я доріжки.\n" +msgstr " --track-name <TID:name> Встановлює ім'я доріжки.\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -410,101 +413,101 @@ " tracks in the output file.\n" msgstr "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" -" Кома список розділених як файл IDs\n" -" і відслідковувати IDs, які контролюють порядок\n" -" доріжок у вихідному файлі.\n" +" Список розділених комою ID файлів і доріжок,\n" +" які визначають порядок\n" +" доріжок вихідного файлу.\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" msgstr "" -" --track-tags <n,m,...> Копія тегів для доріжок n, m т.д. За замовчуванням: копіювати\n" +" --track-tags <n,m,...> Копіювати теги для доріжок n, m і т.д. Типово: копіювати\n" " теги для всіх доріжок.\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" -msgstr " --ui-language <code> Примусове переведення для 'код', який буде використовуватися.\n" +msgstr " --ui-language <code> Примусово використовувати переклади для 'code'.\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" -msgstr " -A, --no-audio Не копіювати звукову доріжку з цього файлу.\n" +msgstr " -A, --no-audio Не копіювати жодну звукову доріжку з цього файлу.\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" -msgstr " -B, --no-buttons Не копіювати кнопки доріжки з цього файлу.\n" +msgstr " -B, --no-buttons Не копіювати жодної доріжки button (маркери в меню ДВД) з цього файлу.\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" -msgstr " -D, --no-video Не копіювати відео доріжки з цього файлу.\n" +msgstr " -D, --no-video Не копіювати жодної відеодоріжки з цього файлу.\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" -msgstr " -M, --no-attachments Не копіювати вкладення з вихідного файлу.\n" +msgstr " -M, --no-attachments Не копіювати жодного вкладення з вхідного файлу.\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" -msgstr " -S, --no-subtitles Не копіювати доріжку субтитрів з цього файлу.\n" +msgstr " -S, --no-subtitles Не копіювати жодної доріжки субтитрів з цього файлу.\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" -msgstr " -T, --no-track-tags Не копіювати теги для доріжки з вихідного файлу.\n" +msgstr " -T, --no-track-tags Не копіювати жодного тегу для доріжки з вхідного файлу.\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version Показувати інформацію про версію.\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" " audio tracks.\n" msgstr "" " -a, --audio-tracks <n,m,...>\n" -" Копіювати аудіо доріжки n, m т.д. За замовчуванням: копіювати все\n" +" Копіювати аудіодоріжки n, m і т.д. Типово: копіювати всі\n" " звукові доріжки.\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" " all buttons tracks.\n" msgstr "" " -b, --button-tracks <n,m,...>\n" -" Копіювати кнопки доріжок n, m т.д. За замовчуванням: копіювати\n" -" всі кнопки доріжок.\n" +" Копіювати доріжки button (маркери в меню ДВД) n, m і т.д. Типово: копіювати\n" +" всі доріжки button.\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" " video tracks.\n" msgstr "" " -d, --video-tracks <n,m,...>\n" -" Копіювати відео доріжки n, m т.д. За замовчуванням: копіювати все\n" +" Копіювати відео доріжки n, m т.д. Типово: копіювати все\n" " відеодоріжки.\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" msgstr "" -" -f, --fourcc <FOURCC> Примусовий FourCC до вказаного значення.\n" +" -f, --fourcc <FOURCC> Примусово задавати FourCC вказаного значення.\n" " Працює тільки для відеодоріжок.\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" -msgstr " -h, --help Показати допомогу.\n" +msgstr " -h, --help Показати цю довідку.\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" -msgstr " -i, --identify <file> Роздрукувати інформацію про вихідний фото.\n" +msgstr " -i, --identify <file> Відображати інформацію про вхідний файл.\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -l, --list-types Списки підтримуваних форматів вхідних файлів.\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -512,19 +515,19 @@ " all attachments to all output files.\n" msgstr "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" -" Копіювати додатки з IDs n, m і т.д.\n" -" всі або тільки перший вихідний файл. За замовчуванням: копіювати\n" -" всі програми для всіх вихідних файлів.\n" +" Копіювати вкладення з IDs n, m і т.д. до\n" +" всіх або тільки першого вихідних файлів. Типово: копіювати\n" +" всі вкладення до всіх вихідних файлів.\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" -msgstr " -o, --output out Записати у файл 'висновок'.\n" +msgstr " -o, --output out Записати у 'out' файлу.\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" -msgstr " -q, --quiet Сховати висновок статусу\n" +msgstr " -q, --quiet Сховати вихідну інформацію\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -532,29 +535,29 @@ " -r, --redirect-output <file>\n" " Перенаправляти всі повідомлення в цей файл.\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" " all subtitle tracks.\n" msgstr "" " -s, --subtitle-tracks <n,m,...>\n" -" Копіювати доріжки субтитрів n, m і т.д. За замовчуванням: копіювати\n" +" Копіювати доріжки субтитрів n, m і т.д. Типово: копіювати\n" " усі доріжки субтитрів.\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:file> Читати теги для доріжки з файлу XML.\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" -msgstr " -v, --verbose Докладний статус\n" +msgstr " -v, --verbose Розширений вивід інформації\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" -msgstr " -w, --webm Створити WebM сумісний файл.\n" +msgstr " -w, --webm Створити сумісний WebM файл.\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -565,24 +568,24 @@ " floating point numbers.\n" msgstr "" " -y, --sync <TID:d[,o[/p]]>\n" -" Синхронізація, налаштувати тайм-коди треку з\n" -" ID TID по 'd' ms.\n" -" 'o/p': Відрегулюйте тайм-коди шляхом множення з\n" -" 'o/p' встановити лінійний дрейф. 'P' за замовчуванням\n" -" 1, якщо пропущений. Обидва 'o' і 'p' можуть бути\n" +" Синхронізувати і налаштувати тайм-коди доріжок з\n" +" id TID 'd' ms.\n" +" 'o/p': Відрегулювати тайм-коди шляхом множення з\n" +" 'o/p' для усунення лінійного дрейфу. Типово 'P' відповідає\n" +" 1, якщо не вказано. Обидва 'o' і 'p' можуть бути\n" " числами з плаваючою комою.\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" msgstr "" " @optionsfile Читати додаткові опції командного рядка з\n" -" зазначеного файлу (див. довідкову сторінку).\n" +" зазначеного файлу (див. довідку).\n" #: src/propedit/propedit_cli_parser.cpp:94 msgid " B: boolean (0 or 1)\n" -msgstr " B: логічний (0 або 1)\n" +msgstr " B: логічна змінна (0 або 1)\n" #: src/propedit/propedit_cli_parser.cpp:98 msgid " FP: floating point number\n" @@ -594,7 +597,7 @@ #: src/propedit/propedit_cli_parser.cpp:92 msgid " SI: signed integer\n" -msgstr " SI: ціле число\n" +msgstr " SI: знакове ціле число\n" #: src/propedit/propedit_cli_parser.cpp:93 msgid " UI: unsigned integer\n" @@ -606,172 +609,168 @@ #: src/propedit/propedit_cli_parser.cpp:97 msgid " X: binary in hex\n" -msgstr " X: двійковий, шістнадцятковий\n" +msgstr " X: двійкове у шістнадцятковому\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 -#: src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" -msgstr " (adler: 0x%|1$08x|)" +msgstr " (хеш: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (обидва ока)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" -msgstr " (сантиметрів)" +msgstr " (сантиметри)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (фіксований)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" -msgstr " (Формат тега: 0x%|1$04x|)" +msgstr " (Тег форматування: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" -msgstr " (вільний розмір)" +msgstr " (вільна зміна розміру)" + +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (профіль h.264: %1% @L%2%.%3%)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (дюйми)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" -msgstr " (зберегти пропорції)" - -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (ліве око)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (моно)" +msgstr " (зберегти співвідношення сторін)" -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (пікселі)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (праве око)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" -msgstr " Перерватися.\n" +msgstr " Переривання роботи.\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " Підтримка вкладень (більше глобальних опцій):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" -msgstr " Глава обробки:\n" +msgstr "Обробка розділів:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" -msgstr " Поділ файлів і зв'язок (більше глобальних опцій):\n" +msgstr " Поділ і об'єднанння файлів (більше глобальних опцій):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" -msgstr " Генеральний вихідний контроль (просунуті глобальні опції):\n" +msgstr " Загальний вихідний контроль (розширені глобальні опції):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " Глобальні опції:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " Параметри для кожного вхідного файлу:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" -msgstr " Функції, які застосовуються тільки для субтитрів VobSub треків:\n" +msgstr " Функції, які застосовуються тільки для субтитрів VobSub:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" -msgstr " Функції, які застосовуються тільки до тексту субтитрів доріжки:\n" +msgstr " Функції, які застосовуються тільки до текстових субтитрів:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" -msgstr " Функції, які застосовуються тільки до відеодоріжки:\n" +msgstr " Функції, які застосовуються тільки до відеодоріжок:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" -msgstr " Інші функції:\n" +msgstr " Інші опції:\n" #: src/common/xml/element_parser.cpp:460 msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." -msgstr " Помните, что специальные символы, такие как &, <, > і \" должна быть замаскирована в обычном порядке HTML: & для '&', < для '<', > для '>' і " для '\"'." +msgstr " Пам'ятайте, що спеціальні символи, такі як &, <, > і \" повинні бути виділені так само як і в HTML: & для '&', < для '<', > для '>' і " для '\"'." -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" msgstr " Сегмент обробки інформації:\n" #: src/extract/mkvextract.cpp:63 -#: src/info/mkvinfo.cpp:174 +#: src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " в %1%" -#: src/merge/output_control.cpp:257 -#: src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 -#: src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 msgid " done\n" -msgstr " Зроблений\n" +msgstr " зроблено\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " розмір %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr " розмір невідомий" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### Опції для розробників ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" msgstr "### Глобальний вихідний контроль ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" -msgstr "%1% збірка від %2% %3%" +msgstr "%1% зібрано %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" -msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), тривалість %|5$.3f|, розмір %6%, adler 0x%|7$08x|%8%%9%\n" +msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), тривалість %|5$.3f|, розмір %6%, хеш 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" -msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), розмір %5%, adler 0x%|6$08x|%7%\n" +msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), розмір %5%, хеш 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" -msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), розмір %5%, adler 0x%|6$08x|%7%%8%\n" +msgstr "%1% кадр, доріжка %2%, тайм-код %3% (%4%), розмір %5%, хеш 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Помилка в структурі файлу Matroska на позиції %2%. Повторна синхронізація на наступний елемент першого рівня.\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" -msgstr "%1%: дільник 0 в '%2% %3%'.\n" +msgstr "%1%: дільник є 0 в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: невірний ID доріжки в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" -msgstr "%1%: відсутня дивіденд в '%2% %3%'.\n" +msgstr "%1%: відсутнє ділене в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" -msgstr "%1%: відсутня дільник в '%2% %3%'.\n" +msgstr "%1%: відсутній дільник в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" -msgstr "%1%: відсутня ID доріжки в '%2% %3%'.\n" +msgstr "%1%: відсутній ID доріжки в '%2% %3%'.\n" #: src/info/qt_ui.cpp:116 msgid "" @@ -784,54 +783,31 @@ "http://www.bunkus.org/videotools/mkvtoolnix/" msgstr "" "%1.\n" -"Скомпільований з libebml %2 + libmatroska %3.\n" +"Скомпільовано з libebml %2 + libmatroska %3.\n" "\n" "Ця програма розповсюджується під ліцензією GPL v2 (дивись COPYING).\n" "Вона була написана Moritz Bunkus <moritz@bunkus.org>.\n" -"Вихідні коди і останні файли завжди доступні на\n" +"Програмний код і останні скомпільовані збірки завжди доступні на\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 -#: src/mmg/jobs.cpp:299 -#: src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" -msgstr "%d мінут(и) %d секунд(и)" +msgstr "%d хвилин(а/и) %d секунд(а/и)" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"Це GUI була написана Moritz Bunkus <moritz@bunkus.org>\n" -"На основі mmg від Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI розповсюджується по ліцензії GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Допомога надається у вигляді підказки, в меню\n" -"'Довідка' або натиснувши на кнопку 'F1'." - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" -msgstr "%s (MIME тип %s, розмір %ld) з %s (%s)" +msgstr "%s (MIME-тип %s, розмір %ld) з %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, тип: %s) з %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -843,41 +819,49 @@ "http://www.bunkus.org/videotools/mkvtoolnix/" msgstr "" "%s.\n" -"Скомпільований з libebml %s + libmatroska %s.\n" +"Скомпільовано з libebml %s + libmatroska %s.\n" "\n" "Ця програма розповсюджується під ліцензією GPL v2 (дивись COPYING).\n" "Вона була написана Moritz Bunkus <moritz@bunkus.org>.\n" -"Вихідні коди і останні файли завжди доступні на\n" +"Програмний код і останні скомпільовані збірки завжди доступні на\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "&Перервати" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "&Про програму" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "&Про програму\tF1" -#: src/mmg/mmg_dialog.cpp:263 -#: src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" -msgstr "&Додати до черги завдання" +msgstr "&Додати до черги завдань" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "&Вкладення\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" -msgstr "&Редактор голів" +msgstr "&Редактор розділів" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" -msgstr "&Редактор голів\tAlt-4" +msgstr "&Редактор розділів\tAlt-4" + +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "&Перевірити наявність оновлень програми" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "&Закрити" #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" @@ -887,19 +871,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "&Згорнути всі записи\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" -msgstr "&Копіювати командний рядок у буфер обміну" +msgstr "&Копіювати командний рядок до буферу обміну" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" -msgstr "&Скопіювати в буфер обміну" +msgstr "&Скопіювати до буферу обміну" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "&Вимкнути" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "&Вниз" @@ -907,86 +891,86 @@ msgid "&Expand all entries\tCtrl-E" msgstr "&Розгорнути всі записи\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "&Розгорнути важливі елементи\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 +#: src/mmg/mmg_dialog.cpp:299 #: src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "&Файл" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" -msgstr "&Глобальні опції\tAlt-3" +msgstr "&Загальні налаштування\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" -msgstr "&Заголовний редактор\tCtrl-E" +msgstr "&Редактор заголовків \tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 +#: src/mmg/mmg_dialog.cpp:303 #: src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "&Допомога" -#: src/mmg/mmg_dialog.cpp:276 +#: src/mmg/mmg_dialog.cpp:293 #: src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "&Довідка\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" -msgstr "&Вхід\tAlt-1" +msgstr "&На вході\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "&Завантажити" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" -msgstr "&Завантажити настроювання\tCtrl-L" +msgstr "&Завантажити налаштування\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "&Керування завданнями\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "&Мультиплексування" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "&Новий\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" -msgstr "&Нові голови" +msgstr "&Нові розділи" -#: src/mmg/jobs.cpp:100 -#: src/mmg/jobs.cpp:385 -#: src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "&OK" #: src/mmg/header_editor/frame.cpp:142 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "&Відкрити\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" -msgstr "&Опції" +msgstr "&Налаштування" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 #: src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "&Вихід\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" -msgstr "&Повторно включити" +msgstr "&Повторно ввімкнути" #: src/mmg/header_editor/frame.cpp:144 msgid "&Reload\tCtrl-R" @@ -996,8 +980,8 @@ msgid "&Reset" msgstr "&Скинути" -#: src/mmg/jobs.cpp:390 -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "&Зберегти" @@ -1005,69 +989,69 @@ msgid "&Save\tCtrl-S" msgstr "&Зберегти\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "&Зберегти інформацію як текст\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "&Зберегти налаштування\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" -msgstr "&Запустити" +msgstr "&Розпочати виконання" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" -msgstr "&На початок" +msgstr "&Вгору" #: src/mmg/header_editor/frame.cpp:149 msgid "&Validate\tCtrl-T" msgstr "&Затвердити\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "&Перевірити" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" -msgstr "&Перегляд журналу" +msgstr "&Переглянути журнал" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "&Вікно" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" -msgstr "'%1%' можуть бути використані лише з ім'ям файлу. Жодних інших варіантів не допустимі, якщо цей параметр використовується.\n" +msgstr "'%1%' може бути використано лише з ім'ям файлу. Жодні інші варіанти не допустимі, якщо цей параметр використовується.\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" -msgstr "'%1%' не містять дійсний блок ('s', 'ms', 'us' або 'ns') в '%2% %3%'.\n" +msgstr "'%1%' не містить(містять) вірний блок ('s', 'ms', 'us' або 'ns') в '%2% %3%'.\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%' є аргументом для непідтримуваних --compression. Доступні методи стиснення 'none' і 'zlib'.\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' є непідтримуваним аргументом для --compression. Доступні методи стиснення: %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" -msgstr "'%1%' є аргументом для непідтримуваних --cues.\n" +msgstr "'%1%' є непідтримуваним аргументом для --cues.\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" -msgstr "'%1%' відсутня назва файлу.\n" +msgstr "'%1%' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не є ні дійсним ISO639-2 ні дійсним ISO639-1 код у '--chapter-language %1%'. Подивися 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" +msgstr "'%1%' не є ні вірним ISO639-2, ні ISO639-1 кодом для '--chapter-language %1%'. Продивіться 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не є ні дійсним ISO639-2 ні дійсним ISO639-1 код у '--default-language %1%'. Подивися 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" +msgstr "'%1%' не є ні вірним ISO639-2, ні ISO639-1 кодом для '--default-language %1%'. Продивіться 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" -msgstr "'%1%' не є ні дійсним ISO639-2 ні дійсним ISO639-1 код. Подивися 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" +msgstr "'%1%' не є ні вірним ISO639-2, ні ISO639-1 кодом. Продивіться 'mkvmerge --list-languages' для отримання списку всіх мов і їх ISO639-2 кодів.\n" #: src/common/chapters/chapters.cpp:184 #: src/common/chapters/chapters.cpp:201 @@ -1078,7 +1062,7 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "'%1%' не є CHAPTERxxNAME =... лінією." -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "'%1%' не є допустимим %2% в '%3% %4%'.\n" @@ -1086,417 +1070,417 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "'%1%' не є допустимим ISO639-2 кодом мови." -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" -msgstr "'%1%' не є правильним додати режим в '--append-mode %1%'.\n" +msgstr "'%1%' не є правильним режимом приєднання в '--append-mode %1%'.\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" -msgstr "'%1%' не є допустимим блок додаткових max в '--blockadd %2%'.\n" +msgstr "'%1%' не є допустимим блоком додаткових 'max' в '--blockadd %2%'.\n" #: src/common/chapters/xml_parser.cpp:132 msgid "'%1%' is not a valid ccTLD country code." -msgstr "'%1%' не є допустимим ccTLD код країни." +msgstr "'%1%' не є допустимим ccTLD кодом країни." -#: src/merge/mkvmerge.cpp:1152 -#: src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" -msgstr "'%1%' не є допустимим ID файлом в '--track-order %2%'.\n" +msgstr "'%1%' не є допустимим ID файлу в '--track-order %2%'.\n" #: src/common/hacks.cpp:87 msgid "'%1%' is not a valid hack.\n" -msgstr "'%1%' не повний працівник.\n" +msgstr "'%1%' не є вірним застосуванням.\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" -msgstr "'%1%' не є коректним відображенням файлів і доріжок IDs в '--append-to %2%'.\n" +msgstr "'%1%' не є коректним відображенням ID файлів і доріжок в '--append-to %2%'.\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" -msgstr "'%1%' не дійсна пара файлу ID і доріжки ID в '--track-order %2%'.\n" +msgstr "'%1%' не є вірною парою ID файлу і доріжки в '--track-order %2%'.\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" -msgstr "'%1%' не є допустимим пару доріжок ID і блок додаткових в '--blockadd %1%'.\n" +msgstr "'%1%' не є допустимою парою ID доріжоки і блоку додаткового в '--blockadd %1%'.\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" -msgstr "'%1%' не є допустимим класу пріоритетних.\n" +msgstr "'%1%' не є допустимим класом пріоритету.\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" -msgstr "'%1%' не є допустимої доріжкою ID в '--blockadd %2%'.\n" +msgstr "'%1%' не є допустимим ID доріжки в '--blockadd %2%'.\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" -msgstr "'%1%' не є допустимої доріжкою ID в '--default-duration %2%'.\n" +msgstr "'%1%' не є допустимим ID доріжки в '--default-duration %2%'.\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" -msgstr "'%1%' не є допустимої доріжкою ID в '--nalu-size-length %2%'.\n" +msgstr "'%1%' не є допустимим ID доріжки в '--nalu-size-length %2%'.\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" -msgstr "'%1%' не є допустимим кортеж доріжок ID і NALU розмір довжини в '--nalu-size-length %1%'.\n" +msgstr "'%1%' не є допустимим набором ID доріжок і довжин NALU size в '--nalu-size-length %1%'.\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" -msgstr "'%1%' не є допустимим кортеж доріжок ID і за замовчуванням тривалість в '--default-duration %1%'.\n" +msgstr "'%1%' не є допустимим набором ID доріжок і типових тривалостей в '--default-duration %1%'.\n" #: src/extract/extract_cli_parser.cpp:136 msgid "'%1%' is only allowed when extracting chapters.\n" -msgstr "'%1%' допускається тільки при витяганні голови.\n" +msgstr "'%1%' допускається тільки при витяганні розділів.\n" #: src/extract/extract_cli_parser.cpp:133 msgid "'%1%' is only allowed when extracting tracks.\n" -msgstr "'%1%' допускається тільки при витяганні треків.\n" +msgstr "'%1%' допускається тільки при витяганні доріжок.\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" -msgstr "'%1%' відсутня назва файлу.\n" +msgstr "'%1%' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:1842 -#: src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" -msgstr "'%1%' не вистачає свого аргументу.\n" +msgstr "'%1%' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" -msgstr "'%1%' не вистачає FourCC.\n" +msgstr "'%1%' не містить FourCC.\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" -msgstr "'%1%' відсутні затримки.\n" +msgstr "'%1%' не містить затримки.\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" -msgstr "'%1%' відсутня назва файлу.\n" +msgstr "'%1%' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" -msgstr "'%1%' відсутня ID доріжки.\n" +msgstr "'%1%' не містить ID доріжки.\n" -#: src/merge/mkvmerge.cpp:1880 -#: src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 -#: src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" -msgstr "'%1%' відсутній номер(а) доріжок.\n" +msgstr "'%1%' не містить номер(а) доріжок(и).\n" -#: src/common/output.cpp:127 -#: src/common/output.cpp:140 -#: src/common/output.cpp:153 -#: src/common/output.cpp:174 +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%' доріжка %2%: %3%" -#: src/common/output.cpp:120 -#: src/common/output.cpp:133 -#: src/common/output.cpp:146 -#: src/common/output.cpp:163 +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%': %2%" #: src/common/mm_multi_file_io.cpp:165 -#: src/mmg/tabs/input.cpp:741 +#: src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" -msgstr "'%1%': Обробка наступні файли, а також: %2%\n" +msgstr "'%1%': Обробка наступних файлів, а також: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" -msgstr "'--append-mode' не вистачає свого аргументу.\n" +msgstr "'--append-mode' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" -msgstr "'--append-to' не вистачає свого аргументу.\n" +msgstr "'--append-to' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" -msgstr "'--aspect-ratio' не вистачає пропорцій.\n" +msgstr "'--aspect-ratio' не містить значення співвідношення сторін екрану.\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" -msgstr "'--aspect-ratio-factor' відсутній фактор пропорцій.\n" +msgstr "'--aspect-ratio-factor' не містить коефіцієнту співвідношення сторін екрану.\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" -msgstr "'--attachment-description' відсутній опис.\n" +msgstr "'--attachment-description' не містить опису.\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" -msgstr "'--attachment-mime-type' відсутня MIME тип.\n" +msgstr "'--attachment-mime-type' не містить MIME-тип.\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" -msgstr "'--attachment-name' відсутня ім'я.\n" +msgstr "'--attachment-name' не містить назви.\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" -msgstr "'--blockadd' не вистачає свого аргументу.\n" +msgstr "'--blockadd' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" -msgstr "'--chapter-charset' не вистачає кодування.\n" +msgstr "'--chapter-charset' не містить набору символів.\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" -msgstr "'--chapter-charset' може бути дана тільки один раз в '--chapter-charset %1%'.\n" +msgstr "'--chapter-charset' може бути задано тільки одного разу в '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" -msgstr "'--chapter-charset' повинні бути надані до '--chapters' в '--chapter-charset %1%'.\n" +msgstr "'--chapter-charset' повинно бути задано перед '--chapters' в '--chapter-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" -msgstr "'--chapter-language' не вистачає мови.\n" +msgstr "'--chapter-language' не містить мови.\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" -msgstr "'--chapter-language' може бути дана тільки один раз в '--chapter-language %1%'.\n" +msgstr "'--chapter-language' може бути задано тільки одного разу в '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" -msgstr "'--chapter-language' повинні бути надані до '--chapters' в '--chapter-language %1%'.\n" +msgstr "'--chapter-language' повинно бути задано перед '--chapters' в '--chapter-language %1%'.\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" -msgstr "'--chapters' відсутня назва файлу.\n" +msgstr "'--chapters' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" -msgstr "'--cluster-length' не вистачає довжини.\n" +msgstr "'--cluster-length' не містить значення довжини.\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" -msgstr "'--command-line-charset' відсутній аргумент.\n" +msgstr "'--command-line-charset' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" -msgstr "'--compression' не вистачає свого аргументу.\n" +msgstr "'--compression' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" -msgstr "'--cropping' не вистачає обрізки параметрів.\n" +msgstr "'--cropping' не містить параметрів обрізки.\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" -msgstr "'--cue-chapter-name-format' не вистачає формату.\n" +msgstr "'--cue-chapter-name-format' не містить формату.\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" -msgstr "'--cue-chapter-name-format' повинні бути надані до '--chapters'.\n" +msgstr "'--cue-chapter-name-format' повинно бути занадано перед '--chapters'.\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" -msgstr "'--cues' не вистачає свого аргументу.\n" +msgstr "'--cues' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" -msgstr "'--default-duration' не вистачає свого аргументу.\n" +msgstr "'--default-duration' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" -msgstr "'--default-language' не вистачає свого аргументу.\n" +msgstr "'--default-language' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" -msgstr "'--default-track' не вистачає свого аргументу.\n" +msgstr "'--default-track' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" -msgstr "'--display-dimensions' не вистачає розмірів.\n" +msgstr "'--display-dimensions' не містить розмірів.\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" -msgstr "'--engage' не вистачає свого аргументу.\n" +msgstr "'--engage' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" -msgstr "'--forced-track' не вистачає свого аргументу.\n" +msgstr "'--forced-track' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" -msgstr "'--global-tags' відсутня назва файлу.\n" +msgstr "'--global-tags' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" -msgstr "'--language' не вистачає свого аргументу.\n" +msgstr "'--language' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" -msgstr "'--link' має сенс тільки в поєднанні з '--split'.\n" +msgstr "'--link' має сенс використовувати тільки в поєднанні з '--split'.\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" -msgstr "'--link-to-next' не вистачає наступного UID.\n" +msgstr "'--link-to-next' не містить наступного UID.\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" -msgstr "'--link-to-previous' недоліки попередніх UID.\n" +msgstr "'--link-to-previous' не містить попереднього UID.\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" -msgstr "'--nalu-size-length' не вистачає свого аргументу.\n" +msgstr "'--nalu-size-length' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" -msgstr "'--priority' не вистачає свого аргументу.\n" +msgstr "'--priority' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" -msgstr "'--segment-uid' відсутній сегмент UID.\n" +msgstr "'--segment-uid' не містить UID сегменту.\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" -msgstr "'--segmentinfo' відсутня назва файлу.\n" +msgstr "'--segmentinfo' не містить назви файлу.\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" -msgstr "'--split' не вистачає розміру.\n" +msgstr "'--split' не містить розміру.\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" -msgstr "'--split-max-files' не вистачає кількох файлів.\n" +msgstr "'--split-max-files' не містить кількості файлів.\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" -msgstr "'--stereo-mode' не вистачає свого аргументу.\n" +msgstr "'--stereo-mode' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" -msgstr "'--sub-charset' не вистачає свого аргументу.\n" +msgstr "'--sub-charset' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" -msgstr "'--timecode-scale' не вистачає свого аргументу.\n" +msgstr "'--timecode-scale' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" -msgstr "'--timecode-scale' була використана більше одного разу.\n" +msgstr "'--timecode-scale' було використано більше одного разу.\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" -msgstr "'--timecodes' не вистачає свого аргументу.\n" +msgstr "'--timecodes' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" -msgstr "'--title' не вистачає назви.\n" +msgstr "'--title' не містить власного найменування.\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" -msgstr "'--track-name' не вистачає свого аргументу.\n" +msgstr "'--track-name' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" -msgstr "'--track-order' не вистачає свого аргументу.\n" +msgstr "'--track-order' не містить власного аргументу.\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" -msgstr "'--track-order' може бути дана тільки один раз.\n" +msgstr "'--track-order' може бути задано тільки одного разу.\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" -msgstr "'-A' і '-a' використовують той же вихідний файл.\n" +msgstr "'-A' і '-a' використовували той же вхідний файл.\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" -msgstr "'-B' і '-b' використовують той же вихідний файл.\n" +msgstr "'-B' і '-b' використовували той же вхідний файл.\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" -msgstr "'-D' і '-d' використовують той же вихідний файл.\n" +msgstr "'-D' і '-d' використовували той же вхідний файл.\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" -msgstr "'-S' і '-s' використовують той же вихідний файл.\n" +msgstr "'-S' і '-s' використовували той же вхідний файл.\n" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:394 +#: src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" -msgstr "'За замовчуванням трек' flag" +msgstr "прапорець 'Типова доріжка'" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:401 +#: src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" -msgstr "'Примусовий дисплей' flag" +msgstr "прапорець 'Примусові розміри відображення'" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" -msgstr "'Трек включений' flag" +msgstr "прапорець 'Доступність доріжки'" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(Невідомий елемент: %1%; ID: 0x%2% розмір: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" -msgstr "(новий файл голови)" +msgstr "(новий файл розділу)" #: src/common/xml/element_parser.cpp:56 msgid "(none)" -msgstr "(жоден)" +msgstr "(не задано)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" -msgstr "(безіменні голови)" +msgstr "(безіменні розділи)" -#: src/mmg/tabs/chapters.cpp:880 -#: src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 -#: src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" -msgstr "(безіменний)" +msgstr "(не названо)" #: src/input/r_flac.cpp:179 msgid "+-> Parsing the FLAC file. This can take a LONG time.\n" -msgstr "+-> Розбір FLAC файлу. Це може зайняти багато часу.\n" +msgstr "+-> Аналіз файлу FLAC. Це може зайняти БАГАТО часу.\n" #: src/input/r_flac.cpp:214 msgid "+-> Pre-parsing FLAC file: %1%%%%2%" -msgstr "+-> Попередній аналіз FLAC файлу: %1%%%%2%" +msgstr "+-> Попередній аналіз файлу FLAC: %1%%%%2%" #: src/input/r_flac.cpp:235 msgid "+-> Pre-parsing FLAC file: 100%\n" -msgstr "+-> Попередній аналіз FLAC файлу: 100%\n" +msgstr "+-> Попередній аналіз файлу FLAC: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", опис '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", назва файлу '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", завершено %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", позиція %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" -msgstr ", розпочався %s" +msgstr ", розпочато %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" -msgstr "--- Почати роботу %d (%s, додано %s)" +msgstr "--- Завдання %d (%s, додано %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" -msgstr "--- Закінчити роботу %d" +msgstr "--- Завдання %d" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" -msgstr "--- Ні роботи знайшли вихід.\n" +msgstr "--- Не знайдено вихідних данних завдання.\n" #: src/mmg/options/languages.cpp:46 #: src/mmg/tabs/input_general.cpp:159 @@ -1505,15 +1489,19 @@ #: src/mmg/tabs/input_general.cpp:144 msgid "---common---" -msgstr "---загальний---" +msgstr "---загальновживані---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length REPLACEME" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" msgstr "--timecode-scale REPLACEME" #: src/mmg/tabs/global.cpp:239 msgid "...after this duration:" -msgstr "...після цієї тривалості:" +msgstr "...після цієї позиції:" #: src/mmg/tabs/global.cpp:236 msgid "...after this size:" @@ -1523,19 +1511,19 @@ msgid "...after timecodes:" msgstr "...після тайм-кодів:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: всі кадри" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 байти" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" -msgstr "2: кодек особисті дані" +msgstr "2: специфічні дані кодека" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 байти" @@ -1547,105 +1535,103 @@ #: src/common/xml/element_parser.cpp:285 #: src/common/xml/element_parser.cpp:348 msgid "<%1%> is not a valid child element of <%2%>." -msgstr "<%1%> не є допустимим елементом <%2%>." +msgstr "<%1%> не є допустимим дочірнім елементом <%2%>." #: src/common/chapters/xml_parser.cpp:85 msgid "<ChapterAtom> is missing the <ChapterTimeStart> child." -msgstr "<ChapterAtom> відсутня <ChapterTimeStart>." +msgstr "<ChapterAtom> пропускає складову <ChapterTimeStart>." #: src/common/chapters/xml_parser.cpp:107 msgid "<ChapterDisplay> is missing the <ChapterString> child." -msgstr "<ChapterDisplay> відсутня <ChapterString>." +msgstr "<ChapterDisplay> пропускає складову <ChapterString>." #: src/common/chapters/xml_parser.cpp:99 msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." -msgstr "<ChapterTrack> відсутня <ChapterTrackNumber>." +msgstr "<ChapterTrack> пропускає складову <ChapterTrackNumber>." -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" -msgstr "Блоку група опинилася в положенні %1%, але не блок елемент був знайдений усередині нього. Це може зробити mkvmerge аварію.\n" +msgstr "Група блоків знайдена на позиції %1%, але жодного елементу-блоку не було знайдено усередині. Це може призвести mkvmerge до аварійної ситуації .\n" -#: src/input/r_matroska.cpp:1961 -#: src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" -msgstr "Блок був знайдений на мітку %1% за номер треку %2%. Тим не менше, заголовки не знайдені для цього номеру треку. Блоку будуть пропущені.\n" +msgstr "Блок був знайдений на позиції %1% для номеру треку %2%. Тим не менше, заголовки не знайдені для цього номеру треку. Блок буде пропущено.\n" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." -msgstr "Зручна для сприйняття людиною рядок, що визначає кодек." +msgstr "Зручний для сприйняття людиною рядок, який визначає кодек." #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." -msgstr "Зручний для сприйняття людиною назву треку." +msgstr "Зручна для сприйняття людиною назва треку." -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" -msgstr "Робота з описом '%s' вже існує. Ви дійсно хочете додати ще одну з тим же опис?" +msgstr "Робота з описом '%s' вже існує. Ви дійсно хочете додати ще одну з тим же описом?" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:340 +#: src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." msgstr "" -"Випадковий унікальний ID для визначення поточного\n" -"сегмента між багатьма іншими (128 bits)." +"Унікальний ID, генерований випадково, для визначення поточного\n" +"сегмента з-поміж багатьох інших (128 біт)." -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "Доріжка" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" -msgstr "Доріжка з ID %1% була запитана, але не знайшов в цьому файлі. Відповідний параметр буде проігнорований.\n" +msgstr "Був запит на доріжку з ID %1%, але вона не була знайдена в цьому файлі. Відповідний параметр буде проігнорований.\n" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:391 +#: src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" "of the Track to another file." msgstr "" -"Унікальний ID для ідентифікації Трека. Це повинно бути\n" -"всі при створенні прямого потоку копії\n" -"Треку в інший файл." +"Унікальний ID для ідентифікації Доріжки. Він повинен бути\n" +"збережений тим самим при безпосередньому копіюванні\n" +"Доріжки до іншого файлу." #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:348 +#: src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." msgstr "" -"Унікальний ID для визначення наступного\n" -"сегмента (128 bits)." +"Унікальний ID для ідентифікації наступного\n" +"сегмента (128 біт)." #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:344 +#: src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." msgstr "" -"Унікальний ID для визначення попереднього\n" -"сегмента (128 bits)." +"Унікальний ID для ідентифікації попереднього\n" +"сегмента (128 біт)." -#: src/mmg/tabs/input.cpp:232 -#: src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (aka AC3)" -#: src/mmg/tabs/input.cpp:233 -#: src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (Advanced Audio Coding)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" -msgstr "AAC файли можуть містити HE-AAC / AAC+ / SBR AAC аудіо. Це не може бути визначена автоматично. Тому ви повинні вказати '--aac-is-sbr 0' вручну, для цього вихідного файлу, якщо він дійсно містить SBR AAC. Файл при об'єднанні в неправильному напрямку, в іншому випадку. Також читайте у документації mkvmerge.\n" +msgstr "AAC файли можуть містити HE-AAC / AAC+ / SBR AAC аудіо. Це не може бути визначено автоматично. Тому, ви повинні вказати '--aac-is-sbr 0' вручну для цього вхідного файлу, якщо він дійсно містить SBR AAC. В іншому випадку, файл буде змультиплексовано невірно. Більше читайте у документації mkvmerge.\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC є SBR/HE-AAC/AAC+" @@ -1654,49 +1640,43 @@ "ASCII string (no special chars like\n" "Umlaute etc)" msgstr "" -"ASCII рядок (без спеціальних символів, як\n" +"ASCII рядок (без спеціальних символів, як то\n" "Umlaute і т.д.)" -#: src/mmg/tabs/input.cpp:234 -#: src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/H.264 елементарні потоки" -#: src/mmg/tabs/input.cpp:235 -#: src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (Audio/Video Interleaved)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "Перервати" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "Перервати після поточного завдання" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" -msgstr "Перервати після обробки поточного завдання" +msgstr "Перервати обробку після поточного завдання" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "Перервати процес мультиплексування прямо зараз" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" -msgstr "Перервати обробку %s" +msgstr "Перервано обробку завдання %s" #: src/info/qt_ui.cpp:125 -#: src/info/wxwidgets_ui.cpp:354 +#: src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "Про mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "Про mkvmerge GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "Дії" @@ -1705,13 +1685,13 @@ msgid "Add" msgstr "Додати" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "&Додати параметри командного рядка" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" -msgstr "Додати голову" +msgstr "Додати розділ" #: src/mmg/cli_options_dlg.cpp:24 msgid "Add command line options" @@ -1721,47 +1701,47 @@ msgid "Add element" msgstr "Додати елемент" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" -msgstr "Додати ім'я" +msgstr "Додати назву" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "Додати підрозділ" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "Додано" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "Додатковий ID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "Додатки" #: src/propedit/propedit_cli_parser.cpp:148 msgid "Adds a property with the value even if such a property already exists" -msgstr "Додає властивість із значенням, навіть якщо таке вже існує" +msgstr "Додає параметр із значенням, навіть якщо такий вже існує" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" -msgstr "Додає поточні настройки як новий запис роботи черги завдань" +msgstr "Додаються поточні налаштування як запис нового завдання до черги завдань" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" -msgstr "Відрегулювати главу тайм-кодів" +msgstr "Налаштувати тайм-коди розділу" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" -msgstr "Відрегулювати тайм-коди" +msgstr "Налаштувати тайм-коди" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" -msgstr "Після завантаження файл розширює найважливіші елементи" +msgstr "Після завантаження файлу розгорнути найважливіші елементи" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "Алгоритм: %1% (%2%)" @@ -1773,757 +1753,788 @@ msgid "All Files (*.*)|*.*" msgstr "Всі файли (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." -msgstr "Всі глави записи є дійсними." +msgstr "Всі записи розділу є коректними." -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." -msgstr "Усі заголовки значення ОК." +msgstr "Усі значення заголовків є вірними." #: src/propedit/propedit_cli_parser.cpp:85 msgid "All known property names and their meaning\n" -msgstr "Всі відомі імена властивостей та їх значення\n" +msgstr "Всі відомі назви параметрів та їх трактовка\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "Всі підтримувані файли|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska файли (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM файли (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Всі файли|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "Всі підтримувані файли|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska файли (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM файли (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|Всі файли|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "Всі підтримувані медіа-файли|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" -msgstr "Дозволяє зберігати AVC/h.264 у відео для Windows в режимі сумісності, наприклад, коли читав з AVI" +msgstr "Дозволяє зберігати AVC/h.264 відео в режимі сумісності Video-for-Windows, наприклад, коли зчитується з AVI" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." -msgstr "Дозволяє використовувати елемент CodecState. Це використовується для MPEG-1/-2 відеодоріжки для зберігання послідовності заголовків." +msgstr "Дозволяє використовувати елемент CodecState. Це використовується у MPEG-1/-2 відеодоріжках для зберігання заголовків послідовності." #: src/extract/extract_cli_parser.cpp:73 msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." -msgstr "Крім того, спробуйте витягти CUE лист з інформацією голови і мітки для цієї доріжки." +msgstr "Крім того, намагатися витягти CUE-лист з інформації розділів і тегів для цієї доріжки." -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "Завжди поверх інших вікон" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." -msgstr "ID відповідний кодек." +msgstr "ID відповідно кодека." -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "Вкладення з ID %1% не було знайдено.\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" -msgstr "Пусте ім'я файлу не виконується.\n" +msgstr "Не заповнена назва файлу некоректно.\n" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." msgstr "" -"Втекли відповідність імені файлу\n" +"Втрачена назва файлу відповідно\n" "до наступного сегменту." #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." msgstr "" -"Втекли відповідність імені файлу\n" +"Втрачена назва файлу відповідно\n" "до попереднього сегменту." -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." -msgstr "Невідома помилка. Файл було змінено." +msgstr "Сталася невідома помилка. Файл було змінено." #: src/mmg/wx_kax_analyzer.cpp:35 msgid "Analysis is running" msgstr "Виконується аналіз" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." -msgstr "Аналіз MPEG4 потоки бітів, покласти кожен кадр в один блок Matroska, використовувати належні таймштампінг (I P B B = 0 120 40 80), використання V_MPEG4/ISO/... CodecIDs." +msgstr "Аналізувати MPEG4 бітові потоки, розміщувати кожен кадр в одному блоці Matroska, використовувати вірні часові мітки (I P B B = 0 120 40 80), використовувати V_MPEG4/ISO/... CodecIDs." -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" -msgstr "Інша доріжка за замовчуванням для %1% доріжки вже були встановлені. 'За замовчуванням' прапор доріжки %2% з '%3%' не будуть встановлені.\n" +msgstr "Інша типова доріжка для %1% доріжок вже була встановлена. Прапорець 'Типова доріжка' для доріжок %2% з '%3%' не було встановлено.\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." -msgstr "Інший мультиплексування роботу в ще триває. Будь ласка, почекайте, поки вона не завершена, або перервати її уручну, перш ніж починати нове." +msgstr "Інше завдання щодо мультиплексування ще триває. Будь ласка, почекайте, поки воно завершиться, або перервіть його вручну, перш ніж починати нове." -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." -msgstr "Додавання доріжки з файлу в інший трек з того ж файлу, не допускається. Це має місце для треків число %u і %u." +msgstr "Додавання доріжки з файлу до іншої доріжки цього ж файлу не допускається. Це стосується доріжок номер %u і %u." -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" -msgstr "Додавання доріжки %1% з файлу немає. %2% ('%3%') до доріжки %4% з файлу немає. %5% ('%6%').\n" +msgstr "Приєднання доріжки %1% з файлу номер %2% ('%3%') до доріжки %4% з файлу номер %5% ('%6%').\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" -msgstr "Питати перед перезаписом (файли, робочі місця)" +msgstr "Питати перед перезаписом (файлів, завдань)" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" -msgstr "Формат зображення" +msgstr "Співвідношення сторін екрану" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" -msgstr "Фактор формату зображення" +msgstr "Коефіцієнт співвідношення сторін екрану" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" -msgstr "Тип формату зображення: %1%%2%" +msgstr "Тип співвідношення сторін екрану: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" -msgstr "Формат зображення:" +msgstr "Співвідношення сторін екрану:" #: src/common/chapters/xml_parser.cpp:51 msgid "At least one <ChapterAtom> element is needed." -msgstr "Принаймні, один <ChapterAtom> елемент потрібно." +msgstr "Потрібен принаймні один <ChapterAtom> елемент." #: src/common/xml/element_parser.cpp:382 msgid "At least one <EditionEntry> element is needed." -msgstr "Принаймні, один <EditionEntry> елемент потрібно." +msgstr "Потрібен принаймні один <EditionEntry> елемент." #: src/extract/extract_cli_parser.cpp:91 msgid "Atatchment extraction" -msgstr "Витяг програми" +msgstr "Витягнення вкладень" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" -msgstr "Приєднаний" +msgstr "Приєднано" #: src/mmg/tabs/attachments.cpp:152 msgid "Attached files" -msgstr "Прикріплені файли" +msgstr "Вкладені файли" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" -msgstr "Приєднання ID %1%: тип '%2%', розмір %3% байт" +msgstr "ID вкладення %1%: тип '%2%', розмір %3% байт" #: src/mmg/tabs/attachments.cpp:163 msgid "Attachment style:" -msgstr "Стиль прикріплення:" +msgstr "Стиль вкладення:" -#: src/mmg/mmg_dialog.cpp:286 +#: src/mmg/mmg_dialog.cpp:306 #: src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "Вкладення" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" -msgstr "Звукова бітова глибина" +msgstr "Бітова глибина аудіо" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" -msgstr "Аудіо канали" +msgstr "Канали аудіо " #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" -msgstr "Аудіо вихід частота дискретизації" +msgstr "Вихідна частота дискретизації аудіо " #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" -msgstr "Аудіо частота дискретизації" +msgstr "Частота дискретизації аудіо" #: src/mmg/header_editor/track_type_page.cpp:46 #, c-format msgid "Audio track %u" msgstr "Звукова доріжка %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" -msgstr "Автоматична установка вихідного файлу" +msgstr "Автоматичне встановлення назви вихідного файлу" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" -msgstr "Автоматичне розпізнавання MIME типу для '%1%': %2%\n" +msgstr "Автоматичне розпізнавання MIME-типу для '%1%': %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" -msgstr "Автоматично сприятливих WebM дотримання режиму через вихідного файлу з розширенням.\n" +msgstr "Автоматичне ввімкнення режиму сумісності WebM у відповідності до типу назви вихідного файлу.\n" #: src/mmg/cli_options_dlg.cpp:36 msgid "Available options:" msgstr "Доступні опції:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "Доступні переклади:\n" -#: src/common/compression.cpp:204 -#: src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "Доступна версія:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" -msgstr "BZ2_bzCompressInit() не вдалося. Результат: %1%\n" +msgstr "BZ2_bzCompressInit() перервано. Результат: %1%\n" #: src/mmg/header_editor/value_page.cpp:148 msgid "Binary (displayed as hex numbers)" -msgstr "Binary (відображається у вигляді шістнадцяткових чисел)" +msgstr "Двійковий (відображається у вигляді шістнадцяткових чисел)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "Розрядність: %1%" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." -msgstr "Біти у вибірці, в основному використовується для PCM." +msgstr "Бітів у вибірці, в основному використовується для PCM." -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" -msgstr "Block (номер треку %1%, %2% кадр(и), тайм-код %|3$.3f|s = %4%)" +msgstr "Блок (номер треку %1%, %2% кадр(и)(ів), тайм-код %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" -msgstr "Додатковий блок ID: %1%" +msgstr "Додатковий ID блоку: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "Додатковий блок: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" -msgstr "Блок тривалості: %1%.%|2$06d|ms" +msgstr "Тривалість блоку: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 -#: src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" -msgstr "Блок групи" +msgstr "Група блоків " -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "Віртуальний блок: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" -msgstr "Підроблена допомогу %1%\n" +msgstr "Фіктивна допомога %1%\n" #: src/mmg/header_editor/value_page.cpp:149 msgid "Boolean (yes/no, on/off etc)" -msgstr "Boolean (так/ні, вкл/викл та т.д.)" - -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "Обидва очі" +msgstr "Бульова змінна (так/ні, ввімк./вимк. і т.д.)" #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" -msgstr "Обидві пропорції і '--display-dimensions' дати.\n" +msgstr "Було задано і співвідношення сторін екрану, і розміри відображення '--display-dimensions'.\n" #: src/merge/pr_generic.cpp:191 msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" -msgstr "Обидва фактори пропорцій і '--display-dimensions' дати.\n" +msgstr "Було задано і коефіцієнт співвідношення сторін екрану, і розміри відображення '--display-dimensions' дати.\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" -msgstr "Відкриває редактор черги завдань" +msgstr "Відкрити редактор черги завдань" -#: src/mmg/mmg_dialog.cpp:291 +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 #: src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 #: src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 #: src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 -#: src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "Огляд" #: src/extract/extract_cli_parser.cpp:108 msgid "CUE sheet extraction" -msgstr "CUE листове витяг" +msgstr "Витягнення CUE-списку" + +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "Підраховувати і відображати контрольні суми і використовувати рівень докладності 4." + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "Обчислення і відображення контрольних сум наповнень кадру." #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" -msgstr "Не вдалося перетворити немісцевих MPEG4 відео кадрів у рідних, якщо вихідний контейнер не забезпечує ні тайм-кодів, ні кількість кадрів в секунду.\n" +msgstr "Не має можливості перетворювати ненативні MPEG4 відео кадри у нативні, якщо вихідний контейнер не забезпечує підтримки ні тайм-кодів, ні кількості кадрів в секунду.\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" -msgstr "е вдається витягувати треки різних видів в одному файлі. Це було запропоновано для треків %1% і %2%.\n" +msgstr "Не вдається витягнути треки різних видів до одного файла. Це стосувалось доріжок %1% і %2%.\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "Не вдається запустити другу роботу мультиплексування" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" -msgstr "Неможливо записати трек %1% з CodecID '%2%' файл '%3%' тому що трек %4% з CodecID '%5%' вже записуються в той же файл, і їх CodecPrivate даних (USF стилів і т. д.) не збігаються.\n" +msgstr "Неможливо записати доріжку %1% з CodecID '%2%' до файлу '%3%', тому що доріжка %4% з CodecID '%5%' вже записується в той же файл, і їх спицифічні дані CodecPrivate (USF-стилі і т.д.) не збігаються.\n" #: src/extract/xtr_avi.cpp:46 -#: src/extract/xtr_base.cpp:64 #: src/extract/xtr_ivf.cpp:53 -#: src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" -msgstr "Неможливо записати трек %1% з CodecID '%2%' файл '%3%' тому що трек %4% з CodecID '%5%' вже записуються в той же файл.\n" +msgstr "Неможливо записати доріжку %1% з CodecID '%2%' до файлу '%3%', тому що доріжка %4% з CodecID '%5%' вже записується в той же файл.\n" #: src/common/kate.cpp:82 msgid "Category is not NUL terminated" -msgstr "Категорія не завершену нулем" +msgstr "Категорія не завершена NUL-символом" -#: src/extract/timecodes_v2.cpp:357 -#: src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" -msgstr "Спіймана виключення" +msgstr "Зафіксоване виключення" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." -msgstr "Причини mkvmerge додати 'зупинити відображення' команди субтитрів VobSub пакунки, які не містять поле Тривалість." +msgstr "Спонукає mkvmerge додавати команди 'stop display' до пакетів субтитрів VobSub, які не містять поля тривалості." #: src/propedit/change.cpp:207 msgid "Change for '%1%' executed. No property of this type found. One entry added.\n" -msgstr "Зміни для '%1%' виконується. Ні властивості цього типу знайшли. Всього один запис.\n" +msgstr "Зміни для '%1%' набули чинності. Жодного параметру цього типу не знайдено. Додано один запис.\n" #: src/propedit/change.cpp:187 msgid "Change for '%1%' executed. Number of entries deleted: %2%\n" -msgstr "Зміни для '%1%' виконується. Кількість записів видалені: %2%\n" +msgstr "Зміни для '%1%' набули чинності. Кількість видалених записів: %2%\n" #: src/propedit/change.cpp:213 msgid "Change for '%1%' executed. Number of entries set: %2%.\n" -msgstr "Зміни для '%1%' виконується. Кількість записів набору: %2%\n" +msgstr "Зміни для '%1%' набули чинності. Кількість створених записів: %2%\n" #: src/propedit/change.cpp:224 msgid "Change for '%1%' executed. One entry added.\n" -msgstr "Зміни для '%1%' виконується. Всього один запис.\n" +msgstr "Зміни для '%1%' набули чинності. Додано один запис.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" -msgstr "Зміна mmg уподобання і параметри" +msgstr "Змінити налаштування і опції mmg" #: src/mmg/options/languages.cpp:88 msgid "Changes to this list do not take effect until mmg is restarted." -msgstr "Зміни в цей список не наберуть чинності до mmg буде перезапущений." +msgstr "Зміни до цього списку набудуть чинності лише після перезапуску mmg." -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" -msgstr "Положення каналу: %1%" +msgstr "Розподіл каналів: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "Канали: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" -msgstr "Редактор голів" +msgstr "Редактор розділів" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" -msgstr "Перекладач голів" +msgstr "Переклад розділів" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" -msgstr "Кодек перекладача голів: %1%" +msgstr "Кодек перекладу розділів: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" -msgstr "Випуск UID перекладача голів: %1%" +msgstr "UID додатку перекладу розділів: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" -msgstr "ID Перекладача голів: %1%" +msgstr "ID перекладу розділів: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" -msgstr "Редактор голів не порожній" +msgstr "Редактор розділів не порожній" #: src/extract/extract_cli_parser.cpp:100 msgid "Chapter extraction" -msgstr "Витяг голови" +msgstr "Витягнення розділів" #: src/mmg/tabs/global.cpp:274 msgid "Chapter file:" -msgstr "Файл голови:" +msgstr "Файл розділу:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" -msgstr "Файли голови (*.xml)|*.xml|%s" +msgstr "Файли розділів (*.xml)|*.xml|%s" #: src/mmg/tabs/global.cpp:329 #, c-format msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -msgstr "Файли голови (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" +msgstr "Файли розділів (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "Файли голови (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "Файли розділів (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" -msgstr "Назви голови та мови" +msgstr "Назви та мови розділів" #: src/mmg/options/chapters.cpp:70 msgid "Chapter options" -msgstr "Варіанти голови" +msgstr "Опції використання розділів" #: src/common/chapters/xml_parser.cpp:75 msgid "Chapter parser: The ChapterUID %1% is not unique and could not be reused. A new one will be created.\n" -msgstr "Аналізатор глав: ChapterUID %1% не є унікальним і не може бути використаний повторно. Буде створений новий.\n" +msgstr "Аналізатор розділів: ChapterUID %1% не є унікальним і не може бути використаний повторно. Буде створений новий.\n" #: src/common/chapters/xml_parser.cpp:65 msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" -msgstr "Аналізатор глав: EditionUID %1% не є унікальним і не може бути використаний повторно. Буде створений новий.\n" +msgstr "Аналізатор розділів: EditionUID %1% не є унікальним і не може бути використаний повторно. Буде створений новий.\n" -#: src/mmg/tabs/chapters.cpp:759 -#: src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 -#: src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" -msgstr "Помилка перевірки голови" +msgstr "Помилка перевірки розділу" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" -msgstr "Перевірка голови вдалася" +msgstr "Перевірка розділу пройшла успішно" #: src/mmg/options/chapters.cpp:130 #: src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" -msgstr "Глави" +msgstr "Розділи" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" -msgstr "Глави (%d записи) з %s" +msgstr "Розділи (%d записи) з %s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" -msgstr "Глави, не допускаються в WebM сумісних файлів. Ні голови будуть написані в будь-якій вихідний файл.\n" +msgstr "Розділи не допускаються в сумісних WebM файлах. Жодного розділу не буде записано до будь-якого вихідного файлу.\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." -msgstr "Глави завантажені." +msgstr "Розділи завантажені." -#: src/mmg/tabs/chapters.cpp:721 -#: src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." -msgstr "Глави написані." +msgstr "Розділи записані." -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" -msgstr "Глави:" +msgstr "Розділи:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" -msgstr "Глави: %1% записи" +msgstr "Розділи: %1% запис(и)(ів)" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" -msgstr "Кодування для рядків в командному рядку" +msgstr "Набір символів для рядків командного рядка" +#: src/mmg/tabs/input_format.cpp:249 #: src/mmg/tabs/global.cpp:282 -#: src/mmg/tabs/input_format.cpp:248 msgid "Charset:" -msgstr "Кодування:" +msgstr "Набір символів:" + +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "Перевіряти наявність останньої версії онлайн" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "Перевірити наявність останньої версії онлайн." + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "Перевіряти наявність нової версії MKVToolNix на домашній веб-сторінці. Перевірка здійснюватиметься при старті mmg і не більше одного раза на день. Ніяка інформація не передається до сервера." + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "Йде перевірка наявності оновлень онлайн; будь ласка, зачекайте" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" -msgstr "Виберіть файл голови" +msgstr "Оберіть файл розділу" #: src/mmg/tabs/input_general.cpp:275 msgid "Choose a tag file" -msgstr "Виберіть файл тегів" +msgstr "Оберіть файл тегів" #: src/mmg/tabs/input_general.cpp:289 msgid "Choose a timecodes file" -msgstr "Виберіть файл тайм-кодів" +msgstr "Оберіть файл тайм-кодів" #: src/mmg/tabs/attachments.cpp:193 msgid "Choose an attachment file" -msgstr "Виберіть файл вкладення" +msgstr "Оберіть файл вкладення" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" -msgstr "Вибір вхідного файлу" +msgstr "Оберіть вхідний файл" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" -msgstr "Оберіть вхідний файл щоб додати" +msgstr "Оберіть вхідний файл, щоб додати його" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" -msgstr "Оберіть вхідний файл щоб докласти" +msgstr "Оберіть вхідний файл, щоб приєднати його" -#: src/mmg/jobs.cpp:401 -#: src/mmg/mmg_dialog.cpp:314 -#: src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 -#: src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 -#: src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" -msgstr "Виберіть вихідний файл" +msgstr "Оберіть вихідний файл" #: src/mmg/tabs/global.cpp:328 msgid "Choose the chapter file" -msgstr "Виберіть файл голови" +msgstr "Оберіть файл розділу" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" -msgstr "Виберіть розташування допомогою mkvmerge GUI файли" +msgstr "Оберіть розташування файлів допомоги mkvmerge GUI" #: src/mmg/options/mkvmerge.cpp:103 msgid "Choose the mkvmerge executable" -msgstr "Виберіть виконуваний mkvmerge" +msgstr "Оберіть виконуваний файл mkvmerge" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" -msgstr "Виберіть вихідний каталог" +msgstr "Оберіть вихідну теку" #: src/mmg/tabs/global.cpp:318 msgid "Choose the segment info file" -msgstr "Виберіть файл інформації сегмента" +msgstr "Оберіть файл інформації сегмента" #: src/mmg/tabs/global.cpp:308 msgid "Choose the tags file" -msgstr "Виберіть файл мітки" +msgstr "Оберіть файл тегу" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" -msgstr "Очистити входи після успішного запуску мультиплексування" +msgstr "Очистити список вхідних файлів після успішного запуску мультиплексування" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" -msgstr "Очистити входи після додавання завдання на черги завдань" +msgstr "Очистити список вхідних файлів після додавання завдання до черги завдань" #: src/mmg/header_editor/frame.cpp:145 msgid "Close the current file without saving" msgstr "Закрити поточний файл без збереження" -#: src/extract/timecodes_v2.cpp:259 -#: src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "Кластер" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "Довжина кластеру '%1%' поза досяжністю (0..65535).\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "Довжина кластеру '%1%' поза досяжністю (100..32000).\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" -msgstr "Кластер позиції: %1%" +msgstr "Позиція кластера: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" -msgstr "Кластер колишнього розміру: %1%" +msgstr "Розмір попереднього кластера: %1%" -#: src/extract/timecodes_v2.cpp:274 -#: src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" -msgstr "Кластер тайм-коду: %|1$.3f|s" +msgstr "Тайм-код кластера: %|1$.3f|s" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" -msgstr "Кодек ID" +msgstr "ID кодека" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" -msgstr "Кодек ID: %1%" +msgstr "ID кодека: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" -msgstr "Кодек декодувати всі: %1%" +msgstr "Кодек може декодувати пошкодж. дані: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" -msgstr "Кодек скачати URL: %1%" +msgstr "URL завантаження кодека: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" -msgstr "Кодек інформація URL: %1%" +msgstr "URL інформації про кодек: %1%" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "Назва кодека" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "Назва кодека: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "Установки кодека: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "Стан кодека: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "CodecPrivate, довжина %1%%2%" #: src/mmg/header_editor/frame.cpp:148 msgid "Collapse all entries so that none of their sub-entries will be shown" -msgstr "Згорнути всі записи так, що ніхто їх не відповідні записи будуть показані" +msgstr "Згорнути всі записи так, щоб жоден з їх дочірніх записів не було показано" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" -msgstr "Колірний простір: %1%" +msgstr "Модель кольору: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." -msgstr "Командний рядок копіюється в буфер обміну." +msgstr "Командний рядок скопійований до буферу обміну." #: src/mmg/cli_options_dlg.cpp:57 msgid "Command line options:" msgstr "Параметри командного рядка:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." -msgstr "Командний рядок збережена." +msgstr "Командний рядок збережено." -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" -msgstr "Командний рядок використовується:" +msgstr "Командний рядок, що використовується:" #: src/mmg/options/languages.cpp:79 msgid "Common languages" -msgstr "Загальні мови" +msgstr "Загальновживані мови" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" -msgstr "Стиснення не вдалося: %1%\n" +msgstr "Стиснення перервано: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 -#: src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "Стиснення:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." -msgstr "Конфігурація очищається." +msgstr "Конфігурацію очищено." -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." -msgstr "Конфігурація завантажена." +msgstr "Конфігурацію завантажено." -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "Параметри були збережені." -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" -msgstr "Стиснення змісту" +msgstr "Стиснення вмісту" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" -msgstr "Кодування вмісту" +msgstr "Процес кодування вмісту" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" -msgstr "Кодування вмісту" +msgstr "Набір символів вмісту" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" -msgstr "Шифрування змісту" +msgstr "Шифрування вмісту" #: src/extract/extract_cli_parser.cpp:72 msgid "Convert text subtitles to this charset (default: UTF-8)." -msgstr "Конвертувати текстові субтитри на це кодування (за замовчуванням: UTF-8)." +msgstr "Конвертувати текстові субтитри до цього набору символів (типово: UTF-8)." -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" -msgstr "Копіювати командний рядок у буфер обміну" +msgstr "Копіювати командний рядок до буферу обміну" #: src/extract/xtr_cpic.cpp:54 msgid "CorePicture frame %1% has an invalid header size %2%.\n" -msgstr "CorePicture кадр %1% недійсний розмір заголовка %2%.\n" +msgstr "Кадр CorePicture %1% має невірний розмір заголовка %2%.\n" #: src/extract/xtr_cpic.cpp:47 msgid "CorePicture frame %1% not supported.\n" -msgstr "CorePicture кадр %1% не підтримується.\n" +msgstr "Кадр CorePicture %1% не підтримується.\n" -#: src/mmg/jobs.cpp:178 -#: src/mmg/mux_dialog.cpp:129 -#: src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." -msgstr "Не вдалося створити тимчасовий файл для команди mkvmerge лінія варіант називається '%s' (помилка коду %d, %s)." +msgstr "Не вдалося створити тимчасовий файл для опції '%s' командного рядка mkvmerge (код помилки %d, %s)." -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "Не вдалося створити файл '%s'." -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "Не вдалося створити вказаний файл." #: src/common/xml/element_parser.cpp:154 msgid "Could not decode the Base64 encoded data - it seems to be malformed." -msgstr "Не вдалося декодувати Base64 кодовані дані - це, здається, неправильно." +msgstr "Не вдалося декодувати закодовані Base64 дані - вони, здавалося б, невірні." -#: src/input/r_avi.cpp:327 -#: src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" -msgstr "Неможливо отримати декодер конкретних даних конфігурації (AVCC) з цього AVC/H.264 трек.\n" +msgstr "Неможливо отримати специфічні дані налаштувань декодера (AVCC) з цієї доріжки AVC/H.264.\n" -#: src/input/r_avi.cpp:277 -#: src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" -msgstr "Неможливо одержати послідовність заголовок цього MPEG-1/2 треки.\n" +msgstr "Неможливо одержати заголовок послідовності цієї доріжки MPEG-1/2.\n" #: src/input/r_mp3.cpp:40 msgid "Could not find a valid MP3 packet." -msgstr "Не вдалося знайти дійсний MP3 пакет." +msgstr "Не вдалося знайти корректний пакет MP3." -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" -msgstr "Не знайшов індекс для звукової доріжки %1% (avilib повідомлення про помилку: %2%). Пропуск треку.\n" +msgstr "Не знайдено індекс для звукової доріжки %1% (avilib повідомлення про помилку: %2%). Пропуск треку.\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" -msgstr "Не знайшов gptzr, коли додавання. %1%\n" +msgstr "Не знайдено gptzr при приєднанні. %1%\n" #: src/output/p_mpeg4_p2.cpp:181 msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" -msgstr "Не вдається знайти кодек даних конфігурації в першу MPEG-4, частина 2 відео кадр. Цей трек не можуть бути збережені у власному режимі.\n" +msgstr "Не вдається знайти даних конфігурації кодека в першому кадрі відео MPEG-4 part 2. Ця доріжка не може бути збережена в нативному режимі.\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" -msgstr "Не вдалося знайти на наступній сторінці Ogg. Це вказує на пошкоджений OGG/OGM файл. Постараюся продовжити.\n" +msgstr "Не вдалося знайти наступну сторінку Ogg. Це вказує на пошкоджений OGG/OGM файл. Спроба продовжити.\n" + +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "Не вдалося знайти коректний заголовок DTS серед перших кадрів доріжки.\n" #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" -msgstr "Не вдалося ініціалізувати Iconv бібліотека для перетворення %1% у UFT-8. Деякі рядки не будуть перетворені в UTF-8 і в результаті Matroska файл не може відповідати специфікації Matroska (помилка: %2%, %3%).\n" +msgstr "Не вдалося ініціалізувати iconv бібліотеку для перетворення з %1% у UFT-8. Деякі рядки не будуть перетворені в UTF-8 і результуючий файл Matroska не буде повністю відповідати специфікації Matroska (помилка: %2%, %3%).\n" #: src/common/locale.cpp:140 msgid "Could not initialize the iconv library for the conversion from UFT-8 to %1%. Some strings cannot be converted from UTF-8 and might be displayed incorrectly (error: %2%, %3%).\n" -msgstr "Не вдалося ініціалізувати Iconv бібліотека для перетворення UFT-8 у %1%. Деякі рядки не можуть бути перетворені з UTF-8 і може відображатися неправильно (помилка: %2%, %3%).\n" +msgstr "Не вдалося ініціалізувати iconv бібліотеку для перетворення з UFT-8 у %1%. Деякі рядки не можуть бути перетворені з UTF-8 і можуть відображатися неправильно (помилка: %2%, %3%).\n" #: src/common/chapters/chapters.cpp:303 #: src/common/chapters/chapters.cpp:305 @@ -2531,270 +2542,270 @@ msgid "Could not open '%1%' for reading.\n" msgstr "Не вдалося відкрити '%1%' для читання.\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." -msgstr "Не можу відкрити буфер обміну." +msgstr "Не вдалося відкрити буфер обміну." #: src/input/r_wavpack.cpp:79 msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "Не вдалося відкрити відповідний файл корекції '%1%c'.\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "Не вдалося відкрити файл призначення '%s' для запису. Код помилки: %d (%s)." -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" -msgstr "Не вдалося відкрити файл '%1%' для того, щоб направити висновок.\n" +msgstr "Не вдалося відкрити файл '%1%' для того, щоб направити на вихід.\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "Не вдалося відкрити файл тайм-коду '%1%' для запису (%2%).\n" #: src/common/xml/element_parser.cpp:147 msgid "Could not open/read the file '%1%'." -msgstr "Не можу відкрити/прочитати файл '%1%'." +msgstr "Не вдалося відкрити/прочитати файл '%1%'." #: src/common/chapters/chapters.cpp:299 msgid "Could not parse the chapters in '%1%': %2%\n" -msgstr "Не вдалося розібрати голови в '%1%': %2%\n" +msgstr "Не вдалося розібрати розділи у '%1%': %2%\n" #: src/input/r_ogm_flac.cpp:255 msgid "Could not read the FLAC header packets.\n" -msgstr "Не вдалося прочитати заголовок FLAC пакетів.\n" +msgstr "Не вдалося прочитати заголовки пакетів FLAC.\n" +#: src/common/mm_io_win.cpp:167 #: src/common/mm_io.cpp:181 -#: src/common/mm_io_win.cpp:166 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "Не вдалося записати у вихідний файл: %1% (%2%)\n" #: src/mmg/options/chapters.cpp:89 -#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "Країна:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "&Створити файл конфігурації" #: src/mmg/tabs/global.cpp:300 msgid "Create WebM compliant file" -msgstr "Створити WebM сумісний файл" +msgstr "Створити сумісний WebM файл" #: src/mmg/tabs/global.cpp:301 msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." -msgstr "Створити WebM сумісний файл. mkvmerge також включається, якщо це на розширення ім'я вихідного файлу є \"webm\". Цей режим забезпечує ряд обмежень. Допускається тільки кодеки VP8 відео та аудіо Vorbis треків. Ні голови, ні теги дозволені. Doctype пункту заголовок змінено на \"webm\"." +msgstr "Створити сумісний WebM файл. mkvmerge також задіє даний режим, якщо тип вихідного файлу є \"webm\". Цей режим забезпечує ряд обмежень. Допускаються тільки кодеки VP8 для відео та Vorbis для аудіо доріжок. Заборонене використання і заголовків, і тегів. Пункт заголовку Doctype буде змінено на \"webm\"." -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" -msgstr "Створити новий файл голови" +msgstr "Створити новий файл розділу" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" -msgstr "Підрізання параметрів: не даний у формі <TID>:<left>,<top>,<right>,<bottom> наприклад 0:10,5,10,5 (параметр був '%1%').\n" +msgstr "Параметри обрізки: не задані у формі <TID>:<зліва>,<згори>,<справа>,<знизу> наприклад, 0:10,5,10,5 (аргумент був '%1%').\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "Обрізка:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "Номер блоку Cue: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Положення кластеру Cue: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" -msgstr "Cue кодек стан: %1%" +msgstr "Стан кодека Cue: %1%" #: src/mmg/tabs/global.cpp:286 msgid "Cue name format:" -msgstr "Cue формат імені:" +msgstr "Формат назви Cue:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" -msgstr "Cue точка" +msgstr "Точка Cue" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" -msgstr "Cue реф кластер: %1%" +msgstr "ref кластер Cue: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" -msgstr "Cue реф кодек стан: %1%" +msgstr "ref стан кодека Cue: %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" -msgstr "Cue реф номер: %1%" +msgstr "ref номер Cue: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" -msgstr "Cue реф час: %|1$.3f|s" +msgstr "ref час Cue: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "Cue посилання" #: src/common/chapters/cue_parser.cpp:398 msgid "Cue sheet parser: Invalid INDEX entry in line %1%.\n" -msgstr "Cue лист аналізатор: Невірний індекс вступу відповідно %1%.\n" +msgstr "Аналізатор Cue-списків: Невірний INDEX-запис у рядку %1%.\n" #: src/common/chapters/cue_parser.cpp:417 msgid "Cue sheet parser: Invalid INDEX number (got %1%, expected %2%) in line %3%,\n" -msgstr "Cue лист аналізатор: Невірний код (отримав %1%, очікуваний %2%) у рядку %3%,\n" +msgstr "Аналізатор Cue-списків: Невірний номер INDEX (отримано %1%, очікувалось %2%) у рядку %3%,\n" #: src/common/chapters/cue_parser.cpp:279 msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" -msgstr "Cue лист аналізатор: немає знайшли покажчика на попередній запису треку (поточного рядка: %1%)\n" +msgstr "Аналізатор Cue-списків: Жодного запису INDEX не знайдено для попереднього запису TRACK (поточний рядок: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "Cue час: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "Позиція Cue треку" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "Cue трек: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" -msgstr "Cues (подстатьі будуть пропущені)" +msgstr "Cues (дочірні записи будуть пропущені)" #: src/mmg/tabs/input_extra.cpp:50 -#: src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" -msgstr "Cues:" +msgstr "Cue-списки:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" -msgstr "Поточні і минулі завдання:" +msgstr "Поточні і виконані завдання:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" -msgstr "Поточна командна рядок" +msgstr "Поточний командний рядок" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" -msgstr "ID поточний роботи %d:" +msgstr "ID поточного завдання %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" -msgstr "ID поточний роботи 1000:" +msgstr "ID поточного завдання 1000:" #: src/mmg/header_editor/value_page.cpp:166 msgid "Current value:" msgstr "Поточне значення:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "Поточна версія:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "&Видалити" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (Digital Theater System)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" -msgstr "DTS заголовок змінився! - Новий формат:\n" +msgstr "Інформація DTS заголовку змінилася! - Новий формат:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (Digital Theater System)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" -msgstr "DTS_Header проблема: закодовані за допомогою нової версії несумісний кодіровщік\n" +msgstr "Проблема DTS_Header: закодовано за допомогою нової, несумісної версії кодера\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" -msgstr "DTS_Header проблема: неправильний основної частоти дискретизації\n" +msgstr "Проблема DTS_Header: невірна частота дискретизації ядра\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" -msgstr "DTS_Header проблема: неправильний байт кадру\n" +msgstr "Проблема DTS_Header: невірний розмір байтів кадру\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" -msgstr "DTS_Header проблема: невірне число блоків у кадрі\n" +msgstr "Проблема DTS_Header: невірне число блоків у кадрі\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" -msgstr "DTS_Header проблема: неправильний резолюції PCM джерело\n" +msgstr "Проблема DTS_Header: невірна роздільна здатність початкового PCM\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" -msgstr "DTS_Header проблема: не достатньо даних, щоб прочитати заголовок\n" +msgstr "Проблема DTS_Header: не достатньо даних, щоб прочитати заголовок\n" #: src/common/xml/element_parser.cpp:238 msgid "Data is not allowed inside <%1%>." -msgstr "Дані не пустили <%1%>." +msgstr "Дані не допускаються у <%1%>." -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" -msgstr "Дата (неприпустимий, значення: %1%)" +msgstr "Дата (невірна, значення: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "Дата: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "Налагодження> " -#: src/mmg/tabs/input_format.cpp:193 -#: src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 msgid "Default" -msgstr "За замовчуванням" +msgstr "Типово" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:417 +#: src/mmg/header_editor/frame.cpp:419 msgid "Default duration" -msgstr "За замовчуванням тривалість" +msgstr "Типова тривалість" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" -msgstr "За замовчуванням тривалість: %|1$.3f|ms (%|2$.3f| fps для видео дорожки)" +msgstr "Типова тривалість: %|1$.3f|мс (%|2$.3f| кадрів_за_с для відео доріжки)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" -msgstr "За замовчуванням прапор: %1%" +msgstr "Прапорець типового використання: %1%" #: src/mmg/tabs/input_general.cpp:183 msgid "Default track flag:" -msgstr "За замовчуванням прапор треку:" +msgstr "Прапорець типової доріжки:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" -msgstr "Затримка (в ms):" +msgstr "Затримка (в мс):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." -msgstr "Затримка тайм-кодів цієї доріжки на кілька ms. Може бути негативно. Роботи з усіма типами доріжки, але негативні затримки не повинні використовуватися з відеодоріжки." +msgstr "Затримка тайм-кодів цієї доріжки на кілька мс. Може бути від'ємною. Застосовується до усіх типів доріжок, але від'ємні затримки не повинні використовуватися для відеодоріжок." -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" -msgstr "Затримка: %|1$.3f|ms" +msgstr "Затримка: %|1$.3f|мс" #: src/propedit/propedit_cli_parser.cpp:151 msgid "Delete all occurences of a property" -msgstr "Видаліть всі входження властивості" +msgstr "Видалити всі входження параметру" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" -msgstr "Видаліть вбрання завдання(я) з черги завдання" +msgstr "Видалити вибране(і) завдання з черги завдань" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "Опис" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "Опис вже існує" @@ -2804,153 +2815,157 @@ msgid "Description:" msgstr "Опис:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac елементарний потік" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "Типово вимкнути використання стиснення (з усуненням) заголовків для доріжок аудіо і відео" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" -msgstr "Вимкнути вибраний роботу (и) та встановлює статус на 'Готово'" +msgstr "Вимкнути вибране(і) завдання та встановити їх статус як 'завершено'" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "Заборонити використання SimpleBlocks замість BlockGroups." -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." -msgstr "Відключення зшивання на всіх напрямах. Це дозволить збільшити розмір файлу, особливо якщо багато звукових доріжок. Використовувати тільки для тестування." +msgstr "Відключається зшивання для всіх доріжок. Це призведе до збільшення розміру файлу, особливо, якщо багато звукових доріжок. Використовувати бажано тільки для тестування." -#: src/merge/mkvmerge.cpp:683 -#: src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" -msgstr "Розміри дисплея: не задані у вигляді <TID>:<width>x<height>, наприклад 1:640x480 (параметр був '%1%').\n" +msgstr "Розміри відображення: не задані у вигляді <TID>:<ширина>x<висота>, наприклад, 1:640x480 (аргумент був '%1%').\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" -msgstr "Висота дисплея: %1%" +msgstr "Висота відображення: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" -msgstr "Дисплейний блок: %1%%2%" +msgstr "Блок відображення: %1%%2%" #: src/mmg/header_editor/frame.cpp:150 msgid "Display usage information" -msgstr "Інформація використання дисплея" +msgstr "Відобразити довідкову інформацію" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" -msgstr "Ширина/висота дисплея:" +msgstr "Ширина/висота відображення:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" -msgstr "Ширина дисплея: %1%" +msgstr "Ширина відображення: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." -msgstr "Не додати запис, за головами в мета-пошук елемента." +msgstr "Не додавати запис для розділів в елемент мета-пошуку." -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." -msgstr "Не писати мета шукати елементи на всіх." +msgstr "Не писати взагалі елементи мета-пошуку." -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" -msgstr "Тип документа читав версію: %1%" +msgstr "Версія документа для читання: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" -msgstr "Версія типу документа: %1%" +msgstr "Версія документа: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "Тип документа: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" #: src/extract/extract_cli_parser.cpp:66 msgid "Don't write variable parts to output files (only for debugging)." -msgstr "Не пишіть змінної частин для виведення файлів (тільки для налагодження)." +msgstr "Не записувати змінні частини до вихідних файлів (тільки для відлагодження)." #: src/propedit/propedit.cpp:108 msgid "Done.\n" msgstr "Зроблено.\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "URL завантаження:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" -msgstr "Тривалість: %|1$.3f|ms" +msgstr "Тривалість: %|1$.3f|мс" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" -msgstr "Тривалість: %|1$.3f|s (%2%)" +msgstr "Тривалість: %|1$.3f|с (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "&Вихід\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" -msgstr "EBML голова" +msgstr "Заголовок EBML" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML максимальна довжина ID: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML максимальна довжина розміру: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" -msgstr "EBML читати версію: %1%" +msgstr "Версія EBML для читання: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" -msgstr "EBML версія: %1%" +msgstr "Версія EBML: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" -msgstr "Зло внутрішньої помилки! (Невідомий тип файлу). %1%\n" +msgstr "EVIL(дуже серйозна) внутрішня помилка! (невідомий тип файлу). %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." -msgstr "У кожній главі, і кожне видання має унікальний ідентифікатор. Цей ідентифікатор, як правило, присвоюється автоматично програми, але його можна змінити вручну, якщо це дійсно необхідно." +msgstr "Кожний розділ і кожний додаток має унікальний ідентифікатор. Цей ідентифікатор, як правило, присвоюється автоматично програмою, але його можна змінити вручну, якщо це дійсно необхідно." -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." -msgstr "Кожен випуск має містити як мінімум одну голову." +msgstr "Кожен додаток має містити як мінімум один розділ." -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "EbmlVoid (розмір: %1%)" #: src/propedit/propedit_cli_parser.cpp:159 msgid "Edit selectors" -msgstr "Змінити селектори" +msgstr "Редагувати селектори" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" -msgstr "Видання %d" +msgstr "Додаток %d" -#: src/mmg/tabs/chapters.cpp:870 -#: src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" -msgstr "Вхід Видання %u" +msgstr "Запис Додатку %u" #: src/propedit/propedit.cpp:63 msgid "Element %1% is written.\n" -msgstr "Елемент %1% написано.\n" +msgstr "Елемент %1% записано.\n" #: src/propedit/propedit_cli_parser.cpp:91 msgid "Element types:\n" -msgstr "Елемент типу:\n" +msgstr "Типи елемента:\n" #: src/info/qt_ui.cpp:55 msgid "Elements" @@ -2962,34 +2977,34 @@ #: src/mmg/tabs/global.cpp:233 msgid "Enable splitting..." -msgstr "Включити розбиття..." +msgstr "Ввімкнути розбиття..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" -msgstr "Включено: %1%" +msgstr "Ввімкнено: %1%" #: src/mmg/tabs/global.cpp:234 msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." -msgstr "Дозволяє розщеплення вихід на більш ніж один файл. Ви можете розділити після закінчення певного розміру, після певної кількості часу пройшло у кожному файлі або після список тайм-кодів." +msgstr "Дозволяється розділення на виході на більш ніж один файл. Ви можете розділяти, спираючись на заданий розмір, задану кількість часу, що минув, для кожного файлу, або на заданий список тайм-кодів." -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" -msgstr "Криптоалгоритмами: %1% (%2%)" +msgstr "Алгоритм шифрування: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" -msgstr "Ключ шифрування ID: %1%" +msgstr "ID ключа шифрування: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "Кінець:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "Англійська назва мови" #: src/info/qt_ui.cpp:130 -#: src/info/wxwidgets_ui.cpp:245 +#: src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "Помилка" @@ -2997,92 +3012,92 @@ msgid "Error %1%\n" msgstr "Помилка %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" -msgstr "Помилка в рядку %1%: очікується лінія SRT тайм-коду, але знайти що-небудь інше. Переривання цього файлу.\n" +msgstr "Помилка в рядку %1%: очікувалась лінія тайм-коду в SRT, але знайдено було щось інше. Переривання обробки даного файлу.\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" -msgstr "Помилка в рядку %1%: очікувана кількість субтитрів і знайти який-небудь текст.\n" +msgstr "Помилка в рядку %1%: очікувалась певне число субтитрів, а знайдено деякий текст.\n" #: src/common/xml/element_mapping.cpp:43 msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" -msgstr "Помилка ініціалізації таблиці для глави теги й елементи сегмента, інформація: Не вдалося знайти елемент з налагодження ім'я '%1%'. %2%\n" +msgstr "Помилка ініціалізації таблиць для розділів, тегів і елементів інформації сегментів: Не вдалося знайти елемент з відлагоджувальною назвою '%1%'. %2%\n" -#: src/mmg/mmg.cpp:217 -#: src/mmg/mmg_dialog.cpp:369 -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" -msgstr "Помилка, завантажуються параметри налаштування" +msgstr "Помилка завантаження налаштувань" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "Помилка при відкритті файлу" #: src/input/r_mpeg_ps.cpp:1044 msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" -msgstr "Помилка при розборі пакетів MPEG PS під час читання заголовків фази. Цей потік, як видається, серйозно пошкоджено.\n" +msgstr "Помилка при обробці пакетів MPEG PS під час фази читання заголовків. Цей потік, здається, серйозно пошкоджено.\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" -msgstr "Помилка при розборі файлу" +msgstr "Помилка при обробці файлу" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" -msgstr "Помилка при розборі позначки у '%1%': деякі обов'язкові елементи відсутні.\n" +msgstr "Помилка при обробці тегу у '%1%': деякі обов'язкові елементи відсутні.\n" #: src/info/qt_ui.cpp:77 msgid "Error saving the information" msgstr "Помилка при збереженні інформації" -#: src/mmg/header_editor/frame.cpp:690 -#: src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 -#: src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" -msgstr "Помилка запису у файл Matroska" +msgstr "Помилка запису файла Matroska" -#: src/common/output.cpp:68 -#: src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "Помилка:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " -msgstr "Помилка:" +msgstr "Помилка: " #: src/common/xml/element_parser.cpp:63 msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" -msgstr "Помилка: %1% збій аналізатора '%2%', рядок %3%, стовпець %4%: %5%\n" +msgstr "Помилка: %1% аналізатор зробив помилку відносно '%2%', рядок %3%, стовпець %4%: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "Помилка: не вдалося відкрити вхідний файл %1% (%2%).\n" -#: src/extract/timecodes_v2.cpp:180 -#: src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." -msgstr "Помилка: не знайшли голова EBML." +msgstr "Помилка: не знайдено заголовка EBML." -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" msgstr "" -"Помилка: немає імені вихідного файлу для отримання.\n" +"Помилка: не було задано назви вихідного файлу.\n" "\n" #: src/output/p_vorbis.cpp:63 msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" -msgstr "Помилка: vorbis_packetizer: Неможливо отримати параметри потоку з першого пакету.\n" +msgstr "Помилка: vorbis_packetizer: Неможливо витягнути параметри потоку з перших пакетів.\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "Помилки:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." -msgstr "Все пройшло відмінно." +msgstr "Все пройшло нормально." #: src/extract/extract_cli_parser.cpp:79 #: src/extract/extract_cli_parser.cpp:87 @@ -3096,23 +3111,23 @@ #: src/mmg/options/mkvmerge.cpp:105 #, c-format msgid "Executable files (*.exe)|*.exe|%s" -msgstr "Виконавчі файли (*.exe)|*.exe|%s" +msgstr "Виконувані файли (*.exe)|*.exe|%s" #: src/mmg/header_editor/frame.cpp:147 msgid "Expand all entries so that their sub-entries will be shown" -msgstr "Розгорнути всі записи, щоб їх суб-записи були показані" +msgstr "Розгорнути всі записи так, щоб були показані їх дочірні записи" #: src/common/xml/element_parser.cpp:111 msgid "Expected a time in the following format: HH:MM:SS.nnn (HH = hour, MM = minute, SS = second, nnn = millisecond up to nanosecond. You may use up to nine digits for 'n' which would mean nanosecond precision). You may omit the hour as well. Found '%1%' instead. Additional error message: %2%" -msgstr "Очікуваний час в такому форматі: HH:MM:SS.nnn (HH = годинник, MM = хвилини, SS = секунди, nnn = мілісекунд до наносекунди. Ви можете використовувати до дев'яти цифр для 'n', який буде означати, наносекундному точністю) . Ви можете пропустити годину, так як добре. Знайдено '%1%' замість. Додаткове повідомлення про помилку: %2%" +msgstr "Час заданий має бути в такому форматі: HH:MM:SS.nnn (HH = години, MM = хвилини, SS = секунди, nnn = мілісекунди аж до наносекунд. Ви можете використовувати до дев'яти цифр для 'n', що буде означати наносекундну точність). Ви можете пропускати години. Замість того знайдено '%1%'. Додаткове повідомлення про помилку: %2%" #: src/common/xml/element_parser.cpp:78 msgid "Expected an unsigned integer but found '%1%'." -msgstr "Очікувані беззнаковое ціле число, але знайшли '%1%'." +msgstr "Очікувалось беззнаковое ціле число, але знайдено '%1%'." #: src/extract/extract_cli_parser.cpp:102 msgid "Exports the chapter infomartion in the simple format used in OGM tools (CHAPTER01=... CHAPTER01NAME=...)." -msgstr "Експорт чолі інформації в простий формат, що використовується в інструменти OGM (CHAPTER01=... CHAPTER01NAME=...)." +msgstr "Експортувати інформацію розділів в простий формат, що використовується в утилітах OGM (CHAPTER01=... CHAPTER01NAME=...)." #: src/mmg/tabs/input.cpp:192 msgid "Extra options" @@ -3120,150 +3135,146 @@ #: src/extract/extract_cli_parser.cpp:76 msgid "Extract the data to a raw file including the CodecPrivate as a header." -msgstr "Отримання даних у файл у тому числі сирої CodecPrivate як заголовок." +msgstr "Витягувати дані у необроблений (сирий) файл у тому числі CodecPrivate як заголовок." #: src/extract/extract_cli_parser.cpp:75 msgid "Extract the data to a raw file." -msgstr "Отримання даних у сирій файл." +msgstr "Витягувати дані у необроблений (сирий) файл." -#: src/output/p_avc.cpp:128 -#: src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" -msgstr "Витягнуті інформації пропорції з MPEG-4 layer 10 (AVC) відео-даних і встановити дисплей з розмірами %1%/%2%.\n" +msgstr "Витягнути інформацію про співвідношення сторін екрану з відео MPEG-4 layer 10 (AVC) і встановити розміри відображення як %1%/%2%.\n" #: src/output/p_mpeg4_p2.cpp:338 msgid "Extracted the aspect ratio information from the MPEG4 layer 2 video data and set the display dimensions to %1%/%2%.\n" -msgstr "Витягнуті інформації пропорції від MPEG4 layer 2 відео-даних і встановити дисплей з розмірами %1%/%2%.\n" +msgstr "Витягнути інформацію про співвідношення сторін екрану з відео MPEG4 layer 2 і встановити розміри відображення як %1%/%2%.\n" #: src/output/p_theora.cpp:74 msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" -msgstr "Витягнуті інформації пропорції з заголовків Theora відео та встановити дисплей з розмірами %1%/%2%.\n" +msgstr "Витягнути інформацію про співвідношення сторін екрану з заголовків Theora відео і встановити розміри відображення як %1%/%2%.\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" -msgstr "Витяг трек %1% з CodecID '%2%' файл '%3%'. Контейнер формат: %4%\n" +msgstr "Витягнення треку %1% з CodecID '%2%' у файл '%3%'. Формат контейнера: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" -msgstr "Отримання номер треку %1% з CodecID '%2%' не підтримується.\n" +msgstr "Витягнення номера треку %1% з CodecID '%2%' не підтримується.\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (Free Lossless Audio Codec)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC аудіо без втрат" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" -msgstr "FPS:" +msgstr "Кадрів за секунду:" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "Не вдалося створити файл даних VobSub '%1%': %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 -#: src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "Не вдалося створити файл '%1%': %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "Не вдалося створити тимчасовий файл '%1%': %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" -msgstr "Не вдалося розібрати запис USF субтитрів на трек %1%: %2%\n" +msgstr "Не вдалося обробити запис USF субтитрів для доріжки %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" -msgstr "Не вдалося розібрати USF кодек особисті дані для доріжки %1%: %2%\n" +msgstr "Не вдалося обробити специфічні дані кодека USF для доріжки %1%: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" -msgstr "Не вдалося розібрати теги USF кінця в треку %1%: %2%\n" +msgstr "Не вдалося обробити тег закінчення USF для доріжки %1%: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" -msgstr "Рід UID:%1%" +msgstr "Сукупність UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" -msgstr "Файл %1% невідомого типу. Будь ласка, подивіться на підтримуваних типів файлів ('mkvmerge --list-types') і зв'язатися з автором Мориц Bunkus <moritz@bunkus.org>, якщо ваш тип файлу підтримується, але не визнаються належним чином.\n" +msgstr "Файл %1% має невідомий тип. Будь ласка, продивіться підтримувані типи файлів ('mkvmerge --list-types') і зв'яжіться з автором Moritz Bunkus <moritz@bunkus.org>, якщо ваш тип файлу підтримується, але не розпізнається належним чином.\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "Файл '%1%': контейнер: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" -msgstr "Файл '%1%': непідтримуваний контейнера: %2%\n" +msgstr "Файл '%1%': непідтримуваний контейнер: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" -msgstr "Файл UID: %1%" +msgstr "UID файла: %1%" -#: src/input/r_real.cpp:471 -#: src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" -msgstr "Файл містить меншу кількість кадрів, ніж очікувалося, або пошкоджений кадр %1%.\n" +msgstr "Файл містить меншу кількість кадрів, ніж очікувалося, або є пошкодженим після кадру %1%.\n" -#: src/mmg/mmg_dialog.cpp:765 -#: src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "Помилка створення файлу" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "Файл даних, розмір: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "Опис файлу: %1%" -#: src/mmg/tabs/input.cpp:401 -#: src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "Ідентифікувати файл не вдалося" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" -msgstr "Ідентифікувати файл не вдалося для '%s'. Код повернення: %d" +msgstr "Не вдалося ідентифікувати файл '%s'. Код повернення: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." -msgstr "Ідентифікувати файл не вдалося. Код повернення: %d. Помилка: %d (%s). Переконайтеся, що ви вибрали mkvmerge що виконується в діалозі налаштувань." +msgstr "Ідентифікувати файл не вдалося. Код повернення: %d. Помилка: %d (%s). Переконайтеся, що ви вибрали саме виконуваний файл mkvmerge в діалозі налаштувань." -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "Файл вже оброблений" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "Файл змінено" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" -msgstr "Файл: %1%" +msgstr "Назва файла: %1%" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" -msgstr "Не вдалося виконати розбір файлу" +msgstr "Не вдалося виконати обробку файлу" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" -msgstr "Файл видалення не представляється можливим" +msgstr "Видалення файла не є можливим" -#: src/mmg/header_editor/frame.cpp:702 -#: src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" -msgstr "Файлова структура попередження" +msgstr "Попередження файлової структури" #: src/mmg/tabs/global.cpp:261 msgid "File/segment linking" @@ -3271,25 +3282,25 @@ #: src/mmg/tabs/global.cpp:229 msgid "File/segment title:" -msgstr "Файл/сегмент назва:" +msgstr "Назва файла/сегмента:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" -msgstr "Файли не можуть бути включені до себе. Аргументом на користь '--append-to' є недійсним.\n" +msgstr "Файли не можуть бути приєднані самі до себе. Аргумент '--append-to' був некорректним.\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" -msgstr "Закінчена завдання ID %d на %s: статус '%s'" +msgstr "Завершено виконання завдання з ID %d на %s: статус '%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" -msgstr "Закінчений на" +msgstr "Завершено" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" -msgstr "Готові обробки на %s" +msgstr "Завершено обробку на %s" #: src/mmg/header_editor/value_page.cpp:147 msgid "Floating point number" @@ -3298,95 +3309,94 @@ #: src/mmg/tabs/global.cpp:270 #: src/mmg/tabs/global.cpp:272 msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." -msgstr "Для поглибленого файлу/сегмент взаємозв'язку і цієї можливості читайте в документації в mkvmerge." +msgstr "Щоб дізнатися більше про з'єднання файлів/сегментів і про дану опцію, читайте документацію mkvmerge." -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." -msgstr "Змушувати EBML стиль зшивання." +msgstr "Примусово задавати стиль зшивання EBML." -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." -msgstr "Змушувати Xiph стиль зшивання." +msgstr "Примусово задавати стиль зшивання Xiph." -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." -msgstr "Змушувати переклади для 'код' використовуватися." +msgstr "Примусово задавати використання перекладів для 'code'." -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" -msgstr "Примусовий прапор: %1%" +msgstr "Прапорець примусового використання: %1%" #: src/mmg/tabs/input_general.cpp:185 msgid "Forced track flag:" -msgstr "Примусовий прапор треку:" +msgstr "Прапор примусового використання доріжки:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." -msgstr "римусовий FourCC на треку відео до цього значення. Зверніть увагу, що це працює тільки для відео-треків, які використовують режим сумісності або AVI для треків QuickTime відео. Цей параметр не може бути використана для зміни CodecID Matroska's." +msgstr "Примусово встановлювати дане значення для FourCC доріжки відео. Зверніть увагу, що це працює тільки для доріжок відео, які використовують режим сумісності AVI або для доріжок QuickTime відео. Цей параметр НЕ МОЖЕ бути використаний для зміни CodecID для Matroska." -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." -msgstr "Примусовий читача Matroska використовувати загальний packetizer передачу навіть для відомих і підтримує трек типів." +msgstr "Примусово задавати використання читачем Matroska базового транзитного формувача пакетів навіть для відомих і тих, що підтримуються, типів доріжок." -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." -msgstr "Примусовий довжина NALU розмір певну кількість байт. Цей параметр доступний тільки для AVC/H.264 елементарних потоків читання файлів AVC/H.264 ES, AVI або Matroska файлів, створених з '--engage allow_avc_in_vwf_mode'. За замовчуванням використовується 4 байти, але Є файли, які не містять рамку або шматок, що більше, ніж 65535 байт. Для таких файлів, які ви можете використовувати цей параметр і зменшити розмір 2." +msgstr "Примусово задавати довжину NALU розміру певною кількістю байтів. Цей параметр доступний тільки для AVC/H.264 елементарних потоків, що зчитуються з файлів AVC/H.264 ES, AVI або Matroska файлів, створених з використанням ключа '--engage allow_avc_in_vwf_mode'. Типово використовується 4 байти, але є файли, які не містять кадр або шар, що є більшим, ніж 65535 байт. Для таких файлів ви можете використовувати цей параметр і зменшити розмір до 2." -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." -msgstr "Примусовий таймкод фактор масштабу REPLACEME. Ви повинні замінити REPLACEME на суму від 1000 до 10000000 або -1. Зазвичай mkvmerge буде використовувати значення 1000000 Це означає, що таймкодов і тривалість буде мати точність 1 мс. Для файлів, які не будуть містити відео-трек, но по крайней мере один звуковий mkvmerge трек буде автоматично вибирати коефіцієнт масштабу тимчасової код так, щоб усі таймкодов і тривалість мають точність одного зразка. Це викликає великі накладні витрати, але дозволяє точно пошуку та вилучення. Якщо магічне значення -1, то використовується mkvmerge буде використовувати зразок точності, навіть якщо відео доріжки присутня." +msgstr "Примусово встановлюється масштабний коефіцієнт тайм-кода для REPLACEME. Ви повинні замінити REPLACEME значенням в діапазоні від 1000 до 10000000 або -1. Зазвичай mkvmerge буде використовувати значення 1000000, тобто тайм-коди і тривалості будуть задаватися з точністю до 1 мс. Для файлів, які не будуть містити жодної доріжки відео, але принаймні одну звукову доріжку, mkvmerge буде автоматично вибирати масштабний коефіцієнт тайм-кода так, що усі тайм-коди і тривалості матимуть точність однієї вибірки (семплу). Це призводить до більших накладних витрат, але дозволяє здійснювати точний пошук і витягнення. Якщо використовується значення -1, то mkvmerge буде працювати з точністю до вибірки (семплу), навіть якщо доріжка відео присутня." #: src/mmg/tabs/input.cpp:191 msgid "Format specific options" -msgstr "Формат конкретні опції" +msgstr "Опції, спицифічні щодо вибраного формату даних" #: src/mpegparser/M2VParser.cpp:442 msgid "Found B frame without second reference in a non closed GOP. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Знайдено B кадр без другого заслання в не закритих GOP. Встановіть відео потік MPEG2 перш ніж спробувати мультиплексованих.\n" +msgstr "Знайдено B-кадр в не закритій GOP (групі зображень) без другого посилання. Необхідно виправити відео потік MPEG2 перш ніж намагатися мультиплексувати.\n" #: src/mpegparser/M2VParser.cpp:396 msgid "Found group of picture with broken link. You may want use smart reencode before attempting to multiplex it.\n" -msgstr "Знайдена група картин зі зламаною зв'язком. Ви можете використовувати розумне перекодування, перш ніж спробувати це мультиплексованих.\n" +msgstr "Знайдена група зображень із зіпсованим посиланням. Ви можете використати \"розумне\" перекодування, перш ніж намагатися мультиплексувати.\n" #: src/common/xml/element_parser.cpp:131 msgid "Found no encoded data nor '@file' to read binary data from." -msgstr "Не знайдені дані, закодовані або '@file' для читання бінарних даних." +msgstr "Не знайдено ані жодних закодованих даних, ані '@file' для зчитування двійкових даних." #: src/mpegparser/M2VParser.cpp:444 msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" -msgstr "Знайдено одного або більше B кадрів без другого заслання в перший GOP. Ви можете виправити MPEG2 потік відео або використовувати смарт-перекодувати, перш ніж намагатися його мультиплексованих.\n" +msgstr "Знайдено один або більше B-кадрів без другого посилання в першій GOP (групі зображень). Ви можете виправити MPEG2 потік відео або використати \"розумне\" перекодування, перш ніж намагатися мультиплексувати.\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" -msgstr "FourCC: Невірний трак ID в '%1% %2%'.\n" +msgstr "FourCC: Невірний ID доріжки в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" -msgstr "FourCC: Відсутній трак ID в '%1% %2%'.\n" +msgstr "FourCC: Відсутній ID доріжки в '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "Число кадрів: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "Частота кадрів: %1%" -#: src/info/mkvinfo.cpp:148 -#: src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "Кадр з розміром %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 -#: src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." -msgstr "Вільній формі текстове поле для призначених для користувача опцій для цього треку. Те, що ви тут введення додається після всіх інших варіантів mmg додає, так що ви могли б переписати будь-який mmg's в у спеціальних опцій для цього треку. Всі входження рядка \"<TID>\" буде замінений на трек трек ID." +msgstr "Поле для призначених користувачем опцій для даної доріжки. Те, що ви тут введете, додається після всіх інших опцій, заданих mmg, тобто таким чином ви можете перезаписувати будь-які опції mmg для цієї доріжки. При появі в рядках, \"<TID>\" буде замінено на відповідні ID доріжок." -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "Гамма: %1%" @@ -3394,23 +3404,23 @@ msgid "General track options" msgstr "Загальні опції доріжки" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" -msgstr "Глобальні" +msgstr "Загальні налаштування" #: src/mmg/tabs/global.cpp:228 #: src/extract/extract_cli_parser.cpp:64 msgid "Global options" msgstr "Глобальні опції" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" -msgstr "Глобальні мітки (%d записів) з %s" +msgstr "Глобальні теги (%d записів) з %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" -msgstr "Глобальні мітки: %1% записів" +msgstr "Глобальні теги: %1% записів" #: src/mmg/header_editor/frame.cpp:152 msgid "H&eaders" @@ -3418,52 +3428,60 @@ #: src/mmg/header_editor/frame.cpp:172 msgid "Header editor" -msgstr "Редактор заголовка" +msgstr "Редактор заголовків" #: src/mmg/header_editor/frame.cpp:131 msgid "Header editor ready." -msgstr "Редактор заголовка готовий." +msgstr "Редактор заголовків готовий до використання." #: src/mmg/header_editor/frame.cpp:174 #, c-format msgid "Header editor: %s" -msgstr "Редактор заголовка: %s" +msgstr "Редактор заголовків: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." -msgstr "Заголовок видалення стиск неможливо, так як буфер, що містяться %1% байт, які менше, ніж розмір заголовків, які повинні бути усунені, %2%." +msgstr "Стиснення з усуненням заголовку неможливо, так як буфер містить %1% байт, що менше, ніж розмір заголовків, які повинні бути усунені, %2%." -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." -msgstr "Заголовок видалення стиск неможливо, так як буфер, не починаються з байта, які повинні бути видалені. Потрібні байт:%1%; знайдено:%2%." +msgstr "Стиснення з усуненням заголовку неможливо, так як буфер не починаються з байтів, які повинні бути усунені. Потрібні байти:%1%; знайдено:%2%." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" -msgstr "Заголовок перевірки" +msgstr "Перевірка заголовків" -#: src/mmg/header_editor/frame.cpp:566 -#: src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "Заголовки змінені" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." -msgstr "Висота закодовані кадри відео в пікселях." +msgstr "Висота закодованих кадрів відео в пікселях." #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." -msgstr "Висота кадрів відео для показу." +msgstr "Висота кадрів відео для відображення." -#: src/mmg/mmg_dialog.cpp:686 -#: src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "Файл допомоги не знайдено" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"Допомога надається у вигляді зринаючих підказок, через меню\n" +"'Help' або після натиснення клавіші 'F1'." + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3471,12 +3489,12 @@ "down box and pressing the 'add' button." msgstr "" "Тут ви можете додати більше опцій командного рядка або\n" -"введення їх нижче, або вибравши один з розкривного\n" -"списку і натискання кнопки 'додати'." +"ввівши їх в поле знизу, або вибравши ключ з випадаючого\n" +"списку і натиснувши кнопку 'Додати'." -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "Тут ви можете налаштувати всі timcdoes в окремому розділі, і всі childrend її на певну величину, збільшуючи або зменшуючи її." +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "Тут ви можете скоригувати всі тайм-коди обраних розділів, а також їх підрозділів на певну величину." #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3485,105 +3503,105 @@ "then be changed if needed. The default values will be\n" "saved when you exit mmg." msgstr "" -"Тут ви можете встановити значення за замовчуванням, mmg буде використовувати\n" +"Тут ви можете встановити типові значення, які mmg буде використовувати\n" "для кожного розділу, що ви створюєте. Ці значення можуть\n" -"бути змінені у разі потреби. Значення за замовчуванням буде\n" -"зберігаються при виході mmg." +"бути змінені у разі потреби. Типові значення будуть\n" +"збережені при виході з mmg." -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." -msgstr "Тут ви можете задати значення для мови і країни, які ви хочете застосувати до всіх глав нижче, і в тому числі вибраного." +msgstr "Тут ви можете задати значення для мови і країни, які ви хочете застосувати до всіх розділів, що йдуть після обраного, включаючи його." -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1 код" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2 код" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "IVF з VP8" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" -msgstr "IVF з VP8 відеофайлів" +msgstr "IVF з VP8 відеофайлами" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." -msgstr "Якщо глава позначку 'прихований', то гравець не повинен показувати цю главу запис для користувача. Такі елементи можуть ще бути використані в меню системи." +msgstr "Якщо розділ позначено як 'Прихований', то плеєр не повинен показувати цей розділ користувачу. Такі записи можуть ще бути використані системою меню." -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." -msgstr "Якщо розділ не позначено 'дозволити', то гравець повинен пропустити частину файлу, що ця глава займає." +msgstr "Якщо розділ не позначено як 'Задіяний', то плеєр повинен пропустити ту частину файлу, яку цей розділ охоплює." -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." -msgstr "При виборі mmg запит на підтвердження при перезапису існуючих файлів або перед додаванням нового місця роботи, якщо є старі роботи, для опису яких відповідає один новий." +msgstr "Якщо вибрано, то mmg буде запитувати підтвердження перед перезаписом існуючих файлів або перед додаванням нового завдання, якщо існує старе завдання, опис якого співпадає з новим." -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." -msgstr "При виборі mmg буде автоматично встановлювати вихідного файлу, якщо він не був встановлений вже. Це відбувається, коли ви додаєте перший файл. Якщо не встановлена, mmg не зачепить вихідного файлу." +msgstr "Якщо вибрано, то mmg буде автоматично встановлювати назву вихідного файлу, якщо її не було встановлено раніше. Це відбувається при додаванні першого файлу. Якщо не вибрано, то mmg не буде змінювати назву файлу взагалі." -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "Якщо вибрано, то mmg типово буде задавати значення у випадаючому списку 'стиснення' як 'не використовувати' для доріжок аудіо і відео. Користувач все одно може змінювати опції стиснення після цього." + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." -msgstr "При виборі mmg буде попереджати, якщо він думає, що ви використовуєте його неправильно. Такі попередження показали по крайней мере один раз, навіть якщо ви включите цю функцію." +msgstr "Якщо вибрано, то mmg буде попереджати, якщо вважатиме, що ви використовуєте програму невірно. Такі попередження відображаються щонайменше один раз, навіть якщо ви вимкнете цю опцію." -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." -msgstr "Якщо залишити порожнім, то mmg буде встановити ім'я вихідного файлу, щоб бути в тій же папці, що перший файл доданий у цю роботу. В іншому випадку цей каталог буде використовуватися." +msgstr "Якщо залишити порожнім, то mmg задасть збереження вихідного файлу в тій же папці, що і перший файл, доданий до цього завдання. В іншому випадку даний каталог буде використовуватися." #: src/mmg/tabs/attachments.cpp:168 msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." -msgstr "Якщо розщеплення файл може бути підключений або всі файли, створені або тільки на перший файл. Не має жодного ефекту, якщо не використовується розщеплення." +msgstr "При розбитті файл може бути прикріплений або до всіх створюваних файлів, або тільки до першого. Не має жодного ефекту, якщо не використовується розбиття." -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "Ігнорування запис, який починається після його закінчення.\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "Ігнорування запису, який починається після свого закінчення (%1%).\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" -msgstr "Імпорт шрифтів з %1%" +msgstr "Імпортовано шрифтів з %1%" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" -msgstr "Імпорт зображення з %1%" +msgstr "Імпортовано зображення з %1%" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "Неможливо використовувати файл '%1%': файл не може бути відкритий для читання.\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "Несумісна версія mkvmerge" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" -msgstr "Несумісні трек" +msgstr "Несумісна доріжка" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" -msgstr "Непослідовність AAC аудіо пакета (довжина: %1% != len_check %2%)\n" +msgstr "Несумісний AAC аудіопакет (довжина: %1% != len_check %2%)\n" #: src/common/cli_parser.cpp:175 msgid "Increase verbosity." -msgstr "Збільшення багатослівністю." +msgstr "Збільшено докладність виводу інформації." -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" -msgstr "Вхід" +msgstr "На вході" -#: src/mmg/tabs/chapters.cpp:1374 -#: src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 -#: src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "Вхідна помилка в даних" @@ -3593,362 +3611,352 @@ #: src/common/bitvalue.cpp:71 msgid "Input too long: %1% > %2%" -msgstr "Введення надто довгий: %1% > %2%" +msgstr "Вхідні дані надто довгі: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "Мова інтерфейсу:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" -msgstr "Черезстрічковий: %1%" +msgstr "Черезрядкова: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "Внутрішня помилка: tracks.cpp SSA #1. %1%" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "Внутрішня помилка програми" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" -msgstr "Невірний %1%, зазначених в '--%2% %3%'.\n" +msgstr "Невірно %1%, зазначено в '--%2% %3%'.\n" #: src/common/base64.cpp:135 msgid "Invalid Base64 character encountered" -msgstr "Зустрічаються невірний Base64 характер" +msgstr "Зафіксовано некоректний символ Base64" #: src/extract/extract_cli_parser.cpp:160 msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "Недопустимий рівень BlockAddition в параметрі '%1%'.\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." -msgstr "Невірний UID. цей UID просто число." +msgstr "Невірний UID. UID є просто числом." -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." -msgstr "Невірний UID. У цій главі UID вже використовується. Оригінальні UID не був змінений." +msgstr "Невірний UID. Цей UID розділу вже використовується. Оригінальний UID не був змінений." -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." -msgstr "Невірний UID. Це видання UID вже використовується. Оригінальні UID не був змінений." +msgstr "Невірний UID. Цей UID додатку вже використовується. Оригінальні UID не був змінений." -#: src/input/r_avi.cpp:638 -#: src/input/r_avi.cpp:643 -#: src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." -msgstr "Невірний Vorbis заголовки AVI звукової доріжки." +msgstr "Невірні Vorbis заголовки звукової доріжки файлу AVI ." #: src/extract/extract_cli_parser.cpp:237 msgid "Invalid attachment ID/file name specification in argument '%1%'.\n" -msgstr "Неправильна специфікація ID/імені файлу вкладення в параметрі '%1%'.\n" +msgstr "Неправильна специфікація ID/імені файлу приєднання в параметрі '%1%'.\n" #: src/common/xml/element_parser.cpp:211 msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." -msgstr "Невірний двійковий формат даних '%1%' зазначено. Підтримуються 'Base64', 'ASCII' і 'hex'." +msgstr "Задано невірний формат двійкових даних '%1%'. Підтримуються 'Base64', 'ASCII' і 'hex'." -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" -msgstr "Невірний логічний варіант, зазначений в '--default-track %1%'.\n" +msgstr "Задана невірна булева опція в '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" -msgstr "Невірний логічний варіант, зазначений в '--forced-track %1%'.\n" +msgstr "Задана невірна булева опція в '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" -msgstr "Невірний логічний, зазначених в '--aac-is-sbr %1%'.\n" +msgstr "Задана невірна булева змінна в '--aac-is-sbr %1%'.\n" #: src/propedit/propedit_cli_parser.cpp:63 msgid "Invalid change spec (%3%) in '%1% %2%'.\n" -msgstr "Невірне зміна спектру (%3%) в '%1% %2%'.\n" +msgstr "Невірна зміна специфікації (%3%) в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" -msgstr "Невірний вибір стиснення, зазначені в '--compression %1%'.\n" +msgstr "Невірно вибрано опції стиснення, зазначені в '--compression %1%'.\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" -msgstr "Невірний стиснення варіант. Ні трек ID, зазначених в '--compression %1%'.\n" +msgstr "Невірні опції стиснення. Жодного ID доріжки не зазначено в '--compression %1%'.\n" #: src/mmg/options/chapters.cpp:121 msgid "Invalid country selected" -msgstr "Вибрана неприпустима країна" +msgstr "Некоректно вибрана країна" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" -msgstr "Невірний вибір сигналів, зазначених в '--cues %1%'.\n" +msgstr "Невірно вибрано опції cue в '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" -msgstr "Невірний cues варіант. Ні трек ID, зазначених в '--cues %1%'.\n" +msgstr "Невірні опції cue. Жодного ID доріжки не зазначено в '--cues %1%'.\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" -msgstr "Неправильне ім'я файлу" +msgstr "Неправильна назва файлу" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" -msgstr "Невірний формат '--split' в '--split %1%'.\n" +msgstr "Невірний формат для '--split' в '--split %1%'.\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" -msgstr "Невірний формат SSA лінії ('%1%') на тайм-коду %2%: перше поле не є цілим числом. Ця запис буде пропущено.\n" +msgstr "Невірний формат лінії ('%1%') в SSA для тайм-коду %2%: перше поле не є цілим числом. Цей запис буде пропущено.\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" -msgstr "Невірний формат SSA лінії ('%1%') на тайм-коду %2%: занадто багато полів знайшли (% 3% замість 9). Ця запис буде пропущено.\n" +msgstr "Невірний формат лінії ('%1%') в SSA для тайм-коду %2%: занадто багато знайдено полів (%3% замість 9). Цей запис буде пропущено.\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." -msgstr "Невірний формат, що використовується для налаштування." +msgstr "Використовується невірний формат для налагоджування." -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." -msgstr "Невірний формат, що використовується на кінець часу '%s'. Установка значення 0." +msgstr "Використовується невірний формат для часу закінчення '%s'. Встановлення значення 0." -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." -msgstr "Невірний формат часу старту для '%s'. Установка значення 0." +msgstr "Використовується невірний формат для часу початку '%s'. Встановлення значення 0." #: src/common/strings/parsing.cpp:221 msgid "Invalid format: At least minutes and seconds have to be given, but no colon was found" -msgstr "Невірний формат: Принаймні, хвилин і секунд, повинна бути приділене, ніяке двокрапка не було знайдено" +msgstr "Невірний формат: Принаймні, хвилини і секунди мають бути задані, але жодного роздільника двокрапки не було знайдено" #: src/common/strings/parsing.cpp:207 msgid "Invalid format: Colon inside nano-second part" -msgstr "Неприпустимий формат: Двокрапка в частині наносекунди" +msgstr "Невірний формат: Двокрапка при відділенні наносекунд" #: src/common/strings/parsing.cpp:190 msgid "Invalid format: More than nine nano-second digits" -msgstr "Неприпустимий формат: цифри на більше ніж дев'ять наносекунд" +msgstr "Невірний формат: Більше дев'яти цифр при заданні наносекунд" #: src/common/strings/parsing.cpp:209 msgid "Invalid format: More than two colons" -msgstr "Неприпустимий формат: більше ніж два двокрапки" +msgstr "Невірний формат: Більше двох роздільників двокрапок" #: src/common/strings/parsing.cpp:211 msgid "Invalid format: No digits before colon" -msgstr "Неприпустимий формат: Жодні цифри перед двокрапкою" +msgstr "Невірний формат: Жодної цифри перед двокрапкою" #: src/common/strings/parsing.cpp:200 msgid "Invalid format: No digits before decimal point" -msgstr "Неприпустимий формат: Жодні цифри перед десяткового точкою" +msgstr "Невірний формат: Жодної цифри перед десяткового крапкою" #: src/common/strings/parsing.cpp:197 msgid "Invalid format: Second decimal point after first decimal point" -msgstr "Неприпустимий формат: Друга десяткова точка після першої десяткового дробу" +msgstr "Невірний формат: Друга десяткова крапка після першої десяткової крапки" #: src/common/strings/parsing.cpp:224 msgid "Invalid format: The last character is a colon or a decimal point instead of a digit" -msgstr "Неприпустимий формат: останній символ - двокрапка або десяткова точка замість цифри" +msgstr "Невірний формат: Останній символ - двокрапка або десяткова крапка замість цифри" #: src/common/strings/parsing.cpp:217 msgid "Invalid format: unknown character '%1%' found" -msgstr "Неприпустимий формат: невідомий символ '%1%' знайдений" +msgstr "Невірний формат: Знайдено невідомий символ '%1%'" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "Неправильна довжина заголовка: %1% (повна довжина: %2%, idx: %3%, dataidx: %4%)\n" #: src/common/xml/element_parser.cpp:170 msgid "Invalid hexadecimal data encountered: '%1%' is neither white space nor a hexadecimal number." -msgstr "Неприпустимі шістнадцяткові дані зіткнулися: '%1%' не ні незаповнені простір, ні шістнадцяткове число." +msgstr "Невірні шістнадцяткові дані: '%1%' є ні пробілом, ні шістнадцятковим числом." #: src/mmg/options/chapters.cpp:114 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" -msgstr "Обрано неприпустимий мова" +msgstr "Обрано невірну мову" #: src/common/chapters/chapters.cpp:193 msgid "Invalid minute: %1%" -msgstr "Неправильна хвилина: %1%" +msgstr "Помилка в момент - хвилин(а): %1%" #: src/mmg/tabs/global.cpp:610 msgid "Invalid number of max. split files given." -msgstr "Неприпустима число максимальних даних файлів розбиття." +msgstr "Невірно задано максимальну кількість файлів для розбиття." #: src/common/strings/parsing.cpp:260 msgid "Invalid number of minutes: %1% > 59" -msgstr "Неприпустима число хвилин: %1% > 59" +msgstr "Невірна кількість хвилин: %1% > 59" #: src/common/strings/parsing.cpp:262 msgid "Invalid number of seconds: %1% > 59" -msgstr "Неприпустима кількість секунд: %1% > 59" +msgstr "Невірна кількість секунд: %1% > 59" #: src/common/chapters/chapters.cpp:195 msgid "Invalid second: %1%" -msgstr "Неправильна секунда: %1%" +msgstr "Помилка в момент - секунд(а): %1%" #: src/propedit/propedit_cli_parser.cpp:51 msgid "Invalid selector in '%1% %2%'.\n" -msgstr "Неприпустимий селектор в '%1% %2%'.\n" +msgstr "Невірний селектор в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" -msgstr "Неприпустимий розмір розбиття в '--split %1%'.\n" +msgstr "Невірний розмір розбиття в '--split %1%'.\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" -msgstr "Неприпустима початок або зупинка тайм-коду" +msgstr "Невірний тайм-код початку або закінчення" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" -msgstr "Неприпустима початок тайм-коду" +msgstr "Невірний тайм-код початку" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" -msgstr "Неправильна подкодіровка опція. Ніякої ID доріжки, певний в '--sub-charset %1%'.\n" +msgstr "Невірна опція дочірнього набору символів. Жодного ID доріжки не задано в '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" -msgstr "Неправильна подкодіровка певна в '--sub-charset %1%'.\n" +msgstr "Невірий дочірній набір символів задано в '--sub-charset %1%'.\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" -msgstr "Неправильна синхронізуюча опція, певна в '%1% %2%'.\n" +msgstr "Невірна опція синхронізації задана в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" -msgstr "Неправильна синхронізуюча опція визначена в '%1% %2%'. Дільник - нуль.\n" +msgstr "Невірна опція синхронізації задана в '%1% %2%'. Дільник - нуль.\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" -msgstr "Неправильна синхронізуюча опція визначена в '%1% %2%'. Лінійне синхронізуючі значення, можливо, не дорівнює або менше ніж нуль.\n" +msgstr "Невірна опція синхронізації задана в '%1% %2%'. Значення лінійної синхронізації не повинно бути меншим або рівним нулю.\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" -msgstr "Неправильна синхронізуюча опція. Ніякої ID доріжки, певний в '%1% %2%'.\n" +msgstr "Невірна опція синхронізації. Жодного ID доріжки не задано в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" -msgstr "Неприпустима назва файлу тегів, певне в '%1% %2%'.\n" +msgstr "Невірна назва файлу тегів задана в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" -msgstr "Неправильна опція тегів. Ніякої ID доріжки, певний в '%1% %2%'.\n" +msgstr "Невірна опція для тегів. Жодного ID доріжки не задано в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" -msgstr "Неприпустиме час для '--split' в '--split %1%'. Додаткове повідомлення про помилки: %2%\n" +msgstr "Невірний час для '--split' в '--split %1%'. Додаткове повідомлення про помилку: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" -msgstr "Неприпустиме час для '--split' в '--split %1%'. Додаткове повідомлення про помилки: %2%.\n" +msgstr "Невірний час для '--split' в '--split %1%'. Додаткове повідомлення про помилку: %2%.\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" -msgstr "Неприпустимий ID доріжки в '%1% %2%'.\n" +msgstr "Невірний ID доріжки в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:579 -#: src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '%1% %2%'.\n" +msgstr "Невірний ID доріжки заданий в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--%1% %2%'.\n" +msgstr "Невірний ID доріжки заданий в '--%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--aac-is-sbr %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--aac-is-sbr %1%'.\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--compression %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--compression %1%'.\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--cues %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--cues %1%'.\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--default-track %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--default-track %1%'.\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--forced-track %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--forced-track %1%'.\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" -msgstr "Неприпустимий ID доріжки, певний в '--sub-charset %1%'.\n" +msgstr "Невірний ID доріжки заданий в '--sub-charset %1%'.\n" #: src/extract/extract_cli_parser.cpp:239 msgid "Invalid track ID/file name specification in argument '%1%'.\n" -msgstr "Неправильна специфікація ID/імені файлу доріжки в параметрі '%1%'.\n" +msgstr "Невірна специфікація ID/назви файлу доріжки для аргументу '%1%'.\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" -msgstr "Завдання, доданий до черги завдання" +msgstr "Завдання додано до черги завдань" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "Опис завдання" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" -msgstr "Завдання виведено" +msgstr "Вихідна інформація щодо виконання завдань" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" -msgstr "Управління черги завдання" +msgstr "Керування чергою завдань" #: src/output/p_kate.cpp:78 msgid "Kate packet is too small and is being skipped.\n" -msgstr "Пакет Кейт є занадто маленьким і пропускається.\n" +msgstr "Пакет Kate занадто маленький і тому буде пропущений.\n" #: src/extract/extract_cli_parser.cpp:74 msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" -msgstr "Збережіть тільки BlockAdditions до цього рівня (значення за замовчуванням: збережіть всі рівні)" +msgstr "Зберігати тільки BlockAdditions до цього рівня (типове значення: зберігати всі рівні)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"Відомі типи файлу:\n" -" опис розширення\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" -msgstr "Стиснення LZO зазнало невдачі. Результат: %1%\n" +msgstr "Процес LZO стиснення перервано. Результат: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" -msgstr "Число зшивання: %1%" +msgstr "Число зшивань: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "Прапорець зшивання: %1%" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:429 +#: src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "Мова" #: src/mmg/tabs/input_general.cpp:182 msgid "Language for this track. Select one of the ISO639-2 language codes." -msgstr "Мова для цієї доріжки. Виберіть один з мовних кодів ISO639-2." +msgstr "Мова для цієї доріжки. Виберіть потрібну з-поміж мовних кодів ISO639-2." #: src/common/kate.cpp:78 msgid "Language is not NUL terminated" -msgstr "Мова не повинен завершуватися нулем" +msgstr "Задання мови не повинно завершуватися нулем" #: src/mmg/options/chapters.cpp:86 -#: src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 #: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "Мова:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "Мова: %1%" @@ -3956,177 +3964,157 @@ msgid "Languages" msgstr "Мови" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." -msgstr "Залиште додатковий простір (EbmlVoid) у вихідному файлі після голів." - -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "Ліве око" +msgstr "Залишати додатковий простір (EbmlVoid) у вихідному файлі після розділів." -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" -msgstr "Дозволяє вам додавати довільні опції до командного рядку" +msgstr "Дозволяє вам додавати довільні опції до командного рядка" #: src/merge/timecode_factory.cpp:349 msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the duration or the FPS are smaller than zero).\n" -msgstr "Рядок %1% тайм-код файлу '%2%' містить непослідовні дані (наприклад, тривалість або FPS менше за нуль).\n" +msgstr "Рядок %1% тайм-код файлу '%2%' містить несумісні дані (наприклад, тривалість або значення Кадрів за сукунду менше нуля).\n" #: src/merge/timecode_factory.cpp:120 msgid "Line %1% of the timecode file '%2%' contains inconsistent data (e.g. the start frame number is bigger than the end frame number, or some values are smaller than zero).\n" -msgstr "Рядок %1% тайм-код файлу '%2%' містить непослідовні дані (наприклад, число кадру почала більше ніж кінцеве число кадру, або деякі значення менше за нуль).\n" +msgstr "Рядок %1% тайм-код файлу '%2%' містить несумісні дані (наприклад, номер кадру початку більше ніж номер кадру кінця, або деякі значення менші за нуль).\n" #: src/merge/timecode_factory.cpp:114 #: src/merge/timecode_factory.cpp:342 msgid "Line %1% of the timecode file '%2%' could not be parsed.\n" -msgstr "Рядок %1% тайм-код файлу '%2%' не міг бути аналізував.\n" +msgstr "Рядок %1% тайм-код файлу '%2%' не може бути оброблений.\n" #: src/common/xml/element_parser.h:51 msgid "Line %1%, column %2%: %3%" msgstr "Рядок %1%, стовпець %2%: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" -msgstr "Рядок %1%: негатив позначка часу зіткнутися. Вхід буде відкоректований, щоб початися з 00:00:00.000.\n" +msgstr "Рядок %1%: Зафіксовано від'ємну мітку часу. Значення буде скориговано так, щоб починатися з 00:00:00.000.\n" #: src/input/r_vobsub.cpp:277 msgid "Line %1%: The current timestamp (%2%) is smaller than the previous one (%3%). The entries will be sorted according to their timestamps. This might result in the wrong order for some subtitle entries. If this is the case then you have to fix the .idx file manually.\n" -msgstr "Рядок %1%: електричний позначка часу годині (%2%) менше ніж попередній (%3%). Входи будуть сортовані згідно з їх позначка часу. Це могло б привести до неправильного замовлення щодо деяких входів підзаголовка. Якщо справа йде так тоді Ви повинні встановити. Idx файл вручну.\n" +msgstr "Рядок %1%: Значення поточної мітки часу (%2%) є меншим за значення попередньої (%3%). Записи буде скориговано згідно їх міток часу. Це може призвести до неправильного порядку деяких записів субтитрів. Якщо ж це дуже важливо, то вам необхідно спочатку самостійно виправити .idx файл.\n" #: src/input/r_vobsub.cpp:234 #: src/input/r_vobsub.cpp:257 msgid "Line %1%: The line seems to be a subtitle entry but the format couldn't be recognized. This entry will be skipped.\n" -msgstr "Рядок %1%: рядок, здається, вхід підзаголовка, але формат не міг бути розпізнаний. Цей вхід буде пропущено.\n" +msgstr "Рядок %1%: Скоріш за все рядок має бути записом субтитрів, але формат не вдається розпізнати. Цей запис буде пропущено.\n" #: src/input/r_vobsub.cpp:267 msgid "Line %1%: The line seems to be a subtitle entry but the timecode was negative even after adding the track delay. Negative timecodes are not supported in Matroska. This entry will be skipped.\n" -msgstr "Рядок %1%: рядок, здається, вхід підзаголовка, але тайм-код був негативом навіть після додавання затримки доріжки. Негатив тайм-коди не підтриманий у Matroska. Цей вхід буде пропущено.\n" +msgstr "Рядок %1%: Скоріш за все рядок має бути записом субтитрів, але тайм-код був від'ємним навіть після додавання затримки. Від'ємні тайм-коди не підтримуються для Matroska. Цей запис буде пропущено.\n" #: src/propedit/propedit_cli_parser.cpp:142 msgid "List all valid property names and exit" -msgstr "Перелічіть правильні назви властивості і вихід" +msgstr "Перелічіти всі правильні назви властивостей і вийти" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" -msgstr "Завантажте файл голови (simple/OGM формат або формат XML)" +msgstr "Завантажити файл розділу (простий/формату OGM або формату XML)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" -msgstr "Завантажити мультиплексування налаштування з файлу" +msgstr "Завантажити опції мультиплексування з файлу" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" -msgstr "Log файли (*.txt)|*.txt|%s" +msgstr "Файли журналу змін (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" -msgstr "Log висновок:" +msgstr "Протокол виконання:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" #: src/mmg/tabs/attachments.cpp:162 msgid "MIME type for this track. Select one of the pre-defined MIME types or enter one yourself." -msgstr "MIME Тип для цієї доріжки. Виберіть один з визначених MIME типів або введіть той самостійно." +msgstr "MIME-тип для цієї доріжки. Оберіть один з визначених MIME-типів або введіть його самостійно." #: src/mmg/tabs/attachments.cpp:161 msgid "MIME type:" -msgstr "MIME Тип:" +msgstr "MIME-тип:" + +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix розповсюджується під ліцензією GNU GPL v2" -#: src/mmg/tabs/input.cpp:242 +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" -msgstr "MP4 Audio/Video файли" +msgstr "MP4 аудіо/відео файли" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" -msgstr "MPEG Audio файли" +msgstr "MPEG аудіо файли" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG програмний потік" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG програмні потоки" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" -msgstr "MPEG Video елементарний потік" - -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer II audio (CBR и VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 layer III audio (CBR и VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 video елементарний потік" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 video елементарний потік" +msgstr "MPEG відео елементарний потік" #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." -msgstr "Зробіть цю доріжку заданої за замовчуванням доріжкою для її типу (аудіо, відео, підзаголовки). Гравці повинні віддати перевагу доріжки із заданим за умовчанням набором прапорця доріжки." +msgstr "Зробити дану доріжку типовою доріжкою для даного типу даних (аудіо, відео, субтитри). Плеєри повинні віддавати перевагу доріжкам із встановленим прапорцем типової доріжки." -#: src/input/r_matroska.cpp:1468 -#: src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" -msgstr "Неправильні дані ініціалізації кодер-декодера AAC знайдені.\n" +msgstr "Знайдені неправильні дані ініціалізації кодека AAC.\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" -msgstr "Неправильний кодек ID '%1%'.\n" +msgstr "Неправильно заданий ID кодека '%1%'.\n" -#: src/input/subtitles.cpp:349 #: src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" -msgstr "Неправильна лінія? (%1%)\n" +msgstr "Неправильно сформований рядок? (%1%)\n" #: src/mmg/tabs/input_general.cpp:186 msgid "Mark this track as 'forced'. Players must play this track." -msgstr "Позначте цю доріжку як 'викликано'. Плеєри повинні запустити цю доріжку." +msgstr "Позначає цю доріжку як 'forced', тобто як ту, для якої задається примусове відтворення. Плеєри повинні відтворювати цю доріжку." -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska Audio/Video файли (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Файли Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" -msgstr "Matroska Audio/Video файли" +msgstr "Аудіо/відео файли Matroska" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska файли (*.mkv *.mka *.mks);;Все файлы (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Файли Matroska (*.mkv *.mka *.mks *.mk3d);;Всі файли (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska файли (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Файли Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska файли (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Файли Matroska (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" -msgstr "Максимальний блок додавання ID: %1%" +msgstr "Максимальний ID BlockAddition: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "Максимальний кеш: %1%" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:412 +#: src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "Максимальний кеш" @@ -4136,273 +4124,278 @@ #: src/extract/xtr_rmff.cpp:74 msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" -msgstr "Пам'ять для кадру RealAudio/RealVideo не могла бути розподілена.\n" +msgstr "Неможливо виділити об'єм пам'яті для кадрів RealAudio/RealVideo.\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" -msgstr "MIME тип: %1%" +msgstr "MIME-тип: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "Мінімальний кеш: %1%" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:407 +#: src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "Мінімальний кеш" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" -msgstr "Відсутній параметр для '--output-charset'.\n" +msgstr "Пропущено аргумент для '--output-charset'.\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" -msgstr "Відсутній параметр для '--ui-language'.\n" +msgstr "Пропущено аргумент для '--ui-language'.\n" #: src/common/cli_parser.cpp:106 msgid "Missing argument to '%1%'.\n" -msgstr "Відсутній параметр до '%1%'.\n" +msgstr "Пропущено аргумент до '%1%'.\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "Відсутня назва файлу" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." -msgstr "Відсутня назва файлу після для опції '--edit-headers'." +msgstr "Відсутня назва файлу в кінці для опції '--edit-headers'." -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "Відсутні пакунки заголовка/коментарю для потоку. Цей файл зламаний, не може правильно мультиплексованих. Будь ласка увійдіть в контакт з автором Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "Відсутні пакети заголовків/коментарів для потоку. Цей файл пошкоджено, але він може бути корректно змультиплексований. Будь ласка, у разі помилок після мультиплексування напишіть автору Moritz Bunkus <moritz@bunkus.org>.\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" -msgstr "Відсутній вхідний" +msgstr "Відсутні дані на вході" #: src/common/bitvalue.cpp:82 msgid "Missing one hex digit" -msgstr "Відсутній одне шістнадцяткове число" +msgstr "Відсутнє одне шістнадцяткове число" #: src/extract/extract_cli_parser.cpp:254 msgid "Missing output file name in argument '%1%'.\n" -msgstr "Відсутнє ім'я вихідного файлу в параметрі '%1%'.\n" +msgstr "Відсутня назва вихідного файлу для аргументу '%1%'.\n" #: src/propedit/options.cpp:137 msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" -msgstr "Модифікацію властивостей у розділі '%1%' вимагали, але ніякої відповідний елемент рівня 1 не був знайдений у файлі. %2%\n" +msgstr "Була задана модифікація властивостей у розділі '%1%', але не було знайдено відповідного елементу 1-го рівня у файлі. %2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "Більше" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" -msgstr "Більше ніж один MIME тип був даний для єдиного вкладення. '%1%' відмовляться, і '%2%' використовує замість цього.\n" +msgstr "Більше ніж один MIME-тип був заданий для єдиного вкладення. '%1%' не буде використано, натомість використовуватиметься '%2%'.\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" -msgstr "Більше ніж одне опис було дано для єдиного вкладення.\n" +msgstr "Більше ніж один опис було задано для єдиного вкладення.\n" #: src/propedit/options.cpp:75 msgid "More than one file name has been given ('%1%' and '%2%').\n" -msgstr "Більше ніж одне ім'я файлу було дано ('%1%' і '%2%').\n" +msgstr "Більше ніж одна назва файлу була задана ('%1%' і '%2%').\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" -msgstr "Більше ніж одне назва була дана для єдиного вкладення. '%1%' відмовляться, і '%2%' використовує замість цього.\n" +msgstr "Більше ніж одна назва була задана для єдиного вкладення. '%1%' не буде використано, натомість використовуватиметься '%2%'.\n" #: src/common/xml/element_parser.cpp:333 msgid "More than one root element found." msgstr "Більше ніж один кореневий елемент знайдений." -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" -msgstr "Більше ніж одна доріжка повинна бути додана до доріжці %1% від файлу номер %2% (%3%). Параметр для '--append-to' було неприпустимо.\n" +msgstr "Більше ніж одна доріжка повинна бути додана до доріжки %1% з файлу номер %2% (%3%). Аргумент для '--append-to' був некорректним.\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "Більше ніж одна доріжка з номером доріжки %1% знайдена.\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" -msgstr "Перемістіть вбрання завдання(я) вниз" +msgstr "Перемістити вибране(і) завдання вниз" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" -msgstr "Перемістіть вбрання завдання(я) вгору" +msgstr "Перемістити вибране(і) завдання вгору" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" -msgstr "Мультиплексування додаток: %1%" +msgstr "Додаток, що виконував мультиплексування: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "Мультиплексування в процесі." -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" -msgstr "Мультиплексування зайняло %1% секунд.\n" +msgstr "Мультиплексування тривало %1% секунд.\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" -msgstr "Мультиплексування зайняло 1 секунду.\n" +msgstr "Мультиплексування тривало 1 секунду.\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALU довжина розміру:" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "Name" -msgstr "Ім'я" +msgstr "Назва" #: src/mmg/tabs/input_general.cpp:180 msgid "Name for this track, e.g. \"director's comments\"." -msgstr "Назва для цієї доріжки, наприклад, \"коментарі директора\"." +msgstr "Назва для цієї доріжки, наприклад, \"коментарі режисера\"." #: src/mmg/tabs/attachments.cpp:158 -#: src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/chapters.cpp:348 msgid "Name:" -msgstr "Ім'я:" +msgstr "Назва:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" -msgstr "Ім'я: %1%" +msgstr "Назва: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." -msgstr "Створено нові голови." +msgstr "Створено нові розділи." #: src/mmg/header_editor/value_page.cpp:161 msgid "New value:" msgstr "Нове значення:" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "Next filename" -msgstr "Наступне ім'я файлу" +msgstr "Наступна назва файлу" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" -msgstr "Наступне ім'я файлу: %1%" +msgstr "Наступна назва файлу: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" -msgstr "Наступний елемент рівня 0 не сегмент, але %1%" +msgstr "Наступний елемент рівня 0 не є сегментом, а %1%" #: src/mmg/tabs/global.cpp:271 msgid "Next segment UID:" -msgstr "Наступний сегмент UID:" +msgstr "UID наступного сегмента:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" -msgstr "Наступний сегмент UID:%1%" +msgstr "UID наступного сегмента:%1%" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:347 +#: src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" -msgstr "Наступний унікальний ID сегмент" +msgstr "Унікальний ID наступного сегмента" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" -msgstr "Ніякої %1%, визначених у '--%2% %3%'.\n" +msgstr "Немає %1%, визначеного у '--%2% %3%'.\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" -msgstr "Ніякої AC3 заголовка знайдений в першому кадрі; доріжка буде пропущена.\n" +msgstr "Жодного заголовка AC3 не знайдено в першому кадрі; доріжка буде пропущена.\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." -msgstr "Ніякої заголовок EBML не знайдений." +msgstr "Жодного EBML заголовка не знайдено." -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" -msgstr "Ніякої FPS не вибрано для доріжки AVC/h.264" +msgstr "Не задано значення Кадрів за секунду для доріжки AVC/h.264" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." -msgstr "Ніякої MIME тип не був обраний для вкладення '%s'." +msgstr "Не було обрано MIME-тип для вкладення '%s'." -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" -msgstr "Ніякої MIME тип не був встановлений для вкладення '%1%', і воно не могло бути припущено.\n" +msgstr "Не було задано MIME-тип для вкладення '%1%', і він не може бути визначений.\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" -msgstr "Ні не прикладіть відображення, було дано для файлу номер %1% (%2%). Задане за замовчуванням відображення %3% буде використовуватися замість цього. Будь ласка пам'ятайте це, якщо mkvmerge переривається з повідомленням про помилки щодо неприпустимого '--append-to' опції.\n" +msgstr "Не було задано розподілення для файлу номер %1% (%2%). Натомість, типово буде застосовано розподілення %3%. Будь ласка, прийміть це до уваги, якщо робота mkvmerge перерветься з повідомленням про помилку щодо неприпустимої опції '--append-to'.\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." -msgstr "Глава запису ще не була створена." +msgstr "Ще не було створено жодного запису розділів." -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" -msgstr "Ніякі глави не знайдені" +msgstr "Не знайдено жодного розділу" #: src/common/xml/element_parser.h:45 msgid "No error" msgstr "Немає помилок" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" -msgstr "Ніякі поля не змінені" +msgstr "Ніякі поля не змінювались" #: src/mmg/header_editor/frame.cpp:218 msgid "" "No file has been loaded yet. You can open a file by selecting\n" "'Open' from the 'File' menu." msgstr "" -"Ніякої файл ще не був завантажений. Ви можете відкрити файл, вибираючи\n" -"'Відкрити' з меню 'Файл'." +"Ніякого файлу ще не було завантажено. Ви можете відкрити файл, вибравши\n" +"'Відкрити' в меню 'Файл'." #: src/mmg/header_editor/frame.cpp:218 msgid "No file loaded" -msgstr "Ніякої файл не завантажувався" +msgstr "Жодного файла не завантажено" #: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" -msgstr "Не дано ім'я файлу.\n" +msgstr "Не задано назву файлу.\n" #: src/common/xml/element_parser.cpp:135 msgid "No filename found after the '@'." -msgstr "Не вказано назву файлу, знайдені після '@'." +msgstr "Не знайдено назву файлу після '@'." -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "Допомога недоступна." -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" -msgstr "Ніякі вхідні файли не були дані. Ніякої висновок не буде створено.\n" +msgstr "Немає вхідних файлів. Тому, на виході нічого створено не буде.\n" #: src/input/r_flac.cpp:194 msgid "No metadata block found. This file is broken.\n" -msgstr "Ніякої блок метаданих не знайдений. Цей файл зламаний.\n" +msgstr "Не знайдено блоку метаданих. Цей файл пошкоджений.\n" #: src/extract/extract_cli_parser.cpp:252 msgid "No output file name specified, will use attachment name.\n" -msgstr "Не вказано назву результуючого файлу буде використовувати ім'я вкладення.\n" +msgstr "Не вказано назву результуючого файлу, тому буде використовуватися назва вкладення.\n" -#: src/extract/timecodes_v2.cpp:194 -#: src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." -msgstr "Ніякої сегмент/рівень 0 елементів не знайдено." +msgstr "Не знайдено сегменту/елементу рівня 0." -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" -msgstr "Потоки для висновку не були знайдені. Переривання.\n" +msgstr "Не знайдено потоків на вихід. Переривання.\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" -msgstr "Ні ID доріжки, визначеної в '--%1% %2%'.\n" +msgstr "Не задано ID доріжки в '--%1% %2%'.\n" #: src/propedit/target.cpp:259 msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" -msgstr "Ні доріжки, відповідної специфікації редагування '%1%', не була знайдена. %2%\n" +msgstr "Не знайдено доріжки, що відповідає специфікації, що редагується '%1%'. %2%\n" + +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "Доріжки з ID %1% не було знайдено у вхідному файлі.\n" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "Доріжки не знайдені" @@ -4410,88 +4403,95 @@ msgid "No version number found.\n" msgstr "Номер версії не знайдено.\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "жоден" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." -msgstr "Ні одне з полів заголовка не було змінено. Ніщо не було збережено." +msgstr "Ні одне з полів заголовка не було змінено. Нічого не було збережено." -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." -msgstr "Зазвичай mkvmerge зберігає інформацію коефіцієнта пропорційності у відео MPEG4 bitstreams і поміщає інформацію в контейнер. Ця опція змушує mkvmerge видаляти інформацію коефіцієнта пропорційності з bitstream." +msgstr "Зазвичай mkvmerge зберігає інформацію про співвідношення сторін екрану у бітовому потоці відео MPEG4 і поміщає інформацію в контейнер. Ця опція змушує mkvmerge видаляти інформацію про співвідношення сторін екрану з бітового потоку ." #: src/common/bitvalue.cpp:67 msgid "Not a hex digit at position %1%" -msgstr "Чи не шістнадцяткова цифра в позиції %1%" +msgstr "Не шістнадцяткова цифра в позиції %1%" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" -msgstr "Не правильний файл Matroska (не знайдений заголовок EBML)" +msgstr "Некорректний файл Matroska (не знайдений заголовок EBML)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" -msgstr "Не правильний файл Matroska (нема сегмент/рівень 0 знайдених елементів)" +msgstr "Некорректний файл Matroska (не знайдено сегмента/елемента рівня 0)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" -msgstr "Замітка" +msgstr "Примітка" +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 #: src/propedit/options.cpp:30 msgid "Nothing to do.\n" -msgstr "Нічого не робити.\n" +msgstr "Нічого робити.\n" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:418 +#: src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." -msgstr "Кількість наносекунд (не в перерахунку) в кадрі." +msgstr "Кількість наносекунд (без округлення) на кадр." #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." -msgstr "Число каналів в доріжці." +msgstr "Число каналів доріжки." -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" -msgstr "Ogg/OGM Audio/Video файли" +msgstr "Ogg/OGM аудіо/відео файли" #: src/mmg/message_dialog.cpp:31 -#: src/mmg/mux_dialog.cpp:100 +#: src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "OK" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." -msgstr "Один із розділів не має імені." +msgstr "Один із розділів не має назви." + +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "Перевірка наявності оновлень онлайн" -#: src/merge/mkvmerge.cpp:1454 +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" -msgstr "Тільки один файл в главі дозволено '%1% %2%'.\n" +msgstr "Дозволено лише один файл розділу в '%1% %2%'.\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" -msgstr "Тільки один вхідний файл дозволено.\n" +msgstr "Дозволено лише один вхідний файл.\n" #: src/common/xml/element_parser.cpp:295 msgid "Only one instance of <%1%> is allowed beneath <%2%>." -msgstr "Тільки один екземпляр <%1%> допускається під <%2%>." +msgstr "Тільки один екземпляр <%1%> відводиться під <%2%>." #: src/common/tags/parser.cpp:48 msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." -msgstr "Тільки одна з <String> і <Binary> може використовуватися нижче <Simple>, але не обидва в той же самий час." +msgstr "Може використовуватися лише один з <String> або <Binary> під <Simple>, але не обидва одразу." -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" -msgstr "Тільки один вихідний файл дозволено.\n" +msgstr "Дозволено лише один вихідний файл.\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" -msgstr "Тільки одному файлу інформації сегмента дозволяють ввійти '%1% %2%'.\n" +msgstr "Лише один файл інформації сегмента дозволено в '%1% %2%'.\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" -msgstr "Тільки небайдужий докладають відображення, були дані для файлу номер %1% (%2%). Будь-який не визначає відображення (коли задане за замовчуванням відображення буде використовуватися), або визначте відображення для всіх доріжок, які повинні бути скопійовані.\n" +msgstr "Лише часткові розподілення для приєднання були означені для файла номер %1% (%2%). Необхідно, або не задавати ніякого розподілення (тоді буде використовуватись типове розподілення), або задати розподілення для всіх доріжок, які повинні бути скопійовані.\n" + +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "Відображення тільки короткого звіту про наповнення, не для кожного елемента." #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" @@ -4499,9 +4499,9 @@ #: src/input/r_vobsub.cpp:99 msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" -msgstr "Тільки v7 і більше нові файли VobSub підтримані. Якщо у Вас є старша версія, тоді використовують утиліту VSConv від http://sourceforge.net/projects/guliverkli/ щоб перетворити ці файли в v7 файли.\n" +msgstr "Підтримуються лише файли VobSub версії 7 і вище. Якщо у вас більш старіша версія, тоді використовуйте утиліту VSConv з http://sourceforge.net/projects/guliverkli/ для конвертації цих файлів до версії 7.\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "&Опції\tCtrl-P" @@ -4510,171 +4510,176 @@ msgstr "Відкрити файл" #: src/mmg/header_editor/frame.cpp:238 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" -msgstr "Відкрити Matroska файл" +msgstr "Відкрити файл Matroska" #: src/mmg/header_editor/frame.cpp:142 msgid "Open an existing Matroska file" msgstr "Відкрити існуючий файл Matroska" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "Відкрити папку" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "Файл опцій створений." #: src/mmg/options/dialog.cpp:43 #: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "Опції" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" -msgstr "Опції, призначені лише для розробників. Не використовуйте їх. Якщо де-не-що, як вважають, є офіційно підтриманої опцією тоді, це не в цьому списку!" +msgstr "Опції, призначені ЛИШЕ для розробників. Не використовуйте їх. Якщо є деяка опція, яку вважають офіційно підтримуваною опцією, тоді вона не в цьому списку!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" -msgstr "Замовлення: %1%" +msgstr "Порядок: %1%" #: src/mmg/header_editor/value_page.cpp:176 msgid "Original value:" -msgstr "Отримати значення:" +msgstr "Початкове значення:" #: src/propedit/propedit_cli_parser.cpp:153 msgid "Other options" -msgstr "Інші функції" +msgstr "Інші опції" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" -msgstr "Вихідний" +msgstr "Вихід" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" -msgstr "Вихідний файл" +msgstr "Назва вихідного файла" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" -msgstr "Вихідні повідомлення у цій кодуванні" +msgstr "Вихідні повідомлення з цим набором символів" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" -msgstr "Висновок вибраних завдань:" +msgstr "Вихідна інформація щодо вибраних завдань:" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "Вихідна частота дискретизації: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" -msgstr "Висновок:" +msgstr "Вихідна інформація:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "Замінювати існуючий файл(и)?" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "Замінювати існуючий файл?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP субтитри" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" -msgstr "PTS помилка: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" +msgstr "Помилка PTS: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" #: src/output/p_flac.cpp:77 msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" -msgstr "Число пакету %1% містили неприпустимий заголовок FLAC і пропускаються.\n" +msgstr "Пакет номер %1% містив неприпустимий заголовок FLAC і тому пропускається.\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" -msgstr "Черга пакету, не порожня (скинутий на диск: %1%). Кадри були втрачені під час remux. %2%\n" +msgstr "Черга пакетів не порожня (очищено: %1%). Кадри були втрачені під час повторного мультиплексування. %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" -msgstr "Аналізувати файл повністю і показувати всім елементам" +msgstr "Аналізувати файл повністю і показувати всі елементи" #: src/extract/extract_cli_parser.cpp:65 msgid "Parse the whole file instead of relying on the index." -msgstr "Аналізувати цілий файл замість того, щоб покластися на індекс." +msgstr "Аналізувати цілий файл замість того, щоб покладатися на індекс." -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" -msgstr "Синтаксичний аналіз файлу" +msgstr "Аналіз файлу" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" -msgstr "Обрізати нижній піксель: %1%" +msgstr "Обрізка пікселів знизу: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" -msgstr "Обрізати лівий піксель: %1%" +msgstr "Обрізка пікселів зліва: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" -msgstr "Обрізати правий піксель: %1%" +msgstr "Обрізка пікселів справа: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" -msgstr "Обрізати верхній піксель: %1%" +msgstr "Обрізка пікселів зверху: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" -msgstr "Висота пікселя: %1%" +msgstr "Висота в пікселях: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" -msgstr "Ширина пікселя: %1%" +msgstr "Ширина в пікселях: %1%" #: src/mmg/options/mkvmerge.cpp:117 msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." -msgstr "Будь ласка, не вибирайте 'mmg' безпосередньо як 'mkvmerge' здійсненна програму." +msgstr "Будь ласка, не обирайте безпосередньо 'mmg' як виконуваний файл 'mkvmerge'." -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" -msgstr "Будь ласка введіть опис для нового завдання:" +msgstr "Будь ласка, введіть опис для нового завдання:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" "below and including the currently selected entry." msgstr "" "Будь ласка, введіть значення для мови і\n" -"країни, що ви хочете застосувати до всіх глав\n" -"внизу і включивши вибраного." +"країни, які ви хочете застосувати до всіх розділів, що\n" +"знаходяться після поточного, включаючи його." -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" "this listing.\n" msgstr "" -"Ознайомтеся, будь ласка з HTML документацією для mkvmerge. Це\n" -"пояснює деякі деталі великої довжини, які не видно з\n" +"Ознайомтеся, будь ласка з HTML документацією для mkvmerge. Там\n" +"пояснюються деякі деталі великої довжини, які не видно з\n" "цього запису.\n" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" -msgstr "Попереднє фото" +msgstr "Попередня назва файлу" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" -msgstr "Попереднє фото: %1%" +msgstr "Попередня назва файлу: %1%" #: src/mmg/tabs/global.cpp:269 msgid "Previous segment UID:" -msgstr "Попередній UID сегмент:" +msgstr "UID попереднього сегмента:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" -msgstr "Попередній UID сегмент:%1%" +msgstr "UID попереднього сегмента:%1%" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:343 +#: src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "Унікальний ID попереднього сегмента" @@ -4682,313 +4687,307 @@ msgid "Process priority:" msgstr "Пріоритет процесу:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "Обробка 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "Обробка завдання %d/%d" -#: src/mmg/jobs.cpp:243 -#: src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 msgid "Progress" -msgstr "Прогрес" +msgstr "Прогрес виконання" -#: src/extract/timecodes_v2.cpp:264 -#: src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" -msgstr "Прогрес: %1%%%%2%" +msgstr "Прогрес виконання: %1%%%%2%" +#: src/extract/timecodes_v2.cpp:359 #: src/extract/mkvextract.cpp:93 -#: src/extract/timecodes_v2.cpp:354 msgid "Progress: 100%\n" -msgstr "Прогрес: 100%\n" +msgstr "Прогрес виконання: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" -msgstr "Прогрес: 100%%%1%" +msgstr "Прогрес виконання: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" -msgstr "Прогрес: [%1%%2%] %3%%%" +msgstr "Прогрес виконання: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "Запит можливостей mkvmerge" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" -msgstr "QuickTime Audio/Video файли" - -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 Audio і Video" +msgstr "QuickTime аудіо/відео файли" #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" -msgstr "Quicktime/MP4 читач: '%1%' частина є дуже маленькою. Очікуваний розмір:> = %2%. Фактичний розмір: %3%.\n" +msgstr "Quicktime/MP4 зчитувач: '%1%' елемент є дуже малим. Очікуваний розмір:> = %2%. Фактичний розмір: %3%.\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" -msgstr "Quicktime/MP4 читач: постійний типовий розмір і мінлива тривалість поки не підтримується. Зв'язатися з автором, якщо у вас є такий зразок файлу.\n" +msgstr "Quicktime/MP4 зчитувач: Постійний розмір семплу і змінна тривалість поки не підтримуються. Зв'яжіться з автором, якщо у вас є такий файл.\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" -msgstr "Quicktime/MP4 читач: не міг читати число, ділянки пам'яті %1%/%2% з розміром %3% від позиції %4%. Переривання.\n" +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати комірки номер %1%/%2% з розміром %3% починаючи з позиції %4%. Переривання.\n" #: src/input/r_qtmp4.cpp:1011 #: src/input/r_qtmp4.cpp:1024 msgid "Quicktime/MP4 reader: Could not read the extended sound description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читач: не міг читати розширену звукову частина опису для ID доріжки %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати елемент розширеного звукового опису для ID доріжки %1%.\n" #: src/input/r_qtmp4.cpp:984 msgid "Quicktime/MP4 reader: Could not read the sound description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читач: не міг читати звуковий частина опису для ID доріжки %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати елемент опису аудіо для ID доріжки %1%.\n" #: src/input/r_qtmp4.cpp:129 msgid "Quicktime/MP4 reader: Could not read the source file." -msgstr "Quicktime/MP4 читач: не міг прочитати вихідний файл." +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати вхідний файл." #: src/input/r_qtmp4.cpp:978 msgid "Quicktime/MP4 reader: Could not read the stream description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читач: неможливо прочитати частину потоку опису ID доріжки %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати елемент опису потоку для ID доріжки %1%.\n" #: src/input/r_qtmp4.cpp:1060 msgid "Quicktime/MP4 reader: Could not read the video description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читач: неможливо прочитати відео частина опису ID доріжки %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Неможливо прочитати елемент опису відео для ID доріжки %1%.\n" #: src/input/r_qtmp4.cpp:212 msgid "Quicktime/MP4 reader: Have not found any header atoms.\n" -msgstr "Quicktime/MP4 читач: не знайшов частини заголовка.\n" +msgstr "Quicktime/MP4 зчитувач: Не знайдено жодного елементу заголовка.\n" #: src/input/r_qtmp4.cpp:214 msgid "Quicktime/MP4 reader: Have not found the 'mdat' atom. No movie data found.\n" -msgstr "Quicktime/MP4 читач: не знайшов 'mdat' частина. Відео дані не знайдені.\n" +msgstr "Quicktime/MP4 зчитувач: Не знайдено елементу 'mdat'. Жодних даних відео не знайдено.\n" #: src/input/r_qtmp4.cpp:161 msgid "Quicktime/MP4 reader: Invalid chunk size %1% at %2%.\n" -msgstr "Quicktime/MP4 читач: неприпустимий розмір ділянки пам'яті %1% в %2%.\n" +msgstr "Quicktime/MP4 зчитувач: Невірний розмір комірки %1% в %2%.\n" #: src/input/r_qtmp4.cpp:290 msgid "Quicktime/MP4 reader: MPEG4 part 10/AVC track %1% is missing its decoder config. Skipping this track.\n" -msgstr "Quicktime/MP4 читач: MPEG4 частина 10/AVC доріжка %1% відсутня її декодер конфігурації. Пропуск цієї доріжки.\n" +msgstr "Quicktime/MP4 зчитувач: Для доріжки MPEG4 part 10/AVC %1% відсутні налаштування декодера. Пропуск цієї доріжки.\n" #: src/input/r_qtmp4.cpp:283 msgid "Quicktime/MP4 reader: MPEG4 track %1% is missing the esds atom/the decoder config. Skipping this track.\n" -msgstr "Quicktime/MP4 читач: MPEG4 доріжки %1% не вистачає esds частини/декодера конфігурації. Пропуск цієї доріжки.\n" +msgstr "Quicktime/MP4 зчитувач: Для доріжки MPEG4 %1% відсутні елемент esds/налаштування декодера. Пропуск цієї доріжки.\n" #: src/input/r_qtmp4.cpp:121 msgid "Quicktime/MP4 reader: Source is not a valid Quicktime/MP4 file." -msgstr "Quicktime/MP4 читач: джерело не є допустимим Quicktime/MP4 файлом." +msgstr "Quicktime/MP4 зчитувач: Даний файл не є придатним Quicktime/MP4 файлом." #: src/input/r_qtmp4.cpp:651 msgid "Quicktime/MP4 reader: The 'media header' atom ('mdhd') uses the unsupported version %1%.\n" -msgstr "Quicktime/MP4 читач: 'медіа заголовок' частини ('mdhd') використовує непідтримувані версію %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Елемент 'media header' ('mdhd') використовує непідтримувану версію %1%.\n" #: src/input/r_qtmp4.cpp:971 msgid "Quicktime/MP4 reader: The 'size' field is too small in the stream description atom for track ID %1%.\n" -msgstr "Quicktime/MP4 читач: поле 'розмір' занадто маленьке в частині потоку опису ID доріжки %1%.\n" +msgstr "Quicktime/MP4 зчитувач: Поле 'size' занадто маленьке для елементу опису потоку з ID доріжки %1%.\n" #: src/input/r_qtmp4.cpp:656 msgid "Quicktime/MP4 reader: The 'time scale' parameter was 0. This is not supported.\n" -msgstr "Quicktime/MP4 читач: параметр 'масштаб часу' був 0. Це не підтримується.\n" +msgstr "Quicktime/MP4 зчитувач: Параметр 'time scale' був нульовим, що не підтримується.\n" #: src/input/r_qtmp4.cpp:251 msgid "Quicktime/MP4 reader: The AAC track %1% is missing the esds atom/the decoder config. Skipping this track.\n" -msgstr "Quicktime/MP4 читач: AAC доріжки %1% відсутня esds частини/декодера конфігурації. Пропуск цієї доріжки.\n" +msgstr "Quicktime/MP4 зчитувач: Для доріжки AAC %1% відсутній елемент esds/конфігурація декодера. Пропуск цієї доріжки.\n" #: src/input/r_qtmp4.cpp:245 msgid "Quicktime/MP4 reader: The audio track %1% is using an unsupported 'object type id' of %2% in the 'esds' atom. Skipping this track.\n" -msgstr "Quicktime/MP4 читач: аудіо доріжка %1% використовує непідтримуваний 'об'єкт типу id' %2% у 'esds' частини. Пропуск цієї доріжки.\n" +msgstr "Quicktime/MP4 зчитувач: Для аудіо доріжки %1% використовується непідтримуваний ''object type id' %2% елементу 'esds'. Пропуск цієї доріжки.\n" #: src/input/r_qtmp4.cpp:263 msgid "Quicktime/MP4 reader: The video track %1% is missing the ESDS atom. Skipping this track.\n" -msgstr "Quicktime/MP4 читач: відео доріжка %1% відсутня ESDS частину. Пропуск цієї доріжки.\n" +msgstr "Quicktime/MP4 зчитувач: Для відео доріжки %1% відсутній елемент ESDS. Пропуск цієї доріжки.\n" #: src/input/r_qtmp4.cpp:505 msgid "Quicktime/MP4 reader: This file uses compressed headers with an unknown or unsupported compression algorithm '%1%%2%%3%%4%'. Aborting.\n" -msgstr "Quicktime/MP4 читач: цей файл використовує невідомий стислий заголовків або не підтримується алгоритм стиснення '%1%%2%%3%%4%'. Переривання.\n" +msgstr "Quicktime/MP4 зчитувач: Цей файл використовує стиснуті заголовки, отримані невідомим або непідтримуваним методом стиснення '%1%%2%%3%%4%'. Переривання.\n" #: src/input/r_qtmp4.cpp:538 msgid "Quicktime/MP4 reader: This file uses compressed headers, but the expected uncompressed size (%1%) was not what is available after uncompressing (%2%).\n" -msgstr "Quicktime/MP4 читач: цей файл використовує стислі заголовки, але очікується незжатий розмір (%1%) не те, що доступні після розпакування (%2%).\n" +msgstr "Quicktime/MP4 зчитувач: Цей файл використовує стиснуті заголовки, але очікуваний нестиснутий розмір (%1%) не був отриманий після розпакування (%2%).\n" #: src/input/r_qtmp4.cpp:529 msgid "Quicktime/MP4 reader: This file uses compressed headers, but the zlib library could not be initialized. Error code from zlib: %1%. Aborting.\n" -msgstr "Quicktime/MP4 читач: цей файл використовує стислі заголовки, але zlib бібліотека не може бути ініціалізувати. Код помилки з zlib: %1%. Переривання.\n" +msgstr "Quicktime/MP4 зчитувач: Цей файл використовує стиснуті заголовки, але бібліотека zlib не може бути ініціалізована. Код помилки zlib: %1%. Переривання.\n" #: src/input/r_qtmp4.cpp:534 msgid "Quicktime/MP4 reader: This file uses compressed headers, but they could not be uncompressed. Error code from zlib: %1%. Aborting.\n" -msgstr "Quicktime/MP4 читач: цей файл використовує стислі заголовки, але вони не можуть бути розпаковані. Код помилки з zlib: %1%. Переривання.\n" +msgstr "Quicktime/MP4 зчитувач: Цей файл використовує стиснуті заголовки, але вони не можуть бути розпаковані. Код помилки zlib: %1%. Переривання.\n" #: src/input/r_qtmp4.cpp:302 msgid "Quicktime/MP4 reader: Track %1% has an unknown type.\n" -msgstr "Quicktime/MP4 читач: доріжка %1% невідомого типу.\n" +msgstr "Quicktime/MP4 зчитувач: Доріжка %1% є невідомого типу.\n" #: src/input/r_qtmp4.cpp:258 #: src/input/r_qtmp4.cpp:297 msgid "Quicktime/MP4 reader: Track %1% is missing some data. Broken header atoms?\n" -msgstr "Quicktime/MP4 читач: доріжці %1% не вистачає деяких даних. Окремі частини заголовка?\n" +msgstr "Quicktime/MP4 зчитувач: Для доріжки %1% пропущені деякі дані. Пошкоджені елементи заголовка?\n" #: src/input/r_qtmp4.cpp:992 #: src/input/r_qtmp4.cpp:1066 msgid "Quicktime/MP4 reader: Track ID %1% has more than one FourCC. Only using the first one (%|2$.4s|) and not this one (%|3$.4s|).\n" -msgstr "Quicktime/MP4 читач: доріжка ID %1% більше, ніж один FourCC. Тільки при допомогою один (%|2$.4s|) і не цій (%|3$.4s|).\n" +msgstr "Quicktime/MP4 зчитувач: Доріжка з ID %1% містить більше, ніж один FourCC. Використовується тільки перший з них (%|2$.4s|) і не цей (%|3$.4s|).\n" #: src/input/r_qtmp4.cpp:237 msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" -msgstr "Quicktime/MP4 читач: невідомий/непідтримуваний FourCC '%|1$.4s|' для доріжки %2%.\n" +msgstr "Quicktime/MP4 зчитувач: Невідомий/непідтримуваний FourCC '%|1$.4s|' для доріжки %2%.\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" -msgstr "Закрити додаток" +msgstr "Вийти з програми" #: src/mmg/header_editor/frame.cpp:146 msgid "Quit the header editor" msgstr "Закрити редактор заголовків" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "Закрити mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" -msgstr "Знову дати можливість обраному завданню(ям)" +msgstr "Повтороно ввімкнути обране(і) завдання" #: src/input/r_mpeg_ps.cpp:404 msgid "Reading encrypted VOBs is not supported.\n" -msgstr "Зашифрований VOBs читання не підтримується.\n" +msgstr "Читання зашифрованих VOBів не підтримується.\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." -msgstr "Читає додаткові опції командного рядка із зазначеного файлу (див. сторінку довідки)." +msgstr "Читати додаткові опції командного рядка із зазначеного файлу (див. сторінку довідки)." #: src/info/qt_ui.cpp:155 msgid "Ready" msgstr "Готовий" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." -msgstr "Реальна частота дискретизації на виході в Hz." +msgstr "Реальна частота дискретизації на виході в Гц." -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia Audio i Video" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" -msgstr "RealMedia Audio/Video файли" +msgstr "RealMedia аудіо/відео файли" #: src/input/r_real.cpp:377 msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" -msgstr "ealMedia файли можуть містити HE-AAC / AAC+ / SBR AAC аудіо. У деяких випадках це не може бути визначена автоматично. Тому ви повинні вказати '--aac-is-sbr %1%' вручну, для цього вихідного файлу, якщо він дійсно містить SBR AAC. Файл при об'єднанні в неправильному напрямку, в іншому випадку. Також читайте у документації mkvmerge.\n" +msgstr "RealMedia файли можуть містити HE-AAC / AAC+ / SBR AAC аудіо. У деяких випадках це не може бути визначено автоматично. Тому, ви повинні вказати '--aac-is-sbr %1%' вручну для цього вихідного файлу, якщо він дійсно містить SBR AAC. В іншому випадку, файл буде мультиплексуватися невірно. Додатково читайте у документації mkvmerge.\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "Перенаправляти всі повідомлення в цей файл." -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" -msgstr "Відношення блоку: %1%.%|2$06d|ms" +msgstr "Блок звернення: %1%.%|2$06d|мс" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" -msgstr "Відношення блоку: -%1%.%|2$06d|ms" +msgstr "Блок звернення: -%1%.%|2$06d|мс" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" -msgstr "Відношення пріоритету: %1%" +msgstr "Пріоритет звернення: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" -msgstr "Відношення віртуальне: %1%" +msgstr "Звернення віртуально: %1%" #: src/mmg/header_editor/frame.cpp:144 msgid "Reload the current file without saving" msgstr "Перезавантажити поточний файл без збереження" -#: src/mmg/jobs.cpp:71 -#: src/mmg/jobs.cpp:73 -#: src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "Час, що залишився:" #: src/common/xml/element_parser.cpp:565 msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." -msgstr "Пам'ятайте, що спеціальні символи, такі як &, <, > и \" повинні бути замасковані в звичайний HTML: & для '&', < для '<', > для '>' i " для '\"'." +msgstr "Пам'ятайте, що спеціальні символи, такі як &, <, > и \" повинні виділятися у звичайний HTML спосіб: & для '&', < для '<', > для '>' i " для '\"'." -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" -msgstr "Видалити голову" +msgstr "Видалити розділ" #: src/mmg/header_editor/value_page.cpp:167 msgid "Remove element" msgstr "Видалити елемент" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" -msgstr "Видалити ім'я" +msgstr "Видалити назву" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "Праве око" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "Повторна синхронізація перервана: не знайдений вірний елемент Matroska level 1.\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "Повторна синхронізація завершена успішно на позиції %1%.\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" -msgstr "Виконати mkvmerge і почати процес мультиплексування" +msgstr "Запустити mkvmerge і почати процес мультиплексування" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" -msgstr "Виконати у полі заголовка редактора" +msgstr "Запустити редактор полів заголовків" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" -msgstr "&Показати у командному рядку" +msgstr "&Показати командний рядок" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" -msgstr "&Початок вибраного" +msgstr "&Розпочати виконання вибраного" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 -#: src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT текстові субтитри" -#: src/mmg/tabs/input.cpp:251 -#: src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS текстові субтитри" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "&Зберегти командний рядок" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" -msgstr "Той же самий каталог як перший вхідний файл" +msgstr "Використовувати ту ж теку, що і перший вхідний файл" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." -msgstr "Частота дискретизації в Hz." +msgstr "Частота дискретизації в Гц." -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "Частота дискретизації: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "&Зберегти як" @@ -4996,190 +4995,186 @@ msgid "Save information as" msgstr "Зберегти інформацію як" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "Зберегти журнал" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" -msgstr "Зберегти налаштування мультиплексування в фай" +msgstr "Зберегти опції мультиплексування в файл" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" -msgstr "Зберегти в командному рядку файл" +msgstr "Зберегти командний рядок до файлу" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" -msgstr "Зберегти в командному рядку конфігураційного файлу, який може бути прочитаний mkvmerge" +msgstr "Зберегти командний рядок до конфігураційного файлу, який може бути зчитаний за допомогою mkvmerge" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" -msgstr "Зберегти поточні голови в файл XML" +msgstr "Зберегти поточні розділи до файлу XML" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" -msgstr "Зберегти поточні голови в файл під іншим ім'ям" +msgstr "Зберегти поточні розділи до файлу з іншою назвою" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" -msgstr "Зберегти поточні голови в існуючий Matroska файл" +msgstr "Зберегти поточні розділи до існуючого файлу Matroska" #: src/mmg/header_editor/frame.cpp:143 msgid "Save the header values" msgstr "Зберегти значення заголовка" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" -msgstr "&Зберегти у файл Matroska" +msgstr "&Зберегти до файлу Matroska" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" -msgstr "Зберігає інформацію з поточного файлу в текстовий файл" +msgstr "Зберігається інформація з поточного файлу до текстового файлу" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" -msgstr "Область: %1% (%2%)" +msgstr "Діапазон: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" -msgstr "Шукати ID:%1% (%2%)" +msgstr "ID пошуку: %1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" -msgstr "Шукати статтю" +msgstr "Запис пошуку " -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" -msgstr "Шукати заголовок" +msgstr "Заголовок пошуку" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" -msgstr "Шукати заголовок (подстатьі будуть пропущені)" +msgstr "Шукати заголовок (дочірні записи будуть пропущені)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" -msgstr "Шукати позицію: %1%" +msgstr "Позиція пошуку: %1%" -#: src/extract/timecodes_v2.cpp:198 -#: src/extract/tracks.cpp:348 +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 #: src/info/qt_ui.cpp:177 -#: src/info/wxwidgets_ui.cpp:221 +#: src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "Сегмент" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" -msgstr "Сегмент UID:%1%" +msgstr "UID сегмента:%1%" #: src/mmg/tabs/global.cpp:262 msgid "Segment UIDs:" -msgstr "Сегмент UIDs:" +msgstr "UID сегментів:" #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" -msgstr "Файл сегмента" +msgstr "Назва файла сегмента" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" -msgstr "Файл сегмента: %1%" +msgstr "Назва файла сегмента: %1%" #: src/mmg/tabs/global.cpp:296 msgid "Segment info file:" -msgstr "Файл інформації сегменти:" +msgstr "Файл інформації сегмента:" #: src/mmg/tabs/global.cpp:318 #, c-format msgid "Segment info files (*.xml)|*.xml|%s" msgstr "Файли інформації сегмента (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 -#: src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 -#: src/propedit/options.cpp:152 +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 #: src/propedit/propedit_cli_parser.cpp:87 #: src/propedit/propedit_cli_parser.cpp:160 -#: src/info/mkvinfo.cpp:544 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 #: src/info/qt_ui.cpp:178 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "Інформація сегмента" -#: src/extract/timecodes_v2.cpp:252 -#: src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 #: src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "Доріжки сегмента" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:339 +#: src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "Унікальний ID сегмента" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "Сегмент, розмір %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" -msgstr "Сегмент, невідомого розміру" +msgstr "Сегмент невідомого розміру" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" -msgstr "Виберіть файл Matroska" +msgstr "Оберіть файл Matroska" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" -msgstr "Виберіть вихідний файл" +msgstr "Оберіть вихідний файл" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" -msgstr "Виберіть файл, який ви хочете писати" +msgstr "Оберіть файл, в який буде виконуватись запис інформації" #: src/mmg/options/languages.cpp:84 msgid "" "Select the languages you want to be shown at the top\n" "of language drop down boxes." -msgstr "" -"Виберіть мови, які ви хочете показувати нагорі\n" -"мови випадаючого." +msgstr "Оберіть мови, які ви хочете щоб відображались на початку (нагорі) випадаючих мовних меню." -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" -msgstr "Виберіть значення, які повинні застосовуватися" +msgstr "Виберіть значення, які повинні бути застосовані" -#: src/mmg/tabs/input_extra.cpp:55 -#: src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." -msgstr "Вибір блоків, для яких mkvmerge буде виробляти запису індексу ( = cue запису). \"За замовчуванням\" це хороший вибір майже для всіх ситуацій." +msgstr "Обирається для яких блоків mkvmerge буде створювати індексні записи ( = cue записи). \"Типово\" є хорошим вибором майже для всіх ситуацій." -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." -msgstr "Вибір кодування файлу з субтитрами або глави інформація була написана. Потрібні лише для не-UTF закодованих файлів з субтитрами або файли з главою інформації (наприклад, OGM, MP4), для яких mkvmerge не визначає кодування неправильно." +msgstr "Визначає з яким набором симоволів файл субтитрів або інформації розділів був записаний. Це потрібно лише для не-UTF закодованих файлів субтитрів або файлів з інфоормацією розділів (наприклад, OGM, MP4), для яких mkvmerge не визначає корректно набір симовлів." -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" -msgstr "&Встановити вихідний файл" +msgstr "&Задати вихідний файл" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" -msgstr "Встановити країну:" +msgstr "Задати країну:" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:395 +#: src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" "user preference." msgstr "" -"Встановити, що якщо трек (аудіо, відео і субтитрів) слід\n" -"в тому випадку, якщо жодна мова не знайшли\n" -"до власних уподобань." +"Задавати необхідно, якщо трек (аудіо, відео або субтитрів) ПОВИНЕН\n" +"бути використаний при умові, що не знайдено жодної мови, яка б співпадала з уподобаннями користувача." #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:402 +#: src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5187,73 +5182,72 @@ "whose language matches the user preference or the\n" "default + forced track." msgstr "" -"Встановити, що якщо трек повинен бути використаний під час відтворення.\n" -"Там може бути багато змушені стежити за структурою (аудіо,\n" -"відео або субтитри). Плеєр повинен вибрати один\n" -"мова, яких відповідає переваг користувача або\n" -"за замовчуванням + бажаного треку." +"Задавати необхідно, якщо трек повинен бути використаний під час відтворення.\n" +"Може бути багато доріжок (аудіо, відео або субтитрів)\n" +"з прапорцем примусового використання. Плеєр повинен обрати одну з доріжок,\n" +"мова якої відповідає уподобанням користувача або\n" +"доріжку з прапорцями типово + примусового використання." #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." -msgstr "Встановити, якщо доріжка використовується." +msgstr "Задати, якщо доріжка використовується." #: src/common/property_element.cpp:137 msgid "Set if the video is interlaced." -msgstr "Встановити, якщо відео з чергуванням рядків." +msgstr "Задати, якщо відео з чергуванням рядків." -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" -msgstr "Встановити мову:" +msgstr "Задати мову:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" -msgstr "Встановити полі затримки введення з файлу" +msgstr "Встановлювати значення затримки з назви файлу" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" -msgstr "Встановити значення" +msgstr "Задати значення" #: src/propedit/propedit_cli_parser.cpp:150 msgid "Sets a property to the value if it exists and add it otherwise" -msgstr "Встановлює властивість у значення, якщо вона існує, і додати його в іншому випадку" +msgstr "Встановлюється певне значення параметру, якщо воно існує, і додається в іншому випадку" #: src/propedit/propedit_cli_parser.cpp:146 msgid "Sets the Matroska file section that all following add/set/delete actions operate on (see below and man page for syntax)" -msgstr "Встановлює розділ файлу Matroska, на який усі, наступне додає/встановлює/видаляє дії, впливають (див. нижче і сторінка допомоги для синтаксису)" +msgstr "Встановлюється розділ файлу Matroska, над яким усі наступні дії - приєднання/встановлення/видалення оперують (див. нижче і сторінку допомоги для пояснення синтаксису)" #: src/propedit/propedit_cli_parser.cpp:143 msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" -msgstr "Встановлює режим Matroska аналізатор на 'швидкий' (за замовчуванням) або 'повний'" +msgstr "Встановлюється режим аналізатора Matroska як 'fast' (типово) або як 'full'" -#: src/mmg/tabs/input_extra.cpp:64 -#: src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "Встановлює стиск, що використовується для субтитрів VobSub. Якщо нічого не вибрали, то VobSubs будуть автоматично стискати з zlib. Результати це файли, які багато більше." +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "Встановлюється алгоритм стиснення, що буде використовуватися для даної доріжки. Якщо нічого не вибрано, то mkvmerge буде вирішувати, чи застосовувати взагалі стиненння і який алгоритм використовувати для цього, виходячи з типу доріжки. Доріжки більшості типів не стискаються зовсім." -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." -msgstr "Встановлює обрізку параметрів. Повинно бути кому з чотирьох чисел, для збору врожаю, які будуть використовуватися ліворуч, зверху, праворуч і знизу." +msgstr "Встановлюються параметри обрізки. Має бути задано 4 числа, розділених комамами, для обрізки зліва, згори, справа і знизу відповідно." -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." -msgstr "Установка за замовчуванням тривалість і кількість кадрів в секунду для треку. Це можливо тільки для відео-треків. Для AVC/H.264 елементарних потоків ця опція повинна бути надана. Це може бути або число з плаваючою точкою чи фракції." +msgstr "Встановлюється типові тривалість і кількість кадрів в секунду для доріжки. Це можливо тільки для доріжок відео. Для AVC/H.264 елементарних потоків ця опція повинна бути задана. Може бути або числом з плаваючою комою або дробом." -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." -msgstr "Встановлює пропорції відображення шляху. Формат може бути 'a/b' і в цьому випадку обидва числа повинні бути цілими (наприклад, 16/9) або просто одним номером точки floting 'f' (наприклад, 2,35)." +msgstr "Задає співвідношення сторін екрану для доріжки. Формат співвідношення може бути як 'a/b' і в цьому випадку обидва числа повинні бути цілими (наприклад, 16/9), або просто одним числом з плаваючою комою 'f' (наприклад, 2,35)." -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." -msgstr "Встановлює висоту дисплея доріжки. Ширина повинна бути встановлена як добре, або це поле буде ігноруватися." +msgstr "Задає висоту відображення на екрані для доріжки. Ширина має бути встановлена, або це поле буде ігноруватися." -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." -msgstr "Встановлює ширину дисплея доріжки. Висота має бути встановлена як добре, або це поле буде ігноруватися." +msgstr "Задає ширину відображення на екрані для доріжки. Висота має бути встановлена, або це поле буде ігноруватися." #: src/mmg/options/mkvmerge.cpp:64 msgid "Sets the priority that mkvmerge will run with." -msgstr "Встановлює пріоритет, на якому mkvmerge буде працювати." +msgstr "Встановлюється пріоритет, з яким буде працювати mkvmerge." #: src/mmg/tabs/global.cpp:263 msgid "" @@ -5261,91 +5255,107 @@ "\n" "Each file created contains one segment, and each segment has one segment UID. If more segment UIDs are specified than segments are created then the surplus UIDs are ignored. If fewer UIDs are specified than segments are created then random UIDs will be created for them." msgstr "" -"Встановлює сегмент UIDs для використання. Це кому список 128біт сегмента UIDs в звичайній формі UID: шістнадцятиричних чисел з використанням або без \"0x\" префікс, з або без пробілів, рівно 32 цифр.\n" +"Задає для використання UID сегментів. Це розділений комами список UID сегментів розміром по 128 біт у визначеній для UID формі: шістнадцяткові числа з або без префікса \"0x\", з або без пробілів, рівно 32 цифри.\n" "\n" -"Кожен файл містить створив один сегмент, і кожен сегмент має один сегмент UID. Якщо більше UIDs сегмента вказані, ніж сегментів створюються, то надлишки UIDs ігноруються. Якщо менше UIDs визначаються, ніж сегментів створюються тоді випадкових UIDs будуть створені для них." +"Кожен створений файл містить один сегмент, і кожен сегмент має один UID сегмента. Якщо задано більше UID сегментів, ніж самих створюваних сегментів, то залишкові UID ігноруються. Якщо задано менше UID сегментів, ніж самих створюваних сегментів, тоді для них будуть створені випадкові UID." -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." -msgstr "Встановлює стерео режим відстежувати відео до цього значення. Якщо залишити порожнім, то початковий режим стерео доріжки будуть збережені або, якщо вона не одна, ніхто не буде встановлено на всіх." +msgstr "Встановлюється стерео режим для відео. Якщо залишити поле порожнім, то буде збережено початковий стерео режим доріжки або, якщо його не задано, то нічого встановлено не буде." -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "Налаштування: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." -msgstr "Кілька опцій, які управляють повним висновком, що mkvmerge створює." +msgstr "Деякі опції, які контролюють створюваний mkvmerge на виході результуючий файл." -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" -msgstr "Короткий AAC аудіо пакет (довжина: %1% < %2%)\n" +msgstr "Короткий AAC аудіопакет (довжина: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" -msgstr "Короткий AAC аудіо пакет (довжина: %1% < 2)\n" +msgstr "Короткий AAC аудіопакет (довжина: %1% < 2)\n" #: src/mpegparser/M2VParser.cpp:392 msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Скорочене GOP виявлено. Деякі кадри були зняті. Ви можете виправити MPEG2 відео потік, перш ніж намагатися його мультиплексованих.\n" +msgstr "Виявлено скорочену GOP. Деякі кадри були пропущені. Ви можете виправити MPEG2 відеопотік перед мультиплексуванням як таким.\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "&Показати всі елементи\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" -msgstr "Показати діалог про mmg's" +msgstr "Показати діалог про..." + +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "Відображення всіх байтів кожного кадра як шістнадцяткового дампа." -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" -msgstr "&Показати розміри елемента\tCtrl-Z" +msgstr "&Показати розмір елементів\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" -msgstr "Показати mmg's налагодження у вікні" +msgstr "Показувати вікно налагодження mmg" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "Показати інформацію про програму" -#: src/mmg/mmg_dialog.cpp:259 -msgid "Show the command line mmg creates for mkvmerge" -msgstr "Показати mmg командного рядка, створює для mkvmerge" +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "Відображати статистику для кожної доріжки в докладному вигляді." #: src/mmg/mmg_dialog.cpp:276 +msgid "Show the command line mmg creates for mkvmerge" +msgstr "Показати командний рядок, який mmg створює для mkvmerge" + +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "Відображення перших 16 байтів кожного кадру як шістнадцяткового дампа." + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" -msgstr "Показати керівництво mkvmerge GUI" +msgstr "Показати довідку по mkvmerge GUI" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" -msgstr "Показати розмір кожного елемента в тому числі на його заголовку" +msgstr "Показати розмір кожного елемента в тому числі і його заголовку" -#: src/common/cli_parser.cpp:181 -msgid "Show this help." -msgstr "Показати цю допомогу." +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "Показати розмір кожного елемента в тому числі і його заголовку." #: src/common/cli_parser.cpp:182 +msgid "Show this help." +msgstr "Показати цю інформацію з допомогою." + +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "Показати інформацію про версію." -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." -msgstr "Показує вікно налагодження mmg, в якому налагодження повідомлення будуть з'являтися. Це тільки корисно, якщо ви допомагаєте автору налагодження проблеми в mmg." +msgstr "Показує вікно налагодження mmg, в якому будуть відображатися налагоджувальні повідомлення. Це корисно, якщо ви допомагаєте автору виявити проблему в mmg." -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "Алгоритм сигнатури: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "Сигнатура хеш-алгоритму: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "Сигнатура ID ключа: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "Сигнатура: %1%" @@ -5353,79 +5363,79 @@ msgid "Signed integer" msgstr "Ціле число" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "Прихований номер доріжки: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "Простий блок" #: src/common/chapters/chapters.cpp:48 msgid "Simple chapter parser: %1%\n" -msgstr "Простий парсер голови: %1%\n" +msgstr "Простий аналізатор розділу: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" -msgstr "Простий блок" +msgstr "ПростийБлок" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" -msgstr "Простий блок (%1% номер доріжки %2%, %3% кадр(и), тайм-код %|4$.3f|s = %5%)" +msgstr "ПростийБлок (%1% номер доріжки %2%, %3% кадри(ів), тайм-код %|4$.3f|с = %5%)" #: src/mpegparser/M2VParser.cpp:389 msgid "Single field frame before GOP header detected. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Покадрова область до GOP заголовка виявлена. Встановіть відео потік MPEG2 перш ніж спробувати мультиплексованих.\n" +msgstr "Виявлено кадр з одним полем перед заголовком GOP. Виправте MPEG2 відеопотік перед мультиплексуванням як таким.\n" #: src/output/p_aac.cpp:73 msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" -msgstr "Пропуск %1% байт (не дійсний заголовок AAC). Це може призвести до аудіо/відео рассинхронізациі.\n" +msgstr "Пропуск %1% байт (не знайдено корректного заголовку AAC). Це може призвести до розсинхронізації аудіо і відео.\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" -msgstr "Пропуск %1% байт (не дійсний заголовок DTS). Це може призвести до аудіо/відео рассинхронізациі.\n" +msgstr "Пропуск %1% байт (не знайдено корректного заголовку DTS). Це може призвести до розсинхронізації аудіо і відео.\n" #: src/input/r_mp3.cpp:53 msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" -msgstr "Пропуск %1% байт на початку (не дійсний MP3 заголовок).\n" +msgstr "Пропуск %1% байт на початку (не знайдено жодного корректного заголовку MP3).\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" -msgstr "Сектори" +msgstr "Шари (Сектори)" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" -msgstr "Деякі заголовка значення були змінені. Ви дійсно хочете закрити без збереження файлу?" +msgstr "Деякі значення заголовка були змінені. Ви дійсно хочете закрити без збереження файлу?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" -msgstr "Деякі заголовка значення були змінені. Ви дійсно хочете, щоб завантажити новий файл без збереження нинішньої?" +msgstr "Деякі значення заголовка були змінені. Ви дійсно хочете завантажити новий файл без збереження поточного?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" -msgstr "Деякі заголовка значення були змінені. Ви дійсно хочете перезавантажити без збереження файлу?" +msgstr "Деякі значення заголовка були змінені. Ви дійсно хочете повторно відкрити без збереження файлу?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" -msgstr "Деякі теги елементи відсутні (ця помилка не повинна мати місце - ще Подібна помилка повинна була мати місце раніше). %1%\n" +msgstr "Деякі елементи тегів відсутні (ця помилка не повинна була виникнути - подібна помилка повинна була виникнути раніше). %1%\n" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:430 +#: src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." msgstr "" -"Визначає мову композицію в\n" -"вигляді Matroska мови." +"Задається мова доріжки в\n" +"мовній формі Matroska." #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:486 +#: src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." msgstr "" -"Вкажіть можливі зміни пропорцій\n" -"(0: вільне зміна розміру, 1: зберегти пропорції, 2: фіксована)." +"Вкажіть можливі зміни співвідношення сторін екрану\n" +"(0: вільна зміна співвідношення, 1: зберігати співвідношення, 2: фіксоване співвідношення)." #: src/mmg/tabs/global.cpp:232 msgid "Splitting" @@ -5433,319 +5443,331 @@ #: src/mmg/tabs/global.cpp:532 msgid "Splitting by size was selected, but no size has been given." -msgstr "Розбивання за розміром було вибрано, але ніякої розмір не було дано." +msgstr "Було обрано розбиття за розміром, але розмір не було вказано." #: src/mmg/tabs/global.cpp:565 msgid "Splitting by timecode/duration was selected, but nothing was entered." -msgstr "Поділ за тайм-коду/продолжітельності був обраний, але нічого не набрав." +msgstr "Було обрано розбиття за тайм-кодами/тривалістю, але нічого вказано не було." -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" -msgstr "Розподілу активів, і принаймні один з потенційних вихідних файлів '%s%s*%s' вже існує. Ви хочете переписати їх?" +msgstr "Розбиття в процесі виконання, і принаймні один з потенційних вихідних файлів '%s%s*%s' вже існує. Ви хочете перезаписати їх?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "&Почати мультиплексування" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "&Почати мультиплексування (запустити mkvmerge)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "mkvinfo [опції] inname" + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" -msgstr "Початок роботи зі станом 'відкладені'" +msgstr "Розпочати виконання завдання(нь) із статусом 'очікування'" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" -msgstr "Початок вибраного завдання (ий) незалежно від їх статусу" +msgstr "Розпочати виконання вибраного(их) завдання(нь) незалежно від їх статусу" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" -msgstr "Почати з порожньою налаштування" +msgstr "Розпочати використання з незаданими опціями" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "Початок:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" -msgstr "Процес почався" +msgstr "Розпочато" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" -msgstr "Початок роботи ID %d (%s) в %s" +msgstr "Розпочато виконання завдання з ID %d (%s) %s" + +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "Статистика для доріжки номер %1%: кількість блоків: %2%; розмір в байтах: %3%; тривалість в секундах: %4%; орієнтовний бітрейт в бітах/с: %5%\n" -#: src/mmg/jobs.cpp:428 +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "Статус" -#: src/mmg/jobs.cpp:62 -#: src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 msgid "Status and progress" -msgstr "Статус и прогрес" +msgstr "Статус і прогрес виконання" +#: src/mmg/update_checker.cpp:57 #: src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "Статус:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "Stereo режим параметр не задається у вигляді <TID>:<n|keyword> де n число від 0 до 3 або один з ключових слів 'немає', 'право', 'лівий', 'і' (аргумент '%1%').\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "Стерео режим: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "Параметр стереорежиму: не заданий у вигляді <TID>:<n|keyword>, де n число від 0 до %1% або одне з цих ключових слів: %2% (аргумент був '%3%').\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "Стерео режим: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "Стерео-3D відеорежим (0 - 11, див. документацію)." #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." msgstr "" -"Stereo-3D режим відео (0: моно, 1: праве око,\n" +"Стерео-3D режим відео (0: моно, 1: праве око,\n" "2: ліве око, 3: обидва ока)." -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "Стереоскопія:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" -msgstr "Розтягнути по:" +msgstr "Розтягнення:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." -msgstr "Розтягнути цю композицію в тайм-кодів. Ця запис може мати два формати. Це або позитивне число з плаваючою точкою, або як, наприклад, частка 1200/1253. Роботи найкращих на відео і субтитрів." +msgstr "Розтягнути тайм-коди даної доріжки. Цей запис може мати два формати. Це або додатнє число з плаваючою комою, або, наприклад, дріб 1200/1253. Найкраще застосовувати до доріжок відео і субтитрів." #: src/mmg/header_editor/value_page.cpp:144 msgid "String" msgstr "Рядок" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" -msgstr "Субтитри доріжки %1% відсутні деякі елементи термін. Будь ласка, перевірте в результаті SSA/ASS файл для запису, які мають однаковий час початку і закінчення.\n" +msgstr "Для доріжки субтитрів %1% відсутні деякі елементи тривалості. Будь ласка, перевірте результуючий SSA/ASS файл на наявність записів, які мають однаковий час початку і закінчення.\n" #: src/mmg/header_editor/track_type_page.cpp:52 #, c-format msgid "Subtitle track %u" -msgstr "Субтитри доріжки %u" +msgstr "Доріжка субтитрів %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "Підтримувані типи файлів:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "Приховати статусну вихідну інформацію." + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The lossless True Audio codec)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA аудіо без втрат" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" -msgstr "Витяг тега" +msgstr "Витягнення тега" #: src/mmg/tabs/global.cpp:292 msgid "Tag file:" -msgstr "Тег файл:" +msgstr "Файл тегу:" #: src/mmg/tabs/global.cpp:308 #, c-format msgid "Tag files (*.xml)|*.xml|%s" -msgstr "Тег файли (*.xml)|*.xml|%s" +msgstr "Файли тегів (*.xml)|*.xml|%s" #: src/mmg/tabs/input_general.cpp:275 #, c-format msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" -msgstr "Тег файли (*.xml;*.txt)|*.xml;*.txt|%s" +msgstr "Файли тегів (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "Теги" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" -msgstr "Теги не допускаються в WebM сумісних файлів. Ні тегів будуть написані в будь-якій вихідний файл.\n" +msgstr "Теги не допускаються у сумісних WebM файлах. Жодних тегів не буде записано до будь-яких вихідних файлів.\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" -msgstr "Теги доріжки ID %1%: %2% записи" +msgstr "Теги для доріжки з ID %1%: %2% записи(ів)" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" -msgstr "Теги доріжки ID %lld (%d записи) з %s" +msgstr "Теги для доріжки з ID %lld (%d записи(ів)) з %s" #: src/mmg/tabs/input_general.cpp:187 msgid "Tags:" msgstr "Теги:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "Повідомляє mkvmerge, щоб не створювати мета пошук елемента в кінець файлу, що містить всі кластери." - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." -msgstr "Повідомляє mkvmerge, щоб не створювати і записувати сигнал даних, які можна порівняти з індексом в AVI. Matroska файли можуть бути відтворені без Кий даних, але шукає, можливо, буде неточним і повільніше. Використовувати тільки для цілей тестування." +msgstr "Повідомляє mkvmerge не створювати і не записувати cue дані (які можна порівняти з індексом в файлах AVI). Файли Matroska можуть бути відтворені без cue даних, але прокрутка, можливо, буде неточною і повільнішою. Необхідно використовувати тільки для цілей тестування." + +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "Повідомляє mkvmerge створити елемент мета пошуку в кінці файлу, який містить всі кластери." #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "Текстові файли (*.txt);;Всі файли (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "Текстові файли (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "Текстові файли (*.txt)|*.txt|Всі файли|*.*" #: src/input/r_vobsub.cpp:227 msgid "The .idx file does not contain an 'id: ...' line to indicate the language.\n" -msgstr ".idx файл не містить 'id: ...' рядок для зазначення мови.\n" +msgstr "Файл .idx не містить рядка 'id: ...' для зазначення мови.\n" #: src/output/p_aac.cpp:207 msgid "The AAC profiles are different: %1% and %2%" -msgstr "AAC профілі різні: %1% i %2%" +msgstr "Профілі AAC різні: %1% i %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" -msgstr "Трек AVC відео відсутнє 'CTTS' для зсуву кадру тайм-коду. Тим не менше, AVC/H.264 дозволяє кадрів мати більш традиційним (для рам P) або два (для B кадрів) посилання на інші кадри. Тайм-кодів для таких кадрів буде поза порядком, і 'CTTS' необхідний для отримання таймкодов права. Як не вистачає таймкодов для цього рінгтону може бути неправильним. Ви повинні дивитися файл, що вийшов і переконайтеся, що він виглядає, як ви очікували, що це.\n" +msgstr "Для доріжки AVC відео відсутній елемент 'CTTS' для зміщень тайм-коду кадру. Тим не менше, стандарт AVC/h.264 допускає для кадрів мати більше ніж традиційне одне (для кадрів P) або два (для кадрів B) посилання на інші кадри. Тайм-коди для таких кадрів будуть нестандартними, і тому елемент 'CTTS' необхідний для отримання вірних тайм-кодів. Так як данний елемент відсутній, то тайм-коди для цієї доріжки може бути неправильними. Вам необхідно продивитися результуючий файл і переконатися, що він виглядає так, як ви і очікували.\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" -msgstr "CUE трек лист для %1% будуть записані в '%2%'.\n" +msgstr "Трек-лист CUE для доріжки %1% буде записаний до '%2%'.\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" -msgstr "CodecID з двох треків в іншому: %1% i %2%" +msgstr "CodecID двох доріжок різні: %1% i %2%" #: src/output/p_flac.cpp:102 msgid "The FLAC header data is different for the two tracks (lengths: %1% and %2%)" -msgstr "FLAC даних заголовка для різних двох доріжок (довжина: %1% i %2%)" +msgstr "Дані заголовка FLAC різні для двох доріжок (довжини: %1% i %2%)" #: src/output/p_flac.cpp:49 msgid "The FLAC headers could not be parsed: the stream info structure was not found.\n" -msgstr "FLAC заголовки не може бути розібрано: структура потоку інформації не було знайдено.\n" +msgstr "Заголовки FLAC не можуть бути проаналізовані: структура інформації потоку не була знайдена.\n" #: src/output/p_video.cpp:91 msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" -msgstr "FPS це 0.0 але читач не передбачає тимчасового коду для пакета. %1%\n" +msgstr "Значення кадрів за секунду є 0.0, але зчитувач не надав тайм-коду для пакета. %1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." -msgstr "FPS налаштування для номера доріжки. %s у файлі '%s' є недійсним." +msgstr "Значення кадрів за секунду для доріжки номер %s у файлі '%s' є невірним." -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" -msgstr "FourCC повинно бути рівно чотири символів в '%1% %2%'.\n" +msgstr "FourCC повинен складатися рівно з чотирьох символів в '%1% %2%'.\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." -msgstr "Установка для FourCC номер доріжки. %s в файл '%s' не чотири символи." +msgstr "FourCC для доріжки номер %s у файлі '%s' не містить точно чотири символи." -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." -msgstr "GUI налаштований на використання mkvmerge виконуваний файл з іншою версією (%s), ніж сам GUI (%s). Це не підтримується, але не буде перешкоджати ні. Ви повинні змінити mkvmerge що виконується в діалоговому вікні налаштування." +msgstr "GUI налаштований на використання виконуваного файла mkvmerge іншої версії (%s), ніж сам GUI (%s). Даний сценарій не підтримується, але не забороняється. Ви можете змінити шлях до виконуваного файла mkvmerge необхідної версії через діалог налаштувань." -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" -msgstr "Заголовок Кейт identifaction не може бути оброблений (%1%).\n" - -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "MPEG-4 частина 2 стиск працює тільки з рідним MPEG-4. Тим не менше, рідний MPEG-4 режим не був обраний з '--engage native_mpeg4'.\n" +msgstr "Заголовок ідентифікації Kate не може бути оброблений (%1%).\n" #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." -msgstr "Matroska файл аналізується." +msgstr "Файл Matroska аналізується." -#: src/mmg/header_editor/frame.cpp:700 +#: src/mmg/header_editor/frame.cpp:701 #: src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" -msgstr "Matroska файл був змінений, але прагнути мета запис не може бути оновлений. Це означає, що плеєр, можливо, важко знайти цей елемент. Будь ласка, використовуйте ваш улюблений плеєр, щоб перевірити цей файл.\n" +msgstr "Файл Matroska був змінений, але запис для мета пошуку не може бути оновлений. Це означає, що плеєру, можливо, важко буде знайти цей елемент. Будь ласка, використовуйте ваш улюблений плеєр для перевірки даного файлу.\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" "The proper solution is to save these chapters into a XML file and then to remux the file with the chapters included." msgstr "" -"Matroska файл був змінений, але прагнути мета запис не може бути оновлений. Це означає, що плеєр, можливо, важко знайти цей елемент. Будь ласка, використовуйте ваш улюблений плеєр, щоб перевірити цей файл.\n" +"Файл Matroska був змінений, але запис для мета пошуку не може бути оновлений. Це означає, що плеєру, можливо, важко буде знайти цей елемент. Будь ласка, використовуйте ваш улюблений плеєр для перевірки даного файлу.\n" "\n" -"Належне рішення, щоб зберегти ці розділи в файл XML, а потім remux файл з головами включений." +"Один з варіантів рішення проблеми - зберегти ці розділи до файлу XML, а потім повторно мультиплексувати файл з приєднанням розділів." -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" -msgstr "Довжина NALU розмір повинен бути цілим числом від 2 до 4 включно '--nalu-size-length %1%'.\n" +msgstr "Довжина NALU розміра повинна бути цілим числом від 2 до 4 включно в '--nalu-size-length %1%'.\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" -msgstr "Заголовок Theora identifaction не може бути оброблений (%1%).\n" +msgstr "Заголовок ідентифікації Theora не може бути проаналізований (%1%).\n" #: src/output/p_vorbis.cpp:142 msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" -msgstr "Книги шифрів Vorbis є різними; такі доріжки не можуть бути пов'язані без перекодування" +msgstr "Набори кодів Vorbis є різними; такі доріжки не можуть бути об'єднані без повторного кодування" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" -msgstr "Аргумент '%1%' у '%2%' недопустимий: '%3%' не є припустимим ID треку.\n" +msgstr "Аргумент '%1%' у '%2%' некорректний: '%3%' не є допустимим ID доріжки.\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" -msgstr "Аргумент '%1%' у '%2%' недопустимий: '%3%' має бути або 'всі' або 'перший'.\n" +msgstr "Аргумент '%1%' у '%2%' некорректний: '%3%' має бути або 'all', або 'first'.\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" -msgstr "Аргумент '%1%' у '%2%' недопустимий: надто багато двокрапок в елементі '%3%'.\n" +msgstr "Аргумент '%1%' у '%2%' некорректний: надто багато двокрапок для елементу '%3%'.\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" -msgstr "Аргумент '--timecode-scale' повинен бути цілим числом.\n" +msgstr "Аргумент '--timecode-scale' повинен бути числом.\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." -msgstr "Пропорції налаштування для номера треку. %s у файлі '%s' є недійсним." +msgstr "Налаштування співвідношення сторін для доріжки номер %s у файлі '%s' є некорректними." -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" -msgstr "Вкладення #%1%, ID %2%, MIME тип %3%, розмір %4%, записується в '%5%'.\n" +msgstr "Вкладення #%1% з ID %2%, MIME тип якого %3%, розмір якого %4%, записується до '%5%'.\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" -msgstr "Вкладення '%1%' не може бути прочитаний.\n" +msgstr "Вкладення '%1%' не може бути прочитане.\n" #: src/common/xml/element_parser.cpp:217 msgid "The binary data must be at least %1% bytes long." -msgstr "Бінарні дані повинні бути принаймні %1% байт." +msgstr "Двійкові дані повинні бути довжиною принаймні %1% байт." #: src/common/xml/element_parser.cpp:220 msgid "The binary data must be at most %1% bytes long." -msgstr "Бінарні дані повинні бути не більше %1% байт." +msgstr "Двійкові дані повинні мати довжину не більше %1% байт." #: src/common/xml/element_parser.cpp:214 msgid "The binary data must be exactly %1% bytes long." -msgstr "Двійкові дані повинні бути точно %1% байт." +msgstr "Двійкові дані повинні бути довжиною %1% байт." #: src/propedit/propedit.cpp:104 msgid "The changes are written to the file.\n" -msgstr "Зміни записуються в файл.\n" +msgstr "Зміни записуються до файлу.\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." -msgstr "Главі '%s' не вистачає мови." +msgstr "Для розділу '%s' не вказано його мову." -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." -msgstr "Главі '%s' не вистачає часу старту." +msgstr "Для розділу '%s' не вказано його час початку." -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5753,85 +5775,85 @@ "\n" "Note: This warning can be deactivated in the 'options' dialog. Turn off the 'Warn about usage...' option." msgstr "" -"Глава редактор був використаний, з даними. Однак ні голова файл був обраний на світовому сторінки. У mmg, голова редактор не залежить від процесу мультиплексування. Глави присутні в редакторі не при об'єднанні в один вихідний файл. Тільки різних 'спасати' функцій з меню редактора чолі викличе ті розділи, які записуються на жорсткий диск.\n" +"Редактор розділів використовувався і містить дані. Однак жодного розділу не було обрано на закладці загальних налаштувань. У mmg редактор розділів є незалежним від процесуу мультиплексування. Розділи, що знаходяться в редакторі, НЕ БУДУТЬ мультиплексуватися до вихідного файлу. Тільки за допомогою різних функцій типу 'зберегти' з меню редактора можна записати розділи на жорсткий диск.\n" "\n" "Ви дійсно хочете продовжити мультиплексування?\n" "\n" -"Примітка: Це попередження можна відключити на сторінці 'Налаштування'. Вимкніть варіант 'Попереджати про використання...'." +"Примітка: Показ даного попередження можна заборонити через діалог 'Опції'. Вимкніть опцію 'Попереджати про можливе невірне використання...'." -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" -msgstr "Вибрали NALU розмір довжини %1% дуже малий. Спробуйте використовувати '4'.\n" +msgstr "Вибрана довжина NALU розміру %1% дуже мала. Спробуйте використовувати значення '4'.\n" #: src/merge/pr_generic.cpp:1240 msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" -msgstr "Тип кодека '%1%' не може бути використана в WebM сумісний файл.\n" +msgstr "Кодек типу '%1%' не може використовуватися в сумісному WebM файлі.\n" -#: src/output/p_avc.cpp:200 -#: src/output/p_kate.cpp:113 +#: src/output/p_textsubs.cpp:102 #: src/output/p_passthrough.cpp:63 -#: src/output/p_textsubs.cpp:98 #: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." -msgstr "Особисті дані кодека не відповідають (довжини: %1% i %2%)." +msgstr "Специфічні дані кодеків не співпадають (довжини: %1% i %2%)." -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." -msgstr "Особисті дані кодека не збігаються. Обидва мають однакову довжину (%1%) але різний зміст." +msgstr "Специфічні дані кодеків не співпадають. Вони мають однакову довжину (%1%), але різний зміст." #: src/input/r_wavpack.cpp:72 msgid "The correction file header was not read correctly.\n" -msgstr "Заголовок корекції файл не був правильно прочитати.\n" +msgstr "Коригуючий заголовок файла не був правильно прочитаний.\n" #: src/mmg/options/chapters.cpp:120 #, c-format msgid "The country '%s' is not a valid ccTLD and cannot be selected." -msgstr "Країна '%s' не є дійсним ccTLD і не може бути обрана." +msgstr "Країна '%s' не є корректною з-поміж таких серед доменів ccTLD і не може бути обрана." -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." -msgstr "cue для запису (індекс) пишеться..." +msgstr "Елементи cue (індекс) в процесі запису..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." -msgstr "Поточного файлу (номер %d) не може бути вилучена. Є й інші файли - принаймні файл %d - чиї треки повинні бути включені треки з цього файлу. Будь ласка, видаліть ці файли." +msgstr "Не можливо видалити поточний файл (номер %d). Є й інші файли - принаймні файл номер %d -- чиї доріжки повинні бути приєднані до доріжок з цього файлу. Будь ласка, видаліть спочатку дані файли." -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "Тайм-код поточного пакету є менше, ніж у попереднього пакета. Це зазвичай означає, що вихідний файл являє собою файл Matroska, які не були створені 100% правильно. Тайм-кодів всіх пакетів, буде скорегована %1% ms, щоб не втратити будь-які дані. Це може пролити аудіо/відео синхронізацію с, але це може бути виправлено за допомогою mkvmerge в '--синхронізувати' варіант. Якщо ви вже використовуєте \"синхронізувати\", але ви отримаєте це попередження, то не хвилюйтеся - це нормально. Якщо ця помилка відбувається кілька разів, і ви отримаєте це повідомлення більше одного разу за особливий шлях, то або це вихідний файл погано освоїли або mkvmerge містить помилку. У цьому випадку вам слід зв'язатися з автором Moritz Bunkus <moritz@bunkus.org>.\n" +msgstr "Тайм-код поточного пакету є меншим ніж для попереднього пакета. Це зазвичай означає, що вхідний файл являє собою файл Matroska, який не було створено на 100%% корректно. Тайм-коди всіх пакетів будуть скореговані на %1% мс, щоб не втратити дані. Даний крок може призвести до розсинхронізації аудіо і відео, але це може бути виправлено за допомогою опції mkvmerge \"--sync\". Якщо ви вже використовуєте опцію \"--sync\" і все одно отримуєте це попередження, то не хвилюйтеся - це нормально. Якщо ж дана помилка виникає кілька разів, і ви отримаєте це повідомлення більше одного разу для конкретної доріжки, тоді або вхідний файл некорректно створений, або це помилка mkvmerge. У цьому випадку вам слід зв'язатися з автором Moritz Bunkus <moritz@bunkus.org>.\n" #: src/input/r_usf.cpp:129 msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" -msgstr "Код мови за замовчуванням '%1%' не є припустимим кодом ISO639-2 мови і будуть проігноровані.\n" +msgstr "Типовий код мови для '%1%' не є корректним кодом мови ISO639-2 і буде проігнорований.\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." -msgstr "Встановлення затримки на номер треку. %s у файлі '%s' є недійсним." +msgstr "Опції затримки для доріжки номер %s файлу '%s' є некорректними." -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" msgstr "" -"Дільник для файлу '%1%' Помилка при ініціалізації:\n" +"Збій ініціалізації демультиплексера для файлу '%1%':\n" "%2%\n" #: src/mmg/tabs/global.cpp:294 #: src/mmg/tabs/global.cpp:298 msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." -msgstr "Різниця між тегами, пов'язані з доріжки і глобальні мітки пояснюється в документації в mkvmerge. Коротше кажучи: глобальні мітки застосовуються до повного файл, теги, які можна додати на вкладці 'введення' застосовується тільки один трек." +msgstr "Різниця між тегами, що пов'язані з доріжками, і глобальними тегами пояснюється в документації mkvmerge. Якщо коротко, то: глобальні теги застосовуються до всього файлу, в той час, як звичайні теги можна додати на вкладці 'На вході' і вони будуть застосовуватись лише до однієї вибраної доріжки." -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "Висота дисплея двох доріжок є різною: %1% i %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "Ширина дисплея двох доріжок є різною: %1% i %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5842,215 +5864,219 @@ #: src/mmg/tabs/global.cpp:240 msgid "The duration after which a new output file is started. The time can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH' and the number of nanoseconds 'nnnnnnnnn'. If given then you may use up to nine digits after the decimal point. Examples: 01:00:00 (after one hour) or 1800s (after 1800 seconds)." -msgstr "Тривалість, після чого новий вихідний файл запущений. Времени можуть бути надані або у вигляді HH:MM:SS.nnnnnnnnn чи як кількість секунд, потім 's'. Ви можете пропустити кількість годин 'HH' і число 'nnnnnnnnn' наносекунд. Якщо нам будуть надані, то ви можете використовувати до дев'яти цифр після коми. Приклади: 1:00:00 (через годину) або 1800 (після 1800 секунд)." +msgstr "Тривалість, після якої починається новий вихідний файл. Вона може бути задана або у вигляді HH:MM:SS.nnnnnnnnn чи в секундах за допомогою 's'. Ви можете не вказувати кількість годин 'HH' і наносекунд 'nnnnnnnnn'. Якщо ж буде задано тривалість до наносекунд, то можна використовувати до дев'яти цифр після коми. Наприклад: 1:00:00 (через годину) або 1800 (після 1800 секунд)." #: src/propedit/options.cpp:188 msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" -msgstr "Ред характеристики '%1%' і '%2%' рішення тієї ж доріжки UID %3%.\n" +msgstr "Спицифікації редагування '%1%' і '%2%' відповідають тим же доріжкам з UID %3%.\n" -#: src/mmg/header_editor/frame.cpp:688 -#: src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" -msgstr "Елемент був написаний в кінці файлу, але розмір сегмента не міг бути поновлений. Тому елемент не буде бачимо. Процес буде перервано. Файл був змінений!" +msgstr "Елемент був записаний в кінець файлу, але розмір сегмента не міг бути поновлений. Тому елемент не буде видимим. Процес буде перервано. Файл був змінений!" #: src/output/p_mpeg4_p2.cpp:379 msgid "The extracted values for video width and height from the MPEG4 layer 2 video data bitstream differ from what the values in the source container. The ones from the video data bitstream (%1%x%2%) will be used.\n" -msgstr "Витягнуті значення для відео ширину і висоту з MPEG4 шару 2 відео потік бітів даних відрізняються від того, що значення у вихідному контейнері. Ті з бітів відеоданих (%1%x%2%) буде використовуватися.\n" +msgstr "Витягнуті значення для ширини і висоти відео з бітового потоку MPEG4 layer 2 відрізняються від таких для вхідного контейнера. Будуть використовуватися значення з бітового потоку відео (%1%x%2%).\n" #: src/extract/extract_cli_parser.cpp:110 msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." -msgstr "П'ятий режим намагається витягти інформацію голови та теги і виводить їх у якості CUE аркуша. Це зворотній використанням CUE листа з mkvmerge '--chapters' варіант." +msgstr "За допомогою п'ятого режиму йде спроба витягти інформацію розділів та теги і зберегти їх у формі CUE-списку. Це операція, зворотня використанню CUE-списку з ключем mkvmerge '--chapters'." -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" -msgstr "Файл '%1%' не може бути приєднаний тому що він не існує, або не може бути прочитані.\n" +msgstr "Файл '%1%' не може бути приєднаний, тому що він не існує, або не може бути прочитаний.\n" -#: src/extract/attachments.cpp:114 -#: src/extract/chapters.cpp:47 +#: src/extract/attachments.cpp:141 #: src/extract/cuesheets.cpp:208 #: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "Файл '%1%' не може бути відкритий для читання (%2%)." -#: src/extract/timecodes_v2.cpp:169 -#: src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "Файл '%1%' не може бути відкритий для читання (%2%).\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" -msgstr "Файл '%1%' не може бути відкритий для читання аргументів командного рядка.\n" +msgstr "Файл '%1%' не може бути відкритий для зчитування аргументів командного рядка.\n" -#: src/extract/tracks.cpp:275 +#: src/extract/tracks.cpp:276 #: src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 -#: src/extract/xtr_wav.cpp:112 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "Файл '%1%' не може бути відкритий для запису (%2%).\n" -#: src/extract/attachments.cpp:92 +#: src/extract/attachments.cpp:121 #: src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "Файл '%1%' не може бути відкритий для запису (%2%, %3%).\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "Файл '%1%' був відкритий для запису.\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" -msgstr "Файл '%1%' має невідомий тип. Будь ласка, подивіться на підтримуваних типів файлів ('mkvmerge --list-types') і зв'язатися з автором Moritz Bunkus <moritz@bunkus.org>, якщо ваш тип файлу підтримується, але не визнаються належним чином.\n" +msgstr "Файл '%1%' має невідомий тип. Будь ласка, продивіться підтримувані типи файлів ('mkvmerge --list-types') і зв'яжіться з автором Moritz Bunkus <moritz@bunkus.org>, якщо ваш тип файлу підтримується, але не розпізнається належним чином.\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" -msgstr "Файл '%1%' не підтримує цей типом файлів (%2%).\n" +msgstr "Файл '%1%' має непідтримуваний тип (%2%).\n" #: src/common/xml/element_parser.cpp:142 msgid "The file '%1%' is empty." msgstr "Файл '%1%' порожній." -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "Файл '%s' не існує." -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." -msgstr "Файл '%s' вже оброблений у поєднанні з файлом '%s'. Вона не може бути доданий другий раз." +msgstr "Файл '%s' вже оброблений у поєднанні з файлом '%s'. Він не може бути приєднаний вдруге." #: src/info/qt_ui.cpp:77 msgid "The file could not be opened for writing." msgstr "Цей файл не може бути відкритий для запису." -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "Файл не існує." -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." -msgstr "Файл не здається, дійсний mkvmerge GUI файл настройок." +msgstr "Здається, що файл не є корректним файлом налаштувань mkvmerge GUI." -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." -msgstr "Файл був змінений іншою програмою, так як він був прочитаний заголовок редактора. Тому вам доведеться повторно завантажити його. На жаль, це означає, що всі зміни будуть втрачені." +msgstr "Файл був змінений іншою програмою після того, як він був прочитаний редактором заголовків. Тому вам доведеться повторно завантажити його. На жаль, це означає, що всі зміни будуть втрачені." + +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "Файл не був змінений." #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" -msgstr "Файл заголовка є занадто коротким.\n" +msgstr "Заголовок файлу є занадто коротким.\n" #: src/input/r_wavpack.cpp:56 msgid "The file header was not read correctly.\n" -msgstr "Файл заголовка не правильно прочитаний.\n" +msgstr "Заголовок файлу не був правильно прочитаний.\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." -msgstr "Файл непідтримуваний формат контейнера (%s)." +msgstr "Файл є непідтримуваним форматом контейнера (%s)." #: src/propedit/propedit.cpp:87 msgid "The file is analyzed.\n" msgstr "Файл аналізується.\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." -msgstr "Файл займається ремонтом, частина 1/4..." +msgstr "Файл в процесі виправлення, частина 1/4..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." -msgstr "Файл займається ремонтом, частина 2/4..." +msgstr "Файл в процесі виправлення, частина 2/4..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." -msgstr "Файл займається ремонтом, частина 3/4..." +msgstr "Файл в процесі виправлення, частина 3/4..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." -msgstr "Файл займається ремонтом, частина 4/4..." +msgstr "Файл в процесі виправлення, частина 4/4..." #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." -msgstr "Ім'я файлу для даного сегмента." +msgstr "Назва файлу даного сегмента." -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" -msgstr "Файл no. %1% ('%2%') не містить доріжку з ID %3%, або на тому, що трек не повинен бути скопійований. Аргументом на користь '--append-to' є недійсним.\n" +msgstr "Файл номер %1% ('%2%') не містить доріжку з ID %3%, або дана доріжка не повинна бути скопійована. Аргумент '--append-to' є некорректним.\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" -msgstr "Файл no. %1% ('%2%') не містить доріжку з ID %3%, або на тому, що трек не повинен бути скопійований. Тому доріжка не може бути включені до нього. Аргументом на користь '--append-to' є недійсним.\n" +msgstr "Файл номер %1% ('%2%') не містить доріжку з ID %3%, або дана доріжка не повинна бути скопійована. Тому, жодної доріжки не може бути приєднано. Аргумент '--append-to' є некорректним.\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" -msgstr "Файл no. %1% ('%2%') не є додатком. Аргументом на користь '--append-to' є недійсним.\n" +msgstr "Файл номер %1% ('%2%') не приєднується. Аргумент '--append-to' є некорректним.\n" #: src/mmg/header_editor/frame.cpp:248 msgid "The file you tried to open is not a Matroska file." -msgstr "Файл, який ви спробували відкрити не файл Matroska." +msgstr "Файл, який ви спробували відкрити, не є файлом Matroska." -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." -msgstr "Файл, який ви намагалися зберегти, не є файл Matroska." +msgstr "Файл, в який ви спробували зберегти, НЕ є файлом Matroska." -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." -msgstr "Файл, який ви намагалися зберегти в цей файл Matroska. Щоб це працювало потрібно використовувати 'Зберегти в Matroska файл' меню." +msgstr "Файл, в який ви спробували зберегти, є файлом Matroska. Для збереження потрібно використовувати пункт меню 'Зберегти до файлу Matroska'." -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" -msgstr "Перший файл не може бути доданий, оскільки немає файлів для додавання.\n" +msgstr "Перший файл не може бути приєднаний, оскільки немає файлів для приєднання.\n" #: src/extract/extract_cli_parser.cpp:71 msgid "The first mode extracts some tracks to external files." -msgstr "Перший режим екстракти деякі треки на зовнішні файли." +msgstr "Перший режим витягує деякі доріжки до зовнішніх файлів." #: src/extract/extract_cli_parser.cpp:60 msgid "The first word tells mkvextract what to extract. The second must be the source file. There are few global options that can be used with all modes. All other options depend on the mode." -msgstr "Перше слово говорить mkvextract, що необхідно витягти. Друге має бути у вихідному файлі. Є декілька глобальних опцій, які можуть бути використані для всіх видів транспорту. Всі інші параметри залежать від модифікацій." +msgstr "Перший параметр повідомляє mkvextract, що необхідно витягти. Другий параметр - вхідний файл. Є декілька глобальних опцій, які можуть бути використані для всіх режимів. Всі інші параметри залежать від режиму." #: src/mmg/tabs/global.cpp:554 msgid "The format of the split size is invalid (size too small)." -msgstr "Формат розділити неправильний розмір (розмір занадто малий)." +msgstr "Формат задання розміру розділення є неправильним (розмір занадто малий)." #: src/mmg/tabs/global.cpp:546 #: src/mmg/tabs/global.cpp:550 msgid "The format of the split size is invalid." -msgstr "Формат розділити неправильний розмір." +msgstr "Формат задання розміру розділення є неправильним." #: src/mmg/tabs/global.cpp:573 msgid "The format of the split timecode/duration is invalid." -msgstr "Формат розділити тайм-код/продолжітельность є недійсним." +msgstr "Формат задання тайм-коду/тривалості розділення є неправильним." -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "Формати не збігаються." #: src/extract/extract_cli_parser.cpp:101 msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "Четвертий режим витягує голови і перетворює їх у XML. Друкує на стандартний висновок. Висновок може бути використаний в якості джерела для mkvmerge." +msgstr "Четвертий режим дозволяє витягувати розділи і конвертувати їх у XML. Вихідна інформація записується до стандартного потоку виводу. Дані на виході можуть слугувати як вхідний потік для mkvmerge." -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" -msgstr "Даний фактор тимчасової код масштабу за межами допустимого діапазону (1 ... 10000000 або -1 для 'зразок точності, навіть якщо відео доріжки присутній').\n" +msgstr "Даний масштабний коефіцієнт тайм-коду знаходиться за межами допустимого діапазону (1 ... 10000000 або -1 для 'точності до семплу, навіть якщо доріжка відео присутня').\n" #: src/common/xml/element_writer.cpp:187 #: src/common/xml/element_writer.cpp:197 #: src/common/xml/element_writer.cpp:206 msgid "The header has already been written." -msgstr "Заголовок вже був написаний." +msgstr "Заголовок уже був написаний." -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" -msgstr "Висота двох доріжок є різною: %1% i %2%" +msgstr "Висота кадру двох доріжок є різною: %1% i %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "Вхідний файл '%s' не містить ніяких доріжок." -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6059,14 +6085,14 @@ "\n" "(Problem occured in tab_input::load(), #1)" msgstr "" -"Файл завдання, можливо, не був аналізував правильно.\n" -"Або він невірний / пошкоджений або ви тільки що знайшли\n" -"помилка в mmg. Будь ласка, повідомте про це автору\n" +"Файл завдання, можливо, не був проаналізований корректно.\n" +"Або він є некорректним / пошкодженим або ви знайшли\n" +"помилку в mmg. Будь ласка, повідомте про це автору\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Проблема виникла в tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6075,14 +6101,14 @@ "\n" "(Problem occured in tab_input::load(), #2)" msgstr "" -"Файл завдання, можливо, не був аналізував правильно.\n" -"Або він невірний / пошкоджений або ви тільки що знайшли\n" -"помилка в mmg. Будь ласка, повідомте про це автору\n" +"Файл завдання, можливо, не був проаналізований корректно.\n" +"Або він є некорректним / пошкодженим або ви знайшли\n" +"помилку в mmg. Будь ласка, повідомте про це автору\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Проблема виникла в tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6091,162 +6117,162 @@ "\n" "(Problem occured in tab_input::load(), #3)" msgstr "" -"Файл завдання, можливо, не був аналізував правильно.\n" -"Або він невірний / пошкоджений або ви тільки що знайшли\n" -"помилка в mmg. Будь ласка, повідомте про це автору\n" +"Файл завдання, можливо, не був проаналізований корректно.\n" +"Або він є некорректним / пошкодженим або ви знайшли\n" +"помилку в mmg. Будь ласка, повідомте про це автору\n" "Moritz Bunkus <moritz@bunkus.org>\n" "\n" "(Проблема виникла в tab_input::load(), #3)" #: src/mmg/options/chapters.cpp:113 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." -msgstr "Мова '%s' не є коректним мовою і не може бути вибраний." +msgstr "Мова '%s' не є коректно заданою мовою і не може бути вибрана." #: src/input/r_usf.cpp:161 msgid "The language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" -msgstr "Код мови '%1%' не є припустимим кодом ISO639-2 мови і буде ігноруватися.\n" +msgstr "Код мови '%1%' не є кодом мови ISO639-2 і буде ігноруватися.\n" #: src/merge/timecode_factory.cpp:214 msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" -msgstr "Рядок %1% тайм-коду файлу '%2%' не містить дійсне число з плаваючою комою.\n" +msgstr "Рядок %1% файлу тайм-коду '%2%' не містить корректно задане число з плаваючою комою.\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" -msgstr "Мова не може бути встановлений правильно. Перевірте LANG, LC_ALL і змінні оточення LC_MESSAGES.\n" +msgstr "Локаль (мова) не може бути встановлена правильно. Перевірте змінні оточення LANG, LC_ALL і LC_MESSAGES.\n" #: src/mmg/tabs/global.cpp:258 msgid "The maximum number of files that will be created even if the last file might contain more bytes/time than wanted. Useful e.g. when you want exactly two files. If you leave this empty then there is no limit for the number of files mkvmerge might create." -msgstr "Максимальна кількість файлів, які будуть створені, навіть якщо останній файл може містити більш байт/часу, ніж хотів. Корисно наприклад якщо ви хочете саме цими двома файлами. Якщо залишити поле порожнім, то немає обмежень по кількості файлів mkvmerge може створити." +msgstr "Максимальна кількість файлів, які будуть створені, навіть якщо останній файл буде більший за розміром/тривалістю ніж необхідно. Корисно, наприклад, якщо вам необхідно створити всього два файли. Якщо залишити поле порожнім, то не буде обмежень на кількість файлів, які mkvmerge може створити." #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:413 +#: src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" "If set to 0, the reference pseudo-cache system\n" "is not used." msgstr "" -"Максимальна кількість кадрів, гравець\n" -"повинен бути в змозі кеш під час відтворення.\n" -"Якщо встановити значення 0, система відліку псевдо-кеша\n" -"не використовується." +"Максимальна кількість кадрів, яку плеєр\n" +"буде в змозі кешувати під час відтворення.\n" +"Якщо встановити значення 0, оригінальна псевдо-кешувальна система\n" +"не використовуватиметься." -#: src/mmg/header_editor/frame.cpp:694 -#: src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" -msgstr "Мета терміни пошуку доріжки був написаний в кінці файлу, але розмір сегмента не міг бути поновлений. Тому елемент не буде бачимо. Процес буде перервано. Файл був змінений!" +msgstr "Елемент метапошуку був записаний в кінець файлу, але розмір сегмента не може бути поновлений. Тому елемент не буде відображатися. Процес буде перервано. Файл був змінений!" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:408 +#: src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" "If set to 0, the reference pseudo-cache system\n" "is not used." msgstr "" -"Мінімальна кількість кадрів гравець\n" -"повинен бути в змозі кеш під час відтворення.\n" -"Якщо встановити значення 0, система відліку псевдо-кеша\n" -"не використовується." +"Мінімальна кількість кадрів, яку плеєр\n" +"буде в змозі кешувати під час відтворення.\n" +"Якщо встановити значення 0, оригінальна псевдо-кешувальна система\n" +"не використовуватиметься." -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." -msgstr "Файл допомоги mkvmerge GUI не був знайдений, який ви обрали. Будь ласка, повторіть спробу або скасувати, натиснувши кнопку 'перервати'." +msgstr "Файл допомоги mkvmerge GUI не був знайдений у вказаному місці. Будь ласка, повторіть спробу або перервіть операцію, натиснувши 'Перервати'." -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" "Please select the location of the 'mkvmerge-gui.hhp' file." msgstr "" -"Файл допомоги mkvmerge GUI не був знайдений. Це вказує на те, що він ніколи не був відкритий, або що шлях установки з тих пір змінився.\n" +"Файл допомоги mkvmerge GUI не був знайдений. Це вказує на те, що він ніколи не відкривався до цього моменту, або що шлях встановлення змінився.\n" "\n" -"Будь ласка, виберіть розташування 'mkvmerge-gui.hhp' файлу." +"Будь ласка, оберіть розташування файлу 'mkvmerge-gui.hhp'." #: src/propedit/change.cpp:61 msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" -msgstr "Ім'я '%1%' не є припустимим ім'ям власності на поточний ред специфікації в '%2%'.\n" +msgstr "Назва '%1%' не є допустимою назвою параметру для поточної специфікації редагування в '%2%'.\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" -msgstr "Ім'я вихідного файлу '%1%' і один з вхідних файлів, те ж саме. Це може призвести до mkvmerge переписати один з ваших файлів введення. Швидше за все, це не те, що ви хочете.\n" +msgstr "Назва вихідного файлу '%1%' і одного з вхідних файлів співпадають. Це може призвести до перезапису mkvmerge одного з ваших вхідних файлів. Швидше за все, це не те, що ви хочете.\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" -msgstr "Наступний UID вже наведений у '%1% %2%'.\n" +msgstr "Наступний UID вже заданий в '%1% %2%'.\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" -msgstr "Кількість біт на семпл з двох звукових доріжок в іншому: %1% i %2%" +msgstr "Кількість біт на семпл двох звукових доріжок є різною: %1% i %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" -msgstr "Число каналів, дві звукові доріжки в іншому: %1% i %2%" +msgstr "Число каналів двох звукових доріжок є різною: %1% i %2%" #: src/merge/timecode_factory.cpp:262 msgid "The number of external timecodes %1% is smaller than the number of frames in this track. The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n" -msgstr "Число зовнішніх тайм-кодів %1% менше, ніж кількість кадрів у цьому напрямку. Решта рамках цього трек може не зберігатися, як ви їх створила. mkvmerge може бути аварія.\n" +msgstr "Число зовнішніх тайм-кодів %1% менше, ніж кількість кадрів цієї доріжки. Решта кадрів цієї доріжки може не отримати тайм-коди у спосіб, який ви передбачали. Робота mkvmerge може бути аварійно завершена.\n" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." msgstr "" -"Число відео пікселів, щоб видалити\n" -"в нижній частині зображення." +"Число пікселів відео для видалення\n" +"знизу зображення." #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." msgstr "" -"Число відео пікселів, щоб видалити\n" -"в лівій частині зображення." +"Число пікселів відео для видалення\n" +"зліва зображення." #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." msgstr "" -"Число відео пікселів, щоб видалити\n" -"в правій частині зображення." +"Число пікселів відео для видалення\n" +"справа зображення." #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." msgstr "" -"Число відео пікселів, щоб видалити\n" -"у верхній частині зображення." +"Число пікселів відео для видалення\n" +"зверху зображення." -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" -msgstr "Опція '--meta-seek-size' більше не підтримується. Будь ласка, прочитайте документацію mkvmerge, особливо розділ про Matroska файл розмітки.\n" +msgstr "Опція '--meta-seek-size' більше не підтримується. Будь ласка, прочитайте документацію mkvmerge, особливо розділ про MATROSKA FILE LAYOUT.\n" #: src/propedit/propedit_cli_parser.cpp:157 msgid "The order of the various options is not important." -msgstr "Для різних варіантів не має значення." +msgstr "Порядок розташування опцій не має значення." -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" -msgstr "Вихідний файл '%1%' не може бути відкритий для запис (%2%).\n" +msgstr "Вихідний файл '%1%' не може бути відкритий для запису (%2%).\n" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" -msgstr "Вихідний файл '%s' вже існує. Хочете переписати його?" +msgstr "Вихідний файл '%s' вже існує. Хочете перезаписати його?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." -msgstr "Ім'я вихідного файлу є недійсним, наприклад він може містити неприпустимі символи, як ':'." +msgstr "Назва вихідного файлу є некорректною, наприклад, вона може містити неприпустимі символи, як то ':'." #: src/input/r_corepicture.cpp:154 msgid "The panoramic mode '%1%' is not recognized.\n" @@ -6256,35 +6282,35 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "Тип зображення '%1%' не розпізнано.\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" -msgstr "Попередній UID вже приведені в '%1% %2%'.\n" +msgstr "Попередній UID вже заданий в '%1% %2%'.\n" #: src/propedit/change.cpp:114 msgid "The property value contains non-ASCII characters, but the property is not a Unicode string in '%1%'. %2%\n" -msgstr "Значення властивості містить символи не-ASCII, але властивість не Unicode рядка в '%1%'. %2%\n" +msgstr "Значення параметру містить не-ASCII символи, але параметр не є рядком Unicode в '%1%'. %2%\n" #: src/propedit/change.cpp:156 msgid "The property value is not a valid binary spec or it is not exactly 128 bits long in '%1%'. %2%\n" -msgstr "Значення властивості не правильні подвійні специфікації, або це не точно 128 бітів довжиною в '%1%'. %2%\n" +msgstr "Значення параметру не відповідає двійковій специфікації, або довжина його не точно 128 бітів в '%1%'. %2%\n" #: src/propedit/change.cpp:141 msgid "The property value is not a valid boolean in '%1%'. %2%\n" -msgstr "Значення властивості не правильна булевих змінна в '%1%'. %2%\n" +msgstr "Значення параметру не є корректно заданою булевою змінною в '%1%'. %2%\n" #: src/propedit/change.cpp:148 msgid "The property value is not a valid floating point number in '%1%'. %2%\n" -msgstr "Значення властивості не правильне з плаваючою комою число в '%1%'. %2%\n" +msgstr "Значення параметру не є корректно заданим числом з плаваючою комою в '%1%'. %2%\n" #: src/propedit/change.cpp:133 msgid "The property value is not a valid signed integer in '%1%'. %2%\n" -msgstr "Значення властивості не правильне ціле число зі знаком у '%1%'. %2%\n" +msgstr "Значення параметру не є корректно заданим цілим знаковим числом в '%1%'. %2%\n" #: src/propedit/change.cpp:127 msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" -msgstr "Значення властивості не правильне ціле число без знака в '%1%'. %2%\n" +msgstr "Значення параметру не є корректно заданим цілим беззнаковим числом в '%1%'. %2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "Причини цього поки невідомі." @@ -6292,115 +6318,115 @@ msgid "The root element must be <%1%>." msgstr "Кореневий елемент повинен бути <%1%>." -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" -msgstr "Частота дискретизації дві звукові доріжки в інший: %1% i %2%" +msgstr "Частота дискретизації двох звукових доріжок є різною: %1% i %2%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:422 +#: src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" "to adjust video speed when the audio length differs)." msgstr "" -"Масштаб застосування в цьому напрямку на роботу в нормальних\n" -"швидкостях по відношенню з іншими доріжками (в основному використовується\n" -"для регулювання швидкості відео-аудіо, коли довжина відрізняється)." +"Масштаб для застосування до цієї доріжки для відтворення на нормальній\n" +"швидкості по відношенню до інших доріжок (в основному використовується\n" +"для регулювання швидкості відтворення відео, коли довжина аудіо різниться)." #: src/extract/extract_cli_parser.cpp:85 msgid "The second mode extracts the tags and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." -msgstr "Другий режим витягує теги і перетворює їх у XML. Друкує на стандартний висновок. Висновок може бути використаний в якості джерела для mkvmerge." +msgstr "За допомогою другого режиму можна витягувати теги і конвертувати їх у XML. Вихідна інформація записується до стандартного потоку виводу. Дані на виході можуть слугувати як вхідний потік для mkvmerge." #: src/input/r_tta.cpp:84 msgid "The seek table in this TTA file seems to be broken.\n" -msgstr "Таблиця пошуку доріжки в цьому файлі TTA зламана.\n" +msgstr "Таблиця пошуку в даному файлі TTA пошкоджена.\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." -msgstr "Вибраної мови '%s' до голови '%s' не є припустимим кодом мови. Будь ласка, виберіть один з наперед визначених." +msgstr "Вибрана мова '%s' для розділу '%s' не є корректним кодом мови. Будь ласка, виберіть один з наперед визначених." #: src/extract/extract_cli_parser.cpp:119 msgid "The sixth mode finds the timecodes of all blocks for a track and outputs a timecode v2 file with these timecodes." -msgstr "Шостий режим вважає тайм-кодів всіх блоків на трек і виходи тайм-коду v2 файл з цими тайм-кодами." +msgstr "Шостий режим дозволяє шукати тайм-коди всіх блоків для треку і записувати їх до файлу тайм-коду v2." #: src/mmg/tabs/global.cpp:237 msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." -msgstr "Розмір, після якого розпочато новий вихідний файл. Символи 'G', 'M' і 'K' може використовуватися, щоб вказати байти гіга/мега/кілограма відповідно. Всі модулі засновані на 1024 (G = 1024^3, M = 1024^2 и K = 1024)." +msgstr "Розмір, після якого буде починатися новий вихідний файл. Символи 'G', 'M' і 'K' можуть використовуватися для задання розміру в гіга/мега/кілобайтах відповідно. Всі одиниці базуються на 1024 (G = 1024^3, M = 1024^2 и K = 1024)." -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "Розмір вкладення '%1%' є 0.\n" -#: src/merge/output_control.cpp:305 -#: src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" -msgstr "Вихідний файл '%1%' не може бути відкритий успішно, або отримання його розмір, пошук до кінця не працює.\n" +msgstr "Вхідний файл '%1%' не може бути відкритий успішно, або отримання його розміру шляхом переміщення до кінця не працює.\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." -msgstr "Установка протягу для доріжки номер %s у файлі '%s' є неприпустимою." +msgstr "Опції розтягнення для доріжки номер %s файлу '%s' є некорректними." #: src/propedit/propedit_cli_parser.cpp:165 msgid "The string 'track:' followed by one of the chars 'a', 'b', 's' or 'v' followed by a number 'n' selects the nth audio, button, subtitle or video track (e.g. '--edit track:a2')." -msgstr "Строкою 'доріжка:' супроводжуваний одним із символів, 'b', 's' або 'v', супроводжуваний числом, 'n' вибирає енний аудіо, кнопку, підзаголовок або відеодоріжки (наприклад '--edit track:a2')." +msgstr "Рядок 'track:' використовуючи один із символів 'a', 'b', 's' або 'v', супроводжуваний числом 'n', можна вибрати n-нні аудіо, маркер, субтитри або відеодоріжку (наприклад, '--edit track:a2')." #: src/propedit/propedit_cli_parser.cpp:167 msgid "The string 'track:=uid' with 'uid' being a number selects the track whose 'track UID' element equals 'uid'." -msgstr "Строкою 'доріжка:=uid' з 'uid', що є числом, вибирає доріжку, чий 'доріжка UID' елемент дорівнює 'uid'." +msgstr "Використовуючи конcтрукцію 'track:=uid' з 'uid', що є числом, можна вибрати доріжку з елементом 'track UID' рівним 'uid'." #: src/propedit/propedit_cli_parser.cpp:168 msgid "The string 'track:@number' with 'number' being a number selects the track whose 'track number' element equals 'number'." -msgstr "Рядок 'доріжка:@номер' з 'числом', що є числом, вибирає доріжку, елемент 'номера доріжки' якої дорівнює 'числу'." +msgstr "Використовуючи конcтрукцію 'track:@number' з 'number', що є числом, можна вибрати доріжку з елементом 'track number' рівним 'number'." #: src/propedit/propedit_cli_parser.cpp:164 msgid "The string 'track:n' with 'n' being a number selects the nth track." -msgstr "Рядок 'track:n' з 'n' бути числом вибирає енну доріжку." +msgstr "Використовуючи конcтрукцію 'track:n' з 'n', що є числом, можна вибрати n-нну доріжку." #: src/propedit/propedit_cli_parser.cpp:161 msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." -msgstr "Рядок 'інформація', 'segment_info' або 'segmentinfo' вибирають інформаційний елемент сегмента. Це також значення за замовчуванням до першого '--edit' опція знайдена." +msgstr "Використовуючи конcтрукцію 'info', 'segment_info' або 'segmentinfo', можна вибрати елемент інформації сегмента. Це також типове значення до першого знайденого '--edit'." -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" -msgstr "Теги в '%1%' не могли бути аналізувати: деякі примусові елементи відсутні.\n" +msgstr "Теги в '%1%' не можливо було проаналізувати: деякі необхідні елементи відсутні.\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" -msgstr "Тимчасовий файл '%1%' не міг бути відкритий для того, щоб читати (%2%).\n" +msgstr "Тимчасовий файл '%1%' не можливо було відкрити для зчитування (%2%).\n" #: src/extract/extract_cli_parser.cpp:93 msgid "The third mode extracts attachments from the source file." -msgstr "Третій режим витягує вкладення з вихідного файлу." +msgstr "Третій режим дозволяє витягувати вкладення з вхідного файлу." #: src/merge/timecode_factory.cpp:54 msgid "The timecode file '%1%' contains an unsupported/unrecognized format (version %2%).\n" -msgstr "Тайм-код файл '%1%' містить непідтримуваний/невизнаний формат (версія %2%).\n" +msgstr "Файл тайм-коду '%1%' містить непідтримуваний/нерозпізнаний формат (версія %2%).\n" #: src/merge/timecode_factory.cpp:40 msgid "The timecode file '%1%' contains an unsupported/unrecognized format line. The very first line must look like '# timecode format v1'.\n" -msgstr "Тайм-код файл '%1%' містить непідтримувані/невизнану рядок форматів. Найперша рядок має бути схожою '# тайм-код формат v1'.\n" +msgstr "Файл тайм-коду '%1%' містить непідтримуваний/нерозпізнаний рядок форматування. Найперший рядок має бути схожим на такий - '# timecode format v1'.\n" #: src/merge/timecode_factory.cpp:34 msgid "The timecode file '%1%' could not be opened for reading.\n" -msgstr "Тайм-код файл '%1%' не міг бути відкритий для того, щоб читати.\n" +msgstr "Файл тайм-коду '%1%' не можливо було відкрити для зчитування.\n" #: src/merge/timecode_factory.cpp:87 #: src/merge/timecode_factory.cpp:95 #: src/merge/timecode_factory.cpp:101 #: src/merge/timecode_factory.cpp:296 msgid "The timecode file '%1%' does not contain a valid 'Assume' line with the default number of frames per second.\n" -msgstr "Тайм-код файл '%1%' не містить правильне, 'Приймають' рядок з заданим за умовчанням числом кадрів в секунду.\n" +msgstr "Файл тайм-коду '%1%' не містить правильного рядка 'Assume' з заданим типовим числом кадрів за секунду.\n" #: src/merge/timecode_factory.cpp:331 msgid "The timecode file '%1%' does not contain a valid 'Gap' line with the duration of the gap.\n" -msgstr "Тайм-код файл '%1%' не містить правильний рядок 'Місця' з тривалістю проміжку.\n" +msgstr "Файл тайм-коду '%1%' не містить коректний рядок 'Gap' з тривалістю проміжку.\n" #: src/merge/timecode_factory.cpp:241 #: src/merge/timecode_factory.cpp:360 msgid "The timecode file '%1%' does not contain any valid entry.\n" -msgstr "Тайм-код файл '%1%' не містить правильного входу.\n" +msgstr "Файл тайм-коду '%1%' не містить жодного коректного запису.\n" #: src/merge/timecode_factory.cpp:217 msgid "" @@ -6408,118 +6434,130 @@ "\n" "If you really have to specify non-sorted timecodes then use the timecode format v4. It is identical to format v2 but allows non-sorted timecodes.\n" msgstr "" -"Тайм-код v2 файлу '%1%' містить тайм-коди, які не замовлені. З-за помилки в mkvmerge версіях включаючи v1.5.0 це було необхідно, якщо доріжка, до якої timecode файл був застосований містили кадри B. Старт з v1.5.1 mkvmerge тепер обробляє це правильно, і тайм-коди в тайм-код файлі повинен зазвичай замовлятися. Наприклад, послідовність кадру 'IPBBP ...' в 25 FPS вимагає тайм-код файлу з першими тайм-кодами бути '0 ', '40', '80 ', '120' і т.д а не '0 ', '120', '40 ', '80' і т.д.\n" +"Файл тайм-коду v2 '%1%' містить тайм-коди, які не впорядковані. Із-за помилки в версіях mkvmerge до і включаючи 1.5.0 це було необхідно, якщо доріжка, до якої застосовувався файл тайм-коду, містила B-кадри. Починаючи з версії 1.5.1, mkvmerge обробляє це правильно, і тайм-коди в файлі тайм-коду повинні впорядковуватися як зазвичай. Наприклад, послідовність кадрів 'IPBBP ...' при швидкості 25 Кадрів за секунду вимагає файлу тайм-коду з першими тайм-кодами як то '0 ', '40', '80 ', '120' і т.д., а не '0 ', '120', '40 ', '80' і т.д.\n" "\n" -"Якщо Ви дійсно повинні визначити, що непідібране тайм-коди тоді використовують тайм-код формат v4. Це ідентично формату v2, але дозволяє непідібране тайм-коди.\n" +"Якщо вам необхідно задати невідсортовані тайм-коди, тоді використовуйте формат тайм-коду v4. Він ідентичний формату v2, але дозволяє задавати невідсортовані тайм-коди.\n" #: src/mmg/tabs/global.cpp:245 msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." -msgstr "Тайм-коди, після якого розпочато новий вихідний файл. Тайм-коди звертаються до цілого потоку а не до кожного індивідуальним вихідного файлу. Тайм-коди може бути дан або у формі HH:MM:SS.nnnnnnnnn або як число секунд, супроводжуваних 's'. Ви можете опустити число годин 'ГД'. Ви можете визначити до дев'яти цифр для числа наносекунд 'nnnnnnnnn' або жодного взагалі. Якщо дано тоді Ви можете використовувати до дев'яти цифр після коми. Якщо два або більше тайм-коди використовуються тоді, Ви повинні відокремити їх з комами. Формати можуть бути змішані, також. Приклади: 01:00:00,01:30:00 (після однієї години і після однієї години і тридцяти хвилин) або 1800-ті, 3000, 00:10:00 (після 3, п'яти і десяти хвилин)." +msgstr "Тайм-коди, після яких починається новий вихідний файл. Тайм-коди відносяться до всього потоку, а не до кожного індивідуального вихідного файлу. Тайм-коди можуть бути задані або у формі HH:MM:SS.nnnnnnnnn або як число секунд 's'. Можна не вказуати число годин 'HH'. Також можна задавати до дев'яти цифр для вказання наносекунд 'nnnnnnnnn' або не вказувати жодної. Якщо ж буде задано значення з точністю до наносекунд, то можна використовувати до дев'яти цифр після коми. Якщо використовуються два або більше тайм-кодів, тоді необхідно відокремити їх комами. Формати можна комбінувати. Наприклад: 01:00:00,01:30:00 (після однієї години і після однієї години тридцяти хвилин) або 1800s, 3000s, 00:10:00 (після 3-х, 5-ти і 10-ти хвилин)." -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" -msgstr "Тайм-коди для цього потоку були скинуті в середині файлу. Це не підтримано. Від поточного пакету відмовляться.\n" +msgstr "Тайм-коди для цього потоку були використані до середини файлу. Дана ситуація не підтримується. Поточний пакет буде відкинутий.\n" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." -msgstr "Заголовок для цілого фільму." +msgstr "Заголовок для всього фільму." -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" -msgstr "Доріжка %1% від файлу номер %2% (%3%) повинна бути додана не раз. Параметр для '--append-to' було неприпустимо.\n" +msgstr "Доріжка %1% файлу номер %2% (%3%) буде приєднана більше одного разу. Параметр для '--append-to' був некорреткним.\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" -msgstr "Заголовки доріжки не можуть бути виконані правильно. %1%\n" +msgstr "Заголовки доріжки не можуть бути опрацьовані корректно. %1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" -msgstr "У числа доріжки %1% немає правильного CodecID.\n" +msgstr "Доріжка %1% не містить правильного CodecID.\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" -msgstr "Номер доріжки %1% від файлу '%2%' не може ймовірно додається правильно до номера доріжки %3% від файлу '%4%': %5% Будь ласка впевніться, що отримує файл запускає правильно весь час. Автор цієї програми не буде ймовірно надавати підтримку для проблем відтворення з отримуваного файлом.\n" +msgstr "Доріжка %1% файлу '%2%' ймовірно не може бути корректно приєднана до доріжки %3% файлу '%4%': %5% Будь ласка, впевніться, що отриманий файл відтворюється корреткно протягом всього часу перегляду. Автор цієї програми ймовірно не буде надавати підтримку при проблемах відтворення отримуваних файлів.\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" -msgstr "Номер доріжки %1% від файлу '%2%' не може бути прикладений до номера доріжки %3% від файлу '%4%'. %5%\n" +msgstr "Доріжка %1% файлу '%2%' не може бути приєднана до доріжки %3% файлу '%4%'. %5%\n" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:387 +#: src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." -msgstr "Номер доріжки як використовується в заголовку блоку." +msgstr "Номер доріжки як вказано в заголовку блоку." -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." -msgstr "Параметри доріжки не відповідають." +msgstr "Параметри доріжок не співпадають." -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "Інформацію про оновлення не вдається отримати від %1%.\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "Ширина двох доріжок є різною: %1% i %2%" -#: src/merge/output_control.cpp:804 -#: src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "Онлайн доступна нова версія." + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" -msgstr "Немає ніякого файлу з ID '%1%'. Параметр для '--append-to' було неприпустимо.\n" +msgstr "Немає файлу з ID '%1%'. Аргумент для '--append-to' був некорректним.\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" -msgstr "Немає ніякої трансляції, доступною для '%1%'.\n" +msgstr "Немає доступного перекладу для '%1%'.\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "Сталася помилка при запиті статусу оновлення." + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." -msgstr "Були помилки." +msgstr "Виникли помилки." -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." -msgstr "Були помилки в значеннях заголовка, що перешкоджають того заголовках бути збереженими. Перша помилка була обрана." +msgstr "Були помічені помилки в значеннях заголовка, що перешкоджають його збереженню. Була обрана перша помилка." -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" -msgstr "Були попередження" +msgstr "Виникли попередження" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." -msgstr "Були попередження, або процес був закінчений." +msgstr "Виникли попередження, або процес був перерваний." -#: src/input/r_avi.cpp:609 #: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" -msgstr "Ця стежка AAC не містить правильні заголовки. Не міг аналізувати інформацію AAC.\n" +msgstr "Дана доріжка AAC не містить корректних заголовків. Не можливо проаналізувати інформацію AAC.\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" -msgstr "Ця стежка AAC не містить правильні заголовки. Додатковий розмір заголовка - байти на %1%, очікуваний були 2 або 5 байтів.\n" +msgstr "Дана доріжка AAC не містить корректних заголовків. Додатковий розмір заголовка - %1% байт, очікувалось - 2 або 5 байт.\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" -msgstr "Ця стежка AC3 містить байти на %1% даних не-AC3 спочатку. Це відповідає затримці %2% ms. Ця затримка буде використовуватися замість даних не-AC3.\n" +msgstr "Дана доріжка AAC містить %1% байт не-AC3 даних на початку. Це відповідає затримці %2% мс. Ця затримка буде використовуватися замість не-AC3 даних.\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" -msgstr "Ця стежка AC3 містить байти на %1% даних не-AC3, що були пропущені. Звукова/відео синхронізація, можливо, була втрачена.\n" +msgstr "Дана доріжка AAC містить %1% байт не-AC3 даних, що були пропущені. Синхронізація аудіо і відео можливо була втрачена.\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" -msgstr "Цей AVC/h.264 містить кадрів, які є занадто великими для поточного максимального розміру NALU. Ви повинні повторно запустити mkvmerge і встановити максимальний розмір NALU у %1% для цієї доріжки (параметр командного рядка '--nalu-size-length %2%:%1%').\n" +msgstr "Цей AVC/h.264 містить кадри, які є занадто великими для поточного максимального розміру NALU. Ви повинні повторно запустити mkvmerge і встановити максимальний розмір NALU у %1% для цієї доріжки (параметр командного рядка '--nalu-size-length %2%:%1%').\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" -msgstr "Ця стежка AVC/h.264 не починається з ключового кадру. Перші кадри на %1% були пропущені.\n" +msgstr "Ця доріжка AVC/h.264 не починається з ключового кадру. Перших %1% кадрів було пропущено.\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" -msgstr "Ця стежка звукового каналу MPEG містить байти на %1% даних не-MP3 спочатку. Це відповідає затримці %2% ms. Ця затримка буде використовуватися замість даних сміття.\n" +msgstr "Ця доріжка MPEG аудіо містить %1% байт не-MP3 даних на початку. Це відповідає затримці %2% мс. Ця затримка буде використовуватися замість невірних даних.\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" -msgstr "Ця стежка звукового каналу MPEG містить байти на %1% даних не-MP3, що були пропущені. Звукова/відео синхронізація, можливо, була втрачена.\n" +msgstr "Ця доріжка MPEG аудіо містить %1% байт не-MP3 даних, що були пропущені. Синхронізація аудіо і відео можливо була втрачена.\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" -msgstr "Цей файл Ogg/OGM містить інформація заголовка або голова. На жаль кодування, щоб зберігати цю інформацію у файлі, не може бути ідентифікований однозначно. Програма припускає, що електричний струм Вашої системи кодування є відповідним. Це може бути скасовано з '--chapter-charset <charset>' перемикач.\n" +msgstr "Цей файл Ogg/OGM містить інформацію розділів або заголовків. На жаль набір символів для збереження цієї інформації у файлі, не може бути ідентифікований однозначно. Програма припускає, що поточний набір символів вашої системи є відповідним. Це може бути скасовано використанням ключа '--chapter-charset <charset>'.\n" #: src/mmg/header_editor/value_page.cpp:171 msgid "" @@ -6527,9 +6565,9 @@ "It cannot be removed because it is a\n" "mandatory header field." msgstr "" -"Цей елемент в даний час присутня у файлі.\n" -"Це не може бути видалено, тому що це\n" -"примусове полі заголовка." +"Цей елемент вже присутній у файлі.\n" +"Він не може бути видалений, тому що є\n" +"обов'язковим полем заголовка." #: src/mmg/header_editor/value_page.cpp:165 msgid "" @@ -6537,8 +6575,8 @@ "You can let the header editor remove the element\n" "from the file." msgstr "" -"Цей елемент в даний час присутня у файлі.\n" -"Ви можете дозволити редактору заголовка видаляти елемент\n" +"Цей елемент вже присутній у файлі.\n" +"Ви можете дозволити редактору заголовків видалити елемент\n" "з файлу." #: src/mmg/header_editor/value_page.cpp:160 @@ -6547,97 +6585,97 @@ "You can let the header editor add the element\n" "to the file." msgstr "" -"Цей елемент в даний час не присутній у файлі.\n" -"Ви можете дозволити редактору заголовка додавати елемент\n" +"Цей елемент вже присутній у файлі.\n" +"Ви можете дозволити редактору заголовків додати елемент\n" "до файлу." #: src/input/r_qtmp4.cpp:339 msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" -msgstr "Цей файл містить принаймні одного кадру з негативом тайм-коду. Весь тайм-код буде відкоректований на %1% так, щоб ні один не був негативом більше.\n" +msgstr "Цей файл містить принаймні один кадр з від'ємним тайм-кодом. Всі тайм-коди буде відкориговано на %1% так, що не зостанеться від'ємних.\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" -msgstr "Цей файл містить координати в рядках тайм-коду. Такі координати не підтримані Matroska SRT формат підзаголовка. Координати будуть автоматично.\n" +msgstr "Цей файл містить координати в рядках тайм-кодів. Такі координати не підтримуються Matroska SRT форматом субтитрів. Координати будуть автоматично видалені.\n" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." -msgstr "Цей файл не міг бути відкритий або аналізувати." +msgstr "Цей файл не може бути відкритий або проаналізований." #: src/propedit/propedit.cpp:92 msgid "This file could not be opened or parsed.\n" -msgstr "Цей файл не міг бути відкритий або аналізувати.\n" +msgstr "Цей файл не може бути відкритий або проаналізований.\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." -msgstr "Цей файл не містить голів." +msgstr "Цей файл не містить розділів." -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." -msgstr "Цей файл не містить правильні голови." +msgstr "Цей файл не містить корректно сформованих розділів." #: src/mmg/tabs/attachments.cpp:159 msgid "This is the name that will be stored in the output file for this attachment. It defaults to the file name of the original file but can be changed." -msgstr "Ця назва, яке буде збережено у вихідному файлі для цього вкладення. Це значення за замовчуванням до імені файлу оригінального файлу, але може бути змінено." +msgstr "Ця назва буде збережена у вихідному файлі для даного вкладення. Типово буде використовуватись назва оригінального файлу, але її можна змінювати." #: src/mmg/tabs/global.cpp:230 msgid "This is the title that players may show as the 'main title' for this movie." -msgstr "Це заголовок, якому плеєри можуть показати як 'основний заголовок \"для цього фільму." +msgstr "Цей заголовок плеєр має відображати як 'main title' для даного фільму." -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." -msgstr "Ця опція потребує додаткового параметрі 'n'. Каже mkvmerge поміщати найбільше 'n' блоки даних в кожен кластер. Якщо число постустановлено з 'ms', тоді поміщеним найбільше 'n' мілісекунди даних в кожен кластер. Максимальна довжина для кластера, що mkvmerge вводи 60000 блоків і 32000ms; мінімальна довжина 100ms. Програми тільки будуть в змозі шукати на кластери, так створювання великих кластерів може призвести до неточних або повільного пошуку." +msgstr "Ця опція вимагає використання додаткового параметру 'n'. Вона інформує mkvmerge про необхідність запису щонайбільше 'n' блоків даних в кожен кластер. Якщо параметр супроводжується вказанням 'ms', тоді записується щонайбільше 'n' мілісекунд даних в кожен кластер. Максимальна довжина кластера, яку mkvmerge підтримує складає 60000 блоків і 32000мс; мінімальна довжина 100мс. Програми будуть в змозі шукати тільки по кластерам, тому створення великих кластерів може призвести до неточного або повільного пошуку по файлу при відтворенні." #: src/propedit/change.cpp:253 msgid "This property is mandatory and cannot be deleted in '%1%'. %2%\n" -msgstr "Це властивість примусово і не може бути видалено в '%1%'. %2%\n" +msgstr "Цей елемент є обов'язковим і не може бути видалений з '%1%'. %2%\n" #: src/propedit/change.cpp:219 msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" -msgstr "Це властивість унікально. Більше примірників класу не може бути включено '%1%'. %2%\n" +msgstr "Цей елемент є унікальним. Більше таких самих елементів не може бути додано до '%1%'. %2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" -msgstr "Це не повинно було дійсно статися. Простір, зарезервоване для першого елемента мета пошуку доріжки, було надто малим. %1%\n" +msgstr "Цього ДІЙСНО не повинно було статися. Простір, зарезервований для першого елемента мета пошуку, був надто малим. %1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" -msgstr "Це не повинно було дійсно статися. Простір, зарезервоване для першого елемента мета пошуку доріжки, було надто малим. Розміру необхідно: %1%. %2%\n" +msgstr "Цього ДІЙСНО не повинно було статися. Простір, зарезервований для першого елемента мета пошуку, був надто малим. Необхідний розмір: %1%. %2%\n" #: src/common/common.h:56 msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." -msgstr "Це не повинно було статися. Будь ласка увійдіть в контакт з автором Moritz Bunkus <moritz@bunkus.org> з цією помилкою/попереджуючих повідомлень, описом того, що Ви намагалися зробити, використовувана командний рядок і яку операційну систему Ви використовуєте. Спасибі." +msgstr "Цього не повинно було статися. Будь ласка, напишіть автору Moritz Bunkus <moritz@bunkus.org> з приведенням цієї помилки/попереджувальних повідомлень, опису того, що ви намагалися зробити, використовуваного командного рядка і операційної системи. Спасибі." -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." -msgstr "Ця стежка містить SBR AAC/HE-AAC/AAC+ дані. Тільки необхідний для вхідних файлів AAC, тому що SBR AAC не може бути виявлений автоматично для цих файлів. Чи не необхідний для читання доріжок AAC від MP4 або файлів Matroska." +msgstr "Вибрати, якщо дана доріжка містить SBR AAC/HE-AAC/AAC+ дані. Це необхідно тільки для вхідних файлів AAC, тому що SBR в AAC не може бути виявлений автоматично для цих файлів. Не є необхідним при зчитуванні доріжок AAC з файлів MP4 або Matroska." -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." -msgstr "Цей трек не сумісний з режимом WebM і не може бути включений." +msgstr "Ця доріжка несумісна з режимом WebM і не може бути ввімкнена." -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "Інтервал часу" #: src/extract/extract_cli_parser.cpp:117 msgid "Timecode extraction" -msgstr "Витяг тайм-коду" +msgstr "Витягування тайм-кодів" #: src/mmg/tabs/input_general.cpp:289 #, c-format msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" -msgstr "Тайм-код файли (*.tmc;*.txt)|*.tmc;*.txt|%s" +msgstr "Файли тайм-кодів (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 -#: src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 -#: src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "Масштаб тайм-коду: %1%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:421 +#: src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "Масштабування тайм-коду" @@ -6646,11 +6684,11 @@ msgstr "Тайм-коди:" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "Назва" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "Назва: %1%" @@ -6660,171 +6698,171 @@ #: src/common/xml/element_parser.cpp:176 msgid "Too few hexadecimal digits found. The number of digits must be > 0 and divisable by 2." -msgstr "Занадто мало знайдено шістнадцятиричних цифр. Число цифр має бути > 0 і сидіти на 2." +msgstr "Знайдено занадто мало шістнадцяткових цифр. Число цифр має бути > 0 і ділитись на 2." #: src/extract/xtr_avc.cpp:59 msgid "Track %1% CodecPrivate is too small.\n" -msgstr "Доріжка CodecPrivate на %1% є дуже маленькою.\n" +msgstr "CodecPrivate доріжки %1% є дуже малим.\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" -msgstr "Доріжка %1% була стиснута з невідомим/непідтримувані алгоритмом стиснення (%2%).\n" +msgstr "Доріжка %1% була стиснута невідомим/непідтримуваним алгоритмом стиснення (%2%).\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" -msgstr "Доріжка %1% була стиснута з bzlib, але mkvmerge, не була відкомпілювати з підтримкою bzlib стиснення.\n" +msgstr "Доріжка %1% була стиснута з використанням bzlib, але mkvmerge не було відкомпільовано з підтримкою bzlib стиснення.\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" -msgstr "Доріжка %1% була стиснута з lzo1x, але mkvmerge, не була відкомпілювати з підтримкою lzo1x стиснення.\n" +msgstr "Доріжка %1% була стиснута з використанням lzo1x, але mkvmerge не було відкомпільовано з підтримкою lzo1x стиснення.\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" -msgstr "Доріжка %1% була стиснута з zlib, але mkvmerge, не була відкомпілювати з підтримкою zlib стисненн.\n" +msgstr "Доріжка %1% була стиснута з використанням zlib, але mkvmerge не було відкомпільовано з підтримкою zlib стиснення.\n" #: src/extract/xtr_aac.cpp:51 msgid "Track %1% with the CodecID '%2%' contains invalid \"codec private\" data for AAC.\n" -msgstr "Доріжка %1% з CodecID '%2%' містить неприпустимий \"codec private\" даних для AAC.\n" +msgstr "Доріжка %1% з CodecID '%2%' містить неприпустимі \"codec private\" дані для AAC.\n" #: src/extract/xtr_ogg.cpp:87 msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" -msgstr "Доріжка %1% з CodecID '%2%' не містить правильні заголовки.\n" +msgstr "Доріжка %1% з CodecID '%2%' не містить корректних заголовків.\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" -msgstr "Доріжка %1% з CodecID '%2%' відсутня \"біти за другий (біти в секунду)\" елемент і не може бути вилучено.\n" +msgstr "Для доріжки %1% з CodecID '%2%' відсутній елемент \"bits per second (bps)\" і вона не може бути витягнута.\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" -msgstr "Доріжка %1% з CodecID '%2%' відсутня \"codec private\" елемент, і не може бути вилучено.\n" +msgstr "Для доріжки %1% з CodecID '%2%' відсутній елемент \"codec private\" і вона не може бути витягнута.\n" -#: src/extract/xtr_aac.cpp:42 -#: src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_ogg.cpp:37 #: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 -#: src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" -msgstr "Доріжка %1% з CodecID '%2%' відсутня \"codec private\" елемент, і не може бути вилучено.\n" +msgstr "Для доріжки %1% з CodecID '%2%' відсутній елемент \"codec private\" і вона не може бути витягнута.\n" #: src/extract/xtr_avi.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" -msgstr "Доріжка %1% з CodecID '%2%' відсутня \"задана за замовчуванням тривалість\" елемент і не може бути вилучено.\n" +msgstr "Для доріжки %1% з CodecID '%2%' відсутній елемент \"default duration\" і вона не може бути витягнута.\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" -msgstr "Доріжка %1%: %2%, Codec ID: %3%%4%%5%%6%\n" +msgstr "Доріжка %1%: %2%, ID кодека: %3%%4%%5%%6%\n" #: src/input/r_qtmp4.cpp:439 msgid "Track %1%: AAC found, but decoder config data has length %2%.\n" -msgstr "Доріжка %1%: AAC знайдений, але дані конфігурації декодера має довжину %2%.\n" +msgstr "Доріжка %1%: AAC знайдений, але дані конфігурації декодера мають довжину %2%.\n" #: src/extract/xtr_avc.cpp:39 msgid "Track %1%: NAL too big\n" msgstr "Доріжка %1%: NAL занадто великий\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" -msgstr "Доріжка %1%: Число входу субтитрів %2% пропускає свою тривалість. Прийняття тривалості 1s.\n" +msgstr "Доріжка %1%: Для запису субтитрів %2% пропущено тривалість. Прийнято тривалість в 1с.\n" #: src/input/r_qtmp4.cpp:442 msgid "Track %1%: The AAC information could not be parsed.\n" -msgstr "Доріжка %1%: Інформація AAC не може бути проаналізована.\n" +msgstr "Доріжка %1%: Інформація AAC не може бути зчитана.\n" #: src/extract/xtr_aac.cpp:62 #: src/extract/xtr_aac.cpp:74 msgid "Track ID %1% has an unknown AAC type.\n" -msgstr "Доріжка ID %1% має невідомий AAC тип.\n" +msgstr "Доріжка з ID %1% має невідомий AAC тип.\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" -msgstr "Доріжка ID %1%: %2% (%3%)" +msgstr "Доріжка з ID %1%: %2% (%3%)" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:390 +#: src/mmg/header_editor/frame.cpp:392 msgid "Track UID" -msgstr "Доріжка UID" +msgstr "UID доріжки" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" -msgstr "Доріжка UID: %1%" +msgstr "UID доріжки: %1%" #: src/extract/extract_cli_parser.cpp:70 msgid "Track extraction" -msgstr "Витяг доріжки" +msgstr "Витягнення доріжки" -#: src/propedit/options.cpp:157 #: src/propedit/propedit_cli_parser.cpp:88 #: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 msgid "Track headers" msgstr "Заголовки доріжки" #: src/mmg/tabs/input_general.cpp:179 msgid "Track name:" -msgstr "Ім'я доріжки:" +msgstr "Назва доріжки:" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:386 +#: src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "Номер доріжки" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" -msgstr "Номер доріжки %1% був зашифрований і розшифровка ще не була здійснена.\n" +msgstr "Доріжка номер %1% була зашифрована і розшифровка ще не була здійснена.\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "Номер доріжки: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "Оверлей доріжки: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "Тип доріжки: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" -msgstr "Доріжки з непідтримуваними схемами кодування інформаційного наповнення (стиснення або кодування) не можуть бути вилучені.\n" +msgstr "Доріжки з непідтримуваними схемами кодування контенту (стиснення або шифрування) не можуть бути витягнені.\n" #: src/mmg/tabs/input.cpp:187 msgid "Tracks, chapters and tags:" -msgstr "Доріжки, голови i теги:" +msgstr "Доріжки, розділи i теги:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." -msgstr "Потоки аудіо TrueHD знають два типи кадру: синхронізуючі кадри і несінхронізірующіе кадри. З цим вимикачем mkvmerge помістить одного синхронізуючого кадру і весь після несінхронізірующіх кадрів в єдиний блок Matroska. Без цього кожен несінхронізірующій кадр поміщений в його власний блок Matroska." +msgstr "Потоки аудіо TrueHD можуть містити два типи кадрів: синхронізуючі кадри і несинхронізуючі кадри. При використанні цього ключа mkvmerge буде поміщати синхронізуючий кадр і всі наступні несинхронізуючі кадри в єдиний блок Matroska. Якщо ж цей ключ не використовувати, то кожен несинхронізуючий кадр буде поміщений у окремий блок Matroska." -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" -msgstr "Дві доріжки VobSub можуть тільки бути вилучені в той же самий файл, якщо їхні дані CodecPrivate відповідають. Справа йде не так для доріжок %1% i %2%.\n" +msgstr "Дві доріжки VobSub можуть бути витягнені в один і той самий файл тільки тоді, коли їх CodecPrivate дані співпадають. Та це не справедливо для доріжок %1% i %2%.\n" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." msgstr "" -"Тип модуля для Ширини/Висоти Дисплея\n" +"Тип одиниці задання Ширини/Висоти дисплея\n" "(0: пікселі, 1: сантиметри, 2: дюйми)." #: src/mmg/header_editor/value_page.cpp:152 msgid "Type:" msgstr "Тип:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "Тип: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF текстові субтитри" @@ -6834,41 +6872,45 @@ #: src/mpegparser/M2VParser.cpp:237 msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Несподівана рамка кадру після єдиної польової структури. Встановіть відео потік MPEG2 перш ніж спробувати мультиплексованих.\n" +msgstr "Неочікуваний кадр зображення після кадру з одним полем. Виправте відеопотік MPEG2 перш ніж спробувати мультиплексувати.\n" + +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "Невідомий" #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." -msgstr "Невідомий AAC MPEG-2 профіль %1%." +msgstr "Невідомий профіль AAC MPEG-2 для %1%." #: src/output/p_aac.cpp:118 msgid "Unknown AAC MPEG-4 object type %1%." -msgstr "Невідомий AAC MPEG-4 тип об'єкта %1%." +msgstr "Невідомий тип об'єкта AAC MPEG-4 для %1%." -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" -msgstr "Невідомий тип аудіо потоку 0x%|1$04x|. Stream ID %2% будуть ігноруватися.\n" +msgstr "Невідомий тип аудіо потоку 0x%|1$04x|. Потік з ID %2% буде ігноруватися.\n" #: src/common/chapters/chapters.cpp:374 msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" -msgstr "Невідомий формат файлу голови у '%1%'. Він не містить підтриманий формат голови.\n" +msgstr "Невідомий формат файлу розділу в '%1%'. Він не містить підтриманий формат розділу.\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "Невідомий тип кодування вмісту %1% для доріжки %2%.\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "Невідомий формат для наступного UID в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" -msgstr "Невідомий формат за попереднього UID в '%1% %2%'.\n" +msgstr "Невідомий формат для попереднього UID в '%1% %2%'.\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" -msgstr "Невідомий формат сегмента UID '%3%' в '%1% %2%'.\n" +msgstr "Невідомий формат UID сегмента '%3%' в '%1% %2%'.\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "Невідомий заголовок 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6876,26 +6918,26 @@ msgid "Unknown mode '%1%'.\n" msgstr "Невідомий режим '%1%'.\n" +#: src/common/mm_io_win.cpp:69 #: src/common/mm_io.cpp:112 -#: src/common/mm_io_win.cpp:68 msgid "Unknown open mode" msgstr "Невідомий режим відкриття" #: src/common/cli_parser.cpp:113 msgid "Unknown option '%1%'.\n" -msgstr "Невідомий параметр '%1%'.\n" +msgstr "Невідома опція '%1%'.\n" #: src/propedit/propedit_cli_parser.cpp:42 msgid "Unknown parse mode in '%1% %2%'.\n" -msgstr "Невідомий режим синтаксичного аналізу в '%1% %2%'.\n" +msgstr "Невідомий режим аналізу в '%1% %2%'.\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "Невідомий/непідтримуваний формат аудіо 0x%|1$04x| для цієї звукової доріжки.\n" #: src/extract/extract_cli_parser.cpp:230 msgid "Unrecognized command line option '%1%'.\n" -msgstr "Невизнані опції командного рядка '%1%'.\n" +msgstr "Нерозпізнані опції командного рядка '%1%'.\n" #: src/mmg/header_editor/value_page.cpp:145 msgid "Unsigned integer" @@ -6903,110 +6945,68 @@ #: src/common/xml/element_parser.cpp:81 msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." -msgstr "Беззнаковое ціле число (%1%) занадто мало. Мінімальне значення %2%." +msgstr "Беззнаковое ціле число (%1%) занадто мале. Мінімальне значення %2%." -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" -msgstr "Не підтримується MPEG mpeg_version: 0x%|1$02x| в пакеті %2% для тайм-коду %3%, беручи MPEG2. Ніякі подальші попередження не будуть надруковані для цієї доріжки.\n" +msgstr "Непідтримуваний MPEG mpeg_version: 0x%|1$02x| в пакеті %2% для тайм-коду %3%, можливо що MPEG2. Жодні подальші попередження не будуть відображатися для цієї доріжки.\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" -msgstr "Невірний формат" +msgstr "Непідтримуваний формат" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" -msgstr "Непідтримуваний тип доріжки для цієї доріжки.\n" +msgstr "Непідтримуваний тип для цієї доріжки.\n" #: src/propedit/propedit.cpp:24 msgid "Updating the '%1%' element failed. Reason:\n" -msgstr "Оновлення елемента '%1%' не вдалося. Причина:\n" +msgstr "Оновлення елемента '%1%' завершилось невдало. Причина:\n" #: src/extract/extract_cli_parser.cpp:49 msgid "Usage" msgstr "Використання" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"Використання: mkvinfo [опції] inname\n" -"\n" -" Опції:\n" -" -g, --gui Запустіть графічний інтерфейс користувача (і відкрийте inname, якщо це було дано).\n" -" Використання inname 'inname' як джерело.\n" -" -v, --verbose Багатослівність збільшення. Див. сторінку довідки для подробиць\n" -" опис того, що виводить mkvinfo.\n" -" -c, --checksum Обчислює і відображає контрольні суми інформаційних наповнень кадру.\n" -" -s, --summary Тільки показують резюме інформаційних наповнень, не кожному елементу.\n" -" -x, --hexdump Показ перші 16 байтів кожного кадру як шістнадцятковий дамп.\n" -" -X, --full-hexdump\n" -" Показати всі байт кожен кадр як дамп.\n" -" -z, --size Показати розмір кожного елемента в тому числі на його заголовку.\n" -" --output-charset <charset>\n" -" Повідомлення виводу в цьому кодуванні\n" -" -r,-o, --redirect-output файл.ext переадр-виводу\n" -" Переадресуйте всі повідомлення до цього файлу.\n" -" -h, --help Показу ця довідку.\n" -" -V, --version Відображення інформації версії.\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." -msgstr "Використовуйте 'сегмент зв'язку' для результуючих файлів. Для поглибленого пояснення цієї функції зверніться до документації mkvmerge." +msgstr "Використовувати 'segment linking' для результуючих файлів. Для більш розгорнутого пояснення щодо даної опції зверніться до документації mkvmerge." -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." -msgstr "Використовуйте постійні значення для елементів, які змінюються з кожним файлом інакше (мультиплексування дата, сегментують UID, простежте UIDs і т.д.). Два файлу muxed з тими ж самими параметрами налаштування і цим активізованим вимикачем будуть ідентичні." +msgstr "Використовувати фіксовані значення для елементів, які змінюються з кожним файлом (дата мультиплексування, UID сегмента, UID доріжок і т.д.). Два файла, змультиплексовані з однаковими параметрами і використанням данного ключа, будуть ідентичні." -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." -msgstr "Використовуйте старі IDs кодека AAC (наприклад, 'A_AAC/MPEG4/SBR') замість нового ('A_AAC')." +msgstr "Використовувати старі ID кодека AAC (наприклад, 'A_AAC/MPEG4/SBR') замість нового ('A_AAC')." -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" -msgstr "Використовувати попередній каталог виведення" +msgstr "Використовувати попередню теку вихідних файлів" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" -msgstr "Використовувати цей каталог:" +msgstr "Використовувати обрану теку:" -#: src/mmg/tabs/input_extra.cpp:69 -#: src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" -msgstr "Поставити параметри:" +msgstr "Задані користувачем опції:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" -msgstr "Використання довжина NALU розмір 3 байт може призвести до того, що доріжки не будуть декодіруемих з деякими AVC/H.264 кодеків.\n" +msgstr "Використання довжини NALU розміру в 3 байти може призвести до того, що отримані доріжки не будуть призначені для декодовання деякими AVC/H.264 кодеками.\n" -#: src/input/r_ac3.cpp:90 -#: src/input/r_matroska.cpp:1510 #: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "Використання %1%AC3 вихідного модуля.\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "Використання AAC аудіо вихідного модуля.\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "Використання AAC демультиплексора.\n" @@ -7014,10 +7014,10 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "Використання AAC вихідного модуля (FourCC: %1%).\n" -#: src/input/r_aac.cpp:123 -#: src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 -#: src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "Використання AAC вихідного модуля.\n" @@ -7029,9 +7029,9 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "Використання AC3 вихідного модуля (FourCC: %1%).\n" -#: src/input/r_avi.cpp:538 -#: src/input/r_ogm.cpp:987 -#: src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "Використання AC3 вихідного модуля.\n" @@ -7040,23 +7040,23 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "Використання AVC/H.264 ES демультиплексора.\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "Використання AVI демультиплексора. Відкриття файлу. Це може зайняти якийсь час залежно від розміру файлу.\n" #: src/input/r_corepicture.cpp:89 msgid "Using the CorePanorama subtitle reader.\n" -msgstr "Використання CorePanorama читача субтитрів.\n" +msgstr "Використання CorePanorama зчитувача субтитрів.\n" #: src/input/r_dts.cpp:83 msgid "Using the DTS demultiplexer.\n" msgstr "Використання DTS демультиплексора.\n" -#: src/input/r_avi.cpp:549 +#: src/input/r_avi.cpp:680 #: src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 -#: src/input/r_mpeg_ps.cpp:1181 #: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "Використання DTS вихідного модуля.\n" @@ -7065,7 +7065,7 @@ msgstr "Використання Dirac демультиплексора.\n" #: src/input/r_dirac.cpp:96 -#: src/input/r_matroska.cpp:1431 +#: src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "Використання Dirac відео вихідного модуля.\n" @@ -7074,8 +7074,8 @@ msgstr "Використання FLAC демультиплексора.\n" #: src/input/r_flac.cpp:164 -#: src/input/r_matroska.cpp:1540 #: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "Використання FLAC вихідного модуля.\n" @@ -7083,11 +7083,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "Використання IVF демультиплексора.\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "Використання Kate вихідного модуля.\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "Використання Kate вихідного модуля субтитрів.\n" @@ -7095,7 +7095,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "Використання MP2/MP3 демультиплексора.\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "Використання MPEG ES демультиплексора.\n" @@ -7103,62 +7103,71 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "Використання MPEG PS демультиплексора.\n" -#: src/input/r_avi.cpp:531 -#: src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 #: src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 -#: src/input/r_qtmp4.cpp:1541 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "Використання MPEG аудіо вихідного модуля.\n" -#: src/input/r_matroska.cpp:1415 -#: src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "Використання MPEG-%1% відео вихідного модуля.\n" -#: src/input/r_avi.cpp:299 -#: src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "Використання MPEG-1/2 відео вихідного модуля.\n" -#: src/input/r_matroska.cpp:1804 -#: src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" -msgstr "Використання MPEG-4 Part 10 (AVC) відео вивідного модуля.\n" +msgstr "Використання MPEG-4 Part 10 (AVC) відео вихідного модуля.\n" +#: src/input/r_ogm.cpp:1154 #: src/input/r_avc.cpp:136 -#: src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 +#: src/input/r_avi.cpp:348 #: src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" -msgstr "Використання MPEG-4 Part 10 ES відео вивідного модуля.\n" +msgstr "Використання MPEG-4 Part 10 ES відео вихідного модуля.\n" -#: src/input/r_avi.cpp:307 -#: src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 -#: src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "Використання MPEG-4 Part 2 відео вихідного модуля.\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "Використання Matroska демультиплексора.\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "Використання OGG/OGM демультиплексора.\n" -#: src/input/r_avi.cpp:523 -#: src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 -#: src/input/r_qtmp4.cpp:1547 +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 #: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "Використання PCM вихідного модуля.\n" +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "Використання PGS вихідного модуля.\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "Використання PGSSUP демультиплексора.\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "Використання Quicktime/MP4 демультиплексора.\n" @@ -7173,27 +7182,27 @@ #: src/input/r_srt.cpp:44 msgid "Using the SRT subtitle reader.\n" -msgstr "Використання SRT читача субтитрів.\n" +msgstr "Використання SRT зчитувача субтитрів.\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "Використання SSA/ASS вихідного модуля субтитрів.\n" #: src/input/r_ssa.cpp:58 msgid "Using the SSA/ASS subtitle reader.\n" -msgstr "Використання SSA/ASS читача субтитрів.\n" +msgstr "Використання SSA/ASS зчитувача субтитрів.\n" #: src/input/r_tta.cpp:96 msgid "Using the TTA demultiplexer.\n" msgstr "Використання TTA демультиплексора.\n" -#: src/input/r_matroska.cpp:1566 #: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "Використання TTA вихідного модуля.\n" -#: src/input/r_matroska.cpp:1427 -#: src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "Використання Theora відео вихідного модуля.\n" @@ -7211,31 +7220,32 @@ #: src/input/r_usf.cpp:100 msgid "Using the USF subtitle reader.\n" -msgstr "Використання USF читача субтитрів.\n" +msgstr "Використання USF зчитувача субтитрів.\n" #: src/input/r_vc1.cpp:86 msgid "Using the VC1 ES demultiplexer.\n" msgstr "Використання VC1 ES демультиплексора.\n" -#: src/input/r_mpeg_ps.cpp:1215 #: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" -msgstr "Використання VC1 відео вивідного модуля.\n" +msgstr "Використання VC1 відео вихідного модуля.\n" +#: src/input/r_ogm.cpp:1445 #: src/input/r_ivf.cpp:87 -#: src/input/r_matroska.cpp:1435 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" -msgstr "Використання VP8 відео вивідного модуля.\n" +msgstr "Використання VP8 відео вихідного модуля.\n" #: src/input/r_vobbtn.cpp:67 msgid "Using the VobBtn button reader.\n" -msgstr "Використання VobBtn читача кнопок.\n" +msgstr "Використання VobBtn зчитувача кнопок.\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "Використання VobBtn вихідного модуля.\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "Використання VobSub вихідного модуля.\n" @@ -7245,11 +7255,11 @@ #: src/input/r_vobsub.cpp:104 msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" -msgstr "Використання VobSub читача субтитрів. (SUB файл '%1%').\n" +msgstr "Використання VobSub зчитувача субтитрів. (SUB файл '%1%').\n" -#: src/input/r_avi.cpp:678 -#: src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "Використання Vorbis вихідного модуля.\n" @@ -7259,248 +7269,230 @@ #: src/input/r_wavpack.cpp:84 msgid "Using the WAVPACK demultiplexer with a correction file.\n" -msgstr "Використання WavPack демультиплексора з поправкою файлу.\n" +msgstr "Використання WavPack демультиплексора з файлом поправки.\n" #: src/input/r_wavpack.cpp:86 msgid "Using the WAVPACK demultiplexer.\n" msgstr "Використання WavPack демультиплексора.\n" -#: src/input/r_matroska.cpp:1596 -#: src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "Використання WavPack вихідного модуля.\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" -msgstr "Використання загального аудіо вихідного модуля (FourCC: %|1$.4s|).\n" +msgstr "Використання загального вихідного аудіо модуля (FourCC: %|1$.4s|).\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" -msgstr "Використання передачі результату модуля цієї %1% доріжці.\n" +msgstr "Використання вихідного модуля пропуску для доріжки %1%.\n" -#: src/input/r_avi.cpp:381 -#: src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 -#: src/input/r_srt.cpp:60 -#: src/input/r_ssa.cpp:71 #: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" -msgstr "Використання тексту вивідного модуля субтитрів.\n" +msgstr "Використання вихідного модуля текстових субтитрів.\n" #: src/input/r_real.cpp:299 msgid "Using the video output module (FourCC: %1%).\n" -msgstr "Використання відео вихідного модуля (FourCC: %1%).\n" +msgstr "Використання вихідного модуля відео (FourCC: %1%).\n" -#: src/input/r_qtmp4.cpp:1473 -#: src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" -msgstr "Використання відео вихідного модуля (FourCC: %|1$.4s|).\n" +msgstr "Використання вихідного модуля відео (FourCC: %|1$.4s|).\n" -#: src/input/r_avi.cpp:336 -#: src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" -msgstr "Використання відео вихідного модуля.\n" +msgstr "Використання вихідного модуля для відео.\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 елементарні потоки" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 відео елементарний потік" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" -msgstr "Дійсні хакі:\n" +msgstr "Коректні зміни коду:\n" #: src/mmg/header_editor/frame.cpp:149 msgid "Validates the content of all changeable headers" -msgstr "Перевіряє утримання всіх змінних заголовків" +msgstr "Перевірити складові всіх змінних заголовків" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" -msgstr "Перевірити поточні записи голови, є помилки" +msgstr "Перевірити поточні записи розділів на помилки" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:485 +#: src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" -msgstr "Відео тип коефіцієнт пропорцій" +msgstr "Тип коефіцієнта співвідношення сторін екрану для відео" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" -msgstr "Відео обрізати знизу" +msgstr "Обрізка відео знизу" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" -msgstr "Відео обрізати зліва" +msgstr "Обрізка відео зліва" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" -msgstr "Відео обрізати праворуч" +msgstr "Обрізка відео справа" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" -msgstr "Відео обрізати зверху" +msgstr "Обрізка відео зверху" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Video display height" -msgstr "Відео висота дисплея" +msgstr "Висота відображення відео" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" -msgstr "Відео дисплей" +msgstr "Одиниці відображення відео" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Video display width" -msgstr "Відео ширина дисплея" +msgstr "Ширина відображення відео" #: src/mpegparser/M2VParser.cpp:163 msgid "Video ended with a shortened group of pictures. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" -msgstr "Відео закінчилося скороченою групою картин. Були знижені деякі структури. Ви можете встановити відео потік MPEG2 перш ніж спробувати мультиплексованих.\n" +msgstr "Файл відео наприкінці містить скорочену групу зображень. Деякі кадри були пропущені. Можливо, краще перед мультиплексуванням виправити помилки у файлі MPEG2.\n" #: src/common/property_element.cpp:137 msgid "Video interlaced flag" -msgstr "Відео чересстрочной прапор" +msgstr "Прапорець черезрядковості відео " -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "Відео пакет зібрати не вдалося. Код помилки: %1% (%2%)\n" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" -msgstr "Відео висота пікселя" +msgstr "Висота пікселя відео " #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" -msgstr "Відео ширина пікселя" +msgstr "Ширина пікселя відео " #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 +#: src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" -msgstr "Відео режим стерео" +msgstr "Стерео-режим відео " -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" -msgstr "Відео доріжка" +msgstr "Відеодоріжка" #: src/mmg/header_editor/track_type_page.cpp:49 #, c-format msgid "Video track %u" -msgstr "Відео доріжка %u" +msgstr "Відеодоріжка %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" -msgstr "Розгляньте висновок, який mkvmerge згенерував під час мультиплексування обробляє для вибраного завдання(й)" - -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn кнопки" +msgstr "Показати вихідну інформацію, яку згенерувано mkvmerge під час мультиплексування для вибраного завдання(й)" -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobButtons" -#: src/mmg/tabs/input.cpp:256 -#: src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub субтитри" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" -msgstr "WAVE (незжатий аудіо PCM)" +msgstr "WAVE (нестиснуте PCM аудіо)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (незжатий PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK аудіо без втрат" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" -msgstr "WAVPACK v4 Audio" +msgstr "Аудіо WAVPACK v4" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" -msgstr "Попередження про можливе неправильному використанні mmg" +msgstr "Попереджати про можливе невірне використання mmg" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" -msgstr "Попередження у рядку %1%: почати тайм-коду менше, ніж у попередньому пості. Усі записи з цього файлу будуть відсортовані за часом їх початку.\n" +msgstr "Попередження для рядку %1%: початковий тайм-код менше, ніж для попереднього запису. Усі записи цього файлу будуть відсортовані за часом їх початку.\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "Попередження:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "Попередження:" -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." -msgstr "Попередження: Там більше, ніж одна доріжка з UID %1%." +msgstr "Попередження: Присутня більше, ніж одна доріжка з UID %1%." -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." -msgstr "Попередження: Там більше, ніж одна доріжка з номером %1%." +msgstr "Попередження: Присутня більше, ніж одна доріжка з номером %1%." -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "Попередження:" -#: src/mmg/tabs/input.cpp:259 -#: src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" -msgstr "WebM Audio/Video файли" +msgstr "WebM аудіо/відео файли" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." -msgstr "При додаванні файлу його ім'я сканування. Якщо він містить слова 'затримки' з наступним числом, то це число буде автоматично переведений в 'затримки' поле введення за будь-яку звукову доріжку у файлі." +msgstr "При додаванні файлу його назва сканується. Якщо вона містить слово 'DELAY', що знаходиться після конкретного числа, то це число буде автоматично використовуватись як значення затримки в полі 'Затримка' для будь-якої звукової доріжки файлу." #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." -msgstr "Ширина закодованих відео кадрів у пікселях." +msgstr "Ширина закодованих кадрів відео у пікселях." #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." -msgstr "Ширина відео кадрів, щоб відобразити." +msgstr "Ширина кадрів відео для відображення." -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." -msgstr "Створити тривалість для всіх блоків. Це дозволить збільшити розмір файлу, і не пропонує додаткові переваги для плеєрів на даний момент." +msgstr "Записувати тривалість для всіх блоків. Це призведе до збільшення розміру файлу і не принесе додаткових переваг для плеєрів на даний момент." #: src/extract/extract_cli_parser.cpp:94 msgid "Write the attachment with the ID 'AID' to 'outname'." -msgstr "Записати вкладення з ID 'AID' в 'outname'." +msgstr "Записати вкладення з ID 'AID' до 'outname'." #: src/extract/extract_cli_parser.cpp:77 msgid "Write track with the ID TID to the file 'out'." msgstr "Записати доріжку з ID TID в файл 'out'." -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" -msgstr "Написати додаток: %1%" +msgstr "Додаток запису: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" -msgstr "Написати інформацію" +msgstr "Інформація запису" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" -msgstr "Написати VobSub індексний файл '%1%'.\n" +msgstr "Запис індексного файлу VobSub '%1%'.\n" #: src/common/kate.cpp:61 msgid "Wrong Kate version: %1%.%2% > %3%.x" @@ -7510,32 +7502,32 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "Неправильна версія Theora: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" -msgstr "Неправильний параметр '--split-max-files'.\n" +msgstr "Неправильний аргумент '--split-max-files'.\n" #: src/mmg/options/mkvmerge.cpp:117 msgid "Wrong file chosen" msgstr "Неправильно вибраний файл" #: src/mmg/header_editor/frame.cpp:248 -#: src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" -msgstr "Неправильний файл обраний" +msgstr "Неправильно обраний файл" -#: src/common/kate.cpp:46 #: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "Неправильний тип заголовка: 0x%|1$02x| != 0x%|2$02x|" #: src/common/theora.cpp:40 msgid "Wrong identifaction string: '%|1$6s|' != 'theora'" -msgstr "Неправильно ідентифікує рядок: '%|1$6s|' != 'theora'" +msgstr "Неправильний рядок ідентифікації: '%|1$6s|' != 'theora'" #: src/common/kate.cpp:51 msgid "Wrong identification string: '%|1$7s|' != 'kate\\0\\0\\0'" -msgstr "Неправильно ідентифікує рядок: '%|1$7s|' != 'kate\\0\\0\\0'" +msgstr "Неправильний рядок ідентифікації: '%|1$7s|' != 'kate\\0\\0\\0'" #: src/common/xml/element_parser.cpp:457 msgid "XML parser error at line %1% of '%2%': %3%.%4%%5%" @@ -7545,7 +7537,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "Помилка синтаксичного аналізатора XML в рядку %1%: %2%." -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "Ви вже використовуєте останню версію." + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7556,16 +7552,16 @@ "Example: -00:05:23 would let all the chapters begin\n" "5minutes and 23seconds earlier than now." msgstr "" -"Ви можете використовувати цю функцію для того, щоб коректувати тайм-коди\n" -"з обраної голови і всіх її дочірніх записів встановленим кількістю.\n" -"Кількість може бути позитивним чи негатив. Використовуваний формат може бути\n" -"будь-який тільки число, коли це інтерпретується як число секунд,\n" -"це може супроводжуватися модулем як 'ms' або 's' для мілісекунд і секунди відповідно,\n" -"або у цього може бути звичайний формат HH:MM:SS.mmm або HH:MM:SS.\n" -"Приклад: -00:05:23 дозволив би всім головам починатися\n" -"5 хвилин і на 23 секунди раніше ніж тепер." +"Ви можете використовувати цю функцію для коригування тайм-кодів\n" +"обраних розділів і їх підрозділів на певне значення.\n" +"Це значення може бути додатнім або від'ємним. Значення може бути\n" +"тільки числом і тоді буде інтепретуватися як кількість секунд,\n" +"а якщо супроводжується 'ms' або 's', то як кількість мілісекунд чи секунд відповідно,\n" +"або може задаватися у звичайному форматі ГГ:ХХ:СС.мс або ГГ:ХХ:СС.\n" +"Наприклад: -00:05:23 означає те, що всі розділи починатимуться\n" +"на 5 хвилин і 23 секунди раніше." -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7574,13 +7570,13 @@ "\n" "Do you still want to continue?" msgstr "" -"Ви не вибрали багато чисел кадрів в секунду для доріжки %lld файлу '%s'. mkvmerge не може визначити число чисел кадрів в секунду для таких файлів самостійно. Тому Ви повинні встановити ці параметри самостійно на 'форматі сторінка певних опцій.\n" +"Ви не задали кількість кадрів за секунду для доріжки %lld файлу '%s'. mkvmerge не може визначити кількість кадрів за секунду для таких файлів самостійно. Тому ви повинні задати цей параметр на закладці 'Опції, специфічні щодо вибраного формату даних'.\n" "\n" -"Якщо Ви не зробите, то це тоді mkvmerge візьме 25 fps.\n" +"Якщо ви цього не зробите, тоді mkvmerge буде використовувати значення 25.\n" "\n" "Ви все ще хочете продовжити?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7588,27 +7584,27 @@ "\n" "This message will only be shown once unless you have enabled mmg's warnings on its 'settings' page." msgstr "" -"Ви додаєте елементарний потік AVC/h.264 до вихідного файлу. mkvmerge не може визначити число чисел кадрів в секунду для таких файлів самостійно. Тому Ви повинні встановити ці параметри самостійно на 'форматі певні опції' сторінка.\n" +"Ви додаєте елементарний потік AVC/h.264 до вихідного файлу. mkvmerge не може визначити кількість кадрів за секунду для таких файлів самостійно. Тому ви повинні задати цей параметр на закладці 'Опції, специфічні щодо вибраного формату даних'.\n" "\n" -"Якщо Ви не зробите, то це тоді mkvmerge візьме 25 fps.\n" +"Якщо ви цього не зробите, тоді mkvmerge буде використовувати значення 25.\n" "\n" -"Цьому повідомленням тільки покажуть одного разу, якщо Ви не допустили попередження mmg на його сторінці 'параметрів налаштування'." +"Це повідомленням буде відображене лише раз в тому випадку, якщо ви зміните 'Попереджати про можливе невірне використання mmg' на сторінці 'Опції'." -#: src/common/compression.cpp:130 -#: src/common/compression.cpp:167 +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" -msgstr "Zlib декомпресія не вдалася. Результат: %1%\n" +msgstr "Zlib декомпресія пройшла невдало. Результат: %1%\n" -#: src/info/mkvinfo.cpp:165 -#: src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[%1% кадр для доріжки %2%, тайм-код %3%]" #: src/input/r_aac.cpp:62 msgid "aac_reader: ADIF header files are not supported." -msgstr "aac_reader: ADIF заголовні файли не підтримуються." +msgstr "aac_reader: файли заголовків ADIF не підтримуються." -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader: Не вдалося відкрити файл." @@ -7616,23 +7612,23 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader: Не вдалося прочитати %1% байт." -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" -msgstr "aac_reader: Не знайдений пакет AAC в перших %1% байтах.\n" +msgstr "aac_reader: Жодного корректного пакету AAC не знайдено в перших %1% байтах.\n" -#: src/mmg/jobs.cpp:335 -#: src/mmg/jobs.cpp:444 -#: src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 msgid "aborted" -msgstr "Перерваний" +msgstr "перервано" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" -msgstr "ac3_bs_packetizer::add_to_buffer(): Неперевірений код ('розмір' непарний). Якщо mkvmerge аварія або якщо отриманий файл не містить повної і правильної звукової доріжки, то, будь ласка, зв'яжіться з автором Moritz Bunkus на <moritz@bunkus.org>.\n" +msgstr "ac3_bs_packetizer::add_to_buffer(): Неперевірений код ('size' є нестандартним). Якщо робота mkvmerge аварійно принилася або отриманий файл не містить повної і корректної звукової доріжки, то, будь ласка, зв'яжіться з автором Moritz Bunkus через <moritz@bunkus.org>.\n" #: src/input/r_ac3.cpp:67 msgid "ac3_reader: Could not open the source file." -msgstr "ac3_reader: Не вдалося відкрити вихідний файл." +msgstr "ac3_reader: Не вдалося відкрити вхідний файл." #: src/input/r_ac3.cpp:62 msgid "ac3_reader: Could not read %1% bytes." @@ -7640,148 +7636,159 @@ #: src/input/r_ac3.cpp:71 msgid "ac3_reader: No valid AC3 packet found in the first %1% bytes.\n" -msgstr "ac3_reader: Ні дійсний AC3 пакет у перших %1% байтах.\n" +msgstr "ac3_reader: Жодного корректного пакету AC3 не знайдено в перших %1% байтах.\n" #: src/mmg/tabs/attachments.cpp:156 #: src/mmg/tabs/input.cpp:183 msgid "add" msgstr "Додати" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "анагліф" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "Приєднати" -#: src/input/r_matroska.cpp:88 -#: src/mmg/mmg.cpp:57 -#: src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "Аудіо" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "аудіо/відео/текст субтитрів впроваджених у OGG" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." -msgstr "avc_es_reader: Не вдалося відкрити вихідний файл." +msgstr "avc_es_reader: Не вдалося відкрити вхідний файл." #: src/input/r_avc.cpp:106 msgid "avc_es_reader: Should not have happened." -msgstr "avc_es_reader: Не повинен був трапитися." +msgstr "avc_es_reader: Не повинно було трапитися." -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" -msgstr "avi_reader: Не вдалося ініціалізувати AVI джерела. Причина: %1%" +msgstr "avi_reader: Не вдалося ініціалізувати джерело AVI. Причина: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." -msgstr "avi_reader: Не вдалося прочитати вихідний файл." +msgstr "avi_reader: Не вдалося прочитати вхідний файл." -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." -msgstr "avi_reader: Джерело не є допустимим AVI файлом." +msgstr "avi_reader: Джерельний файл не є допустимим AVI файлом." -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "Розрядність: %1%" -#: src/input/r_matroska.cpp:89 -#: src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "Кнопки" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" -msgstr "byte_buffer_c: (pos + num) > size. Не повинен був трапитися. Будь ласка подайте повідомлення про помилки.\n" +msgstr "byte_buffer_c: (pos + num) > size. Не повинно було трапитися. Будь ласка, відправте повідомлення про помилку.\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" -msgstr "bzip2 стиснення не вдалося. Результат: %1%\n" +msgstr "bzip2 стиснення пройшло невдало. Результат: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" -msgstr "bzlib_compressor_c::decompress() не виконується\n" +msgstr "bzlib_compressor_c::decompress() не впроваджено\n" #: src/common/chapters/writer.cpp:196 #: src/common/chapters/xml_parser.cpp:143 msgid "cet_index: '%1%' not found\n" msgstr "cet_index: '%1%' не знайдено\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "Канали: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "в шаховому порядку (лівий спочатку)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "в шаховому порядку (правий спочатку)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "черезрядково з вертикальним роздільником (лівий спочатку)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "черезрядково з вертикальним роздільником (правий спочатку)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" -msgstr "Завершено OK" +msgstr "Завершено без помилок і попереджень" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "Завершено з попередженнями" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "Стиснення" #: src/input/r_corepicture.cpp:85 msgid "corepicture_reader: Could not open the source file." -msgstr "corepicture_reader: Не вдалося відкрити вихідний файл." +msgstr "corepicture_reader: Не вдалося відкрити вхідний файл." #: src/input/r_corepicture.cpp:72 msgid "corepicture_reader: Source is not a valid CorePanorama file." -msgstr "corepicture_reader: Джерело не є допустимим файлом CorePanorama." +msgstr "corepicture_reader: Джерельний файл не є допустимим файлом CorePanorama." -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num не знайдений. %1%\n" -#: src/common/ebml.cpp:100 -#: src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: Невірний UTF-8 послідовності зіткнулися. Будь ласка, moritz@bunkus.org зв'язатися і попросити, щоб він краще реалізує UTF-8 аналізатор." - -#: src/mmg/tabs/input_extra.cpp:91 -#: src/mmg/tabs/input_extra.cpp:165 #: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" -msgstr "За замовчуванням" +msgstr "Типово" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" -msgstr "тривалість за замовчуванням: %|1$.3f|ms (%|2$.3f| кадрів в секунду для відео доріжки)" +msgstr "типова тривалість: %|1$.3f|мс (%|2$.3f| кадрів за секунду для доріжки відео)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" -msgstr "deflateInit() не вдалося. Результат: %1%\n" +msgstr "deflateInit() завершено невдало. Результат: %1%\n" #: src/input/r_dirac.cpp:82 msgid "dirac_es_reader: Could not open the source file." -msgstr "dirac_es_reader: Не вдалося відкрити вихідний файл." +msgstr "dirac_es_reader: Не вдалося відкрити вхідний файл." #: src/mmg/tabs/attachments.cpp:154 msgid "disable all" -msgstr "Вимкнути всі" +msgstr "Заборонити усі" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " -msgstr "незахищений, " +msgstr "відкинутий, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "висота дисплея: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "ширина дисплея: %1%" -#: src/mmg/jobs.cpp:520 -#: src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 msgid "done" -msgstr "Зроблений" +msgstr "виконано" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" -msgstr "зробити/попередження" +msgstr "виконано/є попередження" #: src/mmg/tabs/input.cpp:189 msgid "down" @@ -7789,7 +7796,7 @@ #: src/input/r_dts.cpp:66 msgid "dts_reader: Could not open the source file." -msgstr "dts_reader: Не вдалося відкрити вихідний файл." +msgstr "dts_reader: Не вдалося відкрити вхідний файл." #: src/input/r_dts.cpp:62 msgid "dts_reader: Could not read %1% bytes." @@ -7797,17 +7804,17 @@ #: src/input/r_dts.cpp:77 msgid "dts_reader: No valid DTS packet found in the first %1% bytes.\n" -msgstr "dts_reader: Не знайдений пакет DTS в перших %1% байтах.\n" +msgstr "dts_reader: Жодного корректного пакету DTS не знайдено в перших %1% байтах.\n" #: src/mmg/tabs/attachments.cpp:153 msgid "enable all" -msgstr "Включити всі" +msgstr "Дозволити усі" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" -msgstr "Включено" +msgstr "Задіяний" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "Шифрування" @@ -7817,8 +7824,8 @@ #: src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 #: src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 -#: src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 #: src/common/mm_io.cpp:481 #: src/common/mm_io.cpp:491 @@ -7828,19 +7835,19 @@ #: src/common/mm_io.cpp:531 #: src/common/mm_io.cpp:541 #: src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 -#: src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "Кінець файлу" -#: src/mmg/jobs.cpp:344 -#: src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 msgid "failed" msgstr "Не вдалося" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" -msgstr "filelist_t не знайдеться generic_packetizer_c. %1%\n" +msgstr "filelist_t не знайдено для generic_packetizer_c. %1%\n" #: src/input/r_ogm_flac.cpp:132 msgid "flac_header_extraction: Could not initialize the FLAC decoder.\n" @@ -7848,11 +7855,11 @@ #: src/input/r_ogm_flac.cpp:130 msgid "flac_header_extraction: Could not set metadata_respond_all.\n" -msgstr "flac_header_extraction: Не міг встановити metadata_respond_all.\n" +msgstr "flac_header_extraction: Не вдалося встановити metadata_respond_all.\n" #: src/input/r_ogm_flac.cpp:128 msgid "flac_header_extraction: FLAC__stream_decoder_new() failed.\n" -msgstr "flac_header_extraction: FLAC__stream_decoder_new() не вдалося.\n" +msgstr "flac_header_extraction: збій FLAC__stream_decoder_new().\n" #: src/input/r_ogm_flac.cpp:42 msgid "flac_header_extraction: bytes (%1%) < op.bytes (%2%). Could not read the FLAC headers.\n" @@ -7864,7 +7871,7 @@ #: src/input/r_flac.cpp:118 msgid "flac_reader: Could not open the source file." -msgstr "flac_reader: Не вдалося відкрити вихідний файл." +msgstr "flac_reader: Не вдалося відкрити вхідний файл." #: src/input/r_flac.cpp:141 msgid "flac_reader: Could not read a header packet.\n" @@ -7880,250 +7887,246 @@ #: src/input/r_flac.cpp:184 msgid "flac_reader: Could not set metadata_respond_all.\n" -msgstr "flac_reader: Не міг встановити metadata_respond_all.\n" +msgstr "flac_reader: Не вдалося встановити metadata_respond_all.\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" -msgstr "flac_reader: Помилка при розборі файлу: %1%\n" +msgstr "flac_reader: Помилка при аналізі файлу: %1%\n" #: src/input/r_flac.cpp:182 msgid "flac_reader: FLAC__stream_decoder_new() failed.\n" -msgstr "flac_reader: FLAC__stream_decoder_new() не вдалося.\n" +msgstr "flac_reader: збій FLAC__stream_decoder_new().\n" #: src/input/r_flac.cpp:149 msgid "flac_reader: could not initialize the FLAC packetizer.\n" -msgstr "flac_reader: Не вдалося ініціалізувати FLAC packetizer.\n" +msgstr "flac_reader: Не вдалося ініціалізувати формувач пакетів FLAC.\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "для всіх кадрів" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "Загальні файли Matroska" - #: src/input/r_avc.cpp:76 #: src/input/r_vc1.cpp:52 msgid "have an xcptn\n" -msgstr "є xcptn\n" +msgstr "містить xcptn\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "Видалення заголовка" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "Прихований" #: src/mmg/options/mkvmerge.cpp:48 msgid "higher" -msgstr "вище" +msgstr "вищий" #: src/mmg/options/mkvmerge.cpp:47 msgid "highest" msgstr "найвищий" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" -msgstr "inflateInit() не вдалося. Результат: %1%\n" +msgstr "збій inflateInit(). Результат: %1%\n" -#: src/mmg/jobs.cpp:72 -#: src/mmg/jobs.cpp:74 -#: src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" -msgstr "в даний час оцінки" +msgstr "оцінка часу" #: src/input/r_ivf.cpp:62 msgid "ivf_reader: Could not open the file." -msgstr "ivf_reader: Не можу відкрити файл." +msgstr "ivf_reader: Не вдалося відкрити файл." -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "ключ, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "мова: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "довжина %1%, дані: %2%" #: src/input/r_vobsub.cpp:221 msgid "line %1%: The 'delay' timestamp could not be parsed.\n" -msgstr "рядок %1%: мітка 'затримка' не може бути оброблена.\n" +msgstr "рядок %1%: часова мітка 'delay' не може бути зчитана.\n" #: src/mmg/tabs/global.cpp:255 msgid "link files" -msgstr "файли зв'язків" +msgstr "файли зв'язку" #: src/mmg/options/mkvmerge.cpp:51 msgid "lower" -msgstr "нижче" +msgstr "нижчий" #: src/mmg/options/mkvmerge.cpp:52 msgid "lowest" -msgstr "низький" +msgstr "найнижчий" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" -msgstr "lzo_compressor_c::decompress() не виконується\n" +msgstr "lzo_compressor_c::decompress() не впроваджено\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" -msgstr "lzo_init() не вдалося. Результат: %1%\n" +msgstr "збій lzo_init(). Результат: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" -msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) не вдалося.\n" +msgstr "збій lzo_malloc(LZO1X_999_MEM_COMPRESS).\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" -msgstr "matroska_reader: (MS режимі сумісності трек %1%) говорить, що Matroska %2% біт на семпл, але говорить, що WAVEFORMATEX %3%.\n" +msgstr "matroska_reader: (в MS режимі сумісності для треку %1%) на основі інформації структури Matroska можна сказати, що міститья %2% біт на семпл, але WAVEFORMATEX сповіщає, що їх %3%.\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" -msgstr "matroska_reader: (MS режимі сумісності трек %1%) говорить, що Matroska %2% каналів, але говорить, що WAVEFORMATEX %3%.\n" +msgstr "matroska_reader: (в MS режимі сумісності для треку %1%) на основі інформації структури Matroska можна сказати, що є %2% канали(ів), але WAVEFORMATEX сповіщає, що їх %3%.\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" -msgstr "matroska_reader: (MS режимі сумісності трек %1%) говорить, що Matroska %2% відліків в секунду, але говорить, що WAVEFORMATEX %3%.\n" +msgstr "matroska_reader: (в MS режимі сумісності для треку %1%) на основі інформації структури Matroska можна сказати, що є %2% семплів за секунду (частота дискретизації), але WAVEFORMATEX сповіщає, що їх %3%.\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" -msgstr "matroska_reader: (MS в режимі сумісності, трек %1%) говорить Матроса відео ширина %2%, але говорить BITMAPINFOHEADER %3%.\n" +msgstr "matroska_reader: (в MS режимі сумісності для треку %1%) на основі інформації структури Matroska можна сказати, що ширина відео становить %2%, але BITMAPINFOHEADER сповіщає, що ширина - %3%.\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" -msgstr "matroska_reader: (MS в режимі сумісності, трек %1%) Матроса відео висота %2%, але говорить BITMAPINFOHEADER %3%.\n" +msgstr "matroska_reader: (в MS режимі сумісності для треку %1%) на основі інформації структури Matroska можна сказати, що висота відео становить %2%, але BITMAPINFOHEADER сповіщає, що висота - %3%.\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" -msgstr "matroska_reader: У доріжки відсутній її UID доріжки.\n" +msgstr "matroska_reader: У доріжки відсутній її UID.\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" -msgstr "matroska_reader: У доріжки відсутній її номер доріжки.\n" +msgstr "matroska_reader: У доріжки відсутній її номер.\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" -msgstr "matroska_reader: Не вдалося зберегти доріжку UID %1%, оскільки це вже виділено для нового файлу.\n" +msgstr "matroska_reader: Не вдалося зберегти UID доріжки %1%, оскільки він вже зарезервований для нового файлу.\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader: Не вдалося прочитати заголовки." -#: src/input/r_matroska.cpp:1208 -#: src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" -msgstr "matroska_reader: Не знайдений сегмент.\n" +msgstr "matroska_reader: Не знайдено жодного сегмента.\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" -msgstr "matroska_reader: Висота пікселя відсутній.\n" +msgstr "matroska_reader: Відсутня висота пікселя.\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" -msgstr "matroska_reader: Ширина пікселя відсутній.\n" +msgstr "matroska_reader: Відсутня ширина пікселя.\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" -msgstr "matroska_reader: CodecID '%1%' для вибору доріжки %2% невідомо.\n" +msgstr "matroska_reader: CodecID '%1%' для доріжки %2% є невідомим.\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" -msgstr "matroska_reader: CodecID для доріжки %1% у '%2%', але не було BITMAPINFOHEADER структури даний час. Тому ми не маємо FourCC для виявлення відео кодека.\n" +msgstr "matroska_reader: CodecID для доріжки %1% - '%2%', але не було знайдено структури BITMAPINFOHEADER. Тому не має FourCC для ідентифікації кодека відео.\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" -msgstr "matroska_reader: CodecID для доріжки %1% у '%2%', але не було WAVEFORMATEX структури даний час. Тому ми не маємо формат ID для ідентифікації аудіо кодека.\n" +msgstr "matroska_reader: CodecID для доріжки %1% - '%2%', але не було знайдено структури WAVEFORMATEX. Тому не має ID формату для ідентифікації кодека аудіо.\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" -msgstr "matroska_reader: CodecID для доріжки %1% у '%2%', але не було приватної кодек заголовки.\n" +msgstr "matroska_reader: CodecID для доріжки %1% - '%2%', але не було знайдено власних заголовків кодека.\n" -#: src/input/r_matroska.cpp:483 -#: src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" -msgstr "matroska_reader: CodecID для доріжки %1% у '%2%', але не було знайдено особисті дані.\n" +msgstr "matroska_reader: CodecID для доріжки %1% - '%2%', але не було знайдено власних даних.\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" -msgstr "matroska_reader: CodecID для доріжки %1% в 'A_VORBIS', але немає заголовка пакетів справжніх.\n" +msgstr "matroska_reader: CodecID для доріжки %1% - 'A_VORBIS', але відсутні пакети заголовків.\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" -msgstr "matroska_reader: CodecID відсутня.\n" +msgstr "matroska_reader: Відсутній CodecID.\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" -msgstr "matroska_reader: Висота доріжки %1% не була встановлена.\n" +msgstr "matroska_reader: Висота доріжки %1% не була задана.\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" -msgstr "matroska_reader: Ширина доріжки %1% не була встановлена.\n" +msgstr "matroska_reader: Ширина доріжки %1% не була задана.\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" -msgstr "matroska_reader: Доріжка %1%, видається ОК.\n" +msgstr "matroska_reader: З доріжкою %1% все гаразд.\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader: Тип доріжки не знайдено.\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" -msgstr "matroska_reader: Vorbis доріжка, не містить потрібних заголовків.\n" +msgstr "matroska_reader: доріжка Vorbis не містить корректних заголовків.\n" -#: src/input/r_matroska.cpp:1300 -#: src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" -msgstr "matroska_reader: зловив виключення\n" +msgstr "matroska_reader: знайдено виключення\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader: mkvmerge не була скомпільована з підтримкою FLAC. Ігнорування доріжки %1%.\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" -msgstr "matroska_reader: Ні EBML голови.\n" +msgstr "matroska_reader: не знайдено верхівки EBML.\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader: невідомий тип демультиплексора для доріжки %1%: '%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" -msgstr "matroska_reader: | + Там більше, ніж один UID доріжки %1%.\n" +msgstr "matroska_reader: | + Присутня більше, ніж одна доріжка з UID %1%.\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" -msgstr "matroska_reader: | + Там більше, ніж один номер доріжки %1%.\n" +msgstr "matroska_reader: | + Присутня більше, ніж одна доріжка з номером %1%.\n" #: src/mmg/tabs/global.cpp:257 msgid "max. number of files:" msgstr "максимальне число файлів:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" -msgstr "memory.cpp/safemalloc() називається з файлу %1%, рядок %2%: malloc() повернула NULL розмір %3% байт.\n" +msgstr "memory.cpp/safemalloc() викликано з файлу %1%, рядок %2%: malloc() повернуто NULL для розміру %3% байт.\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" -msgstr "memory.cpp/safememdup() називається з файлу %1%, рядок %2%: malloc() повернула NULL розмір %3% байт.\n" +msgstr "memory.cpp/safememdup() викликано з файлу %1%, рядок %2%: malloc() повернуто NULL для розміру %3% байт.\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" -msgstr "memory.cpp/saferealloc() називається з файлу %1%, рядок %2%: malloc() повернула NULL розмір %3% байт.\n" +msgstr "memory.cpp/saferealloc() викликано з файлу %1%, рядок %2%: malloc() повернуто NULL для розміру %3% байт.\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" -msgstr "memory_slice_cursor_c copy c'tor: не повинні використовуватися!" +msgstr "memory_slice_cursor_c copy c'tor: Не повинно використовуватися!" #: src/propedit/target.cpp:81 msgid "missing property name" -msgstr "відсутня ім'я властивості" +msgstr "відсутня назва властивості" #: src/propedit/target.cpp:74 msgid "missing value" @@ -8132,7 +8135,7 @@ #: src/common/fs_sys_helpers.cpp:53 #: src/common/fs_sys_helpers.cpp:192 msgid "mkdir(%1%) failed; errno = %2% (%3%)" -msgstr "mkdir(%1%) не вдалося; помилка = %2% (%3%)" +msgstr "збій mkdir(%1%); помилка номер = %2% (%3%)" #: src/extract/extract_cli_parser.cpp:56 msgid "mkvextract <-h|-V>" @@ -8140,7 +8143,7 @@ #: src/extract/extract_cli_parser.cpp:47 msgid "mkvextract <mode> <source-filename> [options] <extraction-spec>" -msgstr "mkvextract <режим> <вихідне ім'я файлу> [опції] <специфікації вилучення>" +msgstr "mkvextract <режим> <назва вхідного файлу> [опції] <опції витягнення>" #: src/extract/extract_cli_parser.cpp:98 msgid "mkvextract attachments \"a movie.mkv\" 4:cover.jpg" @@ -8152,7 +8155,7 @@ #: src/extract/extract_cli_parser.cpp:106 msgid "mkvextract chapters \"a movie.mkv\" > movie_chapters.xml" -msgstr "mkvextract chapters \"фільм.mkv\" > глави_фільма.xml" +msgstr "mkvextract chapters \"фільм.mkv\" > розділи_фільму.xml" #: src/extract/extract_cli_parser.cpp:53 msgid "mkvextract chapters <inname> [options]" @@ -8168,7 +8171,7 @@ #: src/extract/extract_cli_parser.cpp:89 msgid "mkvextract tags \"a movie.mkv\" > movie_tags.xml" -msgstr "mkvextract tags \"фільм.mkv\" > тегі_фільма.xml" +msgstr "mkvextract tags \"фільм.mkv\" > теги_фільма.xml" #: src/extract/extract_cli_parser.cpp:51 msgid "mkvextract tags <inname> [options]" @@ -8176,7 +8179,7 @@ #: src/extract/extract_cli_parser.cpp:123 msgid "mkvextract timecodes_v2 \"a movie.mkv\" 1:timecodes_track1.txt" -msgstr "mkvextract timecodes_v2 \"фільм.mkv\" 1:тайм-коди_дорожкі1.txt" +msgstr "mkvextract timecodes_v2 \"фільм.mkv\" 1:тайм-коди_доріжка1.txt" #: src/extract/extract_cli_parser.cpp:55 msgid "mkvextract timecodes_v2 <inname> [TID1:out1 [TID2:out2 ...]]" @@ -8194,22 +8197,22 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): рівень > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: Невідомий режим!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [опції] <inname>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o out [глобальні параметри] [опціі1] <файл1> [@параметри файлу ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" -msgstr "mkvmerge Помилка з кодом повернення %d. %s" +msgstr "робота mkvmerge АВАРІЙНО завершена з кодом повернення %d. %s" #: src/mmg/tabs/global.cpp:532 #: src/mmg/tabs/global.cpp:546 @@ -8219,130 +8222,134 @@ #: src/mmg/tabs/global.cpp:573 #: src/mmg/tabs/global.cpp:610 msgid "mkvmerge GUI error" -msgstr "mkvmerge GUI помилка" +msgstr "помилка mkvmerge GUI" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI готовий" -#: src/mmg/mmg_dialog.cpp:364 -#: src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" -msgstr "mkvmerge GUI налаштування (*.mmg)|*.mmg|%s" +msgstr "налаштування mkvmerge GUI (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 -#: src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 -#: src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 -#: src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: помилка" #: src/mmg/tabs/global.cpp:287 msgid "mkvmerge can read CUE sheets for audio CDs and automatically convert them to chapters. This option controls how the chapter names are created. The sequence '%p' is replaced by the track's PERFORMER, the sequence '%t' by the track's TITLE, '%n' by the track's number and '%N' by the track's number padded with a leading 0 for track numbers < 10. The rest is copied as is. If nothing is entered then '%p - %t' will be used." -msgstr "mkvmerge можна читати CUE листи для аудіо компакт-диски та автоматично перетворює їх на розділи. Цей параметр визначає, як глава імена створюються. '%p' послідовністю замінена PERFORMER, доріжки послідовність '%t', автор заголовка доріжки, '%n' за номером доріжки і '%N' за номером доріжки доповнюється провідними 0 для номера треків < 10. Решта копіюється як є. Якщо нічого не вступив, потім '%p - %t' буде використовуватися." +msgstr "mkvmerge може читати CUE-списки для аудіо компакт-дисків та автоматично перетворюти їх на розділи. Цей параметр визначає те, як створюється назва розділу. Послідовність '%p' замінюється на PERFORMER доріжки, послідовність '%t' - на TITLE доріжки, '%n' - на номер доріжки і '%N' - на номер доріжки, доповнений провідними 0 для номерів доріжок < 10. Решта копіюється як є. Якщо нічого не задано, тоді буде використовуватися варіант '%p - %t'." #: src/mmg/tabs/input_general.cpp:190 #: src/mmg/tabs/input_general.cpp:192 msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." -msgstr "mkvmerge можна читати і використовувати тайм-кодів від зовнішніх текстових файлів. Ця функція дуже просунуті функції. Майже всі користувачі повинні залишити цю запис порожня." +msgstr "mkvmerge може читати і використовувати тайм-коди з зовнішніх текстових файлів. Ця функція призначена для досвідчених користувачів. Для більшості ж користувачів необхідно залишати це поле порожнім." -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" msgstr "" -"mkvmerge зустрічаються сломанной або аналізоване дані в цьому AVC/H.264 трек відео. Або у вас пошкоджений файл (який mkvmerge не може впоратися з ще немає) або це помилка в mkvmerge себе. Повідомлення про помилку було:\n" +"mkvmerge було натраплено на пошкоджені або дані з неможливістю аналізу для доріжки AVC/H.264 відео. Або у вас пошкоджений файл (з яким mkvmerge поки не може впоратися) або це помилка в mkvmerge. Повідомлення про помилку:\n" "%1%\n" #: src/mmg/options/mkvmerge.cpp:57 msgid "mkvmerge executable" -msgstr "mkvmerge виконуваний" +msgstr "шлях до mkvmerge.exe" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" -msgstr "mkvmerge закінчив код повернення %d. %s" +msgstr "Роботу mkvmerge завершено з кодом повернення %d. %s" -#: src/mmg/jobs.cpp:147 -#: src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" -msgstr "mkvmerge закінчив" +msgstr "Роботу mkvmerge завершено" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" -msgstr "mkvmerge не був скомпільований з підтримкою FLAC, але обробка цього потоку було запропоновано.\n" +msgstr "mkvmerge не було скомпільовано з підтримкою FLAC, але обробку цього потоку було запропоновано.\n" -#: src/mmg/jobs.cpp:49 -#: src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge працює" #: src/mmg/options/mkvmerge.cpp:80 msgid "mkvmerge options" -msgstr "mkvmerge опції" +msgstr "опції mkvmerge" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" -msgstr "mkvmerge висновок:" +msgstr "Вихідна інформація mkvmerge:" #: src/mmg/tabs/global.cpp:275 #: src/mmg/tabs/global.cpp:277 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format." -msgstr "mkvmerge підтримує два формати голови: OGM, як текстовий формат і повнофункціональний форматі XML." +msgstr "mkvmerge підтримує два формати розділів: OGM-подібний текстовий формат і повнофункціональний формат XML." #: src/mmg/tabs/global.cpp:283 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. If the OGM format is used and the file's charset is not recognized correctly then this option can be used to correct that. This option is ignored for XML chapter files." -msgstr "mkvmerge підтримує два формати голови: OGM, як текстовий формат і повнофункціональний форматі XML. Якщо формат OGM використовується і кодування файлу не розпізнається правильно, то цей варіант може бути використаний для усунення цього. Ця опція ігнорується, файлів XML чолі." +msgstr "mkvmerge підтримує два формати розділів: OGM-подібний текстовий формат і повнофункціональний формат XML. Якщо використовується формат OGM і набір символів файлу не розпізнається правильно, тоді дана опція може бути використана для виправлення. Ця опція ігнорується для XML файлів розділів." #: src/mmg/tabs/global.cpp:279 msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." -msgstr "mkvmerge підтримує два формати голови: OGM, як текстовий формат і повнофункціональний форматі XML. Цей параметр визначає мову, який буде пов'язаний з главами якщо формат OGM чолі використовується. Він ігнорував файлів XML чолі." +msgstr "mkvmerge підтримує два формати розділів: OGM-подібний текстовий формат і повнофункціональний формат XML. Цей параметр визначає мову, яка буде асоціюватися з розділами, якщо використовуватиметься формат OGM. Ця опція ігнорується для XML файлів розділів." -#: src/merge/output_control.cpp:247 -#: src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" -msgstr "mkvmerge був перерваний SIGINT (Ctrl+C?)\n" +msgstr "Роботу mkvmerge було перервано через SIGINT (Ctrl+C?)\n" #: src/input/r_qtmp4.cpp:557 msgid "mkvmerge was not compiled with zlib. Compressed headers in QuickTime/MP4 files are therefore not supported.\n" -msgstr "mkvmerge не був скомпільований з zlib. Стислі заголовки в QuickTime/MP4 файлах, не підтримуються.\n" +msgstr "mkvmerge не було скомпільовано з zlib. Стиснуті заголовки в QuickTime/MP4 файлах не підтримуються.\n" #: src/propedit/propedit_cli_parser.cpp:139 msgid "mkvpropedit [options] <file> <actions>" -msgstr "mkvpropedit [опції] <файл> <actions>" +msgstr "mkvpropedit [опції] <файл> <дії>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: UTF32_* не підтримується в даний момент.\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): Невірний UTF-8 символ. Перший байт: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" -msgstr "mmg налагодження виведена" +msgstr "вихідний потік налагодження mmg" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" -msgstr "mmg опції" +msgstr "опції mmg" #: src/mmg/options/languages.cpp:86 msgid "mmg will reset to the default list if no entry is selected." -msgstr "mmg буде скидатися в список за замовчуванням, якщо запис не обрана." +msgstr "mmg буде використовувати типовий список, якщо жодної мови не обрано." + +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "моно" #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." -msgstr "mp3_reader: Не вдалося відкрити вихідний файл." +msgstr "mp3_reader: Не вдалося відкрити вхідний файл." -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader: Не вдалося відкрити файл." @@ -8352,11 +8359,11 @@ #: src/input/r_mpeg_ps.cpp:1190 msgid "mpeg_ps_reader: Should not have happened #1. %1%" -msgstr "mpeg_ps_reader: Не повинен був трапитися #1. %1%" +msgstr "mpeg_ps_reader: Не повинно було трапитися #1. %1%" #: src/input/r_mpeg_ps.cpp:1219 msgid "mpeg_ps_reader: Should not have happened #2. %1%" -msgstr "mpeg_ps_reader: Не повинен був трапитися #2. %1%" +msgstr "mpeg_ps_reader: Не повинно було трапитися #2. %1%" #: src/mmg/header_editor/bool_value_page.cpp:43 #: src/mmg/tabs/input_general.cpp:108 @@ -8364,129 +8371,134 @@ msgid "no" msgstr "Ні" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "без шифрування" #: src/common/strings/parsing.cpp:265 msgid "no error" -msgstr "немає помилки" +msgstr "без помилок" #: src/info/qt_ui.cpp:59 msgid "no file loaded" -msgstr "файл не завантажується" +msgstr "жодного файлу не завантажено" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "немає сигнатури алгоритму" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "немає сигнатури хеш алгоритму" -#: src/mmg/tabs/input_extra.cpp:94 -#: src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 msgid "none" -msgstr "жоден" +msgstr "не використовувати" #: src/mmg/options/mkvmerge.cpp:50 msgid "normal" msgstr "стандартний" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" -msgstr "ogg_stream_init для потоку число %1% не вдалося. Постараюся, щоб продовжувати й ігнорувати цей потік.\n" +msgstr "збій ogg_stream_init для потоку номер %1%. Буде зроблено намагання продовжити і цей потік буде ігноруватися.\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" -msgstr "ogg_sync_buffer не вдалося\n" +msgstr "збій ogg_sync_buffer\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." -msgstr "ogm_reader: Не вдалося відкрити вихідний файл." +msgstr "ogm_reader: Не вдалося відкрити вхідний файл." -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." -msgstr "ogm_reader: Не вдалося прочитати заголовок всі пакети." +msgstr "ogm_reader: Не вдалося прочитати пакети всіх заголовків." -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." -msgstr "ogm_reader: Джерело не є допустимим OGG медіа файлом." +msgstr "ogm_reader: Джерельний файл не є допустимим OGG медіа файлом." -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." -msgstr "on_entry_selected: display == NULL. Не повинен був трапитися." +msgstr "on_entry_selected: display == NULL. Не повинно було трапитися." -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" -msgstr "тільки для I кадрів" +msgstr "тільки для I-кадрів" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "частота дискретизації на виході: %1%" -#: src/mmg/jobs.cpp:519 -#: src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 msgid "pending" msgstr "очікування" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: Не вдалося відкрити файл." + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" -msgstr "піксель обрізати знизу: %1%" +msgstr "обрізка пікселів знизу: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" -msgstr "піксель обрізати ліворуч: %1%" +msgstr "обрізка пікселів ліворуч: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" -msgstr "піксель обрізати справа: %1%" +msgstr "обрізка пікселів справа: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" -msgstr "піксель обрізати зверху: %1%" +msgstr "обрізка пікселів зверху: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "висота пікселя: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "ширина пікселя: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" -msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): тайм-код < последней_тайм-код (%1% < %2%). %3%\n" +msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): тайм-код < останній_тайм-код (%1% < %2%). %3%\n" #: src/merge/pr_generic.cpp:1207 msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): Невірний тип доріжки %1%." -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" -msgstr "raw дані" +msgstr "необроблені (сирі) дані" -#: src/info/wxwidgets_ui.cpp:148 -#: src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "готовий" #: src/input/r_real.cpp:149 msgid "real_reader: Could not read the source file." -msgstr "real_reader: Не вдалося прочитати вихідний файл." +msgstr "real_reader: Не вдалося прочитати вхідний файл." #: src/input/r_real.cpp:246 msgid "real_reader: Couldn't find RealAudio FourCC for id %1% (description length: %2%) Skipping track.\n" -msgstr "real_reader: Не знайшов для RealAudio FourCC id %1% (довжина опису: %2%). Пропуск доріжки.\n" +msgstr "real_reader: Не вдалося знайти RealAudio FourCC для id %1% (довжина опису: %2%). Пропуск доріжки.\n" #: src/input/r_real.cpp:274 msgid "real_reader: Only audio header versions 3, 4 and 5 are supported. Track ID %1% uses version %2% and will be skipped.\n" -msgstr "real_reader: Тільки аудіо заголовок версії 3, 4 і 5 підтримується. Доріжка ID %1% використовує версію %2% і буде пропущено.\n" +msgstr "real_reader: Тільки заголовки аудіо версій 3, 4 і 5 підтримуються. Доріжка з ID %1% використовує версію %2% і буде пропущена.\n" #: src/input/r_real.cpp:147 msgid "real_reader: Source is not a valid RealMedia file." -msgstr "real_reader: Джерело не є допустимим RealMedia файлом." +msgstr "real_reader: Джерельний файл не є допустимим RealMedia файлом." #: src/mmg/tabs/attachments.cpp:157 #: src/mmg/tabs/input.cpp:184 @@ -8497,48 +8509,64 @@ msgid "remove all" msgstr "Видалити всі" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" -msgstr "залишок: невідомий" +msgstr "залишок: невідомо" + +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "черезрядково з горизонтальним роздільником (лівий спочатку)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "черезрядково з горизонтальним роздільником (правий спочатку)" -#: src/info/mkvinfo.cpp:645 +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "частота дискретизації: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "розміщення поряд (лівий спочатку)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "розміщення поряд (правий спочатку)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" -msgstr "spu_extraction_duration: Виявлено сломанной пакет SPU (next_off < start_off) на тайм-код %1%. Цей пакет може відображатися неправильно.\n" +msgstr "spu_extraction_duration: Виявлено пошкоджений пакет SPU (next_off < start_off) для тайм-коду %1%. Цей пакет може взагалі не відображатися або відображатися неправильно.\n" #: src/input/r_srt.cpp:40 msgid "srt_reader: Could not open the source file." -msgstr "srt_reader: Не вдалося відкрити вихідний файл." +msgstr "srt_reader: Не вдалося відкрити вхідний файл." #: src/input/r_srt.cpp:34 msgid "srt_reader: Source is not a valid SRT file." -msgstr "srt_reader: Джерело не є допустимим SRT файлом." +msgstr "srt_reader: Джерельний файл не є допустимим SRT файлом." #: src/input/r_ssa.cpp:40 msgid "ssa_reader: Could not open the source file." -msgstr "ssa_reader: Не вдалося відкрити вихідний файл." +msgstr "ssa_reader: Не вдалося відкрити вхідний файл." -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." -msgstr "ssa_reader: Невірний формат. Не знайшов \"Format\" рядок у \"[Events]\" секції." +msgstr "ssa_reader: Невірний формат. Не знайдено рядок \"Format\" у секції \"[Events]\"." #: src/input/r_ssa.cpp:44 msgid "ssa_reader: Source is not a valid SSA/ASS file." -msgstr "ssa_reader: Джерело не є допустимим SSA/ASS файлом." +msgstr "ssa_reader: Джерельний файл не є допустимим SSA/ASS файлом." -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." -msgstr "start >= m->ListSize(). Це не повинно було статися. Будь ласка, повідомте про помилку. Спасибі." +msgstr "start >= m->ListSize(). Цього не повинно було статися. Будь ласка, повідомте про помилку. Спасибі." -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" -msgstr "підзаголовок" +msgstr "субтитр" -#: src/mmg/mmg.cpp:59 -#: src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "субтитри" @@ -8546,17 +8574,25 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index: '%1%' не знайдено\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "тайм-коди" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "один над іншим (лівий зверху)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "один над іншим (правий зверху)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" -msgstr "назва композиції" +msgstr "назва доріжки" #: src/input/r_truehd.cpp:76 msgid "truehd_reader: Could not open the source file." -msgstr "truehd_reader: Не вдалося відкрити вихідний файл." +msgstr "truehd_reader: Не вдалося відкрити вхідний файл." #: src/input/r_truehd.cpp:63 msgid "truehd_reader: Could not read %1% bytes." @@ -8568,37 +8604,38 @@ #: src/input/r_tta.cpp:60 msgid "tta_reader: tag_size < 0 in the c'tor. %1%\n" -msgstr "tta_reader: tag_size < 0 в конструкторі. %1%\n" +msgstr "tta_reader: tag_size < 0 в c'tor. %1%\n" #: src/mmg/tabs/input_general.cpp:143 msgid "und (Undetermined)" -msgstr "und (Невизначений)" +msgstr "und (Невизначено)" -#: src/input/r_matroska.cpp:87 -#: src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 -#: src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 -#: src/mmg/mmg.cpp:60 +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 #: src/mmg/header_editor/value_page.cpp:150 -#: src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 -#: src/info/mkvinfo.cpp:820 -#: src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 -#: src/info/mkvinfo.cpp:881 -#: src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "невідомий" #: src/mmg/tabs/input.cpp:188 msgid "up" -msgstr "На початок" +msgstr "Вгору" #: src/input/r_usf.cpp:96 msgid "usf_reader: Could not open the source file." -msgstr "usf_reader: Не вдалося відкрити вихідний файл." +msgstr "usf_reader: Не вдалося відкрити вхідний файл." #: src/input/r_usf.cpp:75 msgid "usf_reader: Source is not a valid USF file." @@ -8610,15 +8647,15 @@ #: src/input/r_vc1.cpp:82 msgid "vc1_es_reader: Could not open the source file." -msgstr "vc1_es_reader: Не вдалося відкрити вихідний файл." +msgstr "vc1_es_reader: Не вдалося відкрити вхідний файл." -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" -msgstr "verify failed: chapters->CheckMandatory() ist false. Це не повинно було статися. Будь ласка, повідомте про помилку.\n" +msgstr "збій перевірки: chapters->CheckMandatory() ist false. Цього не повинно було статися. Будь ласка, повідомте про помилку.\n" -#: src/input/r_matroska.cpp:90 -#: src/mmg/mmg.cpp:58 -#: src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 msgid "video" msgstr "Відео" @@ -8632,27 +8669,27 @@ #: src/input/r_vobsub.cpp:70 msgid "vobsub_reader: Cound not open the source file." -msgstr "vobsub_reader: Не вдалося відкрити вихідний файл." +msgstr "vobsub_reader: Не вдалося відкрити вхідний файл." -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" -msgstr "vobsub_reader: sub_file->read невдача" +msgstr "vobsub_reader: збій sub_file->read" #: src/input/r_wav.cpp:449 msgid "wav_reader: Could not open the source file." -msgstr "wav_reader: Не вдалося відкрити вихідний файл." +msgstr "wav_reader: Не вдалося відкрити вхідний файл." #: src/input/r_wav.cpp:481 msgid "wav_reader: No data chunk was found." -msgstr "wav_reader: Ніякої ділянку пам'яті даних не знайдено." +msgstr "wav_reader: Не знайдено жодного фрагмента даних." #: src/input/r_wav.cpp:472 msgid "wav_reader: No format chunk found." -msgstr "wav_reader: Ніякої ділянку пам'яті формату не знайдений." +msgstr "wav_reader: Не знайдено жодного фрагмента формату." #: src/input/r_wav.cpp:453 msgid "wav_reader: Source is not a valid WAVE file." -msgstr "wav_reader: Джерело не є допустимим WAVE файлом." +msgstr "wav_reader: Джерельний файл не є допустимим WAVE файлом." #: src/input/r_wav.cpp:478 msgid "wav_reader: The format chunk could not be read." @@ -8666,26 +8703,26 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader: Не вдалося відкрити файл." -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" -msgstr "wavpack_reader: аудіо блок не знайдено\n" +msgstr "wavpack_reader: жодного блоку аудіо не знайдено\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader: невідома частота дискретизації!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" -msgstr "неправильне використання: збільшення < 0" +msgstr "wrong usage: збільшення < 0" -#: src/common/mm_io.cpp:839 -#: src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" -msgstr "неправильне використання: тільки для читання з NULL пам'яті" +msgstr "wrong usage: тільки для читання з NULL пам'яті" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" -msgstr "неправильне використання: писати тільки для читання пам'яті" +msgstr "wrong usage: запис тільки до \"пам'яті для читання\"" #: src/mmg/header_editor/bool_value_page.cpp:44 #: src/mmg/tabs/input_general.cpp:107 @@ -8693,34 +8730,195 @@ msgid "yes" msgstr "Так" +#~ msgid " (both eyes)" +#~ msgstr " (обидва ока)" + +#~ msgid " (left eye)" +#~ msgstr " (ліве око)" + +#~ msgid " (right eye)" +#~ msgstr " (праве око)" + #~ msgid "%1% at %2%" #~ msgstr "%1% в %2%" +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "Цей GUI був написаний Moritz Bunkus <moritz@bunkus.org>\n" +#~ "На основі mmg від Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI розповсюджується під ліцензією GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Допомога надається у вигляді підказок, в меню\n" +#~ "'Довідка' або після натиснення 'F1'." + #~ msgid "(Unknown element: %1%)" #~ msgstr "(Невідомий елемент: %1%)" +#~ msgid "About mkvmerge's GUI" +#~ msgstr "Про mkvmerge GUI" + +#~ msgid "Both eyes" +#~ msgstr "Обидва ока" + +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (Digital Theater System)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac елементарний потік" + #~ msgid "Do not write those header elements whose values are the same as their default values according to the Matroska specs." #~ msgstr "Не пишіть заголовок тих елементів, значення яких збігаються з їхніми значеннями за замовчуванням відповідно до Matroska критеріям." +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC аудіо без втрат" + #~ msgid "File/segment title" #~ msgstr "Файл/сегмент назву" +#~ msgid "IVF with VP8" +#~ msgstr "IVF з VP8" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "Відомі типи файлу:\n" +#~ " опис розширення\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "Ліве око" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG програмний потік" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer II audio (CBR и VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 layer III audio (CBR и VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 video елементарний потік" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 video елементарний потік" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Аудіо/відео файли Matroska (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Файли Matroska (*.mkv;*.mka)|*.mkv;*.mka|%s" + #~ msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|All files|*.*" #~ msgstr "Matroska файли (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|Все файлы|*.*" +#~ msgid "None" +#~ msgstr "жоден" + #~ msgid "Other global options" #~ msgstr "Інші глобальні опції" +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 Audio і Video" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia Audio i Video" + +#~ msgid "Right eye" +#~ msgstr "Праве око" + +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "Встановлює стиск, що використовується для субтитрів VobSub. Якщо нічого не вибрали, то VobSubs будуть автоматично стискати з zlib. Результати це файли, які багато більше." + +#~ msgid "TTA lossless audio" +#~ msgstr "TTA аудіо без втрат" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "MPEG-4 частина 2 стиск працює тільки з рідним MPEG-4. Тим не менше, рідний MPEG-4 режим не був обраний з '--engage native_mpeg4'.\n" + #~ msgid "This track uses a Matroska feature called 'Codec state elements'. mkvmerge supports these but this feature has not been turned on with the option '--engage use_codec_state'.\n" #~ msgstr "Эта дорожка использует особенность Matroska, названную 'запоминающие элементы Codec'. mkvmerge поддерживает их, но эта особенность не была включена с опцией '--engage use_codec_state'.\n" +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "Використання: mkvinfo [опції] inname\n" +#~ "\n" +#~ " Опції:\n" +#~ " -g, --gui Запуcк графічного інтерфейса користувача (і відкриття inname, якщо було задано).\n" +#~ " inname Використовуйте 'inname' як джерело.\n" +#~ " -v, --verbose Розширене виведення інформації. Див. сторінку довідки для більш розгорнутого\n" +#~ " опису того, що виводить mkvinfo.\n" +#~ " -c, --checksum Обчислення і відображення контрольних сум наповнень кадру.\n" +#~ " -s, --summary Відображення тільки короткого звіту про наповнення, не для кожного елемента.\n" +#~ " -x, --hexdump Відображення перших 16 байтів кожного кадру як шістнадцяткового дампа.\n" +#~ " -X, --full-hexdump\n" +#~ " Відображення всіх байтів кожного кадра як шістнадцяткового дампа.\n" +#~ " -z, --size Відображення розміру кожного елемента, в тому числі його заголовку.\n" +#~ " --output-charset <charset>\n" +#~ " Відображення повідомлень виводу в цьому кодуванні\n" +#~ " -r,-o, --redirect-output file.ext\n" +#~ " Переадресація всіх повідомлень до цього файлу.\n" +#~ " -h, --help Відображення цієї довідки.\n" +#~ " -V, --version Відображення інформації про версію.\n" + #, fuzzy #~ msgid "Using the IVF output module.\n" #~ msgstr "Використання FLAC вихідного модуля.\n" +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 відео елементарний потік" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn кнопки" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (незжатий PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK аудіо без втрат" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "Створити вихідні файли FLAC (за замовчуванням: написати OggFLAC файли)." +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "аудіо/відео/текст субтитрів впроваджених у OGG" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: Натраплено на некорректну UTF-8 послідовність. Будь ласка, напишіть moritz@bunkus.org і зоставте побажання про покращення реалізації UTF-8 аналізатора." + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: Не вдалося встановити помилки зворотного виклику.\n" @@ -8757,5 +8955,11 @@ #~ msgid "flac_reader: Could not set the write callback.\n" #~ msgstr "flac_reader: Не вдалося встановити написати зворотного виклику.\n" +#~ msgid "general Matroska files" +#~ msgstr "Загальні файли Matroska" + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: Невідомий режим!?\n" + #~ msgid "r_matroska: Cluster does not contain a cluster timecode. File is broken. Aborting.\n" #~ msgstr "r_matroska: Кластер не містять кластеру тайм-коду. Файл не працює. Переривання.\n" diff -Nru mkvtoolnix-4.0.0/po/zh_CN.po mkvtoolnix-4.5.0+dfsg/po/zh_CN.po --- mkvtoolnix-4.0.0/po/zh_CN.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/zh_CN.po 2011-01-31 20:34:09.000000000 +0000 @@ -8,15 +8,16 @@ "Project-Id-Version: zh\n" "Report-Msgid-Bugs-To: Dean Lee <xslidian@gmail.com>\n" "POT-Creation-Date: 2009-02-18 23:52+0100\n" -"PO-Revision-Date: 2010-06-03 22:31+0800\n" -"Last-Translator: Dean Lee <xslidian@lidian.info>\n" +"PO-Revision-Date: 2011-01-21 21:34+0800\n" +"Last-Translator: Dean Lee <xslidian@gmail.com>\n" "Language-Team: Chinese Simplified <xslidian@gmail.com>\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" @@ -24,7 +25,7 @@ "\n" "第 %1% 轨的临时 TTA 文件正被复制到最终 TTA 文件中。这可能需要些时间。\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" @@ -32,7 +33,7 @@ "\n" "mkvmerge 收到了一个 SIGINT(用户可能按了 Ctrl+C)。正在尝试恢复文件。如果 mkvmerge 在此过程中失去响应,您需要手动结束它。\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" @@ -40,7 +41,7 @@ " --aac-is-sbr <TID[:0|1]> 此 ID 指定的轨道是否为 HE-AAC/AAC+/SBR-AAC。\n" " 值 ':1' 可以省略。\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" @@ -49,7 +50,7 @@ " --append-mode <file|track>\n" " 选择 mkvmerge 追加合并文件时如何计算时间码。\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -62,7 +63,7 @@ " 决定一个文件的哪个轨道将被追加到\n" " 前一文件的某一轨道。\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" @@ -71,7 +72,7 @@ " --aspect-ratio <TID:f|a/b>\n" " 通过计算宽高比设置显示尺寸。\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -83,13 +84,13 @@ " 先将视频的原宽高比与本系数相乘,\n" " 然后以此系数为基础计算显示尺寸。\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" msgstr " --attach-file <file> 在此 Matroska 文件中创建一个文件附件。\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" @@ -99,7 +100,7 @@ " 在即将写入的首个 Matroska 文件中\n" " 创建一个文件附件。\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" @@ -107,7 +108,7 @@ " --attachment-description <desc>\n" " 对下一附件的描述。\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" @@ -115,31 +116,31 @@ " --attachment-mime-type <mime type>\n" " 下一附件的 Mime 类型。\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" msgstr " --attachment-name <name> 下一附件存储时的文件名。\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" msgstr " --blockadd <TID:x> 设置此轨道附加块的最大层级。\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" msgstr " --chapter-charset <cset> 简单章节文件的字符集。\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" msgstr " --chapter-language <lng> 设置章节条目中的 '语言' 元素。\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" msgstr " --chapters <file> 从此文件读取章节信息。\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -150,11 +151,11 @@ " 若数字后缀有 'ms' 则每簇最多放置 \n" " n 毫秒的数据。\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr " --clusters-in-meta-seek 为簇写入元定位数据。\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" @@ -162,7 +163,7 @@ " --command-line-charset <charset>\n" " 命令行中字符串的字符集\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" @@ -171,7 +172,7 @@ " --compression <TID:method>\n" " 设置指定轨道使用的压缩方式('none' 或 'zlib')。\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" @@ -179,7 +180,7 @@ " --cropping <TID:left,top,right,bottom>\n" " 设置裁减参数。\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" @@ -188,7 +189,7 @@ " --cue-chapter-name-format <format>\n" " 由 CUE 表单元素向章节名称的转换模式。\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" @@ -198,7 +199,7 @@ " 为指定轨道创建 cue(索引):\n" " 不索引,仅索引 I 帧,索引全部帧。\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" @@ -208,7 +209,7 @@ " 强制某轨的默认时长为 X。\n" " X 可以是浮点数或分数。\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" @@ -216,7 +217,7 @@ " --default-language <lng> 将此语言设为所有轨道的默认语言,\n" " 除非被 --language 选项覆盖。\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" @@ -226,11 +227,11 @@ " 为此轨设置“默认轨”标记,\n" " 如果该布尔值为 0 则强制不呈现。\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing 禁用所有轨道的紧缩。\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" @@ -238,11 +239,11 @@ " --display-dimensions <TID:width>x<height>\n" " 设置准确的显示尺寸。\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr " --enable-durations 为所有块启用块时长写入。\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" @@ -252,11 +253,11 @@ " 为此轨设置“强制轨”标记,\n" " 如果此布尔值为 0 则强制不呈现。\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" msgstr " --global-tags <file> 从指定的 XML 文件读取全局标签。\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" @@ -264,25 +265,25 @@ " --language <TID:lang> 设置指定轨道的语言(ISO639-2 代码,\n" " 参看 --list-languages)。\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" msgstr " --link 连接已切割的文件。\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" msgstr " --link-to-next <SID> 连接最后一个文件到指定 SID。\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" msgstr " --link-to-previous <SID> 连接第一个文件到指定 SID。\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" msgstr " --list-languages 列出所有 ISO639 语言及其 ISO639-2 代码。\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" @@ -292,27 +293,27 @@ " 强制 NALU 长为 n 字节(2 <= n <= 4),\n" " 4 为缺省值。\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters 不要保留源文件中的章节。\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" msgstr " --no-cues 不要写入 cue 数据 (索引)。\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" msgstr " --no-global-tags 不要保留源文件中的全局标签。\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" msgstr " --output-charset <cset> 用指定的字符集输出消息\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" msgstr " --priority <priority> 设置 mkvmerge 运行时的优先级。\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -320,11 +321,11 @@ " --segment-uid <SID1,[SID2...]>\n" " 将剪辑 UID 设为 SID1, SID2 等。\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" msgstr " --segmentinfo <file> 从此文件读取剪辑信息。\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" @@ -334,7 +335,7 @@ " 在 d 字节(或 KB, MB, GB)后或特定时间后\n" " 创建新文件。\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" @@ -343,24 +344,23 @@ " --split timecodes:A[,B...]\n" " 在 A, B 等每个时间码后创建一个新文件。\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" msgstr " --split-max-files <n> 最多创建 n 个文件。\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode <TID:n|none|left|right|both>\n" -" 设置立体视觉模式参数。\n" -" 既可以是 0 - 3 中的一个数,\n" -" 也可以是 'none', 'right', 'left' 或 \n" -" 'both' 中的一个关键词。\n" +" --stereo-mode <TID:n|关键词>\n" +" 设置立体模式参数。\n" +" 可以为数字 0 - 11 或关键词\n" +" (完整列表请参见文档)。\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" @@ -370,23 +370,23 @@ " 设置文本字幕保存时所用的字符集,\n" " 以便转换为 UTF-8。\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" msgstr " --timecode-scale <n> 强制时间码缩放系数为 n。\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" msgstr " --timecodes <TID:file> 从指定文件中读取需要的时间码。\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" msgstr " --title <title> 此输出文件的标题。\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" msgstr " --track-name <TID:name> 指定轨的名称。\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -397,7 +397,7 @@ " 一组以逗号分隔的文件 ID 及轨道 ID 列表,\n" " 控制输出文件中的轨道顺序。\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" @@ -405,39 +405,39 @@ " --track-tags <n,m,...> 复制 n,m 等轨的标签。\n" " 默认:复制所有轨道标签。\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" msgstr " --ui-language <code> 强制使用 'code' 代表的翻译版本。\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio 不要从此文件中复制任何音频轨。\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons 不要从此文件中复制任何按钮轨。\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video 不要从此文件中复制任何视频轨。\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" msgstr " -M, --no-attachments 不要从指定源文件中复制附件。\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" msgstr " -S, --no-subtitles 不要从此文件中复制任何字幕轨。\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr " -T, --no-track-tags 不要从源文件中复制轨道标签。\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version 显示版本信息。\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -447,7 +447,7 @@ " 复制 n, m 等音频轨。\n" " 默认:复制所有音频轨。\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -457,7 +457,7 @@ " 复制 n, m 等按钮轨。\n" " 默认:复制所有按钮轨。\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -467,7 +467,7 @@ " 复制 n, m 等视频轨。\n" " 默认:复制所有视频轨。\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -475,19 +475,19 @@ " -f, --fourcc <FOURCC> 强制为指定的 FourCC 值。\n" " 仅对视频轨有效。\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help 显示本帮助。\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <file> 输出源文件的信息。\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -l, --list-types 列出受支持的输入文件类型。\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -499,15 +499,15 @@ " 到全部或者仅首个输出文件。\n" " 默认:复制所有附件到所有输出文件。\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out 输出到文件 'out'。\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" msgstr " -q, --quiet 禁用状态输出\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -515,7 +515,7 @@ " -r, --redirect-output <file>\n" " 将所有消息重定向(转储)至此文件。\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -525,19 +525,19 @@ " 复制 n, m 等字幕轨。\n" " 默认:复制所有字幕轨。\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:file> 从 XML 文件读取用于指定轨道的标签。\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose “详细”状态\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm 创建 WebM 兼容文件。\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -553,7 +553,7 @@ " 'p' 若省略则默认为 1。\n" " 'o' 和 'p' 均可为浮点数。\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -589,100 +589,88 @@ msgid " X: binary in hex\n" msgstr " X: 以十六进制显示的二进制值\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 -#: src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (双视角)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (厘米)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (固定)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (格式标识: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (自由调整)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264 profile: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (英寸)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" msgstr " (保持宽高比)" -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (左视角)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (单视角)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (像素)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (右视角)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" msgstr " 异常中止。\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " 附件支持 (其他全局选项):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" msgstr " 章节处理:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" msgstr " 文件切割与合并 (其他全局选项):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" msgstr " 常规输出控制 (高级全局选项):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " 全局选项:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " 每个输入文件各自的选项:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" msgstr " 仅适用于 VobSub 字幕轨的选项:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" msgstr " 仅适用于文本字幕轨的选项:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " 仅适用于视频轨的选项:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " 其他选项:\n" @@ -690,67 +678,75 @@ msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr " 记住像 &, <, > 和 \" 这样的专有符号必须以常用的 HTML 方式转义:& 代表 '&',< 代表 '<',> 代表 '>' , " 代表 '\"'。" -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" msgstr " 剪辑信息处理:\n" #: src/extract/mkvextract.cpp:63 -#: src/info/mkvinfo.cpp:174 +#: src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " 在 %1%" -#: src/merge/output_control.cpp:257 -#: src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 -#: src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 msgid " done\n" msgstr " 完成\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " 尺寸 %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr " 尺寸未知" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### 开发中 hack ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" msgstr "### 全局输出控制 ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% 编译于 %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% 帧, 轨道 %2%, 时间码 %3% (%4%), 时长 %|5$.3f|, 尺寸 %6%, adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% 帧, 轨道 %2%, 时间码 %3% (%4%), 尺寸 %5%, adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% 帧, 轨道 %2%, 时间码 %3% (%4%), 尺寸 %5%, adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Matroska 文件结构错误,位于 %2%。重新同步至下一 1 层级元素。\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" msgstr "%1%: 除数为 0,在 '%2% %3%'。\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: 无效的轨道 ID 在 '%2% %3%'。\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" msgstr "%1%: 在 '%2% %3%' 中缺被除数。\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" msgstr "%1%: 在 '%2% %3%' 中缺除数。\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" msgstr "%1%: 缺轨道 ID,在 '%2% %3%'。\n" @@ -772,46 +768,24 @@ "源码及最新程序总会在下面的地址提供:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 -#: src/mmg/jobs.cpp:299 -#: src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d 分 %d 秒" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"本 GUI 由 Moritz Bunkus <moritz@bunkus.org> 编写\n" -"基于 Florian Wagner <flo.wagner@gmx.de> 的 mmg\n" -"mkvmerge GUI 依 GPL 授权。\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"帮助可通过工具提示、“帮助”菜单或按“F1”键获取。" - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s (MIME 类型 %s, 尺寸 %ld) 自 %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, 类型: %s) 自 %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -830,35 +804,43 @@ "源码及最新程序总会在下面的地址提供:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "中断(&A)" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "关于(&A)" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "关于(&A)\tF1" -#: src/mmg/mmg_dialog.cpp:263 -#: src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "添加到任务队列(&A)" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "附件选项(&A)\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "章节编辑器(&C)" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "章节编辑器(&C)\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "检查更新(&C)" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "关闭(&C)" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "关闭(&C)\tCtrl-W" @@ -867,19 +849,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "收起所有项(&C)\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "复制命令行到剪贴板(&C)" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "复制命令行(&C)" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "禁用(&D)" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "下移(&D)" @@ -887,84 +869,84 @@ msgid "&Expand all entries\tCtrl-E" msgstr "展开所有项(&E)\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "展开重要元素(&E)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 +#: src/mmg/mmg_dialog.cpp:299 #: src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "文件(&F)" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" msgstr "全局选项(&G)\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "头部编辑器(&H)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 +#: src/mmg/mmg_dialog.cpp:303 #: src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "帮助(&H)" -#: src/mmg/mmg_dialog.cpp:276 +#: src/mmg/mmg_dialog.cpp:293 #: src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "帮助(&H)\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "输入选项(&I)\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "载入(&L)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" msgstr "载入配置文件(&L)\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "管理任务(&M)\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "混流(&M)" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "新建(&N)\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" msgstr "新建章节(&N)" -#: src/mmg/jobs.cpp:100 -#: src/mmg/jobs.cpp:385 -#: src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "确定(&O)" #: src/mmg/header_editor/frame.cpp:142 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "打开(&O)\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "选项(&O)" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 #: src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "退出(&Q)\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" msgstr "重新启用(&R)" @@ -976,8 +958,8 @@ msgid "&Reset" msgstr "重置(&R)" -#: src/mmg/jobs.cpp:390 -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "保存(&S)" @@ -985,19 +967,19 @@ msgid "&Save\tCtrl-S" msgstr "保存(&S)\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "将信息另存为文本(&S)\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "保存配置文件(&S)\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "启动(&S)" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "上移(&U)" @@ -1005,47 +987,47 @@ msgid "&Validate\tCtrl-T" msgstr "检验(&V)\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "验证(&V)" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "查看日志(&V)" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "窗口(&W)" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" msgstr "'%1%' 只能与文件名一同使用。只要使用本选项,就不允许使用其他选项。\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" msgstr "'%1%' 不包含有效单位 ('s', 'ms', 'us' 或 'ns') 在 '%2% %3%' 中。\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "'%1%' 是 --compression 不支持的参数。可选的压缩方式为 'none' 和 'zlib'。\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "'%1%' 是 --compression 不支持的参数。可用的压缩方式有: %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" msgstr "'%1%' 是 --cues 不支持的参数。\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" msgstr "'%1%' 缺文件名。\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'--chapter-language %1%' 中的 '%1%' 既不是有效的 ISO639-2 代码,也不是有效的 ISO639-1 代码。参见 'mkvmerge --list-languages' 提供的语言列表及各语言的 ISO639-2 代码。\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'--default-language %1%' 中的 '%1%' 既不是有效的 ISO639-2 代码,也不是有效的 ISO639-1 代码。参见 'mkvmerge --list-languages' 提供的语言列表及各语言的 ISO639-2 代码。\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "'%1%' 既不是有效的 ISO639-2 代码,也不是有效的 ISO639-1 代码。参见 'mkvmerge --list-languages' 提供的语言列表及各语言的 ISO639-2 代码。\n" @@ -1058,7 +1040,7 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "'%1%' 行的格式不是 CHAPTERxxNAME=... 。" -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "'%1%' 不是有效的 %2% 在 '%3% %4%' 中。\n" @@ -1066,11 +1048,11 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "'%1%' 不是有效的 ISO639-2 语言代码。" -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" msgstr "'%1%' 不是有效的追加模式,在 '--append-mode %1%' 中。\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" msgstr "'%1%' 不是有效的附加块最大值,在 '--blockadd %2%'。\n" @@ -1078,8 +1060,8 @@ msgid "'%1%' is not a valid ccTLD country code." msgstr "'%1%' 不是有效的 ccTLD 国家代码。" -#: src/merge/mkvmerge.cpp:1152 -#: src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" msgstr "'%1%' 不是有效的文件 ID,在 '--track-order %2%'。\n" @@ -1087,39 +1069,39 @@ msgid "'%1%' is not a valid hack.\n" msgstr "'%1%' 不是有效的小补缀。\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" msgstr "'%1%' 不是有效的 文件 - 轨道 ID 映射,在 '--append-to %2%'。\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" msgstr "'%1%' 不是有效的 文件 ID - 轨道 ID 对,在 '--track-order %2%'。\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" msgstr "'%1%' 不是有效的 轨道 ID - 附加块 对,在 '--blockadd %1%'。\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" msgstr "'%1%' 不是有效的优先级类。\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" msgstr "'%1%' 不是有效的轨道 ID,在 '--blockadd %2%'。\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" msgstr "'%1%' 不是有效的轨道 ID,在 '--default-duration %2%'。\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" msgstr "'%1%' 不是有效的轨道 ID,在 '--nalu-size-length %2%'。\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" msgstr "'%1%' 不是有效的 轨道 ID - NALU 长 组,在 '--nalu-size-length %1%'。\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" msgstr "'%1%' 不是有效的 轨道 ID - 默认时长 组,在 '--default-duration %1%'。\n" @@ -1131,286 +1113,286 @@ msgid "'%1%' is only allowed when extracting tracks.\n" msgstr "'%1%' 仅允许在提取轨道时使用。\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "'%1%' 缺文件名。\n" -#: src/merge/mkvmerge.cpp:1842 -#: src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" msgstr "'%1%' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" msgstr "'%1%' 缺 FourCC 值。\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" msgstr "'%1%' 缺延迟时长。\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "'%1%' 缺附件文件名。\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "'%1%' 缺轨道 ID。\n" -#: src/merge/mkvmerge.cpp:1880 -#: src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 -#: src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" msgstr "'%1%' 缺轨道号。\n" -#: src/common/output.cpp:127 -#: src/common/output.cpp:140 -#: src/common/output.cpp:153 -#: src/common/output.cpp:174 +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "'%1%' 轨道 %2%: %3%" -#: src/common/output.cpp:120 -#: src/common/output.cpp:133 -#: src/common/output.cpp:146 -#: src/common/output.cpp:163 +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "'%1%': %2%" #: src/common/mm_multi_file_io.cpp:165 -#: src/mmg/tabs/input.cpp:741 +#: src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" msgstr "'%1%': 将同时处理以下文件: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" msgstr "'--append-mode' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" msgstr "'--append-to' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" msgstr "'--aspect-ratio' 缺宽高比。\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" msgstr "'--aspect-ratio-factor' 缺宽高比系数。\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" msgstr "'--attachment-description' 缺描述。\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" msgstr "'--attachment-mime-type' 缺 MIME 类型。\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" msgstr "'--attachment-name' 缺名称。\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" msgstr "'--blockadd' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" msgstr "'--chapter-charset' 缺字符集。\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" msgstr "'--chapter-charset' 在 '--chapter-charset %1%' 中只能给出一次。\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" msgstr "'--chapter-charset' 必须在 '--chapter-charset %1%' 中 '--chapters' 之前给出。\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" msgstr "'--chapter-language' 缺语言。\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" msgstr "'--chapter-language' 在 '--chapter-language %1%' 中只能给出一次。\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" msgstr "'--chapter-language' 必须在 '--chapter-language %1%' 中 '--chapters'之前给出。\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" msgstr "'--chapters' 缺文件名。\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" msgstr "'--cluster-length' 缺簇长。\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" msgstr "'--command-line-charset' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" msgstr "'--compression' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" msgstr "'--cropping' 缺裁减参数。\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" msgstr "'--cue-chapter-name-format' 缺格式。\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" msgstr "'--cue-chapter-name-format' 必须在 '--chapters' 之前给出。\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" msgstr "'--cues' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" msgstr "'--default-duration' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" msgstr "'--default-language' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" msgstr "'--default-track' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" msgstr "'--display-dimensions' 缺尺寸。\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" msgstr "'--engage' lacks 缺参数。\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" msgstr "'--forced-track' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" msgstr "'--global-tags' 缺文件名。\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" msgstr "'--language' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" msgstr "'--link' 只能与 '--split' 结合使用。\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" msgstr "'--link-to-next' 缺后续 UID。\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" msgstr "'--link-to-previous' 缺先前 UID。\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" msgstr "'--nalu-size-length' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" msgstr "'--priority' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" msgstr "'--segment-uid' 缺剪辑 UID。\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "'--segmentinfo' 缺文件名。\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" msgstr "'--split' 缺尺寸。\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" msgstr "'--split-max-files' 缺文件数。\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" msgstr "'--stereo-mode' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" msgstr "'--sub-charset' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" msgstr "'--timecode-scale' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" msgstr "'--timecode-scale' 调用多于一次。\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" msgstr "'--timecodes' 缺参数。\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" msgstr "'--title' 缺标题。\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" msgstr "'--track-name' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" msgstr "'--track-order' 缺参数。\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" msgstr "'--track-order' 只能给出一次。\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "'-A' 和 '-a' 使用在了相同的源文件上。\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" msgstr "'-B' 和 '-b' 使用在了相同的源文件上。\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" msgstr "'-D' 和 '-d' 使用在了相同的源文件上。\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" msgstr "'-S' 和 '-s' 使用在了相同的源文件上。\n" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:394 +#: src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" msgstr "'默认轨' 标记" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:401 +#: src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" msgstr "'强制轨' 标记" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" msgstr "'可用轨' 标记" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(未知元素: %1%; ID: 0x%2% 尺寸: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(新章节文件)" @@ -1418,15 +1400,15 @@ msgid "(none)" msgstr "(无)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" msgstr "(未命名章节)" -#: src/mmg/tabs/chapters.cpp:880 -#: src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 -#: src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(未命名)" @@ -1442,39 +1424,39 @@ msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> 预解析 FLAC 文件: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", 描述 '%1%'" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", 文件名 '%1%'" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", 完成于 %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", 位置 %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" msgstr ", 开始于 %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" msgstr "--- 任务 %d 起始 (%s, 添加于 %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" msgstr "--- 任务 %d 终止" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" msgstr "--- 无任务输出信息。\n" @@ -1487,7 +1469,11 @@ msgid "---common---" msgstr "---常用---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length REPLACEME" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" msgstr "--timecode-scale REPLACEME" @@ -1503,19 +1489,19 @@ msgid "...after timecodes:" msgstr "...按特定时间码:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: 各类帧" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 字节" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" msgstr "2: 编解码器专用数据" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 字节" @@ -1541,47 +1527,47 @@ msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." msgstr "<ChapterTrack> 缺 <ChapterTrackNumber> 子元素。" -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" msgstr "在 %1% 找到了一个块组,但里面没有块元。这可能会导致 mkvmerge 崩溃。\n" -#: src/input/r_matroska.cpp:1961 -#: src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" msgstr "在时间戳 %1% 处找到了轨道号为 %2% 的块。然而,没有找到符合该轨道号的头部信息。此块将被跳过。\n" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." msgstr "一个人类可读的字串,描述编解码器。" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." msgstr "一个人类可读的字串,描述轨道名称。" -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" msgstr "描述为 '%s' 的任务已存在。是否添加描述相同的任务?" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:340 +#: src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." msgstr "随机生成的在众多剪辑中识别当前剪辑的唯一 ID (128 位)。" -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "一条轨道" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" msgstr "ID 为 %1% 的轨道被要求但在文件中没有找到。相应的选项将被忽略。\n" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:391 +#: src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" @@ -1592,34 +1578,32 @@ "该 ID 会得以保留。" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:348 +#: src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." msgstr "识别链接的下一剪辑的唯一 ID (128 位)。" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:344 +#: src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." msgstr "识别链接的上一剪辑的唯一 ID (128 位)。" -#: src/mmg/tabs/input.cpp:232 -#: src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (亦称 AC3)" -#: src/mmg/tabs/input.cpp:233 -#: src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (高级音频编码)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "AAC 文件可能包含 HE-AAC / AAC+ / SBR AAC 音频。这 *不会* 被自动检测出来。因此,如果一输入文件确实包含 SBR AAC,您需要手动为该文件指定 '--aac-is-sbr 0'。否则,文件会被以 *错误* 的方式混流。参阅 mkvmerge 自述文档。\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC 是 SBR/HE-AAC/AAC+" @@ -1631,46 +1615,40 @@ "ASCII 字符串 (不能使用像德语\n" "变元音符号¨这样的特殊字符)" -#: src/mmg/tabs/input.cpp:234 -#: src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/h.264 基本流" -#: src/mmg/tabs/input.cpp:235 -#: src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (音视频交错文件)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "中断" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "当前任务完成后中断" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "当前任务完成后中断处理" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "立刻中断混流进程" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" msgstr "已中断对 %s 的处理" #: src/info/qt_ui.cpp:125 -#: src/info/wxwidgets_ui.cpp:354 +#: src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "关于 mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "关于 mkvmerge's GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "动作" @@ -1679,11 +1657,11 @@ msgid "Add" msgstr "添加" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "添加命令行选项(&C)" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "添加章节" @@ -1695,23 +1673,23 @@ msgid "Add element" msgstr "添加元素" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "添加名称" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "添加子章节" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "添加时间" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "附加块 ID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "附加" @@ -1719,23 +1697,23 @@ msgid "Adds a property with the value even if such a property already exists" msgstr "以此值新增属性,即使已存在这样的属性" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" msgstr "将当前配置作为新任务项添加到任务队列" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "调整章节时间码" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "调整时间码" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" msgstr "载入文件后展开最重要的元素" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "算法: %1% (%2%)" @@ -1747,11 +1725,11 @@ msgid "All Files (*.*)|*.*" msgstr "所有文件 (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "所有章节条目都有效。" -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "所有头部值都正常。" @@ -1759,20 +1737,20 @@ msgid "All known property names and their meaning\n" msgstr "已知的所有属性名及其含义\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "所有受支持的文件|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska 文件 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM 文件 (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|所有文件|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "所有受支持的文件|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska 文件 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM 文件 (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|所有文件|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "所有支持的媒体文件|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" msgstr "允许以 Video-for-Windows 兼容模式存储的 AVC/h.264 视频,例如从 AVI 文件中读取的" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." msgstr "允许 CodecState 元素的使用。它被用于 MPEG-1/-2 视频轨等的序列头存储。" @@ -1780,39 +1758,39 @@ msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." msgstr "同时尝试将此轨道的章节信息和标签提取为 CUE 表单。" -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "总在最前" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "对应编解码器的 ID。" -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "找不到 ID 为 %1% 的附件。\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" msgstr "空文件名是无效的。\n" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." msgstr "转义的文件名,对应下一剪辑。" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." msgstr "转义的文件名,对应上一剪辑。" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." msgstr "发生未知错误。文件已修改。" @@ -1821,44 +1799,44 @@ msgid "Analysis is running" msgstr "分析进行中" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." msgstr "分析 MPEG4 位流,将每一帧置于单独的 Matroska 块中,使用固有的时间戳 (I P B B = 0 120 40 80),使用形如 V_MPEG4/ISO/... 的 CodecID。" -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" msgstr "轨道 %1% 的另一个默认轨已设置。'%3%' 的 %2% 轨道的 '默认轨' 标记将不被设置。\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." msgstr "另一个混流任务仍在处理中。要启动一项新任务,请等待先前任务完成或手动中断它。" -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." msgstr "不允许将一个文件的轨道追加合并到同一个文件的其他轨道。出现问题的轨道号为 %u 与 %u。" -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" msgstr "正在追加合并轨道 %1%(自文件 %2% ('%3%'))到轨道 %4%(自文件 %5% ('%6%'))。\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "覆写前询问(文件、任务等)" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" msgstr "宽高比" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" msgstr "宽高比系数" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" -msgstr "宽高比率类型: %1%%2%" +msgstr "宽高比类型: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" msgstr "宽高比:" @@ -1874,7 +1852,7 @@ msgid "Atatchment extraction" msgstr "附件提取" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "附加的" @@ -1882,7 +1860,7 @@ msgid "Attached files" msgstr "附加文件列表" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "附件 ID %1%: 类型 '%2%', 尺寸 %3% 字节" @@ -1890,29 +1868,29 @@ msgid "Attachment style:" msgstr "附加方式:" -#: src/mmg/mmg_dialog.cpp:286 +#: src/mmg/mmg_dialog.cpp:306 #: src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "附件" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "音频位深" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "音频声道数" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "音频输出采样率" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "音频采样率" @@ -1921,15 +1899,15 @@ msgid "Audio track %u" msgstr "音频轨 %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "自动设定输出文件名" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "对 '%1%' 的 MIME 类型的自动识别结果: %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" msgstr "根据输出文件扩展名自动启用 WebM 兼容模式。\n" @@ -1937,12 +1915,16 @@ msgid "Available options:" msgstr "可用选项:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "可用翻译:\n" -#: src/common/compression.cpp:204 -#: src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "可用版本:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit() 失败。结果: %1%\n" @@ -1950,42 +1932,42 @@ msgid "Binary (displayed as hex numbers)" msgstr "二进制值 (显示为十六进制数字)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "位深: %1%" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "比特每采样,主要用于 PCM。" -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "块 (轨道号 %1%, %2% 帧, 时间码 %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "附加块 ID: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "附加块: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "块时长: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 -#: src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "块组" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "块实质: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" msgstr "无效 aid %1%\n" @@ -1993,10 +1975,6 @@ msgid "Boolean (yes/no, on/off etc)" msgstr "布尔值 (是/非, 开/关 等)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "双眼视角" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" msgstr "同时给定了宽高比率与 '--display-dimensions'。\n" @@ -2005,18 +1983,18 @@ msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" msgstr "同时给定了宽高比系数与 '--display-dimensions'。\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "调出任务队列编辑器" -#: src/mmg/mmg_dialog.cpp:291 +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 #: src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 #: src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 #: src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 -#: src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "浏览" @@ -2024,26 +2002,34 @@ msgid "CUE sheet extraction" msgstr "CUE 表单提取" +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "计算并显示校验码,且使用“详细”级别 4。" + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "计算并显示帧内容的校验码。" + #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" msgstr "在源容器不提供时间码或帧率值的情况下,无法将非原生 MPEG4 视频帧转换为原生帧。\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" msgstr "无法将不同类型的轨道提取到一个文件。轨道 %1% 和 %2% 被要求这样提取。\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "不能启动其他混流任务" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" msgstr "无法写入轨道 %1%(CodecID '%2%')至文件 '%3%',因为轨道 %4%(CodecID '%5%')已被写入同一文件,且它们的 CodecPrivate 编解码器私有数据 (如 USF 样式) 不相匹配。\n" #: src/extract/xtr_avi.cpp:46 -#: src/extract/xtr_base.cpp:64 #: src/extract/xtr_ivf.cpp:53 -#: src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "无法写入轨道 %1%(CodecID '%2%')至文件 '%3%',因为轨道 %4%(CodecID '%5%')已被写入同一文件。\n" @@ -2051,13 +2037,13 @@ msgid "Category is not NUL terminated" msgstr "类别未以 NUL 收尾" -#: src/extract/timecodes_v2.cpp:357 -#: src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "发生异常" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "让 mkvmerge 向不包含时长字段的 VobSub 字幕包添加 '停止显示' 命令。" @@ -2077,7 +2063,7 @@ msgid "Change for '%1%' executed. One entry added.\n" msgstr "对 '%1%' 的更改已执行。新增了一项。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "修改 mmg 的首选项" @@ -2085,35 +2071,35 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "对此列表的改动将在 mmg 重新启动后生效。" -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "声道位置: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "声道数: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "章节编辑器" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "章节翻译" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "章节翻译编解码器: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "章节翻译版本 UID: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "章节翻译 ID: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "章节编辑器非空" @@ -2125,7 +2111,7 @@ msgid "Chapter file:" msgstr "章节文件:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "章节文件 (*.xml)|*.xml|%s" @@ -2135,12 +2121,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "章节文件 (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "章节文件 (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "章节文件 (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "章节名称与语言" @@ -2156,61 +2142,79 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "章节解析器: 版本 UID %1% 不唯一,不能重复使用。将创建一个新的。\n" -#: src/mmg/tabs/chapters.cpp:759 -#: src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 -#: src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "章节验证出错" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "章节验证成功" #: src/mmg/options/chapters.cpp:130 #: src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "章节" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "章节 (%d 项) 自 %s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "WebM 兼容文件中不允许有章节。输出文件中不会写入任何章节。\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." msgstr "章节已载入。" -#: src/mmg/tabs/chapters.cpp:721 -#: src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "章节已写入。" -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "章节:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "章节: %1% 条记录" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "命令行字符的字符集" +#: src/mmg/tabs/input_format.cpp:249 #: src/mmg/tabs/global.cpp:282 -#: src/mmg/tabs/input_format.cpp:248 msgid "Charset:" msgstr "字符集:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "联机检查最新版本" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "在联机检查最新版本。" + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "联机检查 MKVToolNix 的主页是否有新版发布。仅当 mmg 启动时检查,且每天最多检查一次。不会向服务器传输信息。" + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "正在联机检查更新;请稍候" + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "选择章节文件" @@ -2226,26 +2230,26 @@ msgid "Choose an attachment file" msgstr "选择附件文件" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" msgstr "选择输入文件" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "选择要添加的文件" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" msgstr "选择要追加合并的文件" -#: src/mmg/jobs.cpp:401 -#: src/mmg/mmg_dialog.cpp:314 -#: src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 -#: src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 -#: src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "选择输出文件" @@ -2253,7 +2257,7 @@ msgid "Choose the chapter file" msgstr "选择章节文件" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "选择 mkvmerge GUI 帮助文件的路径" @@ -2261,7 +2265,7 @@ msgid "Choose the mkvmerge executable" msgstr "选择 mkvmerge 可执行程序" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "选择输出目录" @@ -2273,11 +2277,11 @@ msgid "Choose the tags file" msgstr "选择标签文件" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" msgstr "成功混流后清空输入文件列表" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" msgstr "添加任务到任务列表后清空输入文件列表" @@ -2285,73 +2289,73 @@ msgid "Close the current file without saving" msgstr "在不保存的情况下关闭当前文件" -#: src/extract/timecodes_v2.cpp:259 -#: src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "簇" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "簇长 '%1%' 超出值域 (0..65535)。\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "簇长 '%1%' 超出值域 (100..32000)。\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "簇位置: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "前簇长: %1%" -#: src/extract/timecodes_v2.cpp:274 -#: src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "簇时间码: %|1$.3f|s" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "编解码器 ID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "编解码器 ID: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "编解码器全部解码: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "编解码器下载 URL: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "编解码器信息 URL: %1%" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "编解码器名称" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "编解码器名称: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "编解码器设置: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "编解码态: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "编解码器专有, 长 %1%%2%" @@ -2359,11 +2363,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "收起所有条目,这样它们的子条目将不被显示" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "色彩空间: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "命令行已复制到剪贴板。" @@ -2371,11 +2375,11 @@ msgid "Command line options:" msgstr "命令行选项:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "命令行已保存。" -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "所用命令行:" @@ -2383,40 +2387,40 @@ msgid "Common languages" msgstr "常用语言" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "压缩失败: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 -#: src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "压缩方式:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "配置已清空。" -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." msgstr "配置已加载。" -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "配置已保存。" -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "内容压缩" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "内容编码" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "内容编码" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "内容加密" @@ -2424,7 +2428,7 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "将文本字幕转换为指定字符集 (默认: UTF-8)。" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "复制命令行到剪贴板" @@ -2436,19 +2440,19 @@ msgid "CorePicture frame %1% not supported.\n" msgstr "不支持 CorePicture 帧 %1%。\n" -#: src/mmg/jobs.cpp:178 -#: src/mmg/mux_dialog.cpp:129 -#: src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "无法为 mkvmerge 的命令行选项创建临时文件 '%s' (错误代号 %d, %s)。" -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "无法创建文件 '%s'。" -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "无法创建指定文件。" @@ -2456,14 +2460,14 @@ msgid "Could not decode the Base64 encoded data - it seems to be malformed." msgstr "无法解码以 Base64 编码的数据 - 似乎是畸形的。" -#: src/input/r_avi.cpp:327 -#: src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" msgstr "无法从该 AVC/h.264 轨道提取解码器特有配置数据 (AVCC)。\n" -#: src/input/r_avi.cpp:277 -#: src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" msgstr "无法从该 MPEG-1/2 轨道提取序列头。\n" @@ -2471,11 +2475,11 @@ msgid "Could not find a valid MP3 packet." msgstr "未找到有效的 MP3 包。" -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "找不到音频轨 %1% 的索引 (avilib 错误消息: %2%)。正在跳过此轨。\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" msgstr "追加合并时找不到 gptzr。 %1%\n" @@ -2483,10 +2487,15 @@ msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "在首个 MPEG-4 part 2 视频帧中找不到编解码器配置数据。该轨不能以原生模式储存。\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "找不到 Ogg 的下一页。这表明 Ogg/Ogm 文件可能已损坏。将尝试继续。\n" +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "此轨的第一帧中未发现有效的 DTS 头。\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" msgstr "无法初始化 iconv 库以供从 %1% 到 UTF-8 的转换。某些字串将不被转换为 UTF-8,且生成的 Matroska 文件可能不符合 Matroska 规范 (错误: %2%, %3%)。\n" @@ -2501,7 +2510,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "无法打开 '%1%' 以读取。\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "无法打开剪贴板。" @@ -2509,16 +2518,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "无法打开一致性校正文件 '%1%c'。\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "无法打开目标文件 '%s' 以写入。错误代号: %d (%s)。" -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "无法打开文件 '%1%' 以控制输出。\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "无法打开时间码文件 '%1%' 以写入 (%2%)。\n" @@ -2534,17 +2543,17 @@ msgid "Could not read the FLAC header packets.\n" msgstr "无法读取 FLAC 头部包。\n" +#: src/common/mm_io_win.cpp:167 #: src/common/mm_io.cpp:181 -#: src/common/mm_io_win.cpp:166 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "无法写入输出文件: %1% (%2%)\n" #: src/mmg/options/chapters.cpp:89 -#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "国家:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "创建选项文件(&O)" @@ -2556,27 +2565,27 @@ msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." msgstr "创建一个符合 WebM 标准的文件。如果输出文件扩展名为 \"webm\",mkvmerge 也将自动开启此模式。仅允许编解码器为 VP8 视频与 Vorbis 音频的轨道。章节与标签均不允许使用。DocType 文档类型头项将被更改为 \"webm\"。" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "创建一个新的章节文件" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" msgstr "裁减参数: 未以 <TID>:<left>,<top>,<right>,<bottom> 的形式给出 例如 0:10,5,10,5 (您的参数为 '%1%')。\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "画面裁剪:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "Cue 块数: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Cue 簇位: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" msgstr "Cue 编解码态: %1%" @@ -2584,27 +2593,27 @@ msgid "Cue name format:" msgstr "Cue 表单命名格式:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" msgstr "Cue 断点" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" msgstr "Cue 参考簇: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" msgstr "Cue 参考编解码态: %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" msgstr "Cue 参考数: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" msgstr "Cue 参考时间: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "Cue 参考" @@ -2620,41 +2629,41 @@ msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" msgstr "Cue 表单解析器: 未发现先前 TRACK 轨道的 INDEX 索引 (当前行: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "Cue 时间: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "Cue 轨位" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "Cue 轨: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" msgstr "Cue 表单 (子条目将被跳过)" #: src/mmg/tabs/input_extra.cpp:50 -#: src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" msgstr "索引:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "当前和过去的任务:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "当前命令行" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "当前任务 ID %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "当前任务 ID 1000:" @@ -2662,43 +2671,43 @@ msgid "Current value:" msgstr "现值:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "当前版本:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "删除(&E)" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (数字影院系统)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "DTS 头部信息已变更! - 新格式:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (数字影院系统)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTS_Header 问题: 使用了不兼容的新版本编码\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" msgstr "DTS_Header 问题: 无效的核心采样率\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" msgstr "DTS_Header 问题: 无效的帧字节尺寸\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" msgstr "DTS_Header 问题: 无效的帧块数\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" msgstr "DTS_Header 问题: 无效的源 PCM 分辨率\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" msgstr "DTS_Header 问题: 数据不足以读取头部\n" @@ -2706,33 +2715,33 @@ msgid "Data is not allowed inside <%1%>." msgstr "<%1%> 内部不允许有数据。" -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "日期 (无效, 值: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "日期: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "调试> " -#: src/mmg/tabs/input_format.cpp:193 -#: src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "默认" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:417 +#: src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "默认时长" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "默认时长: %|1$.3f|ms (对于视频轨为 %|2$.3f| fps)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "“默认”标记: %1%" @@ -2740,15 +2749,15 @@ msgid "Default track flag:" msgstr "“默认轨”标记:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "延时 (ms):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "将此轨的时间码延迟几毫秒。可以为负数。对所有类型的轨道可用,但不可以为视频轨设定负的延时。" -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "延迟: %|1$.3f|ms" @@ -2756,15 +2765,15 @@ msgid "Delete all occurences of a property" msgstr "删除属性的所有值" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" msgstr "从任务队列中删除所选任务" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "描述" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "描述已存在" @@ -2774,36 +2783,36 @@ msgid "Description:" msgstr "描述:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac 基本流" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "默认禁用音频与视频轨道的去头压缩" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "禁用选中的任务并设置其状态为“完成”" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "禁止使用 SimpleBlocks 简单块 替代 BlockGroups 块组。" -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "禁用所有轨道的紧缩。这将增加文件大小,尤其是有很多音频轨时。仅供测试用。" -#: src/merge/mkvmerge.cpp:683 -#: src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" msgstr "显示尺寸: 未以 <TID>:<width>x<height> 的形式给出, 例如 1:640x480 (您的参数为 '%1%')。\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "显示高度: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "显示单位: %1%%2%" @@ -2811,35 +2820,35 @@ msgid "Display usage information" msgstr "显示用法信息" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "显示宽/高:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "显示宽度: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "不要在元定位元素中添加章节项。" -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "不要写入任何元定位元素。" -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "文档类型读取版本: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "文档类型版本: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "文档类型: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" @@ -2851,51 +2860,55 @@ msgid "Done.\n" msgstr "完成。\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "下载 URL:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "持续时长: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "持续时长: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "退出(&X)\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBML 头" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML 最大 ID 长: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML 最大长度: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "EBML 读取版本: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBML 版本: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "*罪恶的* 内部错误! (未知文件类型)。 %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "每个章节和版本都有唯一的 ID。该 ID 通常由程序自动指派,但也可以手动修改(如果确实需要的话)。" -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "每个版本至少需含有一个章节。" -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "Ebml 空隙 (大小: %1%)" @@ -2903,13 +2916,13 @@ msgid "Edit selectors" msgstr "编辑选择器" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "版本 %d" -#: src/mmg/tabs/chapters.cpp:870 -#: src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "版本 %u" @@ -2934,7 +2947,7 @@ msgid "Enable splitting..." msgstr "启用切割..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "已启用: %1%" @@ -2942,24 +2955,24 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "启用切割,将输出文件切割为多个文件。可以在给定尺寸、给定每文件包含的时间量或一系列时间码后切割。" -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "加密算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "加密密匙 ID: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "终止时间:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "英文语言名" #: src/info/qt_ui.cpp:130 -#: src/info/wxwidgets_ui.cpp:245 +#: src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "错误" @@ -2967,11 +2980,11 @@ msgid "Error %1%\n" msgstr "错误 %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "在行 %1% 处出错: 预期为 SRT 时间码行,但发现的是其他一些东西。放弃该文件。\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "在行 %1% 处出错: 预期为字幕号码但发现一些文字。\n" @@ -2979,13 +2992,13 @@ msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" msgstr "初始化章节, 标签及剪辑信息元素表时出错: 无法找到调试名为 '%1%' 的元素。%2%\n" -#: src/mmg/mmg.cpp:217 -#: src/mmg/mmg_dialog.cpp:369 -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" msgstr "载入配置出错" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "打开文件出错" @@ -2993,11 +3006,11 @@ msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" msgstr "在头部读取阶段解析 MPEG PS 持续流包时出错。流似乎已被严重损坏。\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "解析文件出错" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" msgstr "解析 '%1%' 中的标签出错: 缺少一些必要元素。\n" @@ -3005,19 +3018,19 @@ msgid "Error saving the information" msgstr "保存信息出错" -#: src/mmg/header_editor/frame.cpp:690 -#: src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 -#: src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "写入 Matroska 文件出错" -#: src/common/output.cpp:68 -#: src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "出错:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "出错: " @@ -3025,16 +3038,16 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "出错: %1% 解析器失败,对于 '%2%', 行 %3%, 列 %4%: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "出错: 无法打开输入文件 %1% (%2%)。\n" -#: src/extract/timecodes_v2.cpp:180 -#: src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." msgstr "出错: 未发现 EBML 头。" -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -3046,11 +3059,11 @@ msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" msgstr "出错: vorbis_packetizer: 无法从第一个包中提取流参数。\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "错误信息:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "一切正常。" @@ -3096,8 +3109,8 @@ msgid "Extract the data to a raw file." msgstr "将数据提取为原始文件。" -#: src/output/p_avc.cpp:128 -#: src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" msgstr "从 MPEG-4 layer 10 (AVC) 视频数据中提取宽高比信息并设置显示尺寸为 %1%/%2%。\n" @@ -3109,129 +3122,125 @@ msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" msgstr "从 Theora 视频头中提取宽高比信息并设置显示尺寸为 %1%/%2%。\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" msgstr "正在提取轨道 %1% (CodecID 为 '%2%')到文件 '%3%'。容器格式: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" msgstr "不支持对轨道号 %1% (CodecID 为 '%2%')的提取。\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (自由无损音频编解码)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC 无损音频" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" msgstr "帧率 (fps):" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "创建 VobSub 数据文件 '%1%' 失败: %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 -#: src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "创建文件失败 '%1%': %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "创建临时文件 '%1%' 失败: %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" msgstr "解析轨道 %1% 的一个 USF 字幕条目失败: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "解析轨道 %1% 的 USF 编解码器专有数据失败: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "解析轨道 %1% 的 USF 终止标记失败: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "族 UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "文件 %1% 类型未知。请查看受支持的文件类型列表 ('mkvmerge --list-types'),如果您的文件类型受支持但没被正常识别,请联系作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "文件 '%1%': 容器: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "文件 '%1%': 不支持的容器: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "文件 UID: %1%" -#: src/input/r_real.cpp:471 -#: src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "文件包含的帧数比预期的少,或者文件在 %1% 帧后被破坏。\n" -#: src/mmg/mmg_dialog.cpp:765 -#: src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "创建文件失败" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "文件数据, 尺寸: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "文件描述: %1%" -#: src/mmg/tabs/input.cpp:401 -#: src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "文件无法识别" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "文件 '%s' 无法识别。返回代码: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." msgstr "文件识别失败。返回代码: %d。错误代号: %d (%s)。请确认您在设置对话框中选择了 mkvmerge 可执行程序。" -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "文件已在处理" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "文件已修改" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "文件名: %1%" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "解析文件失败" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "文件不能移除" -#: src/mmg/header_editor/frame.cpp:702 -#: src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "文件结构警告" @@ -3243,20 +3252,20 @@ msgid "File/segment title:" msgstr "文件/剪辑标题:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" msgstr "文件不能被追加合并到文件自己。'--append-to' 的参数无效。\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "任务 ID %d 完成于 %s: 状态 '%s'" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "完成时间" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "已完成对 %s 的处理" @@ -3270,19 +3279,19 @@ msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." msgstr "要深入了解文件/剪辑链接功能,请阅读 mkvmerge 文档。" -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "强制 EBML 式紧缩。" -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "强制 Xiph 式紧缩。" -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "强制使用 'code' 代表的翻译版本。" -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "“强制”标记: %1%" @@ -3290,19 +3299,19 @@ msgid "Forced track flag:" msgstr "“强制轨”标记:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "强制该视频轨的 FourCC 为此值。注意,这只对使用 AVI 兼容模式的视频轨或 QuickTime 视频轨有效。本选项 *不能* 用于更改 Matroska 的 CodecID。" -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." -msgstr "强制 Matroska 读取器使用通用呈递分组器即使轨道类型已知或受支持。" +msgstr "强制 Matroska 读取器使用通用呈递封装器,即使轨道类型已知或受支持。" -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "强制 NALU 长为一定的字节数。本参数只对 AVC/h.264 ES 文件、AVI 文件或使用 '--engage allow_avc_in_vwf_mode' 创建的 Matroska 文件中的 AVC/h.264 基本流有效。如果默认值为 4 字节,但可能有包含大于 65535 字节的帧或切片的文件。对这类文件您可以使用本参数将尺寸降至 2。" -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." msgstr "强制时间码缩放系数为 REPLACEME。您得用 1000 到 10000000 之间的值或者 -1 来替代 REPLACEME。通常 mkvmerge 会使用值 1000000,这样时间码和时长的精度为 1ms。对于不包含视频轨但含有至少一条音频轨的文件,mkvmerge 会自动选择一个时间码缩放系数以使各轨的采样精度相同。这将引起更大的额外开销,但将允许更精确的定位与提取。如果使用了魔法值 -1,即使有视频轨,mkvmerge 也将使用采样精度。" @@ -3326,37 +3335,36 @@ msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" msgstr "在未闭合的 GOP 画面组中发现无第二参考帧的 B 帧。您可能需要考虑在尝试混流之前修复该 MPEG2 视频流或者进行智能重编码。\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" msgstr "FourCC: 无效的轨道 ID 在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" msgstr "FourCC: 缺轨道 ID 在 '%1% %2%'。\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "帧数: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "帧率: %1%" -#: src/info/mkvinfo.cpp:148 -#: src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "帧,尺寸为 %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 -#: src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." msgstr "无格式限制的文本框,供用户定义此轨的命令行选项。您在这里输入的选项将被放在 mmg 添加的所有其他选项之后,这样您可以覆盖 mmg 为此轨创建的任何选项。所有出现字串 \"<TID>\" 的地方都会被替换为当前轨道的轨道 ID。" -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "伽玛修正: %1%" @@ -3364,7 +3372,7 @@ msgid "General track options" msgstr "轨道常规选项" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "全局" @@ -3373,12 +3381,12 @@ msgid "Global options" msgstr "全局选项" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "全局标签 (%d 项) 自 %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "全局标签: %1% 条记录" @@ -3399,41 +3407,49 @@ msgid "Header editor: %s" msgstr "头部编辑器: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "无法执行除头压缩,因为缓冲区包含小于要移除头部尺寸的 %1% 字节的数据,%2%。" -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." msgstr "无法执行除头压缩,因为缓冲区未以待移除的字节起始。需要的字节:%1%; 找到的是:%2%。" -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "头部检验" -#: src/mmg/header_editor/frame.cpp:566 -#: src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "头部已修改" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "编码后的视频帧的高度,单位:像素。" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "视频帧的显示高度。" -#: src/mmg/mmg_dialog.cpp:686 -#: src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "找不到帮助文件" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"帮助以工具提示的形式提供,也可以通过\n" +"“帮助”菜单或按“F1”键获取。" + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3444,9 +3460,9 @@ "您既可以直接在下面输入,也可以从下拉框中选取,\n" "再按下“添加”按钮。" -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "以固定量校准所选章节及其子章节,既可以提前也可以延后。" +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "您可以在此以固定量校准所选章节及其所有子章节的时间码,既可以提前也可以延后。" #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3459,51 +3475,51 @@ "如果需要,这些值也可以以后修改。\n" "默认值会在您退出 mmg 时保存。" -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." msgstr "设置您希望应用到下面所有章节(含当前所选条目)的语言及国家值。" -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1 代码" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2 代码" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "含 VP8 的 IVF" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "含 VP8 的 IVF 视频文件" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "如果一个章节被标记为“隐藏”,播放器将不会向用户显示该章节条目。这样的条目仍然可以通过菜单系统调用。" -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "如果一个章节没有被标记为“启用”,播放器将会跳过文件中被该章节占用的一段。" -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." msgstr "如果选中该项,mmg 将在覆写已有文件或在新增一个与已有任务描述相同的新任务时,寻求您的确认。" -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." msgstr "如果选中该项,且输出文件名尚未设置,mmg 将会自动设置。这只发生在您添加第一个文件时。如果未选该项,mmg 不会修改输出文件名。" -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "若选中,mmg 将默认将音频与视频轨道的“压缩”下拉菜单设为“无”。此后用户仍可更改压缩设置。" + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "如果选中该项,mmg 将在它认为您用法不正确时发出警告。即使您将该功能关闭,此类警告也将至少出现一次。" -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "如果留空,mmg 将设置输出文件名与添加到此任务的首个文件同路径。反之将使用此文件夹。" @@ -3511,31 +3527,31 @@ msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." msgstr "如果启用了文件切割,一个文件可以附加到创建的所有文件,或仅附加到创建的首个文件。如果未使用切割功能则无影响。" -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "忽略起始时间在结束时间之后的项目。\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "已忽略一处起始时间在结束时间之后的字幕 (%1%)。\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "导入的字体,自 %1%" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "导入的图片,自 %1%" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "无法使用文件 '%1%': 文件无法打开以读取。\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "mkvmerge 版本不兼容" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "不兼容轨道" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "不相容的 AAC 音频包 (长: %1% != len_check %2%)\n" @@ -3543,16 +3559,16 @@ msgid "Increase verbosity." msgstr "增强“详细”程度。" -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "输入" -#: src/mmg/tabs/chapters.cpp:1374 -#: src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 -#: src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "输入数据错误" @@ -3564,24 +3580,24 @@ msgid "Input too long: %1% > %2%" msgstr "输入过长: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "界面语言:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "交错扫描: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "内部错误: tracks.cpp SSA #1。 %1%" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "内部程序错误" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" msgstr "无效的 %1% 指定,在 '--%2% %3%'。\n" @@ -3593,21 +3609,21 @@ msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "无效的附加块层级,在参数 '%1%' 中。\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." msgstr "无效 UID。UID 仅仅是个数字。" -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." msgstr "无效 UID。该章节 UID 已被使用。原 UID 没有被改变。" -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." msgstr "无效 UID。该版本 UID 已被使用。原 UID 没有被改变。" -#: src/input/r_avi.cpp:638 -#: src/input/r_avi.cpp:643 -#: src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." msgstr "有无效的 Vorbis 头,在 AVI 音频轨中。" @@ -3619,15 +3635,15 @@ msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." msgstr "指定了无效的二进制数据 '%1%'。仅支持 'Base64', 'ASCII' 与 'hex'。" -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" msgstr "无效的布尔值选项指定,在 '--default-track %1%' 中。\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" msgstr "无效的布尔值选项指定,在 '--forced-track %1%' 中。\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" msgstr "无效的布尔值指定,在 '--aac-is-sbr %1%' 中。\n" @@ -3635,11 +3651,11 @@ msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "无效的更改指定 (%3%),在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" msgstr "无效的压缩选项指定,在 '--compression %1%' 中。\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" msgstr "无效的压缩选项。未在 '--compression %1%' 指定轨道 ID。\n" @@ -3647,40 +3663,40 @@ msgid "Invalid country selected" msgstr "无效的国家选择" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" msgstr "无效的索引选项指定,在 '--cues %1%' 中。\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" msgstr "无效的索引选项。未在 '--cues %1%' 指定轨道 ID。\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "无效的文件名" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" msgstr "'--split' 格式无效,在 '--split %1%' 中。\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" msgstr "SSA 行 ('%1%') 于时间码 %2% 格式无效: 第一个字段不是整数。该条将被跳过。\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" msgstr "SSA 行 ('%1%') 于时间码 %2% 格式无效: 发现过多字段 (%3% 而不是 9)。该条将被跳过。\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." msgstr "调准功能使用的格式无效。" -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." msgstr "终止时间 '%s' 格式无效。设置值为 0。" -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." msgstr "起始时间 '%s' 格式无效。设置值为 0。" @@ -3721,7 +3737,7 @@ msgid "Invalid format: unknown character '%1%' found" msgstr "格式无效: 发现未知字符 '%1%'" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "头长度无效: %1% (总长: %2%, 索引: %3%, 数据索引: %4%)\n" @@ -3730,7 +3746,7 @@ msgstr "遇到无效的十六进制数据: '%1%' 既不是空格也不是十六进制数。" #: src/mmg/options/chapters.cpp:114 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" msgstr "无效的语言选择" @@ -3758,92 +3774,92 @@ msgid "Invalid selector in '%1% %2%'.\n" msgstr "无效的选择器,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" msgstr "无效的切割尺寸:'--split %1%'。\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" msgstr "无效的开始或终止时间码" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" msgstr "无效的开始时间码" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" msgstr "无效的字幕字符集选项。未在 '--sub-charset %1%' 指定轨道 ID。\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" msgstr "无效的字幕字符集指定,在 '--sub-charset %1%'。\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" msgstr "无效的同步选项指定,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" msgstr "无效的同步选项指定,在 '%1% %2%'。除数为零。\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" msgstr "无效的同步选项指定,在 '%1% %2%'。线性同步值不得等于或小于 0。\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" msgstr "无效的同步选项。未在 '%1% %2%' 指定轨道 ID。\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" msgstr "无效的标签文件名指定,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" msgstr "无效的标签选项。在 '%1% %2%' 未指定轨道 ID。\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" msgstr "'--split' 的时间无效,在 '--split %1%'。其他错误消息: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" msgstr "'--split' 的时间无效,在 '--split %1%'。其他错误消息: %2%。\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" msgstr "无效轨道 ID,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:579 -#: src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" msgstr "无效的轨道 ID 指定,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" msgstr "无效的轨道 ID 指定,在 '--%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--aac-is-sbr %1%'。\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--compression %1%'。\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--cues %1%'。\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--default-track %1%'。\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--forced-track %1%'。\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" msgstr "无效的轨道 ID 指定,在 '--sub-charset %1%'。\n" @@ -3851,19 +3867,19 @@ msgid "Invalid track ID/file name specification in argument '%1%'.\n" msgstr "无效的轨道 ID 或文件名指定,在参数 '%1%' 中。\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "任务已添加到任务队列" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "任务描述" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "任务输出信息" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "任务队列管理" @@ -3875,30 +3891,20 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "仅保留高达此层级的附加块 (默认: 保留所有层级)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"已知文件类型:\n" -" 扩展名 说明\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "LZO 压缩失败。结果: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" msgstr "紧缩数: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "“紧缩”标记: %1%" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:429 +#: src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "语言" @@ -3911,13 +3917,13 @@ msgstr "语言未以 NUL 收尾" #: src/mmg/options/chapters.cpp:86 -#: src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 #: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "语言:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "语言: %1%" @@ -3925,15 +3931,11 @@ msgid "Languages" msgstr "语言" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "在输出文件的章节中留额外的空格 (EbmlVoid)。" -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "左眼视角" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" msgstr "允许您向命令行添加任意选项" @@ -3954,7 +3956,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "行 %1%, 列 %2%: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "行 %1%: 遇到负的时间戳。此项将被调整为起始于 00:00:00.000。\n" @@ -3975,24 +3977,24 @@ msgid "List all valid property names and exit" msgstr "列出所有有效的属性名并退出" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" msgstr "载入章节文件 (简单/OGM 格式或 XML 格式)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" msgstr "从文件载入混流配置" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "日志文件 (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "日志输出:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -4004,58 +4006,42 @@ msgid "MIME type:" msgstr "MIME 类型:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix 依 GNU GPL v2 授权" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 音/视频文件" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEG 音频文件" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG PS 程序流" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG PS 程序流" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEG 视频基本流" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 第 II 层音频 (CBR 或 VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 第 III 层音频 (CBR 或 VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 视频基本流" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 视频基本流" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "将此轨作为其所属类(音频,视频,字幕)的默认轨。播放器会优先使用有“默认轨”标记的轨道。" -#: src/input/r_matroska.cpp:1468 -#: src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" msgstr "发现畸形的 AAC 编解码器初始化数据。\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" msgstr "畸形的编解码器 id '%1%'。\n" -#: src/input/subtitles.cpp:349 #: src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" msgstr "畸形行? (%1%)\n" @@ -4063,39 +4049,39 @@ msgid "Mark this track as 'forced'. Players must play this track." msgstr "将此轨标记为 '强制'。播放器必须播放此轨。" -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska 音/视频文件 (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska 文件 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroska 音/视频文件" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska 文件 (*.mkv *.mka *.mks);;所有文件 (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroska 文件 (*.mkv *.mka *.mks *.mk3d);;所有文件 (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska 文件 (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska 文件 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska 文件 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroska 文件 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "最大附加块 ID: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "最大缓存: %1%" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:412 +#: src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "最大缓存" @@ -4107,24 +4093,24 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "无法为一个 RealAudio/RealVideo 帧分配内存。\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "Mime 类型: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "最小缓存: %1%" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:407 +#: src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "最小缓存" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" msgstr "'--output-charset' 缺参数。\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" msgstr "'--ui-language' 缺参数。\n" @@ -4132,19 +4118,19 @@ msgid "Missing argument to '%1%'.\n" msgstr "缺 '%1%' 的参数。\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "缺文件名" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." msgstr "选项 '--edit-headers' 后缺文件名。" -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "缺流的头部/注释包。文件已损坏但应该能正常混流。如果确信文件没坏,请联系作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "尚未输入" @@ -4160,15 +4146,15 @@ msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "已要求修改段落 '%1%' 中的属性,但在文件中未发现对应的顶级元素。%2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "更多" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "单个附件被指定了多于一个 MIME 类型。'%1%' 将被废弃,并用 '%2%' 代替。\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "单个附件被指定了多于一个描述。\n" @@ -4176,7 +4162,7 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "给定了多个文件名 ('%1%' 与 '%2%')。\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "单个附件被指定了多于一个名称。'%1%' 将被废弃,并用 '%2%' 代替。\n" @@ -4184,44 +4170,44 @@ msgid "More than one root element found." msgstr "根元素多于一个。" -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" msgstr "被追加合并至轨道 %1%(自文件 %2% ('%3%'))的轨道多于一条。'--append-to' 的参数无效。\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "轨道号为 %1% 的轨道多于一条。\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "将所选任务下移" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "将所选任务上移" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" msgstr "混流程序: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "混流进行中。" -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" msgstr "混流耗时 %1% 秒。\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" msgstr "混流耗时 1 秒。\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALU 长:" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "名称" @@ -4230,15 +4216,15 @@ msgstr "此轨的名称,如“导演评论”。" #: src/mmg/tabs/attachments.cpp:158 -#: src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "名称:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "名称: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." msgstr "新章节已创建。" @@ -4247,15 +4233,15 @@ msgstr "新值:" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "下一文件名" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" msgstr "下一文件名: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "下一个 0 层级元素不是剪辑而是 %1%" @@ -4263,49 +4249,49 @@ msgid "Next segment UID:" msgstr "下一剪辑 UID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" msgstr "下一剪辑 UID:%1%" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:347 +#: src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" msgstr "下段唯一 ID" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "未指定 %1%,在 '--%2% %3%'。\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" msgstr "首帧未发现 AC3 头; 此轨将被跳过。\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." msgstr "未找到 EBML 头。" -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" msgstr "AVC/h.264 轨道的帧率尚未选择" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." msgstr "附件 '%s' 的 MIME 类型尚未选择。" -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" msgstr "附件 '%1%' 的 MIME 类型尚未设定,且不可猜。\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" msgstr "没有为文件 %1% ('%2%') 指定追加映射。将使用默认映射 %3%。如果 mkvmerge 异常中止并输出关于无效的 '--append-to' 选项的错误消息,请留心。\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "尚未创建任何章节条目。" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" msgstr "未找到章节" @@ -4313,7 +4299,7 @@ msgid "No error" msgstr "无误" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" msgstr "未修改文件" @@ -4330,6 +4316,7 @@ msgstr "未载入文件" #: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "未给定文件名。\n" @@ -4337,11 +4324,11 @@ msgid "No filename found after the '@'." msgstr "在 '@' 后未找到文件名。" -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "无可用帮助。" -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" msgstr "未给定任何输入文件。将不创建输出文件。\n" @@ -4353,17 +4340,17 @@ msgid "No output file name specified, will use attachment name.\n" msgstr "未指定输出文件名,将使用附件名。\n" -#: src/extract/timecodes_v2.cpp:194 -#: src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." msgstr "未发现剪辑/0 层级元素。" -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "未发现待输出流。终止。\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "未指定轨道 ID,在 '--%1% %2%'。\n" @@ -4371,7 +4358,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "未发现与编辑指定 '%1%' 相应的轨道。%2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "源文件中找不到 ID 为 %1% 的轨道。\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "未发现轨道" @@ -4379,15 +4370,11 @@ msgid "No version number found.\n" msgstr "未发现版本号。\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "单视角" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." msgstr "头部字段未被修改。未保存任何改动。" -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." msgstr "通常 mkvmerge 保留 MPEG4 视频位流中的宽高比信息并将信息置于容器中。此选项使 mkvmerge 从位流中移除宽高比信息。" @@ -4395,50 +4382,57 @@ msgid "Not a hex digit at position %1%" msgstr "非十六进制数位,于 %1%" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" msgstr "不是有效的 Matroska 文件 (未发现 EBML 头)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" msgstr "不是有效的 Matroska 文件 (未发现有效的 剪辑/0 层级元素)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" msgstr "注意" +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 #: src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "无事可做。\n" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:418 +#: src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." msgstr "每帧的毫微秒数 (未缩放前的)。" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "此轨的声道数。" -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM 音/视频文件" #: src/mmg/message_dialog.cpp:31 -#: src/mmg/mux_dialog.cpp:100 +#: src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "确定" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "有一章节无名称。" -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "联机检查更新" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "仅允许有一个章节文件,在 '%1% %2%'。\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "仅允许有一个输入文件。\n" @@ -4450,18 +4444,22 @@ msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." msgstr "<Simple> 下只能使用 <String> 与 <Binary> 中的一项,而不能同时使用。" -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "仅允许有一个输出文件。\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" msgstr "仅允许有一个剪辑文件,在 '%1% %2%'。\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" msgstr "只给出了文件 %1% ('%2%') 的部分追加映射。只有不指定任何映射 (此时将使用默认映射) 或为所有轨道指定映射时,才会复制所有轨道。\n" +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "仅显示内容的摘要,而非所有元素。" + #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" msgstr "仅附加到首个文件" @@ -4470,7 +4468,7 @@ msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" msgstr "只支持 v7 和更高版本的 VobSub 文件。如果你使用的是旧版文件,请使用 VSConv 实用程序(可在 http://sourceforge.net/projects/guliverkli/ 获取)将这些文件转换为 v7 文件。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "选项(&T)\tCtrl-P" @@ -4479,7 +4477,7 @@ msgstr "打开文件" #: src/mmg/header_editor/frame.cpp:238 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "打开 Matroska 文件" @@ -4487,24 +4485,25 @@ msgid "Open an existing Matroska file" msgstr "打开现有的 Matroska 文件" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "打开文件夹" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "选项文件已创建。" #: src/mmg/options/dialog.cpp:43 #: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "选项" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" msgstr "*仅* 为开发者设计的选项。不要用它们。凡是被官方支持的选项都 *不在* 这个列表中!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" msgstr "编码指令: %1%" @@ -4516,40 +4515,44 @@ msgid "Other options" msgstr "其他选项" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" msgstr "输出" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" msgstr "输出文件名" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "用指定的字符集输出消息" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "所选任务的输出信息:" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "输出采样率: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "输出:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "覆写所有现有文件?" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "覆写现有的文件?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP 字幕" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTS 错误: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4557,11 +4560,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "包号 %1% 包含无效的 FLAC 头,将被跳过。\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" msgstr "包队列非空 (已缓冲: %1%)。帧已在重混流时丢失。 %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "完整解析文件并显示所有元素" @@ -4569,31 +4572,31 @@ msgid "Parse the whole file instead of relying on the index." msgstr "解析整个文件,而不是依照索引。" -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "正在解析文件" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "下边像素裁减: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "左边像素裁减: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "右边像素裁减: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "上边像素裁减: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "像素高度: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "像素宽度: %1%" @@ -4601,11 +4604,11 @@ msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." msgstr "请不要把 'mmg' 自己当作 'mkvmerge' 可执行程序选择。" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "请输入新任务的描述:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" @@ -4614,7 +4617,7 @@ "请输入将应用于下面所有章节(含当前选定条目)\n" "的语言和国家值。" -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4624,11 +4627,11 @@ "它以大篇幅解释了本列表中不易看透的细节。\n" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "上一文件名" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "上一文件名: %1%" @@ -4636,12 +4639,12 @@ msgid "Previous segment UID:" msgstr "上一剪辑 UID:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" msgstr "上一剪辑 UID:%1%" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:343 +#: src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "上段唯一 ID" @@ -4649,60 +4652,56 @@ msgid "Process priority:" msgstr "进程优先级:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "正在处理 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "正在处理任务 %d/%d" -#: src/mmg/jobs.cpp:243 -#: src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 msgid "Progress" msgstr "进度" -#: src/extract/timecodes_v2.cpp:264 -#: src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" msgstr "进度: %1%%%%2%" +#: src/extract/timecodes_v2.cpp:359 #: src/extract/mkvextract.cpp:93 -#: src/extract/timecodes_v2.cpp:354 msgid "Progress: 100%\n" msgstr "进度: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" msgstr "进度: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" msgstr "进度: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "正向 mkvmerge 询问处理能力" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime 音/视频文件" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 音视频" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4 读取器: '%1%' 单元过小。预期尺寸: >= %2%。实际尺寸: %3%。\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" msgstr "Quicktime/MP4 读取器: 尚不支持恒定采样尺寸与可变时长。如果您有这样的文件样本,请联系作者。\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4 读取器: 无法读取块号 %1%/%2% 尺寸 %3% 位置 %4%。正在中止。\n" @@ -4809,7 +4808,7 @@ msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" msgstr "Quicktime/MP4 读取器: 未知/不支持的 FourCC '%|1$.4s|',轨道 %2%。\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "退出本程序" @@ -4817,15 +4816,15 @@ msgid "Quit the header editor" msgstr "退出头部编辑器" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "退出 mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "重新启用所选任务" @@ -4833,7 +4832,7 @@ msgid "Reading encrypted VOBs is not supported.\n" msgstr "不支持读取已加密的 VOB。\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "从指定文件读取额外的命令行选项(参见自述文档)。" @@ -4842,15 +4841,11 @@ msgstr "就绪" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." msgstr "实际输出的采样率,单位 Hz。" -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia 音视频" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMedia 音/视频文件" @@ -4858,23 +4853,23 @@ msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "RealMedia 文件可能包含 HE-AAC / AAC+ / SBR AAC 音频。某些情况下这 *无法* 自动侦测。因此当输入文件的确含有 SBR AAC 时,您需要手动指定 '--aac-is-sbr %1%'。否则文件会被 *错误地* 混流。参考阅读 mkvmerge 的自述文档。\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "将所有消息重定向至此文件。" -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "参考块: %1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "参考块: -%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "参考优先级: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "参考实质: %1%" @@ -4882,9 +4877,9 @@ msgid "Reload the current file without saving" msgstr "在不保存的情况下重新载入当前文件" -#: src/mmg/jobs.cpp:71 -#: src/mmg/jobs.cpp:73 -#: src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "剩余时间:" @@ -4892,7 +4887,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr "记住像 &, <, > 和 \" 这样的特殊字符必须以常用的 HTML 方式转义: & 代表 '&', < 代表 '<', > 代表 '>', " 代表 '\"'。" -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "移除章节" @@ -4900,62 +4895,64 @@ msgid "Remove element" msgstr "移除元素" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "移除名称" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "右眼视角" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "重新同步失败: 未发现有效的 Matroska 1 层级元素。\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "重新同步成功,位于 %1%。\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "运行 mkvmerge 并开始混流进程" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "运行头部字段编辑器" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "显示命令行(&H)" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "启动所选(&T)" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 -#: src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT 文本字幕" -#: src/mmg/tabs/input.cpp:251 -#: src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS 文本字幕" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "保存命令行(&V)" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "与第一个输入文件同目录" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "采样率,单位 Hz。" -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "采样率: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "另存为(&A)" @@ -4963,31 +4960,31 @@ msgid "Save information as" msgstr "另存信息为" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "保存日志" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "将混流配置保存到文件" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "将命令行保存到文件" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "将命令行保存为 mkvmerge 可读的选项文件" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "将当前章节存为 XML 文件" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "将当前章节以另一名称保存" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "将当前章节存至现有 Matroska 文件" @@ -4995,46 +4992,46 @@ msgid "Save the header values" msgstr "保存头部字段值" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "保存到 &Matroska 文件(&M)" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "从当前文件保存信息至文本文件" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "范围: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "定位 ID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "定位项" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "定位头" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "定位头 (子项将被跳过)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "定位位: %1%" -#: src/extract/timecodes_v2.cpp:198 -#: src/extract/tracks.cpp:348 +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 #: src/info/qt_ui.cpp:177 -#: src/info/wxwidgets_ui.cpp:221 +#: src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "剪辑" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "剪辑 UID:%1%" @@ -5043,11 +5040,11 @@ msgstr "剪辑 UID:" #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "剪辑文件名" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "剪辑文件名: %1%" @@ -5060,48 +5057,48 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "剪辑信息文件 (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 -#: src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 -#: src/propedit/options.cpp:152 +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 #: src/propedit/propedit_cli_parser.cpp:87 #: src/propedit/propedit_cli_parser.cpp:160 -#: src/info/mkvinfo.cpp:544 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 #: src/info/qt_ui.cpp:178 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "剪辑信息" -#: src/extract/timecodes_v2.cpp:252 -#: src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 #: src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "剪辑轨道" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:339 +#: src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "剪辑唯一 ID" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "剪辑, 尺寸 %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "剪辑, 尺寸未知" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "选择 Matroska 文件" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "选择输出文件" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" msgstr "选择您将写入的文件" @@ -5111,29 +5108,28 @@ "of language drop down boxes." msgstr "选择您希望在语言下拉框顶部显示的语言。" -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" msgstr "选择将应用的值" -#: src/mmg/tabs/input_extra.cpp:55 -#: src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." msgstr "选择 mkvmerge 将为哪些块创建索引。在几乎所有情况下,“默认”是个合适的选择。" -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." msgstr "选择字幕文件或章节信息保存时使用的字符集。只有非 UTF 编码的字幕文件或含有章节信息的文件 (如 OGM, MP4) 需要选择(mkvmerge 无法正确侦测编码)。" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "设置输出文件(&O)" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" msgstr "设置国家为:" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:395 +#: src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -5144,7 +5140,7 @@ "被使用。" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:402 +#: src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5157,7 +5153,7 @@ "播放器应该选择符合用户首选项或默认且强制的轨。" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "设置轨道是否可用。" @@ -5165,15 +5161,15 @@ msgid "Set if the video is interlaced." msgstr "设置轨道是否隔行扫描。" -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "设置语言为:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "根据首个文件的名称设置“延时”输入框" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "设置语言值" @@ -5189,28 +5185,27 @@ msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" msgstr "设定 Matroska 解析器的模式为 '快速' (默认) 或 '完全'" -#: src/mmg/tabs/input_extra.cpp:64 -#: src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "选择 VobSub 字幕使用的压缩方式。如果没有选中任何方式,VobSub 字幕将自动使用 zlib 压缩。选“无”将导致文件变得很大。" +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "为该轨道设置压缩算法。如果未选择任何选项,mkvmerge 将根据轨道类型决定是否压缩以及压缩算法。大多数类型的轨道不会被压缩。" -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." msgstr "设置裁减参数。必须为逗号分隔的四个数字,分别代表从视频画面左边、顶部、右边和底部移除的像素数。" -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." msgstr "设置轨道的默认时长或每秒帧数(帧率)。仅对视频轨有效。对于 AVC/h.264 基本流,必须设定此选项。既可以是浮点数,也可以是分数。" -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." msgstr "设置轨道的显示宽高比。格式可以是两个整数构成的 'a/b' (如 16/9) 或者单个浮点数 'f' (如 2.35)。" -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "设置轨道的显示高度。必须同时设置宽度,否则此字段将被忽略。" -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "设置轨道的显示宽度。必须同时设置高度,否则此字段将被忽略。" @@ -5228,23 +5223,23 @@ "\n" "每个文件含一个剪辑,每个剪辑有一个剪辑 UID。如果指定的剪辑 UID 数量多于所创建的剪辑数,那么多余的 UID 将被忽略。如果指定的 UID 数量少于所创建的剪辑数,则将为剩下的剪辑随机创建 UID。" -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." msgstr "选择此视频轨的立体视法。如果留空则保留原模式,或者如果原本就没有,任何模式都不会设置。" -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "配置: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "控制 mkvmerge 整体输出的一些选项。" -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "短的 AAC 音频包 (长: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "短的 AAC 音频包 (长: %1% < 2)\n" @@ -5252,63 +5247,79 @@ msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "侦测到短缺的 GOP 画面组。已丢弃一些帧。您可能需要考虑在尝试混流之前修复该 MPEG2 视频流。\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "显示所有元素(&A)\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" msgstr "显示“关于”对话框" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "以十六进制转储形式显示各帧的所有字节。" + +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "显示元素尺寸(&Z)\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" msgstr "显示 mmg 的调试窗口" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "显示程序信息" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "在“详细”模式下显示各轨道的统计信息。" + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "显示 mmg 为 mkvmerge 创建的命令行" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "以十六进制转储形式显示各帧的前 16 字节。" + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "显示 mkvmerge GUI 指南" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" msgstr "显示各元素的尺寸,包括头部所占用的尺寸" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "显示各元素的尺寸,包括头部尺寸。" + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "显示本帮助。" -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "显示版本信息。" -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." msgstr "显示 mmg 的调试窗口,在该窗口中会出现调试消息。这只当您帮助作者调试 mmg 的问题时有用。" -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "签名算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "签名散列算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "签名密匙 ID: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "签名: %1%" @@ -5316,11 +5327,11 @@ msgid "Signed integer" msgstr "带符号整数" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "静轨号: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "简单块" @@ -5328,11 +5339,11 @@ msgid "Simple chapter parser: %1%\n" msgstr "简单章节解析器: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "简单块" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "简单块 (%1%轨道号 %2%, %3% 帧, 时间码 %|4$.3f|s = %5%)" @@ -5344,7 +5355,7 @@ msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" msgstr "跳过 %1% 字节 (未发现有效的 AAC 头)。这可能会导致音画不同步。\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" msgstr "跳过 %1% 字节 (未发现有效的 DTS 头)。这可能会导致音画不同步。\n" @@ -5352,35 +5363,35 @@ msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" msgstr "跳过开头 %1% 字节 (未发现有效的 MP3 头)。\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "切片" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" msgstr "一些头部值已被修改。您确实要在不保存文件的情况下关闭?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" msgstr "一些头部值已被修改。您确实要在不保存当前文件的情况下载入一个新的文件?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" msgstr "一些头部值已被修改。您确实要在不保存文件的情况下重新载入?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" msgstr "缺某些标签元素 (不该发生此错误 - 另一个类似的错误应该在早些时候发生过)。%1%\n" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:430 +#: src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." msgstr "指定此轨的语言,使用 Matroska 的语言格式。" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:486 +#: src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." @@ -5400,67 +5411,79 @@ msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "已选择按时间码/播放时长切割,但未输入任何数值。" -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "正在执行切割操作,但至少有一个潜在的输出文件 '%s%s*%s' 已存在。是否覆写?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "开始混流(&R)" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "开始混流(启动 mkvmerge)(&R)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "启动 GUI (如果给定文件 inname 则打开)。" + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" msgstr "启动状态为“挂起”的任务" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "启动选择的任务(不论其状态如何)" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" msgstr "清空所有设置并重新启动" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "起始时间:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "启动时间" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "正在启动任务 ID %d (%s) 于 %s" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "%1% 号轨道统计: 块数: %2%; 尺寸: %3% 字节; 时长: %4% 秒; 大致码率: %5% bps\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "状态" -#: src/mmg/jobs.cpp:62 -#: src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 msgid "Status and progress" msgstr "状态和进度" +#: src/mmg/update_checker.cpp:57 #: src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "状态:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "立体视法参数: 未以 <TID>:<n|keyword> 形式给出,其中可以使用 0 至 3 中的一个数字或者 'none', 'right', 'left', 'both' 中的一个关键词 (使用的参数为 '%1%')。\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "立体视法: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "立体模式参数: 未以 <TID>:<n|关键词> 的形式给出,其中 n 为介于 0 与 %1% 的数字或这些关键词之一: %2% (所用参数为 '%3%')。\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "立体视法: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "立体 3D 视频模式 (0 - 11,参见文档)。" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5468,15 +5491,15 @@ "立体-3D 视频模式 (0: 单视角, 1: 右眼视角,\n" "2: 左眼视角, 3: 双眼视角)。" -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "立体视法:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "伸展比率:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." msgstr "伸展此轨的时间码。本项支持两种格式。既可以是正的浮点数,也可以是形如 1200/1253 的分数。应用于视频轨与字幕轨时效果最佳。" @@ -5484,7 +5507,7 @@ msgid "String" msgstr "字符串" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" msgstr "字幕轨 %1% 缺时长元素。请检查输出的 SSA/ASS 文件中有相同起始和终止时间的条目。\n" @@ -5493,14 +5516,18 @@ msgid "Subtitle track %u" msgstr "字幕轨 %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "受支持的文件类型:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "禁用状态输出。" + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The True Audio 无损音频编解码)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA 无损音频" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" msgstr "标签提取" @@ -5519,19 +5546,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "标签文件 (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "标签" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "WebM 兼容文件中不允许有标签。输出文件中不会写入任何标签。\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "轨道 %1% 的标签: %2% 条记录" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "轨道 ID %lld 的标签 (%d 项) 自 %s" @@ -5540,24 +5567,24 @@ msgid "Tags:" msgstr "标签:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "告诉 mkvmerge 不要在文件尾部创建包含所有簇的元定位元素。" - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." msgstr "告诉 mkvmerge 不要创建和写入类似 AVI 索引的 cue 索引数据。Matroska 文件可以在无 cue 索引数据的情况下播放,但定位可能会变得不精确且迟钝些。本功能仅供测试用途。" +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "告诉 mkvmerge 在文件尾部创建包含所有簇的元定位元素。" + #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "文本文件 (*.txt);;所有文件 (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "文本文件 (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "文本文件 (*.txt)|*.txt|所有文件|*.*" @@ -5569,15 +5596,15 @@ msgid "The AAC profiles are different: %1% and %2%" msgstr "AAC profile 不同: %1% 与 %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" msgstr "此 AVC 视频轨缺 'CTTS' 帧时间码偏移单元。然而,AVC/h.264 允许帧有超过通常的一次 (对于 P 帧) 或两次 (对于 B 帧) 帧参考。此类帧的时间码会变得无序,需要 'CTTS' 单元来修正。由于缺时间码,此轨可能出错。请查看生成的文件,确认它是不是您预期的样子。\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" msgstr "轨道 %1% 的 CUE 表单将被写至 '%2%'。\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "两轨的 CodecID 不同: %1% 与 %2%" @@ -5593,43 +5620,39 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "FPS 为 0.0 且读取器未提供包的时间码。%1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." msgstr "轨 %s(自文件 '%s')的 FPS 设置无效。" -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" msgstr "FourCC 值必须为四个字符的长度,在 '%1% %2%'。\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." msgstr "轨道 %s(自文件 '%s')的 FourCC 设置非四字符长。" -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "为本 GUI 配置的 mkvmerge 可执行程序的版本 (%s) 与 GUI 自身的版本 (%s) 不同。这不受支持,但也不会被阻止。您应当在“选项”对话框中更改 mkvmerge 可执行程序。" -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "无法解析 Kate 识别头 (%1%)。\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "MPEG-4 part 2 压缩仅适用于原生 MPEG-4。然而,您未使用 '--engage native_mpeg4' 选择原生 MPEG-4 模式。\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "正在分析 Matroska 文件。" -#: src/mmg/header_editor/frame.cpp:700 +#: src/mmg/header_editor/frame.cpp:701 #: src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" msgstr "Matroska 文件已修改,但元定位项无法更新。这意味着播放器可能很难找到该元素。请使用您最喜欢的播放器检查此文件。\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" @@ -5639,11 +5662,11 @@ "\n" "合适的解决方法是先保存这些章节到 XML 文件,然后使用重新混流文件(包含这些章节)。" -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" msgstr "NALU 长必须为 2 与 4 之间(含 2 与 4)的数字,在 '--nalu-size-length %1%' 中。\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Theora 识别头无法解析 (%1%)。\n" @@ -5651,32 +5674,32 @@ msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" msgstr "Vorbis 码表不同; 这种轨道不能连接,除非重新编码" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" msgstr "'%2%' 的 '%1%' 参数无效: '%3%' 不是有效的轨道 ID。\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" msgstr "'%2%' 的 '%1%' 参数无效: '%3%' 必须为 'all' 或 'first' 中的一个。\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" msgstr "'%2%' 的 '%1%' 参数无效: 元素 '%3%' 的冒号过多。\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" msgstr "'--timecode-scale' 的参数必须为数字。\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." msgstr "轨道号 %s(文件 '%s')的宽高比设置无效。" -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" msgstr "附件 #%1%, ID %2%, MIME 类型 %3%, 尺寸 %4%, 正被写入 '%5%'。\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "附件 '%1%' 不可读。\n" @@ -5696,17 +5719,17 @@ msgid "The changes are written to the file.\n" msgstr "更改已写入指定文件。\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "章节 '%s' 缺语言。" -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "章节 '%s' 缺起始时间。" -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5720,7 +5743,7 @@ "\n" "提示: 本警告可以在 '选项' 对话框中禁用。关闭 '对...用法发出警告' 项即可。" -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "选择的 NALU 长 %1% 过小。请尝试使用 '4'。\n" @@ -5728,15 +5751,15 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "编解码器类型 '%1%' 不可以在 WebM 兼容文件中使用。\n" -#: src/output/p_avc.cpp:200 -#: src/output/p_kate.cpp:113 +#: src/output/p_textsubs.cpp:102 #: src/output/p_passthrough.cpp:63 -#: src/output/p_textsubs.cpp:98 #: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "编解码器专有数据不匹配 (长: %1% 与 %2%)。" -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "编解码器专有数据不匹配。长度相同 (%1%) 但内容不同。" @@ -5749,29 +5772,29 @@ msgid "The country '%s' is not a valid ccTLD and cannot be selected." msgstr "国家 '%s' 不是有效的 ccTLD,不能选择。" -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." msgstr "正在写入 cue 索引..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." msgstr "当前文件 (序号 %d) 不能移除。有其他文件 -- 至少文件号为 %d 的文件 -- 有要追加合并到此文件某轨道的轨道。请先移除那些文件。" -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "当前包的时间码比前一包的小。这通常表明源文件是未正常 100% 创建的 Matroska 文件。所有包的时间码将以 %1%ms 调整以避免丢失任何数据。这可能导致音/视频不同步,但可以通过 mkvmerge 的 \"--sync\" 选项修正。如果您已经使用了 \"--sync\" 但仍然收到本警告,请 *不要* 着急 -- 这是正常的。如果对于一个特定轨超过一次出现本错误且您超过一次收到本消息,既可能是因为源文件严重错误,也可能是因为 mkvmerge 包含了某个 bug。如果是这样,请联系作者 Moritz Bunkus <moritz@bunkus.org>。\n" +msgstr "当前包的时间码比前一包的小。这通常表明源文件是未正常 100%% 创建的 Matroska 文件。所有包的时间码将以 %1%ms 调整以避免丢失任何数据。这可能导致音/视频不同步,但可以通过 mkvmerge 的 \"--sync\" 选项修正。如果您已经使用了 \"--sync\" 但仍然收到本警告,请 *不要* 着急 -- 这是正常的。如果对于一个特定轨超过一次出现本错误且您超过一次收到本消息,既可能是因为源文件严重错误,也可能是因为 mkvmerge 包含了某个 bug。如果是这样,请联系作者 Moritz Bunkus <moritz@bunkus.org>。\n" #: src/input/r_usf.cpp:129 msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "默认语言码 '%1%' 不是有效的 ISO639-2 语言代码,将被忽略。\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." msgstr "对文件 '%s' 的 %s 轨的延时设置无效。" -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5784,15 +5807,15 @@ msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." msgstr "关于关联至轨道的标签与全局标签的区别已在 mkvmerge 文档中作出解释。简而言之: 全局标签应用于整个文件,而您能在 '输入' 选项卡中添加的标签仅能应用于单个轨道。" -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "两轨的显示高度不同: %1% 与 %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "两轨的显示宽度不同: %1% 与 %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5809,8 +5832,8 @@ msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "编辑指定 '%1%' 与 '%2%' 作用在了 UID 为 %3% 的同一轨道上。\n" -#: src/mmg/header_editor/frame.cpp:688 -#: src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "元素已被写至文件尾部,但剪辑尺寸无法更新。因此这些元素将不可见。处理进程将被中止。文件已被修改!" @@ -5823,47 +5846,47 @@ msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." msgstr "第一个模式将尝试提取章节信息和标签并将其以 CUE 表单的形式输出。这是使用 mkvmerge 的 '--chapters' 选项调用 CUE 表单的逆操作。" -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "文件 '%1%' 无法附加,因为它不存在或不可读。\n" -#: src/extract/attachments.cpp:114 -#: src/extract/chapters.cpp:47 +#: src/extract/attachments.cpp:141 #: src/extract/cuesheets.cpp:208 #: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "文件 '%1%' 无法打开以读取 (%2%)。" -#: src/extract/timecodes_v2.cpp:169 -#: src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "文件 '%1%' 无法打开以读取 (%2%)。\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" msgstr "文件 '%1%' 无法打开以读取命令行参数。\n" -#: src/extract/tracks.cpp:275 +#: src/extract/tracks.cpp:276 #: src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 -#: src/extract/xtr_wav.cpp:112 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "文件 '%1%' 无法打开以写入 (%2%)。\n" -#: src/extract/attachments.cpp:92 +#: src/extract/attachments.cpp:121 #: src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "文件 '%1%' 无法打开以写入 (%2%, %3%)。\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "文件 '%1%' 已打开以写入。\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "文件 '%1%' 类型未知。请查看支持的文件类型 ('mkvmerge --list-types'),若您的文件类型受支持但被错误识别,请联系作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "文件 '%1%' 类型不支持 (%2%)。\n" @@ -5871,12 +5894,12 @@ msgid "The file '%1%' is empty." msgstr "文件 '%1%' 为空。" -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "文件 '%s' 不存在。" -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "文件 '%s' 已经与文件 '%s' 作为组合处理。不能重复添加。" @@ -5885,18 +5908,22 @@ msgid "The file could not be opened for writing." msgstr "文件无法打开以写入。" -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "文件不存在。" -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "文件似乎不是有效的 mkvmerge GUI 配置文件。" -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." msgstr "在头部编辑器读取此文件后,文件已被其他程序更改。因此您需要重新载入它。不幸的是这意味着您将丢失所有改动。" +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "文件未改动。" + #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" msgstr "文件头太短。\n" @@ -5905,7 +5932,7 @@ msgid "The file header was not read correctly.\n" msgstr "文件头读取异常。\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." msgstr "文件容器格式不支持 (%s)。" @@ -5914,36 +5941,36 @@ msgid "The file is analyzed.\n" msgstr "文件已分析。\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "正在固定文件,第 1/4 步..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "正在固定文件,第 2/4 步..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "正在固定文件,第 3/4 步..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "正在固定文件,第 4/4 步..." #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "此剪辑的文件名。" -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" msgstr "文件 %1% ('%2%') 不含 ID 为 %3% 的轨道,或者没选择复制该轨道。选项 '--append-to' 的参数无效。\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" msgstr "文件 %1% ('%2%') 不含 ID 为 %3% 的轨道,或者没选择复制该轨道。因此没有轨道可以追加给它。选项 '--append-to' 的参数无效。\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" msgstr "文件 %1% ('%2%') 未被追加合并。选项 '--append-to' 的参数无效。\n" @@ -5951,15 +5978,15 @@ msgid "The file you tried to open is not a Matroska file." msgstr "您试图打开的文件不是 Matroska 文件。" -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "您试图保存到的文件 *不是* Matroska 文件。" -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "您试图保存到的文件是个 Matroska 文件。要这样做的话,您应该使用“保存到 Matroska 文件”菜单项。" -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" msgstr "首个文件不能作为追加文件,因为没有文件供其追加。\n" @@ -5984,7 +6011,7 @@ msgid "The format of the split timecode/duration is invalid." msgstr "切割时间码/时长格式无效。" -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "格式不匹配。" @@ -5992,7 +6019,7 @@ msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." msgstr "第三个模式将提取章节,并将其转换为 XML。输出文件将按标准输出。输出文件可作为 mkvmerge 处理所用的源文件。" -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" msgstr "给定的时间码缩放比例超出有效值域 (1...10000000 或 -1 代表 '即使视频轨已提供时的采样精度')。\n" @@ -6002,16 +6029,16 @@ msgid "The header has already been written." msgstr "头部已被写入。" -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "两轨高度不同: %1% 与 %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "输入文件 '%s' 不包含任何轨道。" -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6027,7 +6054,7 @@ "\n" "(问题出在 tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6043,7 +6070,7 @@ "\n" "(问题出在 tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6060,7 +6087,7 @@ "(问题出在 tab_input::load(), #3)" #: src/mmg/options/chapters.cpp:113 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." msgstr "语言 '%s' 不是有效的语言,不可选。" @@ -6073,7 +6100,7 @@ msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" msgstr "时间码文件 '%2%' 的 %1% 行不包含有效的浮点数。\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "地区无法正常设定。请检查 LANG, LC_ALL 和 LC_MESSAGES 环境变量。\n" @@ -6082,7 +6109,7 @@ msgstr "将创建的最大文件数,即使最后一个文件包含的字节数/时间多于您想要的。本功能有时很有用,例如当您想要恰恰两个文件时。如果此处留空,mkvmerge 将创建的文件数目将不受限制。" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:413 +#: src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -6092,14 +6119,14 @@ "播放器播放过程中应该缓存的最大帧数。\n" "如果设为 0, 将不使用参考伪缓存系统。" -#: src/mmg/header_editor/frame.cpp:694 -#: src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "元定位元素已被写至文件尾部,但剪辑尺寸无法更新。因此这些元素不可见。处理进程将被中止。文件已被更改!" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:408 +#: src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -6109,11 +6136,11 @@ "播放器播放过程中应该缓存的最小帧数。\n" "如果设为 0, 将不使用参考伪缓存系统。" -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "在您选择的路径找不到 mkvmerge GUI 帮助文件。请再试一次,或者按 '取消' 按钮放弃。" -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" @@ -6127,19 +6154,19 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "名称 '%1%' 对 '%2%' 中的编辑指定不是有效的属性名。\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" msgstr "输出文件 '%1%' 的名称与输入文件之一相同。这将使 mkvmerge 覆写输入文件之一。这大概不是您想要的。\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "下一 UID 已在 '%1% %2%' 给出。\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" msgstr "两轨的比特每采样数(音频位深)不同: %1% 与 %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "两音频轨的声道数不同: %1% 与 %2%" @@ -6148,34 +6175,34 @@ msgstr "外部时间码数 %1% 小于此轨的帧数。此轨的其余帧将可能不按您想要的方式标记时间戳。mkvmerge 甚至可能崩溃。\n" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." msgstr "视频画面下边要移除的像素数。" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." msgstr "视频画面左边要移除的像素数。" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." msgstr "视频画面右边要移除的像素数。" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." msgstr "视频画面上边要移除的像素数。" -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" msgstr "选项 '--meta-seek-size' 不再受支持。请阅读 mkvmerge 的自述文档,尤其是关于 *Matroska 文件规划* 的段落。\n" @@ -6183,17 +6210,17 @@ msgid "The order of the various options is not important." msgstr "不必在意各选项的顺序。" -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "即将输出的文件 '%1%' 无法打开写入(%2%)。\n" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "即将输出的文件 '%s' 已存在。是否覆盖?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "输出文件名无效,可能含有 ':' 一类的无效字符。" @@ -6205,7 +6232,7 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "图片类型 '%1%' 无法识别。\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" msgstr "上一 UID 已在 '%1% %2%' 给出。\n" @@ -6233,7 +6260,7 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "'%1%' 中的属性值不是有效的无符号整数。%2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "原因未知。" @@ -6241,12 +6268,12 @@ msgid "The root element must be <%1%>." msgstr "根元索必须为 <%1%>。" -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" msgstr "两音频轨的采样率不同: %1% 与 %2%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:422 +#: src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" @@ -6263,7 +6290,7 @@ msgid "The seek table in this TTA file seems to be broken.\n" msgstr "此 TTA 文件中的定位表似乎已损坏。\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." msgstr "选定的语言 '%s' (章节 '%s')不是有效的语言代码。请选择预定义代码中的一项。" @@ -6276,16 +6303,16 @@ msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." msgstr "在此尺寸后开始新的输出文件。字母 'G', 'M' 和 'K' 分别可以用来代表吉/兆/千比特。所有单位换算均基于 1024 (G = 1024^3, M = 1024^2, K = 1024)。" -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "附件 '%1%' 的尺寸为 0。\n" -#: src/merge/output_control.cpp:305 -#: src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" msgstr "源文件 '%1%' 无法成功打开,或者无法通过定位至末端检索。\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." msgstr "轨道 %s(自文件 '%s')的伸展设置无效。" @@ -6310,11 +6337,11 @@ msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." msgstr "字串 'info', 'segment_info' 或 'segmentinfo' 表示选择剪辑信息元素。这也是发现首个 '--edit' 选项之前的默认选择。" -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "无法解析 '%1%' 中的标签: 缺少一些必要元素。\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "临时文件 '%1%' 无法打开以读取 (%2%)。\n" @@ -6364,108 +6391,120 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "在这些时间码后开始创建新的输出文件。这些时间码以整个流而不是分割开的各输出文件为准。时间码可以以 HH:MM:SS.nnnnnnnnn 的形式或紧跟 's' 的秒数给出。小时数 'HH' 可省略。您可以指定多达九位的毫微秒数 'nnnnnnnnn' 或者不指定小数点后的数。如果要给出,您可以在小数点后使用多达九位数字。如果使用的时间码超过一个,请使用逗号分隔。格式也可以混用。示例: 01:00:00,01:30:00 (在一小时后和一个半小时后切割) 或者 1800s,3000s,00:10:00 (在第 3 分钟,第 5 分钟和第 10 分钟后切割)。" -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" msgstr "此流的时间码在文件中途重置。这是不支持的。当前数据包将被废除。\n" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." msgstr "整部影片的标题。" -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" msgstr "轨道 %1% (自文件 %2% ('%3%'))被超过一次追加合并。'--append-to' 的参数无效。\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "轨道头无法正确呈递。%1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" msgstr "轨道号 %1% 无有效的 CodecID。\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" msgstr "轨道号 %1% (自文件 '%2%')可能无法被正确追加到轨道号 %3% (自文件 '%4%'): %5% 请证实生成的文件是否可以完整地正常播放。本程序的作者可能无法提供关于播放生成的文件的支持。\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" msgstr "轨道号 %1% (自文件 '%2%')无法追加到轨道号 %3% (自文件 '%4%')。%5%\n" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:387 +#: src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." msgstr "块头部使用的轨道号。" -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "轨道参数不匹配。" -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "无法从 %1% 检索更新信息。\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "两轨宽度不同: %1% 与 %2%" -#: src/merge/output_control.cpp:804 -#: src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "有新版本可用。" + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" msgstr "没有文件的 ID 为 '%1%'。参数 '--append-to' 无效。\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "尚无 '%1%' 的翻译。\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "查询更新状态时出错。" + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "有 *错误* 发生。" -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." msgstr "出现一些影响头部信息保存的头部值错误。第一处错误已被选中。" -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "有警告信息" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." msgstr "有警告信息,或者处理进程被中止。" -#: src/input/r_avi.cpp:609 #: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" msgstr "此 AAC 轨道不含有效的头。无法解析 AAC 信息。\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" msgstr "此 AAC 轨道不含有效的头。超额的头尺寸为 %1% 字节, 预期为 2 或 5 字节。\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "此 AC3 轨道的开头包含 %1% 字节的 非-AC3 数据。这相当于 %2%ms 的延时。将使用此延时替代 非-AC3 数据。\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "此 AC3 轨道包含 %1% 字节的 非-AC3 数据,已跳过。音/视频同步可能已丧失。\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "此 AVC/h.264 包含大于当前最大 NALU 长的帧。您需要重新运行 mkvmerge 并设置此轨的最大 NALU 尺寸为 %1% (命令行参数 '--nalu-size-length %2%:%1%')。\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" msgstr "此 AVC/h.264 轨道未以关键帧开头。已跳过开头 %1% 帧。\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "此 MPEG 音频轨的开头包含 %1% 字节的 非-MP3 数据。这相当于 %2%ms 的延时。将使用此延时替代无用数据。\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "此 MPEG 音频轨包含 %1% 字节的 非-MP3 数据,已跳过。音/视频同步可能已丧失。\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" msgstr "此 Ogg/OGM 文件包含章节或标题信息。不幸的是此文件中存储这些信息使用的字符集无法准确识别。程序假定以您系统的当前字符集为准。您可以通过 '--chapter-charset <charset>' 开关替代该假定值。\n" @@ -6500,12 +6539,12 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "此文件包含至少一个含有原生时间码的帧。全部时间码将以 %1% 调整以确保没有原生帧。\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "此文件含有交叉的时间轴。此类交叉不受 Matroska SRT 字幕格式的支持。交叉将被自动移除。\n" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "文件无法打开或解析。" @@ -6513,11 +6552,11 @@ msgid "This file could not be opened or parsed.\n" msgstr "文件无法打开或解析。\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "此文件不包含任何章节。" -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." msgstr "此文件不包含有效章节。" @@ -6529,7 +6568,7 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "这是播放器将作为此影片的“主标题”显示的标题。" -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." msgstr "此选项需要附加参数 'n'。告知 mkvmerge 在每簇最多放置 'n' 个数据块。如果数字后缀有 'ms' 则在每簇中最多放置 'n' 毫秒的数据。mkvmerge 接受的单个簇的最大长度为 60000 块,即 32000 ms;最小长度为 100 ms。程序定位只能精确到簇,因此创建大尺寸的簇将导致缓慢且不精确的定位。" @@ -6541,11 +6580,11 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "此属性是唯一的。不能在 '%1%' 增加其他实例。%2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "这 *真的* 不该发生。为首个元定位元素预留的空间过小。%1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "这 *真的* 不该发生。为首个元定位元素预留的空间过小。需要的尺寸: %1%. %2%\n" @@ -6553,15 +6592,15 @@ msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." msgstr "这不该发生。请联系作者 Moritz Bunkus <moritz@bunkus.org>,并附上本错误/警告消息、您正打算做的事情的描述、使用的命令行及您正在使用的操作系统。多谢。" -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." msgstr "此轨道包含 SBR AAC/HE-AAC/AAC+ 数据。本选项只对 AAC 输入文件有必要,因为这类文件的 SBR AAC 不能被自动侦测。对于从 MP4 或 Matroska 文件读取的 AAC 轨道,不必在意本选项。" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "此轨道与 WebM 模式不兼容,不可启用。" -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "时间切片" @@ -6574,15 +6613,15 @@ msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" msgstr "时间码文件 (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 -#: src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 -#: src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "时间码缩放比例: %1%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:421 +#: src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "时间码缩放比例" @@ -6591,11 +6630,11 @@ msgstr "时间码:" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "标题" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "标题: %1%" @@ -6611,19 +6650,19 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "轨道 %1% CodecPrivate 过小。\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "轨道 %1% 被以未知/不支持的压缩算法压缩 (%2%)。\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "轨道 %1% 以 bzlib 压缩,但 mkvmerge 编译时未包含 bzlib 压缩支持。\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "轨道 %1% 以 lzo1x 压缩,但 mkvmerge 编译时未包含 lzo1x 压缩支持。\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "轨道 %1% 以 zlib 压缩,但 mkvmerge 编译时未包含 zlib 压缩支持。\n" @@ -6635,23 +6674,23 @@ msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" msgstr "轨道 %1%(CodecID 为 '%2%')不含有效的头。\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" msgstr "轨道 %1%(CodecID 为 '%2%')缺 \"比特每秒 (bps)\" 元素,不能提取。\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" msgstr "轨道 %1%(CodecID 为 '%2%')缺 \"codec private \" 编解码器专有元素,不能提取。\n" -#: src/extract/xtr_aac.cpp:42 -#: src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_ogg.cpp:37 #: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 -#: src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" msgstr "轨道 %1%(CodecID 为 '%2%')缺 \"codec private\" 编解码器专有元素,不能提取。\n" @@ -6659,7 +6698,7 @@ msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" msgstr "轨道 %1%(CodecID 为 '%2%')缺 \"default duration\" 默认时长元素,不能提取。\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "轨道 %1%: %2%, 编解码器 ID: %3%%4%%5%%6%\n" @@ -6671,7 +6710,7 @@ msgid "Track %1%: NAL too big\n" msgstr "轨道 %1%: NAL 太长\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "轨道 %1%: 字幕号 %2% 缺时长。假定为 1 秒。\n" @@ -6684,16 +6723,16 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "轨道 ID %1% 的 AAC 类型未知。\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "轨道 ID %1%: %2% (%3%)" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:390 +#: src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "轨道 UID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "轨道 UID: %1%" @@ -6701,9 +6740,9 @@ msgid "Track extraction" msgstr "轨道提取" -#: src/propedit/options.cpp:157 #: src/propedit/propedit_cli_parser.cpp:88 #: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 msgid "Track headers" msgstr "轨道头部" @@ -6712,27 +6751,27 @@ msgstr "轨道名称:" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:386 +#: src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "轨道号" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "轨道号 %1% 已被加密,且尚未实行解密。\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "轨道号: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "轨道覆盖: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "轨道类型: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" msgstr "使用不支持的内容编码(压缩或加密)方案的轨道不能提取。\n" @@ -6740,16 +6779,16 @@ msgid "Tracks, chapters and tags:" msgstr "轨道、章节与标签:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." msgstr "TrueHD 音频流支持两种帧类:同步帧和非同步帧。启用本开关时,mkvmerge 将一个同步帧及其后的所有非同步帧置于单个 Matroska 块中。未使用本开关时每个非同步帧将被置于各自的 Matroska 块中。" -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" msgstr "两个 VobSub 轨道只能提取到同一个文件中,如果 CodecPrivate 数据相匹配的话。此问题只出在轨道 %1% 与 %2%。\n" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6761,15 +6800,15 @@ msgid "Type:" msgstr "类别:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "类型: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF 文本字幕" @@ -6781,6 +6820,10 @@ msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "单场帧后出现意外的画面帧。尝试混流前请先修复 MPEG2 视频流。\n" +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "未知" + #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." msgstr "未知的 AAC MPEG-2 profile %1%。" @@ -6789,7 +6832,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "未知的 AAC MPEG-4 对象类型 %1%。" -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "未知音频流类型 0x%|1$04x|。流 ID %2% 将被忽略。\n" @@ -6797,23 +6840,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "未知章节文件格式于 '%1%'。它不含支持的章节格式。\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "未知内容编码类型 %1%,用于轨道 %2%。\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "下一 UID 格式未知,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "上一 UID 格式未知,在 '%1% %2%'。\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" msgstr "'%1% %2%' 中的剪辑 UID '%3%' 格式未知。\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "未知头部字段 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6821,8 +6864,8 @@ msgid "Unknown mode '%1%'.\n" msgstr "未知模式 '%1%'。\n" +#: src/common/mm_io_win.cpp:69 #: src/common/mm_io.cpp:112 -#: src/common/mm_io_win.cpp:68 msgid "Unknown open mode" msgstr "打开模式未知" @@ -6834,7 +6877,7 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "未知解析模式,于 '%1% %2%'。\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "此音频轨的格式 0x%|1$04x| 未知或不支持。\n" @@ -6850,15 +6893,15 @@ msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." msgstr "无符号整数 (%1%) 太小。最小值为 %2%。" -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" msgstr "不支持 MPEG mpeg_version: 0x%|1$02x| 于数据包 %2% 时间码 %3% 处,假定为 MPEG2。不会再对此轨输出警告。\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" msgstr "不支持的格式" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" msgstr "不支持此轨道的轨道类型。\n" @@ -6870,88 +6913,46 @@ msgid "Usage" msgstr "用法" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"用法: mkvinfo [选项] inname\n" -"\n" -" 选项:\n" -" -g, --gui 启动 GUI (如果给定文件 inname 则打开)。\n" -" inname 使用 'inname' 作为来源文件。\n" -" -v, --verbose 增强“详细”程度。参见自述文档中关于 \n" -" mkvinfo 输出什么的详尽说明。\n" -" -c, --checksum 计算并显示帧内容的校验码。\n" -" -s, --summary 仅显示内容的摘要,而非所有元素。\n" -" -x, --hexdump 以十六进制转储形式显示各帧的前 16 字节。\n" -" -X, --full-hexdump\n" -" 以十六进制转储形式显示各帧的所有字节。\n" -" -z, --size 显示各元素的尺寸,包括头部尺寸。\n" -" --output-charset <charset>\n" -" 以 charset 指定的字符集输出消息\n" -" -r, -o, --redirect-output file.ext\n" -" 重定向(转储)所有消息至此文件。\n" -" -h, --help 显示本帮助。\n" -" -V, --version 显示版本信息。\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." msgstr "为生成的文件使用 '剪辑链接'。关于此特性的深入解释请参见 mkvmerge 文档。" -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." msgstr "对随文件改变而变动的元素 (混流日期, 剪辑 UID, 轨道 UID 等) 使用固定值。在激活本开关的情况下,使用相同配置混流的两个文件会完全一样。" -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "使用旧的 AAC 编解码器 ID (如 'A_AAC/MPEG4/SBR') 代替新的 ('A_AAC')。" -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" msgstr "使用先前的输出目录" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "使用此目录:" -#: src/mmg/tabs/input_extra.cpp:69 -#: src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "用户定义选项:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "使用 3 字节的 NALU 长可能会导致某些 AVC/h.264 编解码器无法解码该轨道。\n" -#: src/input/r_ac3.cpp:90 -#: src/input/r_matroska.cpp:1510 #: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "使用 %1%AC3 输出模块。\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "使用 AAC 音频输出模块。\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "使用 AAC 分离器。\n" @@ -6959,10 +6960,10 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "使用 AAC 输出模块 (FourCC: %1%)。\n" -#: src/input/r_aac.cpp:123 -#: src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 -#: src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "使用 AAC 输出模块。\n" @@ -6974,9 +6975,9 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "使用 AC3 输出模块 (FourCC: %1%)。\n" -#: src/input/r_avi.cpp:538 -#: src/input/r_ogm.cpp:987 -#: src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "使用 AC3 输出模块。\n" @@ -6985,7 +6986,7 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "使用 AVC/h.264 ES 分离器。\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "使用 AVI 分离器。正在打开文件。这需要一些时间(取决于文件尺寸)。\n" @@ -6997,11 +6998,11 @@ msgid "Using the DTS demultiplexer.\n" msgstr "使用 DTS 分离器。\n" -#: src/input/r_avi.cpp:549 +#: src/input/r_avi.cpp:680 #: src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 -#: src/input/r_mpeg_ps.cpp:1181 #: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "使用 DTS 输出模块。\n" @@ -7010,7 +7011,7 @@ msgstr "使用 Dirac 分离器。\n" #: src/input/r_dirac.cpp:96 -#: src/input/r_matroska.cpp:1431 +#: src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "使用 Dirac 视频输出模块。\n" @@ -7019,8 +7020,8 @@ msgstr "使用 FLAC 分离器。\n" #: src/input/r_flac.cpp:164 -#: src/input/r_matroska.cpp:1540 #: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "使用 FLAC 输出模块。\n" @@ -7028,11 +7029,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "使用 IVF 分离器。\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "使用 Kate 输出模块。\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "使用 Kate 字幕输出模块。\n" @@ -7040,7 +7041,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "使用 MP2/MP3 分离器。\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "使用 MPEG ES 分离器。\n" @@ -7048,62 +7049,71 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "使用 MPEG PS 分离器。\n" -#: src/input/r_avi.cpp:531 -#: src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 #: src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 -#: src/input/r_qtmp4.cpp:1541 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "使用 MPEG 音频输出模块。\n" -#: src/input/r_matroska.cpp:1415 -#: src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "使用 MPEG-%1% 视频输出模块。\n" -#: src/input/r_avi.cpp:299 -#: src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "使用 MPEG-1/2 视频输出模块。\n" -#: src/input/r_matroska.cpp:1804 -#: src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "使用 MPEG-4 part 10 (AVC) 视频输出模块。\n" +#: src/input/r_ogm.cpp:1154 #: src/input/r_avc.cpp:136 -#: src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 +#: src/input/r_avi.cpp:348 #: src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "使用 MPEG-4 part 10 ES 视频输出模块。\n" -#: src/input/r_avi.cpp:307 -#: src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 -#: src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "使用 MPEG-4 part 2 视频输出模块。\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "使用 Matroska 分离器。\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "使用 OGG/OGM 分离器。\n" -#: src/input/r_avi.cpp:523 -#: src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 -#: src/input/r_qtmp4.cpp:1547 +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 #: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "使用 PCM 输出模块。\n" +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "使用 PGS 输出模块。\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "使用 PGSSUP 分离器。\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "使用 Quicktime/MP4 分离器。\n" @@ -7120,7 +7130,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "使用 SRT 字幕读取器。\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "使用 SSA/ASS 字幕输出模块。\n" @@ -7132,13 +7142,13 @@ msgid "Using the TTA demultiplexer.\n" msgstr "使用 TTA 分离器。\n" -#: src/input/r_matroska.cpp:1566 #: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "使用 TTA 输出模块。\n" -#: src/input/r_matroska.cpp:1427 -#: src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "使用 Theora 视频输出模块。\n" @@ -7162,13 +7172,14 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "使用 VC1 ES 分离器。\n" -#: src/input/r_mpeg_ps.cpp:1215 #: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "使用 VC1 视频输出模块。\n" +#: src/input/r_ogm.cpp:1445 #: src/input/r_ivf.cpp:87 -#: src/input/r_matroska.cpp:1435 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "使用 VP8 视频输出模块。\n" @@ -7176,11 +7187,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "使用 VobBtn 按钮读取器。\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "使用 VobBtn 输出模块。\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "使用 VobSub 输出模块。\n" @@ -7192,9 +7203,9 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "使用 VobSub 字幕读取器 (SUB 文件 '%1%')。\n" -#: src/input/r_avi.cpp:678 -#: src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "使用 Vorbis 输出模块。\n" @@ -7210,25 +7221,25 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "使用 WAVPACK 分离器。\n" -#: src/input/r_matroska.cpp:1596 -#: src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "使用 WAVPACK 输出模块。\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" msgstr "使用通用音频输出模块 (FourCC: %|1$.4s|)。\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "对轨道 %1% 使用呈递输出模块。\n" -#: src/input/r_avi.cpp:381 -#: src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 -#: src/input/r_srt.cpp:60 -#: src/input/r_ssa.cpp:71 #: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "使用文本字幕输出模块。\n" @@ -7236,25 +7247,21 @@ msgid "Using the video output module (FourCC: %1%).\n" msgstr "使用视频输出模块 (FourCC: %1%)。\n" -#: src/input/r_qtmp4.cpp:1473 -#: src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" msgstr "使用视频输出模块 (FourCC: %|1$.4s|)。\n" -#: src/input/r_avi.cpp:336 -#: src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "使用视频输出模块。\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 基本流" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 视频基本流" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" msgstr "有效的小补缀有:\n" @@ -7263,47 +7270,47 @@ msgid "Validates the content of all changeable headers" msgstr "检验所有可变头的内容" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" msgstr "验证当前章节条目有无错误" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:485 +#: src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" msgstr "视频宽高比类型" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "视频下边裁减" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "视频左边裁减" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "视频右边裁减" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "视频上边裁减" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "视频显示高度" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "视频显示单位" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "视频显示宽度" @@ -7315,26 +7322,26 @@ msgid "Video interlaced flag" msgstr "视频隔行扫描标记" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "视频包汇编失败。错误代码: %1% (%2%)\n" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "视频像素高度" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "视频像素宽度" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 +#: src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "视频立体模式" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "视频轨" @@ -7343,87 +7350,73 @@ msgid "Video track %u" msgstr "视频轨 %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "查看 mkvmerge 处理选中任务时的输出信息" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn 按钮" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobBtn 按钮" -#: src/mmg/tabs/input.cpp:256 -#: src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub 字幕" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE (未压缩的 PCM 音频)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (未压缩的 PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK 无损音频" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4 音频" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" msgstr "对 mmg 可能的错误用法发出警告" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "行 %1% 处警告: 起始时间早于前一条的起始时间。此文件中的所有条目都将按起始时间重新排列。\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "警告信息:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "警告: " -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "警告: UID 为 %1% 的轨道多于一条。" -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "警告: 序号为 %1% 的轨道多于一条。" -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "警告信息:" -#: src/mmg/tabs/input.cpp:259 -#: src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebM 音/视频文件" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." msgstr "当文件被添加时它的名称会被扫描。如果包含单词“delay”且有一数字紧随其后,这个数字将被自动输入到已发现的该文件的所有音频轨的“延时”输入框。" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "编码后的视频帧的宽度,单位:像素。" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." msgstr "视频帧的显示宽度。" -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "为所有块写入时长。这将增大文件尺寸,而且目前对播放器来说不提供任何额外的益处。" @@ -7435,15 +7428,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "将 ID 为 TID 的轨道写入为文件 'out'。" -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "写入程序: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" msgstr "正在导出信息" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "正在写入 VobSub 索引文件 '%1%'。\n" @@ -7455,7 +7448,7 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "错误的 Theora 版本: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" msgstr "'--split-max-files' 参数错误。\n" @@ -7464,13 +7457,13 @@ msgstr "文件选错" #: src/mmg/header_editor/frame.cpp:248 -#: src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "文件选错" -#: src/common/kate.cpp:46 #: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "错误的头类型: 0x%|1$02x| != 0x%|2$02x|" @@ -7490,7 +7483,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "XML 解析器出错,于行 %1%: %2%。" -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "您已在使用最新版。" + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7508,7 +7505,7 @@ "还可以是通常的 HH:MM:SS.mmm 或 HH:MM:SS 格式。\n" "示例: -00:05:23 将使所有章节比现在提前 5 分 23 秒开始。" -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7523,7 +7520,7 @@ "\n" "是否继续?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7537,13 +7534,13 @@ "\n" "本消息只显示一次,除非您在 mmg 的 '设置' 页启用了警告提示。" -#: src/common/compression.cpp:130 -#: src/common/compression.cpp:167 +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib 解压失败。结果: %1%\n" -#: src/info/mkvinfo.cpp:165 -#: src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[%1% 帧,轨道 %2%, 时间码 %3%]" @@ -7551,7 +7548,7 @@ msgid "aac_reader: ADIF header files are not supported." msgstr "aac_reader: 不支持 ADIF 头文件。" -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader: 无法打开文件。" @@ -7559,17 +7556,17 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader: 无法读取 %1% 字节。" -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" msgstr "aac_reader: 开头 %1% 字节未发现有效的 AAC 包。\n" -#: src/mmg/jobs.cpp:335 -#: src/mmg/jobs.cpp:444 -#: src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 msgid "aborted" msgstr "异常中止" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" msgstr "ac3_bs_packetizer::add_to_buffer(): 未经测试的代码 ('size' 很古怪)。如果 mkvmerge 崩溃或者生成的文件不含完整且正常的音频轨,请与作者 Moritz Bunkus 联系,电邮为 moritz@bunkus.org。\n" @@ -7590,20 +7587,20 @@ msgid "add" msgstr "添加" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "色差" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "追加合并" -#: src/input/r_matroska.cpp:88 -#: src/mmg/mmg.cpp:57 -#: src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "音频" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "嵌入在 OGG 中的音频/视频/文本字幕" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_reader: 无法打开源文件。" @@ -7612,36 +7609,36 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_reader: 不该发生。" -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_reader: 无法初始化 AVI 源。原因: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_reader: 无法读取源文件。" -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." msgstr "avi_reader: 源非有效的 AVI 文件。" -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "比特每采样: %1%" -#: src/input/r_matroska.cpp:89 -#: src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "按钮" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > size。不该发生。请提交错误报告。\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2 压缩失败。结果: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress() 未实现\n" @@ -7650,19 +7647,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index: '%1%' 未找到\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "声道数: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "棋盘 (左先)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "棋盘 (右先)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "列交错 (左先)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "列交错 (右先)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "完成,正常" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "完成,有警告" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "压缩" @@ -7674,26 +7687,21 @@ msgid "corepicture_reader: Source is not a valid CorePanorama file." msgstr "corepicture_reader: 源非 CorePanorama 文件。" -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num 未找到。 %1%\n" -#: src/common/ebml.cpp:100 -#: src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: 遇到了无效的 UTF-8 序列。请联系 moritz@bunkus.org 并要求他实现一套更好的 UTF-8 解析器。" - -#: src/mmg/tabs/input_extra.cpp:91 -#: src/mmg/tabs/input_extra.cpp:165 #: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "默认" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "默认时长: %|1$.3f|ms (对于视频轨为 %|2$.3f|)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit() 失败。结果: %1%\n" @@ -7705,24 +7713,24 @@ msgid "disable all" msgstr "全部禁用" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " msgstr "可废弃, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "显示高度: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "显示宽度: %1%" -#: src/mmg/jobs.cpp:520 -#: src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 msgid "done" msgstr "完成" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "完成/有警告" @@ -7746,11 +7754,11 @@ msgid "enable all" msgstr "全部启用" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "启用" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "加密" @@ -7760,8 +7768,8 @@ #: src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 #: src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 -#: src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 #: src/common/mm_io.cpp:481 #: src/common/mm_io.cpp:491 @@ -7771,17 +7779,17 @@ #: src/common/mm_io.cpp:531 #: src/common/mm_io.cpp:541 #: src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 -#: src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "文件尾" -#: src/mmg/jobs.cpp:344 -#: src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 msgid "failed" msgstr "失败" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "filelist_t 未找到以供给 generic_packetizer_c。 %1%\n" @@ -7825,7 +7833,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_reader: 无法设置 metadata_respond_all。\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_reader: 解析文件出错: %1%\n" @@ -7835,26 +7843,22 @@ #: src/input/r_flac.cpp:149 msgid "flac_reader: could not initialize the FLAC packetizer.\n" -msgstr "flac_reader: 无法初始化 FLAC 分组器。\n" +msgstr "flac_reader: 无法初始化 FLAC 封装器。\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "全部帧" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "常规 Matroska 文件" - #: src/input/r_avc.cpp:76 #: src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "出现异常\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "除头" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "隐藏" @@ -7866,14 +7870,14 @@ msgid "highest" msgstr "最高" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit() 失败。结果: %1%\n" -#: src/mmg/jobs.cpp:72 -#: src/mmg/jobs.cpp:74 -#: src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "正在估算" @@ -7881,15 +7885,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_reader: 无法打开文件。" -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "关键帧, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "语言: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "长 %1%, 数据: %2%" @@ -7909,138 +7913,138 @@ msgid "lowest" msgstr "最低" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress() 未实行\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init() 失败。结果: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) 失败。\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微软兼容模式,轨道 %1%) Matroska 说每采样为 %2% 比特,但这个 WAVEFORMATEX 波形格式项索引 说有 %3% 比特。\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微软兼容模式,轨道 %1%) Matroska 说有 %2% 声道,但这个 WAVEFORMATEX 波形格式项索引 说有 %3% 声道。\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微软兼容模式,轨道 %1%) Matroska 说每秒有 %2% 采样,但这个 WAVEFORMATEX 波形格式项索引 说有 %3% 采样。\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (微软兼容模式, 轨道 %1%) Matrosa 说视频宽度为 %2%,但这个 BITMAPINFOHEADER 位图信息头 说是 %3%。\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (微软兼容模式, 轨道 %1%) Matroska 视频高度为 %2%,但这个 BITMAPINFOHEADER 位图信息头 说是 %3%。\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_reader: 有一条轨道缺 UID。\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_reader: 有一条轨道缺轨道号。\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" msgstr "matroska_reader: 无法保留轨道 UID %1%,因为它已被指派给了新文件。\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader: 无法读取头部。" -#: src/input/r_matroska.cpp:1208 -#: src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_reader: 未发现剪辑。\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_reader: 缺象素高度。\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_reader: 缺象素宽度。\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_reader: 轨 %2% 的 CodecID '%1%' 未知。\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" msgstr "matroska_reader: 轨 %1% 的 CodecID 为 '%2%',但没有出现 BITMAPINFOHEADER 位图信息头结构。因此我们没有可标记视频编码的 FourCC。\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_reader: 轨 %1% 的 CodecID 为 '%2%',但没有出现 WAVEFORMATEX 波形格式项索引结构。因此我们没有可标记音频编码的 Format ID。\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_reader: 轨 %1% 的 CodecID 为 '%2%',但没有编解码器专有头。\n" -#: src/input/r_matroska.cpp:483 -#: src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_reader: 轨 %1% 的 CodecID 为 '%2%',但没发现专有数据。\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_reader: 轨 %1% 的 CodecID 为 'A_VORBIS',但没有出现头部包。\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" -msgstr "matroska_reader: 缺CodecID。\n" +msgstr "matroska_reader: 缺 CodecID。\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_reader: 未设置轨道 %1% 的高。\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_reader: 未设置轨道 %1% 的宽。\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_reader: 轨道 %1% 应该是正常的。\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader: 轨道类型未找到。\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" msgstr "matroska_reader: Vorbis 轨道不含有效头。\n" -#: src/input/r_matroska.cpp:1300 -#: src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_reader: 发生异常\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader: mkvmerge 编译时没有附加 FLAC 支持。已忽略轨道 %1%。\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_reader: 未发现 EBML 头。\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader: 轨道 %1% 分离器类型未知: '%2%'\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_reader: | + 有超过一个轨道使用了 UID %1%。\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" msgstr "matroska_reader: | + 有超过一个轨道使用了数字 %1%。\n" @@ -8048,19 +8052,19 @@ msgid "max. number of files:" msgstr "最大文件数:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() 由文件 %1%, 行 %2% 调用: malloc() 对 %3% 个字节返回 NULL。\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() 由文件 %1%, 行 %2% 调用: malloc() 对 %3% 个字节返回 NULL。\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() 由文件 %1%, 行 %2% 调用: realloc() 对 %3% 个字节返回 NULL。\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor: 不能用!" @@ -8137,19 +8141,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): 层级 > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: 未知模式!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [选项] <inname>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o out [全局选项] [选项1] <file1> [@optionsfile ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmerge 执行 *失败* ,返回代码 %d。 %s" @@ -8164,22 +8168,22 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUI 发生错误" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI 准备就绪" -#: src/mmg/mmg_dialog.cpp:364 -#: src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI 配置文件 (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 -#: src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 -#: src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 -#: src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: 出错" @@ -8192,7 +8196,7 @@ msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." msgstr "mkvmerge 可以读取并使用外部文本文件中的时间码。这是项非常超前的功能,几乎所有用户应该留空。" -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" @@ -8204,22 +8208,22 @@ msgid "mkvmerge executable" msgstr "mkvmerge 可执行程序" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" msgstr "mkvmerge 执行完毕,返回代码 %d。%s" -#: src/mmg/jobs.cpp:147 -#: src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" msgstr "mkvmerge 已经执行完毕" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" msgstr "mkvmerge 编译时未包含 FLAC 支持,但收到了对此类流的处理请求。\n" -#: src/mmg/jobs.cpp:49 -#: src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge 正在运行" @@ -8227,7 +8231,7 @@ msgid "mkvmerge options" msgstr "mkvmerge 选项" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" msgstr "mkvmerge 输出信息:" @@ -8244,8 +8248,8 @@ msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." msgstr "mkvmerge 支持两种章节格式:类似 OGM 的文本格式和全功能的 XML 格式。此选项指定 OGM 章节格式所关联的语言。对于 XML 章节文件,此选项将被忽略。" -#: src/merge/output_control.cpp:247 -#: src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmerge 被 SIGINT 中断 (按了 Ctrl+C?)\n" @@ -8257,23 +8261,23 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [选项] <文件> <动作>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: 目前尚不支持UTF32_*。\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): 无效 UTF-8 字符。第一字节: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" msgstr "mmg 调试输出" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmg 选项" @@ -8281,11 +8285,15 @@ msgid "mmg will reset to the default list if no entry is selected." msgstr "若没有选中任何项,mmg 将重置为默认列表。" +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "单视角" + #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_reader: 无法打开源文件。" -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader: 无法打开文件。" @@ -8307,7 +8315,7 @@ msgid "no" msgstr "否" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "未加密" @@ -8319,17 +8327,18 @@ msgid "no file loaded" msgstr "未载入文件" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "未使用签名算法" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "未使用签名散列算法" -#: src/mmg/tabs/input_extra.cpp:94 -#: src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "无" @@ -8337,68 +8346,72 @@ msgid "normal" msgstr "普通" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ogg_stream_init 对流号 %1% 失败。将尝试继续并忽略该流。\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_buffer 失败\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_reader: 无法打开源文件。" -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_reader: 无法读取所有头部包。" -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." msgstr "ogm_reader: 源非有效的 OGG 媒体文件。" -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." msgstr "on_entry_selected: display == NULL。不该出现。" -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "仅 I 帧" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "输出采样率: %1%" -#: src/mmg/jobs.cpp:519 -#: src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 msgid "pending" msgstr "挂起" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: 无法打开文件。" + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "下边像素裁减: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "左边像素裁减: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "右边像素裁减: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "上边像素裁减: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "像素高度: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "像素宽度: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%)。 %3%\n" @@ -8406,12 +8419,12 @@ msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): 无效轨道类型 %1%。" -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "原始数据" -#: src/info/wxwidgets_ui.cpp:148 -#: src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "就绪" @@ -8440,15 +8453,31 @@ msgid "remove all" msgstr "全部移除" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" msgstr "其他: 未知" -#: src/info/mkvinfo.cpp:645 +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "行交错 (左先)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "行交错 (右先)" + +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "采样率: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "并行 (左先)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "并行 (右先)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extraction_duration: 遇到损坏的 SPU 包 (next_off < start_off) 于时间码 %1%。该包可能会被错误显示或者根本不显示。\n" @@ -8464,7 +8493,7 @@ msgid "ssa_reader: Could not open the source file." msgstr "ssa_reader: 无法打开源文件。" -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." msgstr "ssa_reader: 无效格式。\"[Events]\" 段中未找到 \"Format\" 行。" @@ -8472,16 +8501,16 @@ msgid "ssa_reader: Source is not a valid SSA/ASS file." msgstr "ssa_reader: 源非有效的 SSA/ASS 文件。" -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize()。这不该发生。请提交错误报告。多谢。" -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "字幕" -#: src/mmg/mmg.cpp:59 -#: src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "字幕" @@ -8489,11 +8518,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index: '%1%' 未发现\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "时间码" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "上下 (左先)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "上下 (右先)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "轨道名称" @@ -8517,21 +8554,22 @@ msgid "und (Undetermined)" msgstr "und (未定)" -#: src/input/r_matroska.cpp:87 -#: src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 -#: src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 -#: src/mmg/mmg.cpp:60 +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 #: src/mmg/header_editor/value_page.cpp:150 -#: src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 -#: src/info/mkvinfo.cpp:820 -#: src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 -#: src/info/mkvinfo.cpp:881 -#: src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "未知" @@ -8549,19 +8587,19 @@ #: src/common/strings/editing.cpp:270 msgid "utf8_strlen(): Invalid UTF-8 char. First byte: 0x%|1$02x|" -msgstr "utf8_strlen(): 无效 UTF-8 字符。首个字节: 0x%|1$02x|" +msgstr "utf8_strlen(): 无效的 UTF-8 字符。首个字节: 0x%|1$02x|" #: src/input/r_vc1.cpp:82 msgid "vc1_es_reader: Could not open the source file." msgstr "vc1_es_reader: 无法打开源文件。" -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" -msgstr "verify failed: chapters->CheckMandatory() 为非。这不该发生。请提交错误报告。\n" +msgstr "验证失败: chapters->CheckMandatory() 为非。这不该发生。请提交错误报告。\n" -#: src/input/r_matroska.cpp:90 -#: src/mmg/mmg.cpp:58 -#: src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 msgid "video" msgstr "视频" @@ -8577,9 +8615,9 @@ msgid "vobsub_reader: Cound not open the source file." msgstr "vobsub_reader: 无法打开源文件。" -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" -msgstr "vobsub_reader: sub_file->读取失败" +msgstr "vobsub_reader: sub_file->read 读取失败" #: src/input/r_wav.cpp:449 msgid "wav_reader: Could not open the source file." @@ -8609,24 +8647,24 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader: 无法打开文件。" -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "wavpack_reader: 未发现音频块\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader: 未知采样率!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "错误用法: 增量 < 0" -#: src/common/mm_io.cpp:839 -#: src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "错误用法: 对 *空* 内存使用只读模式" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "错误用法: 写入到只读内存" @@ -8642,86 +8680,226 @@ #~ msgstr "" #~ " 英文语言名 | ISO639-2 代码 | ISO639-1 代码\n" #~ "---------------------------------------------------+---------------+--------------\n" + +#~ msgid " (both eyes)" +#~ msgstr " (双视角)" + +#~ msgid " (left eye)" +#~ msgstr " (左视角)" + +#~ msgid " (right eye)" +#~ msgstr " (右视角)" + #~ msgid "%1% at %2%" #~ msgstr "%1% 于 %2%" + #~ msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|\n" #~ msgstr "%1% 帧, 轨道 %2%, 时间码 %3% (%4%), 尺寸 %5%, adler 0x%|6$08x|\n" + +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "本 GUI 由 Moritz Bunkus <moritz@bunkus.org> 编写\n" +#~ "基于 Florian Wagner <flo.wagner@gmx.de> 的 mmg\n" +#~ "mkvmerge GUI 依 GPL 授权。\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "帮助可通过工具提示、“帮助”菜单或按“F1”键获取。" + #~ msgid "'%1%' is only allowed for chapter extraction.\n" #~ msgstr "'%1%' 仅限提取章节时使用。\n" + #~ msgid "'--blockadd' is only allowed when extracting tracks.\n" #~ msgstr "'--blockadd' 仅允许在提取轨道时使用。\n" + #~ msgid "'--blockadd' lacks a level.\n" #~ msgstr "'--blockadd' 缺层级。\n" + #~ msgid "'--cuesheet' is only allowed when extracting tracks.\n" #~ msgstr "'--cuesheet' 只能在提取轨道时使用。\n" + #~ msgid "'--fullraw' is only allowed when extracting tracks.\n" #~ msgstr "'--fullraw' 只能在提取轨道时使用。\n" + #~ msgid "'--no-ogg' is only allowed when extracting tracks.\n" #~ msgstr "'--no-ogg' 只能在提取轨道时使用。\n" + #~ msgid "'--raw' is only allowed when extracting tracks.\n" #~ msgstr "'--raw' 只能在提取轨道时使用。\n" + #~ msgid "'-c' lacks a charset.\n" #~ msgstr "'-c' 缺字符集。\n" + #~ msgid "(Unknown element: %1%)" #~ msgstr "(未知元素: %1%)" + #~ msgid "A single '+' is not a valid command line option. If you want to append a file use '+' directly followed by the file name, e.g. '+movie_part_2.avi'." #~ msgstr "单独的 '+' 不是有效的命令行选项。如果您希望用 '+' 直接追加文件,请确保文件名紧跟着它,例如 '+movie_part_2.avi'。" + +#~ msgid "About mkvmerge's GUI" +#~ msgstr "关于 mkvmerge's GUI" + #~ msgid "Always adds '--engage use_simpleblock' to the command line. That way Matroska's new 'simple blocks' will be used which save a bit of overhead at the cost of not being backwards compatible." #~ msgstr "总在命令行中添加 '--engage use_simpleblock'。这样将使用 Matroska 的新 '简单块',可以省下一些额外开销,代价是将无法向下兼容。" + #~ msgid "Always use simple blocks" #~ msgstr "总使用简单块" + +#~ msgid "Both eyes" +#~ msgstr "双眼视角" + #~ msgid "Change the default values" #~ msgstr "修改默认值" + #~ msgid "Changing the interface language requires a restart to take effect." #~ msgstr "对界面语言的改动将在下次运行时生效。" + #~ msgid "Could not open the file '%1%'." #~ msgstr "无法打开文件 '%1%'。" + +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (数字影院系统)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac 基本流" + #~ msgid "Do not copy chapters from this file. Only applies to a couple of formats (e.g. Matroska files)." #~ msgstr "不要从此文件中复制章节。仅适用于部分格式(如 Matroska 文件)。" + #~ msgid "Do not copy tags from this file. Only applies to a couple of formats (e.g. Matroska files)." #~ msgstr "不要从此文件中复制标签。仅适用于部分格式(如 Matroska 文件)。" + #~ msgid "Do not write those header elements whose values are the same as their default values according to the Matroska specs." #~ msgstr "不要写入值与 Matroska 规范中的默认值相同的头元素。" + #~ msgid "During MPEG-4 part 2 B frame handling: The frame queue contains more frames than timecodes are available that can be assigned to them (reason: %1%). Therefore %2% frame(s) had to be dropped. The video might be broken around timecode %3%.\n" #~ msgstr "MPEG-4 part 2 B 帧处理过程中: 帧列包含了超过可分配时间码的帧 (原因: %1%)。因此 %2% 帧将被丢弃。视频在时间码 %3% 附近可能已损坏。\n" + +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC 无损音频" + #~ msgid "File options:" #~ msgstr "文件选项:" + #~ msgid "File/segment title" #~ msgstr "文件/剪辑标题" + #~ msgid "Global tags" #~ msgstr "全局标签" + +#~ msgid "IVF with VP8" +#~ msgstr "含 VP8 的 IVF" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "已知文件类型:\n" +#~ " 扩展名 说明\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "左眼视角" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG PS 程序流" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 第 II 层音频 (CBR 或 VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 第 III 层音频 (CBR 或 VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 视频基本流" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 视频基本流" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska 音/视频文件 (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroska 文件 (*.mkv;*.mka)|*.mkv;*.mka|%s" + #~ msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|All files|*.*" #~ msgstr "Matroska 文件 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|所有文件|*.*" + #~ msgid "No chapters" #~ msgstr "不读取章节" + #~ msgid "No further options allowed when extracting %1%.\n" #~ msgstr "提取 %1% 时不允许其他额外选项。\n" + #~ msgid "No further options allowed when regenerating the CUE sheet.\n" #~ msgstr "重新生成 CUE 表单时不允许其他额外选项。\n" + #~ msgid "No tags" #~ msgstr "不读取标签" + #~ msgid "No tracks will be copied from this file. This usually indicates a mistake in the command line.\n" #~ msgstr "此文件中没有待复制的轨道。这通常是因为命令行中的差错。\n" + +#~ msgid "None" +#~ msgstr "单视角" + #~ msgid "" #~ "Nothing to do.\n" #~ "\n" #~ msgstr "" #~ "无事可做。\n" #~ "\n" + #~ msgid "Other global options" #~ msgstr "其他全局选项" + +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 音视频" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia 音视频" + #~ msgid "Restart required" #~ msgstr "需要重新运行" + +#~ msgid "Right eye" +#~ msgstr "右眼视角" + #~ msgid "Set &default values" #~ msgstr "设置默认值(&D)" + +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "选择 VobSub 字幕使用的压缩方式。如果没有选中任何方式,VobSub 字幕将自动使用 zlib 压缩。选“无”将导致文件变得很大。" + #~ msgid "Subtitle charset:" #~ msgstr "字幕字符集:" + +#~ msgid "TTA lossless audio" +#~ msgstr "TTA 无损音频" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "MPEG-4 part 2 压缩仅适用于原生 MPEG-4。然而,您未使用 '--engage native_mpeg4' 选择原生 MPEG-4 模式。\n" + #~ msgid "This track uses a Matroska feature called 'Codec state elements'. mkvmerge supports these but this feature has not been turned on with the option '--engage use_codec_state'.\n" #~ msgstr "此轨道使用了叫做 '编解码态元素' 的 Matroska 特性。mkvmerge 支持该特性,但您尚未通过 '--engage use_codec_state' 来启用该特性。\n" + #~ msgid "Tracks:" #~ msgstr "轨道列表:" + #~ msgid "Unrecognized command line option '%1%'. Maybe you put a mode specific option before the input file name?\n" #~ msgstr "无法识别命令行选项 '%1%'。您是否将模式细节选项放在了输入文件名的前面?\n" + #~ msgid "" #~ "Usage: mkvextract tracks <inname> [options] [TID1:out1 [TID2:out2 ...]]\n" #~ " or mkvextract tags <inname> [options]\n" @@ -8855,49 +9033,138 @@ #~ " -h, --help 显示本帮助。\n" #~ " -V, --version 显示版本信息。\n" +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "用法: mkvinfo [选项] inname\n" +#~ "\n" +#~ " 选项:\n" +#~ " -g, --gui 启动 GUI (如果给定文件 inname 则打开)。\n" +#~ " inname 使用 'inname' 作为来源文件。\n" +#~ " -v, --verbose 增强“详细”程度。参见自述文档中关于 \n" +#~ " mkvinfo 输出什么的详尽说明。\n" +#~ " -c, --checksum 计算并显示帧内容的校验码。\n" +#~ " -s, --summary 仅显示内容的摘要,而非所有元素。\n" +#~ " -x, --hexdump 以十六进制转储形式显示各帧的前 16 字节。\n" +#~ " -X, --full-hexdump\n" +#~ " 以十六进制转储形式显示各帧的所有字节。\n" +#~ " -z, --size 显示各元素的尺寸,包括头部尺寸。\n" +#~ " --output-charset <charset>\n" +#~ " 以 charset 指定的字符集输出消息\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " 重定向(转储)所有消息至此文件。\n" +#~ " -h, --help 显示本帮助。\n" +#~ " -V, --version 显示版本信息。\n" + #, fuzzy #~ msgid "Using the IVF output module.\n" #~ msgstr "使用 FLAC 输出模块。\n" + +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "使用 VP8 视频输出模块。\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 视频基本流" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn 按钮" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (未压缩的 PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK 无损音频" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "写入为原始 FLAC 文件 (默认: 写为 OggFLAC 文件)。" + #~ msgid "You have not yet selected an output file." #~ msgstr "您尚未选择任何输入文件。" + #~ msgid "You have not yet selected any input file and/or no tracks." #~ msgstr "您尚未选择任何输入文件和/或未发现轨道。" + +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "嵌入在 OGG 中的音频/视频/文本字幕" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: 遇到了无效的 UTF-8 序列。请联系 moritz@bunkus.org 并要求他实现一套更好的 UTF-8 解析器。" + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: 无法设置错误回调。\n" + #~ msgid "flac_header_extraction: Could not set the metadata callback.\n" #~ msgstr "flac_header_extraction: 无法设置元数据回调。\n" + #~ msgid "flac_header_extraction: Could not set the read callback.\n" #~ msgstr "flac_header_extraction: 无法设置读取回调。\n" + #~ msgid "flac_header_extraction: Could not set the write callback.\n" #~ msgstr "flac_header_extraction: 无法设置写入回调。\n" + #~ msgid "flac_reader: Could not set the eof callback.\n" #~ msgstr "flac_reader: 无法设置档尾回调。\n" + #~ msgid "flac_reader: Could not set the error callback.\n" #~ msgstr "flac_reader: 无法设置错误回调。\n" + #~ msgid "flac_reader: Could not set the length callback.\n" #~ msgstr "flac_reader: 无法设置长度回调。\n" + #~ msgid "flac_reader: Could not set the metadata callback.\n" #~ msgstr "flac_reader: 无法设置元数据回调。\n" + #~ msgid "flac_reader: Could not set the read callback.\n" #~ msgstr "flac_reader: 无法设置读取回调。\n" + #~ msgid "flac_reader: Could not set the seek callback.\n" #~ msgstr "flac_reader: 无法设置定位回调。\n" + #~ msgid "flac_reader: Could not set the tell callback.\n" #~ msgstr "flac_reader: 无法设置通告回调。\n" + #~ msgid "flac_reader: Could not set the write callback.\n" #~ msgstr "flac_reader: 无法设置写入回调。\n" + #~ msgid "found_what == 0. Should not have happened. Please file a bug report.\n" #~ msgstr "found_what == 0。这不该发生。请提交错误报告。\n" + +#~ msgid "general Matroska files" +#~ msgstr "常规 Matroska 文件" + #~ msgid "locale.cpp/from_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/from_utf8(): 无效的转换名号 %1% (数字: %2%)。\n" + #~ msgid "locale.cpp/to_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/to_utf8(): 无效的转换名号 %1% (数字: %2%)。\n" + +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: 未知模式!?\n" + #~ msgid "mkvmerge GUI v%s ('%s')" #~ msgstr "mkvmerge GUI v%s ('%s')" + #~ msgid "r_matroska: Cluster does not contain a cluster timecode. File is broken. Aborting.\n" #~ msgstr "r_matroska: 簇不含簇时间码。文件已损坏。正在中断操作。\n" + #~ msgid "start_element: pdata->bin != NULL" #~ msgstr "start_element: pdata->bin != NULL" - diff -Nru mkvtoolnix-4.0.0/po/zh_TW.po mkvtoolnix-4.5.0+dfsg/po/zh_TW.po --- mkvtoolnix-4.0.0/po/zh_TW.po 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/po/zh_TW.po 2011-01-31 20:34:09.000000000 +0000 @@ -8,24 +8,25 @@ "Project-Id-Version: zh-TW\n" "Report-Msgid-Bugs-To: Dean Lee <xslidian@gmail.com>\n" "POT-Creation-Date: 2009-02-18 23:52+0100\n" -"PO-Revision-Date: 2010-06-04 19:13+0200\n" -"Last-Translator: Dong-Jun Wu <ziyawu@gmail.com>\n" +"PO-Revision-Date: 2011-01-23 01:52+0800\n" +"Last-Translator: Dongjun <ziyawu@gmail.com>\n" "Language-Team: Chinese Traditional <zh-l10n@linux.org.tw>\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese (Traditional)\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: src/extract/xtr_tta.cpp:117 +#: src/extract/xtr_tta.cpp:118 msgid "" "\n" "The temporary TTA file for track ID %1% is being copied into the final TTA file. This may take some time.\n" msgstr "" "\n" -"第 %1% 軌的臨時 TTA 檔正被複製到最終 TTA 檔中。這可能需要些時間。\n" +"第 %1% 軌的暫存 TTA 檔正被複製到最終 TTA 檔中。這可能需要些時間。\n" -#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:251 msgid "" "\n" "mkvmerge received a SIGINT (probably because the user pressed Ctrl+C). Trying to sanitize the file. If mkvmerge hangs during this process you'll have to kill it manually.\n" @@ -33,7 +34,7 @@ "\n" "mkvmerge 收到了一個 SIGINT(使用者可能按了 Ctrl+C)。正在嘗試恢復檔案。如果 mkvmerge 在過程中沒有回應,您需要手動停止它。\n" -#: src/merge/mkvmerge.cpp:238 +#: src/merge/mkvmerge.cpp:195 msgid "" " --aac-is-sbr <TID[:0|1]> The track with the ID is HE-AAC/AAC+/SBR-AAC\n" " or not. The value ':1' can be omitted.\n" @@ -41,7 +42,7 @@ " --aac-is-sbr <TID[:0|1]> 此 ID 指定的軌道是否為 HE-AAC/AAC+/SBR-AAC。\n" " 值「:1」可以被省略。\n" -#: src/merge/mkvmerge.cpp:159 +#: src/merge/mkvmerge.cpp:116 msgid "" " --append-mode <file|track>\n" " Selects how mkvmerge calculates timecodes when\n" @@ -50,7 +51,7 @@ " --append-mode <file|track>\n" " 選擇 mkvmerge 添加檔案時計算時間碼的方式。\n" -#: src/merge/mkvmerge.cpp:154 +#: src/merge/mkvmerge.cpp:111 msgid "" " --append-to <SFID1:STID1:DFID1:DTID1,SFID2:STID2:DFID2:DTID2,...>\n" " A comma separated list of file and track IDs\n" @@ -63,7 +64,7 @@ " 決定一個檔案的哪個軌道將被添加至前一個\n" " 檔案的某一軌道。\n" -#: src/merge/mkvmerge.cpp:251 +#: src/merge/mkvmerge.cpp:208 msgid "" " --aspect-ratio <TID:f|a/b>\n" " Sets the display dimensions by calculating\n" @@ -72,7 +73,7 @@ " --aspect-ratio <TID:f|a/b>\n" " 透過計算外觀比例的寬高設定顯示尺寸。\n" -#: src/merge/mkvmerge.cpp:254 +#: src/merge/mkvmerge.cpp:211 msgid "" " --aspect-ratio-factor <TID:f|a/b>\n" " First calculates the aspect ratio by multi-\n" @@ -84,13 +85,13 @@ " 先將視訊的原外觀比例與本係數相乘,\n" " 然後以此係數為基礎計算顯示尺寸。\n" -#: src/merge/mkvmerge.cpp:183 +#: src/merge/mkvmerge.cpp:140 msgid "" " --attach-file <file> Creates a file attachment inside the\n" " Matroska file.\n" msgstr " --attach-file <file> 在此 Matroska 檔中建立一個檔案附件。\n" -#: src/merge/mkvmerge.cpp:185 +#: src/merge/mkvmerge.cpp:142 msgid "" " --attach-file-once <file>\n" " Creates a file attachment inside the\n" @@ -100,7 +101,7 @@ " 在即將寫入的第一個 Matroska 檔中\n" " 建立一個檔案附件。\n" -#: src/merge/mkvmerge.cpp:177 +#: src/merge/mkvmerge.cpp:134 msgid "" " --attachment-description <desc>\n" " Description for the following attachment.\n" @@ -108,7 +109,7 @@ " --attachment-description <desc>\n" " 下列附件的描述。\n" -#: src/merge/mkvmerge.cpp:179 +#: src/merge/mkvmerge.cpp:136 msgid "" " --attachment-mime-type <mime type>\n" " Mime type for the following attachment.\n" @@ -116,31 +117,31 @@ " --attachment-mime-type <mime type>\n" " 下列附件的 Mime 類型。\n" -#: src/merge/mkvmerge.cpp:181 +#: src/merge/mkvmerge.cpp:138 msgid "" " --attachment-name <name> The name should be stored for the \n" " following attachment.\n" msgstr " --attachment-name <name> 下列附件存儲時的名稱。\n" -#: src/merge/mkvmerge.cpp:230 +#: src/merge/mkvmerge.cpp:187 msgid "" " --blockadd <TID:x> Sets the max number of block additional\n" " levels for this track.\n" msgstr " --blockadd <TID:x> 設定此軌道附加區塊的最大層級。\n" -#: src/merge/mkvmerge.cpp:129 +#: src/merge/mkvmerge.cpp:86 msgid " --chapter-charset <cset> Charset for a simple chapter file.\n" msgstr " --chapter-charset <cset> 簡單章節檔的字元集。\n" -#: src/merge/mkvmerge.cpp:128 +#: src/merge/mkvmerge.cpp:85 msgid " --chapter-language <lng> Set the 'language' element in chapter entries.\n" msgstr " --chapter-language <lng> 設定章節項目中的「語言」元件。\n" -#: src/merge/mkvmerge.cpp:127 +#: src/merge/mkvmerge.cpp:84 msgid " --chapters <file> Read chapter information from the file.\n" msgstr " --chapters <file> 從此檔案讀取章節資訊。\n" -#: src/merge/mkvmerge.cpp:146 +#: src/merge/mkvmerge.cpp:103 msgid "" " --cluster-length <n[ms]> Put at most n data blocks into each cluster.\n" " If the number is postfixed with 'ms' then\n" @@ -151,13 +152,13 @@ " 若數目字尾有「ms」則每叢集最多放置 \n" " n 毫秒的資料。\n" -#: src/merge/mkvmerge.cpp:151 +#: src/merge/mkvmerge.cpp:108 msgid " --clusters-in-meta-seek Write meta seek data for clusters.\n" msgstr "" " --no-clusters-in-meta-seek\n" " 將變換定位資料寫入叢集。\n" -#: src/merge/mkvmerge.cpp:285 +#: src/merge/mkvmerge.cpp:242 msgid "" " --command-line-charset <charset>\n" " Charset for strings on the command line\n" @@ -165,7 +166,7 @@ " --command-line-charset <charset>\n" " 命令列中字串的字元集\n" -#: src/merge/mkvmerge.cpp:274 +#: src/merge/mkvmerge.cpp:231 msgid "" " --compression <TID:method>\n" " Sets the compression method used for the\n" @@ -175,7 +176,7 @@ " 設定此指定的軌道使用的壓縮方式\n" " (「none」或「zlib」)。\n" -#: src/merge/mkvmerge.cpp:261 +#: src/merge/mkvmerge.cpp:218 msgid "" " --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n" @@ -183,7 +184,7 @@ " --cropping <TID:left,top,right,bottom>\n" " 設定剪裁的參數。\n" -#: src/merge/mkvmerge.cpp:130 +#: src/merge/mkvmerge.cpp:87 msgid "" " --cue-chapter-name-format <format>\n" " Pattern for the conversion from CUE sheet\n" @@ -192,7 +193,7 @@ " --cue-chapter-name-format <format>\n" " 由 CUE 索引向章節名稱的轉換模式。\n" -#: src/merge/mkvmerge.cpp:233 +#: src/merge/mkvmerge.cpp:190 msgid "" " --cues <TID:none|iframes|all>\n" " Create cue (index) entries for this track:\n" @@ -202,7 +203,7 @@ " 為指定軌道建立 cue(索引):\n" " 不索引,僅索引 I 畫格,索引全部畫格。\n" -#: src/merge/mkvmerge.cpp:241 +#: src/merge/mkvmerge.cpp:198 msgid "" " --default-duration <TID:Xs|ms|us|ns|fps>\n" " Force the default duration of a track to X.\n" @@ -212,7 +213,7 @@ " 強制某軌的預設持續時間為 X。\n" " X 可以是浮點數或分數。\n" -#: src/merge/mkvmerge.cpp:133 +#: src/merge/mkvmerge.cpp:90 msgid "" " --default-language <lng> Use this language for all tracks unless\n" " overridden with the --language option.\n" @@ -220,7 +221,7 @@ " --default-language <lng> 將此語言設為所有軌道的預設語言,\n" " 除非被 --language 選項覆蓋。\n" -#: src/merge/mkvmerge.cpp:224 +#: src/merge/mkvmerge.cpp:181 msgid "" " --default-track <TID[:bool]>\n" " Sets the 'default' flag for this track or\n" @@ -230,11 +231,11 @@ " 為此軌設定“預設軌”標記,\n" " 如果該布林值為 0 則強制不呈現。\n" -#: src/merge/mkvmerge.cpp:152 +#: src/merge/mkvmerge.cpp:109 msgid " --disable-lacing Do not Use lacing.\n" msgstr " --disable-lacing 停用所有軌道的緊縮。\n" -#: src/merge/mkvmerge.cpp:259 +#: src/merge/mkvmerge.cpp:216 msgid "" " --display-dimensions <TID:width>x<height>\n" " Explicitly set the display dimensions.\n" @@ -242,11 +243,11 @@ " --display-dimensions <TID:width>x<height>\n" " 明確設定顯示尺寸。\n" -#: src/merge/mkvmerge.cpp:153 +#: src/merge/mkvmerge.cpp:110 msgid " --enable-durations Enable block durations for all blocks.\n" msgstr " --enable-durations 為所有區塊啟用區塊持續時間寫入。\n" -#: src/merge/mkvmerge.cpp:227 +#: src/merge/mkvmerge.cpp:184 msgid "" " --forced-track <TID[:bool]>\n" " Sets the 'forced' flag for this track or\n" @@ -256,11 +257,11 @@ " 為此軌設定“強制軌”標記,\n" " 如果此布林值為 0 則強制不呈現。\n" -#: src/merge/mkvmerge.cpp:124 +#: src/merge/mkvmerge.cpp:81 msgid " --global-tags <file> Read global tags from a XML file.\n" msgstr " --global-tags <file> 從指定的 XML 檔案讀取整體標籤。\n" -#: src/merge/mkvmerge.cpp:236 +#: src/merge/mkvmerge.cpp:193 msgid "" " --language <TID:lang> Sets the language for the track (ISO639-2\n" " code, see --list-languages).\n" @@ -268,25 +269,25 @@ " --language <TID:lang> 設定指定軌道的語言(ISO639-2 碼,\n" " 參看 --list-languages)。\n" -#: src/merge/mkvmerge.cpp:172 +#: src/merge/mkvmerge.cpp:129 msgid " --link Link splitted files.\n" msgstr " --link 連接已分割的檔案。\n" -#: src/merge/mkvmerge.cpp:174 +#: src/merge/mkvmerge.cpp:131 msgid " --link-to-next <SID> Link the last file to the given SID.\n" msgstr " --link-to-next <SID> 連接最後一個檔案至指定 SID。\n" -#: src/merge/mkvmerge.cpp:173 +#: src/merge/mkvmerge.cpp:130 msgid " --link-to-previous <SID> Link the first file to the given SID.\n" msgstr " --link-to-previous <SID> 連接第一個檔案至指定 SID。\n" -#: src/merge/mkvmerge.cpp:281 +#: src/merge/mkvmerge.cpp:238 msgid "" " --list-languages Lists all ISO639 languages and their\n" " ISO639-2 codes.\n" msgstr " --list-languages 列出所有 ISO639 語言及其 ISO639-2 碼。\n" -#: src/merge/mkvmerge.cpp:244 +#: src/merge/mkvmerge.cpp:201 msgid "" " --nalu-size-length <TID:n>\n" " Force the NALU size length to n bytes with\n" @@ -296,27 +297,27 @@ " 強制 NALU 長為 n 位元組(2 <= n <= 4),\n" " 4 為預設值。\n" -#: src/merge/mkvmerge.cpp:216 +#: src/merge/mkvmerge.cpp:173 msgid " --no-chapters Don't keep chapters from the source file.\n" msgstr " --no-chapters 不要保留此來源檔中的章節。\n" -#: src/merge/mkvmerge.cpp:150 +#: src/merge/mkvmerge.cpp:107 msgid " --no-cues Do not write the cue data (the index).\n" msgstr " --no-cues 不要寫入 cue 資料 (索引)。\n" -#: src/merge/mkvmerge.cpp:215 +#: src/merge/mkvmerge.cpp:172 msgid " --no-global-tags Don't keep global tags from the source file.\n" msgstr " --no-global-tags 不要保留此來源檔中的整體標籤。\n" -#: src/merge/mkvmerge.cpp:287 +#: src/merge/mkvmerge.cpp:244 msgid " --output-charset <cset> Output messages in this charset\n" msgstr " --output-charset <cset> 用指定的字元集輸出訊息\n" -#: src/merge/mkvmerge.cpp:283 +#: src/merge/mkvmerge.cpp:240 msgid " --priority <priority> Set the priority mkvmerge runs with.\n" msgstr " --priority <priority> 設定 mkvmerge 執行時的優先權。\n" -#: src/merge/mkvmerge.cpp:138 +#: src/merge/mkvmerge.cpp:95 msgid "" " --segment-uid <SID1,[SID2...]>\n" " Set the segment UIDs to SID1, SID2 etc.\n" @@ -324,11 +325,11 @@ " --segment-uid <SID1,[SID2...]>\n" " 設定剪輯的 UID 為 SID1、SID2 等。\n" -#: src/merge/mkvmerge.cpp:137 +#: src/merge/mkvmerge.cpp:94 msgid " --segmentinfo <file> Read segment information from the file.\n" msgstr " --segmentinfo <file> 從此檔案讀取剪輯資訊。\n" -#: src/merge/mkvmerge.cpp:165 +#: src/merge/mkvmerge.cpp:122 msgid "" " --split <d[K,M,G]|HH:MM:SS|s>\n" " Create a new file after d bytes (KB, MB, GB)\n" @@ -338,7 +339,7 @@ " 在 d 位元組(或 KB, MB, GB)後或特定時間後\n" " 建立新檔案。\n" -#: src/merge/mkvmerge.cpp:168 +#: src/merge/mkvmerge.cpp:125 msgid "" " --split timecodes:A[,B...]\n" " Create a new file after each timecode A, B\n" @@ -347,24 +348,23 @@ " --split timecodes:A[,B...]\n" " 在 A, B 等每個時間碼後建立一個新檔案。\n" -#: src/merge/mkvmerge.cpp:171 +#: src/merge/mkvmerge.cpp:128 msgid " --split-max-files <n> Create at most n files.\n" msgstr " --split-max-files <n> 最多建立 n 個檔案。\n" -#: src/merge/mkvmerge.cpp:263 +#: src/merge/mkvmerge.cpp:220 msgid "" -" --stereo-mode <TID:n|none|left|right|both>\n" +" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" -" either be a numer 0 - 3 or one of the\n" -" keywords 'none', 'right', 'left' or 'both'.\n" +" either be a number 0 - 11 or a keyword\n" +" (see documentation for the full list).\n" msgstr "" -" --stereo-mode <TID:n|none|left|right|both>\n" -" 設定立體視覺模式參數。\n" -" 既可以是 0 - 3 中的一個數,\n" -" 也可以是「none」、「right」、「left」\n" -" 或「both」中的一個關鍵字。\n" +" --stereo-mode <TID:n|keyword>\n" +" 設定立體視覺模式參數。參數可以是\n" +" 0 - 11 中的一個數字或者一個關鍵字\n" +" (請見文件裡的完整清單)。\n" -#: src/merge/mkvmerge.cpp:269 +#: src/merge/mkvmerge.cpp:226 msgid "" " --sub-charset <TID:charset>\n" " Determines the charset the text subtitles are\n" @@ -374,23 +374,23 @@ " 決定文字字幕讀取時所用的字元集,以便轉換\n" " 為 UTF-8。\n" -#: src/merge/mkvmerge.cpp:162 +#: src/merge/mkvmerge.cpp:119 msgid " --timecode-scale <n> Force the timecode scale factor to n.\n" msgstr " --timecode-scale <n> 強制時間碼縮放係數為 n。\n" -#: src/merge/mkvmerge.cpp:240 +#: src/merge/mkvmerge.cpp:197 msgid " --timecodes <TID:file> Read the timecodes to be used from a file.\n" msgstr " --timecodes <TID:file> 從指定的檔案中讀取需要的時間碼。\n" -#: src/merge/mkvmerge.cpp:123 +#: src/merge/mkvmerge.cpp:80 msgid " --title <title> Title for this output file.\n" msgstr " --title <title> 此輸出檔案的標題。\n" -#: src/merge/mkvmerge.cpp:232 +#: src/merge/mkvmerge.cpp:189 msgid " --track-name <TID:name> Sets the name for a track.\n" msgstr " --track-name <TID:name> 指定軌的名稱。\n" -#: src/merge/mkvmerge.cpp:142 +#: src/merge/mkvmerge.cpp:99 msgid "" " --track-order <FileID1:TID1,FileID2:TID2,FileID3:TID3,...>\n" " A comma separated list of both file IDs\n" @@ -401,7 +401,7 @@ " 一組以逗號分隔的檔案 ID 及軌道 ID 清單,\n" " 控制輸出檔中的軌道順序。\n" -#: src/merge/mkvmerge.cpp:212 +#: src/merge/mkvmerge.cpp:169 msgid "" " --track-tags <n,m,...> Copy the tags for tracks n,m etc. Default: copy\n" " tags for all tracks.\n" @@ -409,39 +409,39 @@ " --track-tags <n,m,...> 複製 n, m 等音軌。預設:複製\n" " 標籤到所有軌道。\n" -#: src/merge/mkvmerge.cpp:284 +#: src/merge/mkvmerge.cpp:241 msgid " --ui-language <code> Force the translations for 'code' to be used.\n" msgstr " --ui-language <code> 強制使用「code」代表的翻譯版本。\n" -#: src/merge/mkvmerge.cpp:193 +#: src/merge/mkvmerge.cpp:150 msgid " -A, --no-audio Don't copy any audio track from this file.\n" msgstr " -A, --no-audio 不要從這個檔案中複製任何音軌。\n" -#: src/merge/mkvmerge.cpp:205 +#: src/merge/mkvmerge.cpp:162 msgid " -B, --no-buttons Don't copy any buttons track from this file.\n" msgstr " -B, --no-buttons 不要從這個檔案中複製任何按鈕軌。\n" -#: src/merge/mkvmerge.cpp:197 +#: src/merge/mkvmerge.cpp:154 msgid " -D, --no-video Don't copy any video track from this file.\n" msgstr " -D, --no-video 不要從這個檔案中複製任何視訊軌。\n" -#: src/merge/mkvmerge.cpp:210 +#: src/merge/mkvmerge.cpp:167 msgid " -M, --no-attachments Don't copy attachments from a source file.\n" msgstr " -M, --no-attachments 不要從指定來源檔案中複製附件。\n" -#: src/merge/mkvmerge.cpp:201 +#: src/merge/mkvmerge.cpp:158 msgid " -S, --no-subtitles Don't copy any subtitle track from this file.\n" msgstr " -S, --no-subtitles 不要從這個檔案中複製任何字幕軌。\n" -#: src/merge/mkvmerge.cpp:214 +#: src/merge/mkvmerge.cpp:171 msgid " -T, --no-track-tags Don't copy tags for tracks from the source file.\n" msgstr " -T, --no-track-tags 不要從此來源檔中複製軌道的標籤。\n" -#: src/merge/mkvmerge.cpp:293 +#: src/merge/mkvmerge.cpp:250 msgid " -V, --version Show version information.\n" msgstr " -V, --version 顯示版本資訊。\n" -#: src/merge/mkvmerge.cpp:190 +#: src/merge/mkvmerge.cpp:147 msgid "" " -a, --audio-tracks <n,m,...>\n" " Copy audio tracks n,m etc. Default: copy all\n" @@ -451,7 +451,7 @@ " 複製 n, m 等音軌。預設:複製所有\n" " 音軌。\n" -#: src/merge/mkvmerge.cpp:202 +#: src/merge/mkvmerge.cpp:159 msgid "" " -b, --button-tracks <n,m,...>\n" " Copy buttons tracks n,m etc. Default: copy\n" @@ -461,7 +461,7 @@ " 複製 n, m 等按鈕軌。預設:複製\n" " 所有按鈕軌。\n" -#: src/merge/mkvmerge.cpp:194 +#: src/merge/mkvmerge.cpp:151 msgid "" " -d, --video-tracks <n,m,...>\n" " Copy video tracks n,m etc. Default: copy all\n" @@ -471,7 +471,7 @@ " 複製 n, m 等視訊軌。預設:複製所有\n" " 視訊軌。\n" -#: src/merge/mkvmerge.cpp:249 +#: src/merge/mkvmerge.cpp:206 msgid "" " -f, --fourcc <FOURCC> Forces the FourCC to the specified value.\n" " Works only for video tracks.\n" @@ -479,19 +479,19 @@ " -f, --fourcc <FOURCC> 強制為指定的 FourCC 值。\n" " 僅對視訊軌有效。\n" -#: src/merge/mkvmerge.cpp:292 +#: src/merge/mkvmerge.cpp:249 msgid " -h, --help Show this help.\n" msgstr " -h, --help 顯示這個説明。\n" -#: src/merge/mkvmerge.cpp:279 +#: src/merge/mkvmerge.cpp:236 msgid " -i, --identify <file> Print information about the source file.\n" msgstr " -i, --identify <file> 輸出來源檔的資訊。\n" -#: src/merge/mkvmerge.cpp:280 +#: src/merge/mkvmerge.cpp:237 msgid " -l, --list-types Lists supported input file types.\n" msgstr " -l, --list-types 列出可支援的輸入檔案類型。\n" -#: src/merge/mkvmerge.cpp:206 +#: src/merge/mkvmerge.cpp:163 msgid "" " -m, --attachments <n[:all|first],m[:all|first],...>\n" " Copy the attachments with the IDs n, m etc to\n" @@ -503,15 +503,15 @@ " 至全部或者僅第一個輸出檔。\n" " 預設:複製所有附件至所有輸出檔。\n" -#: src/merge/mkvmerge.cpp:121 +#: src/merge/mkvmerge.cpp:78 msgid " -o, --output out Write to the file 'out'.\n" msgstr " -o, --output out 輸出至檔案「out」。\n" -#: src/merge/mkvmerge.cpp:120 +#: src/merge/mkvmerge.cpp:77 msgid " -q, --quiet suppress status output\n" msgstr " -q, --quiet 停用狀態輸出\n" -#: src/merge/mkvmerge.cpp:288 +#: src/merge/mkvmerge.cpp:245 msgid "" " -r, --redirect-output <file>\n" " Redirects all messages into this file.\n" @@ -519,7 +519,7 @@ " -r, --redirect-output <file>\n" " 將所有訊息重定向(轉存)至此檔案。\n" -#: src/merge/mkvmerge.cpp:198 +#: src/merge/mkvmerge.cpp:155 msgid "" " -s, --subtitle-tracks <n,m,...>\n" " Copy subtitle tracks n,m etc. Default: copy\n" @@ -529,19 +529,19 @@ " 複製 n, m 等字幕軌。預設:複製\n" " 所有字幕軌。\n" -#: src/merge/mkvmerge.cpp:211 +#: src/merge/mkvmerge.cpp:168 msgid " -t, --tags <TID:file> Read tags for the track from a XML file.\n" msgstr " -t, --tags <TID:file> 從 XML 檔案讀取用於指定軌道的標籤。\n" -#: src/merge/mkvmerge.cpp:119 +#: src/merge/mkvmerge.cpp:76 msgid " -v, --verbose verbose status\n" msgstr " -v, --verbose “詳細”狀態\n" -#: src/merge/mkvmerge.cpp:122 +#: src/merge/mkvmerge.cpp:79 msgid " -w, --webm Create WebM compliant file.\n" msgstr " -w, --webm 建立 WebM 遵循檔。\n" -#: src/merge/mkvmerge.cpp:217 +#: src/merge/mkvmerge.cpp:174 msgid "" " -y, --sync <TID:d[,o[/p]]>\n" " Synchronize, adjust the track's timecodes with\n" @@ -557,7 +557,7 @@ " 「p」若省略則預設為 1。\n" " 「o」和「p」均可為浮點數。\n" -#: src/merge/mkvmerge.cpp:290 +#: src/merge/mkvmerge.cpp:247 msgid "" " @optionsfile Reads additional command line options from\n" " the specified file (see man page).\n" @@ -593,100 +593,88 @@ msgid " X: binary in hex\n" msgstr " X: 用十六進位表示二進位檔\n" -#: src/info/mkvinfo.cpp:1022 +#: src/info/mkvinfo.cpp:349 msgid " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" msgstr " (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)" -#: src/info/mkvinfo.cpp:146 -#: src/info/mkvinfo.cpp:1030 +#: src/info/mkvinfo.cpp:183 +#: src/info/mkvinfo.cpp:1026 msgid " (adler: 0x%|1$08x|)" msgstr " (adler: 0x%|1$08x|)" -#: src/info/mkvinfo.cpp:751 -msgid " (both eyes)" -msgstr " (雙視角)" - -#: src/info/mkvinfo.cpp:731 +#: src/info/mkvinfo.cpp:738 msgid " (centimeters)" msgstr " (公分)" -#: src/info/mkvinfo.cpp:761 +#: src/info/mkvinfo.cpp:764 msgid " (fixed)" msgstr " (固定)" -#: src/info/mkvinfo.cpp:1026 +#: src/info/mkvinfo.cpp:354 msgid " (format tag: 0x%|1$04x|)" msgstr " (格式標識: 0x%|1$04x|)" -#: src/info/mkvinfo.cpp:759 +#: src/info/mkvinfo.cpp:762 msgid " (free resizing)" msgstr " (任意調整大小)" -#: src/info/mkvinfo.cpp:732 +#: src/info/mkvinfo.cpp:361 +msgid " (h.264 profile: %1% @L%2%.%3%)" +msgstr " (h.264 描述檔: %1% @L%2%.%3%)" + +#: src/info/mkvinfo.cpp:739 msgid " (inches)" msgstr " (英寸)" -#: src/info/mkvinfo.cpp:760 +#: src/info/mkvinfo.cpp:763 msgid " (keep aspect ratio)" msgstr " (保持外觀比例)" -#: src/info/mkvinfo.cpp:750 -msgid " (left eye)" -msgstr " (左視角)" - -#: src/info/mkvinfo.cpp:748 -msgid " (mono)" -msgstr " (單視角)" - -#: src/info/mkvinfo.cpp:730 +#: src/info/mkvinfo.cpp:737 msgid " (pixels)" msgstr " (像素)" -#: src/info/mkvinfo.cpp:749 -msgid " (right eye)" -msgstr " (右視角)" - #: src/common/xml/element_parser.cpp:464 msgid " Aborting.\n" msgstr " 異常中止。\n" -#: src/merge/mkvmerge.cpp:176 +#: src/merge/mkvmerge.cpp:133 msgid " Attachment support (more global options):\n" msgstr " 附件支援 (其他整體選項):\n" -#: src/merge/mkvmerge.cpp:126 +#: src/merge/mkvmerge.cpp:83 msgid " Chapter handling:\n" msgstr " 章節處理:\n" -#: src/merge/mkvmerge.cpp:164 +#: src/merge/mkvmerge.cpp:121 msgid " File splitting and linking (more global options):\n" msgstr " 檔案分割與合併 (其他整體選項):\n" -#: src/merge/mkvmerge.cpp:141 +#: src/merge/mkvmerge.cpp:98 msgid " General output control (advanced global options):\n" msgstr " 一般輸出控制 (進階整體選項):\n" -#: src/merge/mkvmerge.cpp:118 +#: src/merge/mkvmerge.cpp:75 msgid " Global options:\n" msgstr " 整體選項:\n" -#: src/merge/mkvmerge.cpp:189 +#: src/merge/mkvmerge.cpp:146 msgid " Options for each input file:\n" msgstr " 每個輸入檔各自的選項:\n" -#: src/merge/mkvmerge.cpp:273 +#: src/merge/mkvmerge.cpp:230 msgid " Options that only apply to VobSub subtitle tracks:\n" msgstr " 僅適用於 VobSub 字幕軌的選項:\n" -#: src/merge/mkvmerge.cpp:268 +#: src/merge/mkvmerge.cpp:225 msgid " Options that only apply to text subtitle tracks:\n" msgstr " 僅適用於文字字幕軌的選項:\n" -#: src/merge/mkvmerge.cpp:248 +#: src/merge/mkvmerge.cpp:205 msgid " Options that only apply to video tracks:\n" msgstr " 僅適用於視訊軌的選項:\n" -#: src/merge/mkvmerge.cpp:278 +#: src/merge/mkvmerge.cpp:235 msgid " Other options:\n" msgstr " 其他選項:\n" @@ -694,67 +682,75 @@ msgid " Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr " 記住像 &, <, > 和 \" 這樣的專有符號必須以常用的 HTML 方式轉義:& 代表「&」,< 代表「<」,> 代表「>」, " 代表「\"」。" -#: src/merge/mkvmerge.cpp:136 +#: src/merge/mkvmerge.cpp:93 msgid " Segment info handling:\n" msgstr " 剪輯資訊處理:\n" #: src/extract/mkvextract.cpp:63 -#: src/info/mkvinfo.cpp:174 +#: src/info/mkvinfo.cpp:211 msgid " at %1%" msgstr " 在 %1%" -#: src/merge/output_control.cpp:257 -#: src/merge/output_control.cpp:266 -#: src/merge/output_control.cpp:278 -#: src/merge/output_control.cpp:285 +#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:287 msgid " done\n" msgstr " 完成\n" -#: src/info/mkvinfo.cpp:175 +#: src/info/mkvinfo.cpp:212 msgid " size %1%" msgstr " 大小 %1%" -#: src/info/mkvinfo.cpp:191 +#: src/info/mkvinfo.cpp:228 msgid " size is unknown" msgstr "大小不明" -#: src/mmg/cli_options_dlg.cpp:80 +#: src/mmg/cli_options_dlg.cpp:110 +msgid "### Development hacks ###" +msgstr "### 程式碼開發 ###" + +#: src/mmg/cli_options_dlg.cpp:85 msgid "### Global output control ###" msgstr "### 整體輸出控制 ###" -#: src/common/version.cpp:33 +#: src/common/version.cpp:143 msgid "%1% built on %2% %3%" msgstr "%1% 編譯於 %2% %3%" -#: src/info/mkvinfo.cpp:163 +#: src/info/mkvinfo.cpp:200 msgid "%1% frame, track %2%, timecode %3% (%4%), duration %|5$.3f|, size %6%, adler 0x%|7$08x|%8%%9%\n" msgstr "%1% 畫格, 軌道 %2%, 時間碼 %3% (%4%), 持續時間 %|5$.3f|, 大小 %6%, adler 0x%|7$08x|%8%%9%\n" -#: src/info/mkvinfo.cpp:168 +#: src/info/mkvinfo.cpp:205 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%\n" msgstr "%1% 畫格, 軌道 %2%, 時間碼 %3% (%4%), 大小 %5%, adler 0x%|6$08x|%7%\n" -#: src/info/mkvinfo.cpp:164 +#: src/info/mkvinfo.cpp:201 msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|%7%%8%\n" msgstr "%1% 畫格, 軌道 %2%, 時間碼 %3% (%4%), 大小 %5%, adler 0x%|6$08x|%7%%8%\n" -#: src/merge/mkvmerge.cpp:665 +#: src/common/kax_file.cpp:165 +msgid "%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n" +msgstr "%1%: Matroska 在檔案結構的位置 %2% 裡發生錯誤。重新同步為下一等級 1 元件。\n" + +#: src/merge/mkvmerge.cpp:627 msgid "%1%: divisor is 0 in '%2% %3%'.\n" msgstr "%1%: 除數為 0,在「%2% %3%」。\n" -#: src/merge/mkvmerge.cpp:640 +#: src/merge/mkvmerge.cpp:602 msgid "%1%: invalid track ID in '%2% %3%'.\n" msgstr "%1%: 無效的軌道 ID 在「%2% %3%」。\n" -#: src/merge/mkvmerge.cpp:657 +#: src/merge/mkvmerge.cpp:619 msgid "%1%: missing dividend in '%2% %3%'.\n" msgstr "%1%: 在「%2% %3%」中缺少被除數。\n" -#: src/merge/mkvmerge.cpp:660 +#: src/merge/mkvmerge.cpp:622 msgid "%1%: missing divisor in '%2% %3%'.\n" msgstr "%1%: 在「%2% %3%」中缺少除數。\n" -#: src/merge/mkvmerge.cpp:636 +#: src/merge/mkvmerge.cpp:598 msgid "%1%: missing track ID in '%2% %3%'.\n" msgstr "%1%: 缺少軌道 ID,在「%2% %3%」。\n" @@ -776,46 +772,24 @@ "原始碼及最新程式會在下面的位址提供:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:291 -#: src/mmg/jobs.cpp:299 -#: src/mmg/mux_dialog.cpp:248 +#: src/mmg/jobs.cpp:297 +#: src/mmg/jobs.cpp:307 +#: src/mmg/mux_dialog.cpp:249 #, c-format msgid "%d minute(s) %d second(s)" msgstr "%d 分鐘 %d 秒" -#: src/mmg/mmg_dialog.cpp:710 -#, c-format -msgid "" -"%s\n" -"\n" -"This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" -"Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" -"mkvmerge GUI is licensed under the GPL.\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"Help is available in form of tool tips, from the\n" -"'Help' menu or by pressing the 'F1' key." -msgstr "" -"%s\n" -"\n" -"這個 GUI 由 Moritz Bunkus <moritz@bunkus.org> 撰寫\n" -"基於 Florian Wagner <flo.wagner@gmx.de> 的 mmg\n" -"mkvmerge GUI 以 GPL 授權發佈。\n" -"http://www.bunkus.org/videotools/mkvtoolnix/\n" -"\n" -"可透過工具提示、“説明”功能表或按“F1”鍵取得說明。" - -#: src/mmg/tabs/attachments.cpp:399 +#: src/mmg/tabs/attachments.cpp:401 #, c-format msgid "%s (MIME type %s, size %ld) from %s (%s)" msgstr "%s (MIME 類型 %s, 大小 %ld) 自 %s (%s)" -#: src/mmg/mmg.cpp:56 +#: src/mmg/mmg.cpp:61 #, c-format msgid "%s%s (ID %lld, type: %s) from %s" msgstr "%s%s (ID %lld, 類型: %s) 自 %s" -#: src/info/wxwidgets_ui.cpp:348 +#: src/info/wxwidgets_ui.cpp:332 #, c-format msgid "" "%s.\n" @@ -834,35 +808,43 @@ "原始碼及最新程式會在下面的位址提供:\n" "http://www.bunkus.org/videotools/mkvtoolnix/" -#: src/mmg/jobs.cpp:102 +#: src/mmg/jobs.cpp:103 msgid "&Abort" msgstr "中止(&A)" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "&About" msgstr "關於(&A)" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "&About\tF1" msgstr "關於(&A)\tF1" -#: src/mmg/mmg_dialog.cpp:263 -#: src/mmg/mmg_dialog.cpp:294 +#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:314 msgid "&Add to job queue" msgstr "加入到任務佇列(&A)" -#: src/mmg/mmg_dialog.cpp:273 +#: src/mmg/mmg_dialog.cpp:290 msgid "&Attachments\tAlt-2" msgstr "附件選項(&A)\tAlt-2" -#: src/mmg/mmg_dialog.cpp:281 +#: src/mmg/mmg_dialog.cpp:301 msgid "&Chapter Editor" msgstr "章節編輯器(&C)" -#: src/mmg/mmg_dialog.cpp:275 +#: src/mmg/mmg_dialog.cpp:292 msgid "&Chapter editor\tAlt-4" msgstr "章節編輯器(&C)\tAlt-4" +#: src/mmg/mmg_dialog.cpp:296 +msgid "&Check for updates" +msgstr "檢查更新(&C)" + +#: src/mmg/update_checker.cpp:69 +msgid "&Close" +msgstr "關閉(&C)" + #: src/mmg/header_editor/frame.cpp:145 msgid "&Close\tCtrl-W" msgstr "關閉(&C)\tCtrl-W" @@ -871,19 +853,19 @@ msgid "&Collapse all entries\tCtrl-P" msgstr "收起所有項目(&C)\tCtrl-P" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "&Copy command line to clipboard" msgstr "複製命令列至剪貼簿(&C)" -#: src/mmg/mmg_dialog.cpp:293 +#: src/mmg/mmg_dialog.cpp:313 msgid "&Copy to clipboard" msgstr "複製命令列(&C)" -#: src/mmg/jobs.cpp:470 +#: src/mmg/jobs.cpp:479 msgid "&Disable" msgstr "停用(&D)" -#: src/mmg/jobs.cpp:462 +#: src/mmg/jobs.cpp:471 msgid "&Down" msgstr "下移(&D)" @@ -891,84 +873,84 @@ msgid "&Expand all entries\tCtrl-E" msgstr "展開所有項(&E)\tCtrl-E" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "&Expand important elements\tCtrl-E" msgstr "展開重要分支(&E)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:279 +#: src/mmg/mmg_dialog.cpp:299 #: src/mmg/header_editor/frame.cpp:151 -#: src/info/wxwidgets_ui.cpp:139 +#: src/info/wxwidgets_ui.cpp:123 msgid "&File" msgstr "檔案(&F)" -#: src/mmg/mmg_dialog.cpp:274 +#: src/mmg/mmg_dialog.cpp:291 msgid "&Global options\tAlt-3" msgstr "整體選項(&G)\tAlt-3" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "&Header editor\tCtrl-E" msgstr "表頭編輯器(&H)\tCtrl-E" -#: src/mmg/mmg_dialog.cpp:283 +#: src/mmg/mmg_dialog.cpp:303 #: src/mmg/header_editor/frame.cpp:153 -#: src/info/wxwidgets_ui.cpp:141 +#: src/info/wxwidgets_ui.cpp:125 msgid "&Help" msgstr "說明(&H)" -#: src/mmg/mmg_dialog.cpp:276 +#: src/mmg/mmg_dialog.cpp:293 #: src/mmg/header_editor/frame.cpp:150 msgid "&Help\tF1" msgstr "說明(&H)\tF1" -#: src/mmg/mmg_dialog.cpp:272 +#: src/mmg/mmg_dialog.cpp:289 msgid "&Input\tAlt-1" msgstr "輸入(&I)\tAlt-1" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "&Load" msgstr "載入(&L)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "&Load settings\tCtrl-L" msgstr "載入設定檔(&L)\tCtrl-L" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "&Manage jobs\tCtrl-J" msgstr "管理任務(&M)\tCtrl-J" -#: src/mmg/mmg_dialog.cpp:280 +#: src/mmg/mmg_dialog.cpp:300 msgid "&Muxing" msgstr "合成(&M)" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "&New\tCtrl-N" msgstr "新增(&N)\tCtrl-N" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "&New chapters" msgstr "新增章節(&N)" -#: src/mmg/jobs.cpp:100 -#: src/mmg/jobs.cpp:385 -#: src/mmg/jobs.cpp:489 +#: src/mmg/jobs.cpp:101 +#: src/mmg/jobs.cpp:394 +#: src/mmg/jobs.cpp:498 msgid "&Ok" msgstr "確定(&O)" #: src/mmg/header_editor/frame.cpp:142 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "&Open\tCtrl-O" msgstr "開啟(&O)\tCtrl-O" -#: src/info/wxwidgets_ui.cpp:140 +#: src/info/wxwidgets_ui.cpp:124 msgid "&Options" msgstr "選項(&O)" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 #: src/mmg/header_editor/frame.cpp:146 msgid "&Quit\tCtrl-Q" msgstr "離開(&Q)\tCtrl-Q" -#: src/mmg/jobs.cpp:467 +#: src/mmg/jobs.cpp:476 msgid "&Re-enable" msgstr "重新啟用(&R)" @@ -980,8 +962,8 @@ msgid "&Reset" msgstr "重置(&R)" -#: src/mmg/jobs.cpp:390 -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/jobs.cpp:399 +#: src/mmg/mmg_dialog.cpp:285 msgid "&Save" msgstr "儲存(&S)" @@ -989,19 +971,19 @@ msgid "&Save\tCtrl-S" msgstr "儲存(&S)\tCtrl-S" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "&Save info as text\tCtrl-S" msgstr "另存資訊為純文字檔(&S)\tCtrl-S" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "&Save settings\tCtrl-S" msgstr "儲存設定檔(&S)\tCtrl-S" -#: src/mmg/jobs.cpp:494 +#: src/mmg/jobs.cpp:503 msgid "&Start" msgstr "開始(&S)" -#: src/mmg/jobs.cpp:459 +#: src/mmg/jobs.cpp:468 msgid "&Up" msgstr "上移(&U)" @@ -1009,47 +991,47 @@ msgid "&Validate\tCtrl-T" msgstr "檢驗(&V)\tCtrl-T" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "&Verify" msgstr "驗證(&V)" -#: src/mmg/jobs.cpp:480 +#: src/mmg/jobs.cpp:489 msgid "&View log" msgstr "檢視日誌(&V)" -#: src/mmg/mmg_dialog.cpp:282 +#: src/mmg/mmg_dialog.cpp:302 msgid "&Window" msgstr "視窗(&W)" -#: src/merge/mkvmerge.cpp:1593 +#: src/merge/mkvmerge.cpp:1584 msgid "'%1%' can only be used with a file name. No further options are allowed if this option is used.\n" msgstr "「%1%」只能與檔名一同使用。只要使用本選項,就不允許使用其他選項。\n" -#: src/merge/mkvmerge.cpp:502 +#: src/merge/mkvmerge.cpp:464 msgid "'%1%' does not contain a valid unit ('s', 'ms', 'us' or 'ns') in '%2% %3%'.\n" msgstr "「%1%」不包含有效單位 (「s」、「ms」、「us」或「ns」) 在「%2% %3%」中。\n" -#: src/merge/mkvmerge.cpp:1017 -msgid "'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n" -msgstr "「%1%」是 --compression 不支援的參數。可選的壓縮方式為「none」和「zlib」。\n" +#: src/merge/mkvmerge.cpp:1008 +msgid "'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n" +msgstr "「%1%」是 --compression 不支援的參數。可用的壓縮方式有: %2%\n" -#: src/merge/mkvmerge.cpp:977 +#: src/merge/mkvmerge.cpp:949 msgid "'%1%' is an unsupported argument for --cues.\n" msgstr "「%1%」是 --cues 不支援的參數。\n" -#: src/common/command_line.cpp:202 +#: src/common/command_line.cpp:203 msgid "'%1%' is missing the file name.\n" msgstr "「%1%」缺少檔案名。\n" -#: src/merge/mkvmerge.cpp:1430 +#: src/merge/mkvmerge.cpp:1421 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--chapter-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "「--chapter-language %1%」中的「%1%」既不是有效的 ISO639-2 碼,也不是有效的 ISO639-1 碼。詳見「mkvmerge --list-languages」提供的語言清單及各語言的 ISO639-2 碼。\n" -#: src/merge/mkvmerge.cpp:1498 +#: src/merge/mkvmerge.cpp:1489 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code in '--default-language %1%'. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "「--default-language %1%」中的「%1%」既不是有效的 ISO639-2 碼,也不是有效的 ISO639-1 碼。詳見「mkvmerge --list-languages」提供的語言清單及各語言的 ISO639-2 碼。\n" -#: src/merge/mkvmerge.cpp:1053 +#: src/merge/mkvmerge.cpp:1044 msgid "'%1%' is neither a valid ISO639-2 nor a valid ISO639-1 code. See 'mkvmerge --list-languages' for a list of all languages and their respective ISO639-2 codes.\n" msgstr "「%1%」既不是有效的 ISO639-2 碼,也不是有效的 ISO639-1 碼。詳見「mkvmerge --list-languages」提供的所有語言清單及各語言的 ISO639-2 碼。\n" @@ -1062,7 +1044,7 @@ msgid "'%1%' is not a CHAPTERxxNAME=... line." msgstr "第「%1%」行的格式不是 CHAPTERxxNAME=... 。" -#: src/merge/mkvmerge.cpp:480 +#: src/merge/mkvmerge.cpp:442 msgid "'%1%' is not a valid %2% in '%3% %4%'.\n" msgstr "「%1%」不是有效的 %2% 在「%3% %4%」中。\n" @@ -1070,11 +1052,11 @@ msgid "'%1%' is not a valid ISO639-2 language code." msgstr "「%1%」不是有效的 ISO639-2 語言碼。" -#: src/merge/mkvmerge.cpp:1216 +#: src/merge/mkvmerge.cpp:1207 msgid "'%1%' is not a valid append mode in '--append-mode %1%'.\n" msgstr "「%1%」不是有效的添加模式,在「--append-mode %1%」中。\n" -#: src/merge/mkvmerge.cpp:1287 +#: src/merge/mkvmerge.cpp:1278 msgid "'%1%' is not a valid block additional max in '--blockadd %2%'.\n" msgstr "「%1%」不是有效的附加區塊最大值,在「--blockadd %2%」。\n" @@ -1082,8 +1064,8 @@ msgid "'%1%' is not a valid ccTLD country code." msgstr "「%1%」不是有效的 ccTLD 國家代碼。" -#: src/merge/mkvmerge.cpp:1152 -#: src/merge/mkvmerge.cpp:1155 +#: src/merge/mkvmerge.cpp:1143 +#: src/merge/mkvmerge.cpp:1146 msgid "'%1%' is not a valid file ID in '--track-order %2%'.\n" msgstr "「%1%」不是有效的檔案 ID,在「--track-order %2%」。\n" @@ -1091,39 +1073,39 @@ msgid "'%1%' is not a valid hack.\n" msgstr "「%1%」不是有效的小補綴。\n" -#: src/merge/mkvmerge.cpp:1200 +#: src/merge/mkvmerge.cpp:1191 msgid "'%1%' is not a valid mapping of file and track IDs in '--append-to %2%'.\n" msgstr "「%1%」不是有效的檔案 - 軌道 ID 對應,在「--append-to %2%」。\n" -#: src/merge/mkvmerge.cpp:1149 +#: src/merge/mkvmerge.cpp:1140 msgid "'%1%' is not a valid pair of file ID and track ID in '--track-order %2%'.\n" msgstr "「%1%」不是有效的檔案 ID - 軌道 ID 對,在「--track-order %2%」。\n" -#: src/merge/mkvmerge.cpp:1279 +#: src/merge/mkvmerge.cpp:1270 msgid "'%1%' is not a valid pair of track ID and block additional in '--blockadd %1%'.\n" msgstr "「%1%」不是有效的 軌道 ID - 附加區塊 對,在「--blockadd %1%」。\n" -#: src/merge/mkvmerge.cpp:1324 +#: src/merge/mkvmerge.cpp:1315 msgid "'%1%' is not a valid priority class.\n" msgstr "「%1%」不是有效的優先順序類。\n" -#: src/merge/mkvmerge.cpp:1283 +#: src/merge/mkvmerge.cpp:1274 msgid "'%1%' is not a valid track ID in '--blockadd %2%'.\n" msgstr "「%1%」不是有效的軌道 ID,在「--blockadd %2%」。\n" -#: src/merge/mkvmerge.cpp:1234 +#: src/merge/mkvmerge.cpp:1225 msgid "'%1%' is not a valid track ID in '--default-duration %2%'.\n" msgstr "「%1%」不是有效的軌道 ID,在「--default-duration %2%」。\n" -#: src/merge/mkvmerge.cpp:1255 +#: src/merge/mkvmerge.cpp:1246 msgid "'%1%' is not a valid track ID in '--nalu-size-length %2%'.\n" msgstr "「%1%」不是有效的軌道 ID,在「--nalu-size-length %2%」。\n" -#: src/merge/mkvmerge.cpp:1251 +#: src/merge/mkvmerge.cpp:1242 msgid "'%1%' is not a valid tuple of track ID and NALU size length in '--nalu-size-length %1%'.\n" msgstr "「%1%」不是有效的 軌道 ID - NALU 長度大小 組,在「--nalu-size-length %1%」。\n" -#: src/merge/mkvmerge.cpp:1230 +#: src/merge/mkvmerge.cpp:1221 msgid "'%1%' is not a valid tuple of track ID and default duration in '--default-duration %1%'.\n" msgstr "「%1%」不是有效的 軌道 ID - 預設持續時間 組,在「--default-duration %1%」。\n" @@ -1135,286 +1117,286 @@ msgid "'%1%' is only allowed when extracting tracks.\n" msgstr "「%1%」僅允許在提取軌道時使用。\n" -#: src/merge/mkvmerge.cpp:1613 +#: src/merge/mkvmerge.cpp:1604 msgid "'%1%' lacks a file name.\n" msgstr "「%1%」缺少檔名。\n" -#: src/merge/mkvmerge.cpp:1842 -#: src/merge/mkvmerge.cpp:2006 +#: src/merge/mkvmerge.cpp:1833 +#: src/merge/mkvmerge.cpp:1997 msgid "'%1%' lacks its argument.\n" msgstr "「%1%」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1915 +#: src/merge/mkvmerge.cpp:1906 msgid "'%1%' lacks the FourCC.\n" msgstr "「%1%」缺少 FourCC 值。\n" -#: src/merge/mkvmerge.cpp:1957 +#: src/merge/mkvmerge.cpp:1948 msgid "'%1%' lacks the delay.\n" msgstr "「%1%」缺少延遲持續時間。\n" -#: src/merge/mkvmerge.cpp:1776 +#: src/merge/mkvmerge.cpp:1767 msgid "'%1%' lacks the file name.\n" msgstr "「%1%」缺少附件檔名。\n" -#: src/merge/mkvmerge.cpp:2013 +#: src/merge/mkvmerge.cpp:2004 msgid "'%1%' lacks the track ID.\n" msgstr "「%1%」缺少軌道 ID。\n" -#: src/merge/mkvmerge.cpp:1880 -#: src/merge/mkvmerge.cpp:1887 -#: src/merge/mkvmerge.cpp:1894 -#: src/merge/mkvmerge.cpp:1901 -#: src/merge/mkvmerge.cpp:1908 +#: src/merge/mkvmerge.cpp:1871 +#: src/merge/mkvmerge.cpp:1878 +#: src/merge/mkvmerge.cpp:1885 +#: src/merge/mkvmerge.cpp:1892 +#: src/merge/mkvmerge.cpp:1899 msgid "'%1%' lacks the track number(s).\n" msgstr "「%1%」缺少軌道編號。\n" -#: src/common/output.cpp:127 -#: src/common/output.cpp:140 -#: src/common/output.cpp:153 -#: src/common/output.cpp:174 +#: src/common/output.cpp:134 +#: src/common/output.cpp:147 +#: src/common/output.cpp:160 +#: src/common/output.cpp:181 msgid "'%1%' track %2%: %3%" msgstr "「%1%」軌道 %2%: %3%" -#: src/common/output.cpp:120 -#: src/common/output.cpp:133 -#: src/common/output.cpp:146 -#: src/common/output.cpp:163 +#: src/common/output.cpp:127 +#: src/common/output.cpp:140 +#: src/common/output.cpp:153 +#: src/common/output.cpp:170 msgid "'%1%': %2%" msgstr "「%1%」: %2%" #: src/common/mm_multi_file_io.cpp:165 -#: src/mmg/tabs/input.cpp:741 +#: src/mmg/tabs/input.cpp:711 msgid "'%1%': Processing the following files as well: %2%\n" msgstr "「%1%」: 正在處理下列檔案: %2%\n" -#: src/merge/mkvmerge.cpp:2065 +#: src/merge/mkvmerge.cpp:2056 msgid "'--append-mode' lacks its argument.\n" msgstr "「--append-mode」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2058 +#: src/merge/mkvmerge.cpp:2049 msgid "'--append-to' lacks its argument.\n" msgstr "「--append-to」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1922 +#: src/merge/mkvmerge.cpp:1913 msgid "'--aspect-ratio' lacks the aspect ratio.\n" msgstr "「--aspect-ratio」缺少外觀比例。\n" -#: src/merge/mkvmerge.cpp:1929 +#: src/merge/mkvmerge.cpp:1920 msgid "'--aspect-ratio-factor' lacks the aspect ratio factor.\n" msgstr "「--aspect-ratio-factor」缺少外觀比例係數。\n" -#: src/merge/mkvmerge.cpp:1747 +#: src/merge/mkvmerge.cpp:1738 msgid "'--attachment-description' lacks the description.\n" msgstr "「--attachment-description」缺少描述。\n" -#: src/merge/mkvmerge.cpp:1756 +#: src/merge/mkvmerge.cpp:1747 msgid "'--attachment-mime-type' lacks the MIME type.\n" msgstr "「--attachment-mime-type」缺少 MIME 類型。\n" -#: src/merge/mkvmerge.cpp:1766 +#: src/merge/mkvmerge.cpp:1757 msgid "'--attachment-name' lacks the name.\n" msgstr "「--attachment-name」缺少名稱。\n" -#: src/merge/mkvmerge.cpp:2027 +#: src/merge/mkvmerge.cpp:2018 msgid "'--blockadd' lacks its argument.\n" msgstr "「--blockadd」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1801 +#: src/merge/mkvmerge.cpp:1792 msgid "'--chapter-charset' lacks the charset.\n" msgstr "「--chapter-charset」缺少字元集。\n" -#: src/merge/mkvmerge.cpp:1441 +#: src/merge/mkvmerge.cpp:1432 msgid "'--chapter-charset' may only be given once in '--chapter-charset %1%'.\n" msgstr "「--chapter-charset」在「--chapter-charset %1%」中只能給出一次。\n" -#: src/merge/mkvmerge.cpp:1444 +#: src/merge/mkvmerge.cpp:1435 msgid "'--chapter-charset' must be given before '--chapters' in '--chapter-charset %1%'.\n" msgstr "「--chapter-charset」必須在「--chapter-charset %1%」中「--chapters」之前給出。\n" -#: src/merge/mkvmerge.cpp:1794 +#: src/merge/mkvmerge.cpp:1785 msgid "'--chapter-language' lacks the language.\n" msgstr "「--chapter-language」缺少語言。\n" -#: src/merge/mkvmerge.cpp:1423 +#: src/merge/mkvmerge.cpp:1414 msgid "'--chapter-language' may only be given once in '--chapter-language %1%'.\n" msgstr "「--chapter-language」在「--chapter-language %1%」中只能給出一次。\n" -#: src/merge/mkvmerge.cpp:1426 +#: src/merge/mkvmerge.cpp:1417 msgid "'--chapter-language' must be given before '--chapters' in '--chapter-language %1%'.\n" msgstr "「--chapter-language」必須在「--chapter-language %1%」中「--chapters」之前給出。\n" -#: src/merge/mkvmerge.cpp:1818 +#: src/merge/mkvmerge.cpp:1809 msgid "'--chapters' lacks the file name.\n" msgstr "「--chapters」缺少檔名。\n" -#: src/merge/mkvmerge.cpp:1728 +#: src/merge/mkvmerge.cpp:1719 msgid "'--cluster-length' lacks the length.\n" msgstr "「--cluster-length」缺少叢集長度。\n" -#: src/common/command_line.cpp:103 +#: src/common/command_line.cpp:104 msgid "'--command-line-charset' is missing its argument.\n" msgstr "「--command-line-charset」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2020 +#: src/merge/mkvmerge.cpp:2011 msgid "'--compression' lacks its argument.\n" msgstr "「--compression」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1943 +#: src/merge/mkvmerge.cpp:1934 msgid "'--cropping' lacks the crop parameters.\n" msgstr "「--cropping」缺少剪裁參數。\n" -#: src/merge/mkvmerge.cpp:1808 +#: src/merge/mkvmerge.cpp:1799 msgid "'--cue-chapter-name-format' lacks the format.\n" msgstr "「--cue-chapter-name-format」缺少格式。\n" -#: src/merge/mkvmerge.cpp:1811 +#: src/merge/mkvmerge.cpp:1802 msgid "'--cue-chapter-name-format' must be given before '--chapters'.\n" msgstr "「--cue-chapter-name-format」必須在「--chapters」之前給出。\n" -#: src/merge/mkvmerge.cpp:1964 +#: src/merge/mkvmerge.cpp:1955 msgid "'--cues' lacks its argument.\n" msgstr "「--cues」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2072 +#: src/merge/mkvmerge.cpp:2063 msgid "'--default-duration' lacks its argument.\n" msgstr "「--default-duration」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1992 +#: src/merge/mkvmerge.cpp:1983 msgid "'--default-language' lacks its argument.\n" msgstr "「--default-language」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1971 +#: src/merge/mkvmerge.cpp:1962 msgid "'--default-track' lacks its argument.\n" msgstr "「--default-track」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1936 +#: src/merge/mkvmerge.cpp:1927 msgid "'--display-dimensions' lacks the dimensions.\n" msgstr "「--display-dimensions」缺少大小。\n" -#: src/merge/mkvmerge.cpp:1623 +#: src/merge/mkvmerge.cpp:1614 msgid "'--engage' lacks its argument.\n" msgstr "「--engage」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1978 +#: src/merge/mkvmerge.cpp:1969 msgid "'--forced-track' lacks its argument.\n" msgstr "「--forced-track」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1785 +#: src/merge/mkvmerge.cpp:1776 msgid "'--global-tags' lacks the file name.\n" msgstr "「--global-tags」缺少檔名。\n" -#: src/merge/mkvmerge.cpp:1985 +#: src/merge/mkvmerge.cpp:1976 msgid "'--language' lacks its argument.\n" msgstr "「--language」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2145 +#: src/merge/mkvmerge.cpp:2144 msgid "'--link' is only useful in combination with '--split'.\n" msgstr "「--link」只能與「--split」結合使用。\n" -#: src/merge/mkvmerge.cpp:1714 +#: src/merge/mkvmerge.cpp:1705 msgid "'--link-to-next' lacks the next UID.\n" msgstr "「--link-to-next」缺少下一個 UID。\n" -#: src/merge/mkvmerge.cpp:1707 +#: src/merge/mkvmerge.cpp:1698 msgid "'--link-to-previous' lacks the previous UID.\n" msgstr "「--link-to-previous」缺少上一個 UID。\n" -#: src/merge/mkvmerge.cpp:2079 +#: src/merge/mkvmerge.cpp:2070 msgid "'--nalu-size-length' lacks its argument.\n" msgstr "「--nalu-size-length」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1667 +#: src/merge/mkvmerge.cpp:1658 msgid "'--priority' lacks its argument.\n" msgstr "「--priority」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1721 +#: src/merge/mkvmerge.cpp:1712 msgid "'--segment-uid' lacks the segment UID.\n" msgstr "「--segment-uid」缺少剪輯 UID。\n" -#: src/merge/mkvmerge.cpp:1827 +#: src/merge/mkvmerge.cpp:1818 msgid "'--segmentinfo' lacks the file name.\n" msgstr "「--segmentinfo」缺少檔名。\n" -#: src/merge/mkvmerge.cpp:1688 +#: src/merge/mkvmerge.cpp:1679 msgid "'--split' lacks the size.\n" msgstr "「--split」缺少大小。\n" -#: src/merge/mkvmerge.cpp:1695 +#: src/merge/mkvmerge.cpp:1686 msgid "'--split-max-files' lacks the number of files.\n" msgstr "「--split-max-files」缺少檔案數量。\n" -#: src/merge/mkvmerge.cpp:1950 +#: src/merge/mkvmerge.cpp:1941 msgid "'--stereo-mode' lacks its argument.\n" msgstr "「--stereo-mode」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1999 +#: src/merge/mkvmerge.cpp:1990 msgid "'--sub-charset' lacks its argument.\n" msgstr "「--sub-charset」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1856 +#: src/merge/mkvmerge.cpp:1847 msgid "'--timecode-scale' lacks its argument.\n" msgstr "「--timecode-scale」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1477 +#: src/merge/mkvmerge.cpp:1468 msgid "'--timecode-scale' was used more than once.\n" msgstr "「--timecode-scale」被使用多於一次。\n" -#: src/merge/mkvmerge.cpp:2041 +#: src/merge/mkvmerge.cpp:2032 msgid "'--timecodes' lacks its argument.\n" msgstr "「--timecodes」缺少參數。\n" -#: src/merge/mkvmerge.cpp:1680 +#: src/merge/mkvmerge.cpp:1671 msgid "'--title' lacks the title.\n" msgstr "「--title」缺少標題。\n" -#: src/merge/mkvmerge.cpp:2034 +#: src/merge/mkvmerge.cpp:2025 msgid "'--track-name' lacks its argument.\n" msgstr "「--track-name」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2048 +#: src/merge/mkvmerge.cpp:2039 msgid "'--track-order' lacks its argument.\n" msgstr "「--track-order」缺少參數。\n" -#: src/merge/mkvmerge.cpp:2051 +#: src/merge/mkvmerge.cpp:2042 msgid "'--track-order' may only be given once.\n" msgstr "「--track-order」只能給予一次。\n" -#: src/merge/mkvmerge.cpp:2097 +#: src/merge/mkvmerge.cpp:2091 msgid "'-A' and '-a' used on the same source file.\n" msgstr "「-A」和「-a」用於相同的來源檔上。\n" -#: src/merge/mkvmerge.cpp:2106 +#: src/merge/mkvmerge.cpp:2100 msgid "'-B' and '-b' used on the same source file.\n" msgstr "「-B」和「-b」用於相同的來源檔上。\n" -#: src/merge/mkvmerge.cpp:2100 +#: src/merge/mkvmerge.cpp:2094 msgid "'-D' and '-d' used on the same source file.\n" msgstr "「-D」和「-d」用於相同的來源檔上。\n" -#: src/merge/mkvmerge.cpp:2103 +#: src/merge/mkvmerge.cpp:2097 msgid "'-S' and '-s' used on the same source file.\n" msgstr "「-S」和「-s」用於相同的來源檔上。\n" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:394 +#: src/mmg/header_editor/frame.cpp:396 msgid "'Default track' flag" msgstr "「預設軌」標記" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:401 +#: src/mmg/header_editor/frame.cpp:403 msgid "'Forced display' flag" msgstr "「強制軌」標記" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "'Track enabled' flag" msgstr "「可用軌」標記" -#: src/info/mkvinfo.cpp:143 +#: src/info/mkvinfo.cpp:180 msgid "(Unknown element: %1%; ID: 0x%2% size: %3%)" msgstr "(未知元件: %1%; ID: 0x%2% 大小: %3%)" -#: src/mmg/tabs/chapters.cpp:388 +#: src/mmg/tabs/chapters.cpp:389 msgid "(new chapter file)" msgstr "(新章節檔)" @@ -1422,15 +1404,15 @@ msgid "(none)" msgstr "(無)" -#: src/mmg/tabs/chapters.cpp:422 +#: src/mmg/tabs/chapters.cpp:423 msgid "(unnamed chapter)" msgstr "(未命名章節)" -#: src/mmg/tabs/chapters.cpp:880 -#: src/mmg/tabs/chapters.cpp:955 -#: src/mmg/tabs/chapters.cpp:1069 -#: src/mmg/tabs/chapters.cpp:1570 -#: src/mmg/tabs/chapters.cpp:1583 +#: src/mmg/tabs/chapters.cpp:885 +#: src/mmg/tabs/chapters.cpp:960 +#: src/mmg/tabs/chapters.cpp:1074 +#: src/mmg/tabs/chapters.cpp:1575 +#: src/mmg/tabs/chapters.cpp:1588 msgid "(unnamed)" msgstr "(未命名)" @@ -1446,39 +1428,39 @@ msgid "+-> Pre-parsing FLAC file: 100%\n" msgstr "+-> 預先解析 FLAC 檔案: 100%\n" -#: src/merge/pr_generic.cpp:1421 +#: src/merge/pr_generic.cpp:1440 msgid ", description '%1%'" msgstr ", 描述 「%1%」" -#: src/merge/pr_generic.cpp:1422 +#: src/merge/pr_generic.cpp:1441 msgid ", file name '%1%'" msgstr ", 檔名「%1%」" -#: src/mmg/jobs.cpp:734 +#: src/mmg/jobs.cpp:743 #, c-format msgid ", finished on %s" msgstr ", 完成於 %s" -#: src/info/mkvinfo.cpp:162 +#: src/info/mkvinfo.cpp:199 msgid ", position %1%" msgstr ", 位置 %1%" -#: src/mmg/jobs.cpp:724 +#: src/mmg/jobs.cpp:733 #, c-format msgid ", started on %s" msgstr ", 開始於 %s" -#: src/mmg/jobs.cpp:722 +#: src/mmg/jobs.cpp:731 #, c-format msgid "--- BEGIN job %d (%s, added on %s)" msgstr "--- 任務 %d 開始 (%s, 添加於 %s)" -#: src/mmg/jobs.cpp:732 +#: src/mmg/jobs.cpp:741 #, c-format msgid "--- END job %d" msgstr "--- 任務 %d 終止" -#: src/mmg/jobs.cpp:727 +#: src/mmg/jobs.cpp:736 msgid "--- No job output found.\n" msgstr "--- 無任務輸出。\n" @@ -1491,7 +1473,11 @@ msgid "---common---" msgstr "---一般---" -#: src/mmg/cli_options_dlg.cpp:98 +#: src/mmg/cli_options_dlg.cpp:87 +msgid "--cluster-length REPLACEME" +msgstr "--cluster-length REPLACEME" + +#: src/mmg/cli_options_dlg.cpp:103 msgid "--timecode-scale REPLACEME" msgstr "--timecode-scale REPLACEME" @@ -1507,19 +1493,19 @@ msgid "...after timecodes:" msgstr "...按特定時間碼:" -#: src/info/mkvinfo.cpp:804 +#: src/info/mkvinfo.cpp:807 msgid "1: all frames" msgstr "1: 全部畫格" -#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:195 msgid "2 bytes" msgstr "2 位元組" -#: src/info/mkvinfo.cpp:806 +#: src/info/mkvinfo.cpp:809 msgid "2: codec private data" msgstr "2: 編解碼器專用資料" -#: src/mmg/tabs/input_format.cpp:195 +#: src/mmg/tabs/input_format.cpp:196 msgid "4 bytes" msgstr "4 位元組" @@ -1545,47 +1531,47 @@ msgid "<ChapterTrack> is missing the <ChapterTrackNumber> child." msgstr "<ChapterTrack> 缺少 <ChapterTrackNumber> 子元件。" -#: src/input/r_matroska.cpp:2061 +#: src/input/r_matroska.cpp:2122 msgid "A block group was found at position %1%, but no block element was found inside it. This might make mkvmerge crash.\n" msgstr "在 %1% 找到了一個區塊群組,但裡面沒有區塊元件。這可能會導致 mkvmerge 不正常關閉。\n" -#: src/input/r_matroska.cpp:1961 -#: src/input/r_matroska.cpp:2071 +#: src/input/r_matroska.cpp:2021 +#: src/input/r_matroska.cpp:2132 msgid "A block was found at timestamp %1% for track number %2%. However, no headers where found for that track number. The block will be skipped.\n" msgstr "在時間戳記 %1% 處找到了軌道編號為 %2% 的區塊。然而,沒有找到符合該軌道編號的表頭資訊。此區塊將被跳過。\n" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "A human-readable string specifying the codec." msgstr "一個人類可讀的字串,描述編解碼器。" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "A human-readable track name." msgstr "一個人類可讀的字串,描述軌道名稱。" -#: src/mmg/mmg_dialog.cpp:1382 +#: src/mmg/mmg_dialog.cpp:1389 #, c-format msgid "A job with the description '%s' already exists. Do you really want to add another one with the same description?" msgstr "描述為「%s」的任務已存在。是否加入描述相同的任務?" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:340 +#: src/mmg/header_editor/frame.cpp:342 msgid "" "A randomly generated unique ID to identify the current\n" "segment between many others (128 bits)." msgstr "隨機生成的在眾多剪輯中識別目前剪輯的唯一 ID (128 位)。" -#: src/info/mkvinfo.cpp:934 +#: src/info/mkvinfo.cpp:937 msgid "A track" msgstr "一個軌道" -#: src/merge/pr_generic.cpp:1289 +#: src/merge/pr_generic.cpp:1296 msgid "A track with the ID %1% was requested but not found in the file. The corresponding option will be ignored.\n" msgstr "ID 為 %1% 的軌道被要求但在檔案中沒有找到。相應的選項將被忽略。\n" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:391 +#: src/mmg/header_editor/frame.cpp:393 msgid "" "A unique ID to identify the Track. This should be\n" "kept the same when making a direct stream copy\n" @@ -1596,34 +1582,32 @@ "保留 ID 相同。" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:348 +#: src/mmg/header_editor/frame.cpp:350 msgid "" "A unique ID to identify the next chained\n" "segment (128 bits)." msgstr "識別連接的下一剪輯的唯一 ID (128 位)。" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:344 +#: src/mmg/header_editor/frame.cpp:346 msgid "" "A unique ID to identify the previous chained\n" "segment (128 bits)." msgstr "識別連接的上一剪輯的唯一 ID (128 位)。" -#: src/mmg/tabs/input.cpp:232 -#: src/merge/mkvmerge.cpp:82 +#: src/common/file_types.cpp:25 msgid "A/52 (aka AC3)" msgstr "A/52 (亦稱 AC3)" -#: src/mmg/tabs/input.cpp:233 -#: src/merge/mkvmerge.cpp:81 +#: src/common/file_types.cpp:26 msgid "AAC (Advanced Audio Coding)" msgstr "AAC (進階音訊編碼)" -#: src/input/r_aac.cpp:111 +#: src/input/r_aac.cpp:104 msgid "AAC files may contain HE-AAC / AAC+ / SBR AAC audio. This can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr 0' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "AAC 檔可能包含 HE-AAC / AAC+ / SBR AAC 音訊。這 *不會* 被自動檢測出來。因此,如果一輸入檔確實包含 SBR AAC,您需要手動為該檔案指定「--aac-is-sbr 0」。否則,檔案會被以 *錯誤* 的方式合成。參閱 mkvmerge 使用說明。\n" -#: src/mmg/tabs/input_format.cpp:253 +#: src/mmg/tabs/input_format.cpp:254 msgid "AAC is SBR/HE-AAC/AAC+" msgstr "AAC 是 SBR/HE-AAC/AAC+" @@ -1635,46 +1619,40 @@ "ASCII 字串 (不能使用像德語\n" "變母音符號¨這樣的特殊字元)" -#: src/mmg/tabs/input.cpp:234 -#: src/merge/mkvmerge.cpp:90 +#: src/common/file_types.cpp:27 msgid "AVC/h.264 elementary streams" msgstr "AVC/h.264 基本流" -#: src/mmg/tabs/input.cpp:235 -#: src/merge/mkvmerge.cpp:83 +#: src/common/file_types.cpp:28 msgid "AVI (Audio/Video Interleaved)" msgstr "AVI (交錯的音訊/視訊)" -#: src/mmg/mux_dialog.cpp:104 +#: src/mmg/mux_dialog.cpp:105 msgid "Abort" msgstr "中止" -#: src/mmg/jobs.cpp:96 +#: src/mmg/jobs.cpp:97 msgid "Abort after current job" msgstr "目前任務完成後中止" -#: src/mmg/jobs.cpp:97 +#: src/mmg/jobs.cpp:98 msgid "Abort processing after the current job" msgstr "目前任務完成後中止處理" -#: src/mmg/jobs.cpp:103 +#: src/mmg/jobs.cpp:104 msgid "Abort the muxing process right now" msgstr "立刻中止合成處理程序" -#: src/mmg/jobs.cpp:139 +#: src/mmg/jobs.cpp:140 #, c-format msgid "Aborted processing on %s" msgstr "已中止對 %s 的處理" #: src/info/qt_ui.cpp:125 -#: src/info/wxwidgets_ui.cpp:354 +#: src/info/wxwidgets_ui.cpp:338 msgid "About mkvinfo" msgstr "關於 mkvinfo" -#: src/mmg/mmg_dialog.cpp:719 -msgid "About mkvmerge's GUI" -msgstr "關於 mkvmerge 的 GUI" - #: src/propedit/propedit_cli_parser.cpp:145 msgid "Actions" msgstr "動作" @@ -1683,11 +1661,11 @@ msgid "Add" msgstr "加入" -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Add &command line options" msgstr "加入命令列選項(&C)" -#: src/mmg/tabs/chapters.cpp:326 +#: src/mmg/tabs/chapters.cpp:327 msgid "Add chapter" msgstr "加入章節" @@ -1699,23 +1677,23 @@ msgid "Add element" msgstr "加入元件" -#: src/mmg/tabs/chapters.cpp:345 +#: src/mmg/tabs/chapters.cpp:346 msgid "Add name" msgstr "加入名稱" -#: src/mmg/tabs/chapters.cpp:327 +#: src/mmg/tabs/chapters.cpp:328 msgid "Add subchapter" msgstr "加入子章節" -#: src/mmg/jobs.cpp:432 +#: src/mmg/jobs.cpp:441 msgid "Added on" msgstr "加入時間" -#: src/info/mkvinfo.cpp:155 +#: src/info/mkvinfo.cpp:192 msgid "AdditionalID: %1%" msgstr "附加區塊 ID: %1%" -#: src/info/mkvinfo.cpp:1469 +#: src/info/mkvinfo.cpp:1466 msgid "Additions" msgstr "附加" @@ -1723,23 +1701,23 @@ msgid "Adds a property with the value even if such a property already exists" msgstr "以此數值加入屬性,即使這個屬性已經存在" -#: src/mmg/mmg_dialog.cpp:263 +#: src/mmg/mmg_dialog.cpp:280 msgid "Adds the current settings as a new job entry to the job queue" msgstr "將目前設定作為新任務項加入到任務佇列" -#: src/mmg/tabs/chapters.cpp:1354 +#: src/mmg/tabs/chapters.cpp:1359 msgid "Adjust chapter timecodes" msgstr "調整章節時間碼" -#: src/mmg/tabs/chapters.cpp:332 +#: src/mmg/tabs/chapters.cpp:333 msgid "Adjust timecodes" msgstr "調整時間碼" -#: src/info/wxwidgets_ui.cpp:131 +#: src/info/wxwidgets_ui.cpp:115 msgid "After loading a file expand the most important elements" msgstr "載入檔案後展開最重要的元件" -#: src/info/mkvinfo.cpp:833 +#: src/info/mkvinfo.cpp:836 msgid "Algorithm: %1% (%2%)" msgstr "演算法: %1% (%2%)" @@ -1751,11 +1729,11 @@ msgid "All Files (*.*)|*.*" msgstr "所有檔案 (*.*)|*.*" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "All chapter entries are valid." msgstr "所有章節項目皆正確。" -#: src/mmg/header_editor/frame.cpp:633 +#: src/mmg/header_editor/frame.cpp:634 msgid "All header values are OK." msgstr "所有表頭值正常。" @@ -1763,20 +1741,20 @@ msgid "All known property names and their meaning\n" msgstr "所有已知的屬性名稱和代表意義\n" -#: src/info/wxwidgets_ui.cpp:280 -msgid "All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" -msgstr "所有支援的檔案|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|Matroska 檔案 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|WebM 檔案 (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|所有檔案|*.*" +#: src/info/wxwidgets_ui.cpp:264 +msgid "All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|All files|*.*" +msgstr "所有支援的檔案|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|Matroska 檔案 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|WebM 檔案 (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|所有檔案|*.*" -#: src/mmg/tabs/input.cpp:290 +#: src/mmg/tabs/input.cpp:252 #, c-format msgid "All supported media files|%s%s|%s" msgstr "所有支援的媒體檔|%s%s|%s" -#: src/mmg/cli_options_dlg.cpp:127 +#: src/mmg/cli_options_dlg.cpp:132 msgid "Allows storing AVC/h.264 video in Video-for-Windows compatibility mode, e.g. when it is read from an AVI" msgstr "允許以 Video-for-Windows 相容模式存儲的 AVC/h.264 視訊,例如從 AVI 檔中讀取的" -#: src/mmg/cli_options_dlg.cpp:133 +#: src/mmg/cli_options_dlg.cpp:138 msgid "Allows the use of the CodecState element. This is used for e.g. MPEG-1/-2 video tracks for storing the sequence headers." msgstr "允許 CodecState 元件的使用。它被用於 MPEG-1/-2 視訊軌等的序列表頭存儲。" @@ -1784,39 +1762,39 @@ msgid "Also try to extract the CUE sheet from the chapter information and tags for this track." msgstr "也試著從這個軌道的章節資訊和標籤中提取 CUE 表單。" -#: src/mmg/options/mmg.cpp:91 +#: src/mmg/options/mmg.cpp:92 msgid "Always on top" msgstr "總在最前面" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "An ID corresponding to the codec." msgstr "對應編解碼器的 ID。" -#: src/extract/attachments.cpp:127 +#: src/extract/attachments.cpp:109 msgid "An attachment with the ID %1% was not found.\n" msgstr "找不到 ID 為 %1% 的附件。\n" -#: src/merge/mkvmerge.cpp:2085 +#: src/merge/mkvmerge.cpp:2076 msgid "An empty file name is not valid.\n" msgstr "空白檔名是無效的。\n" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "" "An escaped filename corresponding to\n" "the next segment." msgstr "轉義的檔名,對應下一剪輯。" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "" "An escaped filename corresponding to\n" "the previous segment." msgstr "轉義的檔名,對應上一剪輯。" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 #: src/propedit/propedit.cpp:43 msgid "An unknown error occured. The file has been modified." msgstr "發生未知錯誤。檔案已修改。" @@ -1825,44 +1803,44 @@ msgid "Analysis is running" msgstr "分析執行中" -#: src/mmg/cli_options_dlg.cpp:119 +#: src/mmg/cli_options_dlg.cpp:124 msgid "Analyze MPEG4 bitstreams, put each frame into one Matroska block, use proper timestamping (I P B B = 0 120 40 80), use V_MPEG4/ISO/... CodecIDs." msgstr "分析 MPEG4 位流,將每一畫格置於單獨的 Matroska 塊中,使用固有的時間戳記 (I P B B = 0 120 40 80),使用形如 V_MPEG4/ISO/... 的 CodecID。" -#: src/merge/pr_generic.cpp:521 +#: src/merge/pr_generic.cpp:525 msgid "Another default track for %1% tracks has already been set. The 'default' flag for track %2% of '%3%' will not be set.\n" msgstr "軌道 %1% 的另一個預設軌已設定。「%3%」的 %2% 軌道的「預設軌」標記將不被設定。\n" -#: src/mmg/mmg_dialog.cpp:557 +#: src/mmg/mmg_dialog.cpp:577 msgid "Another muxing job in still in progress. Please wait until it has finished or abort it manually before starting a new one." msgstr "另一個合成任務仍在處理中。要啟動一項新任務,請等待上一個任務完成或手動中止它。" -#: src/mmg/tabs/input.cpp:1302 +#: src/mmg/tabs/input.cpp:1272 #, c-format msgid "Appending a track from a file to another track from the same file is not allowed. This is the case for tracks number %u and %u." msgstr "不允許將一個檔案的軌道添加至同一個檔案的其他軌道。出現問題的軌道編號為 %u 與 %u。" -#: src/merge/output_control.cpp:1627 +#: src/merge/output_control.cpp:1655 msgid "Appending track %1% from file no. %2% ('%3%') to track %4% from file no. %5% ('%6%').\n" msgstr "正在添加合併軌道 %1%(自檔案 %2% (「%3%」))至軌道 %4%(自檔案 %5% (「%6%」))。\n" -#: src/mmg/options/mmg.cpp:73 +#: src/mmg/options/mmg.cpp:74 msgid "Ask before overwriting things (files, jobs)" msgstr "覆寫前詢問(檔案、任務等)" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio" msgstr "外觀比例" -#: src/merge/mkvmerge.cpp:631 +#: src/merge/mkvmerge.cpp:593 msgid "Aspect ratio factor" msgstr "外觀比例係數" -#: src/info/mkvinfo.cpp:757 +#: src/info/mkvinfo.cpp:760 msgid "Aspect ratio type: %1%%2%" msgstr "外觀比例類型: %1%%2%" -#: src/mmg/tabs/input_format.cpp:220 +#: src/mmg/tabs/input_format.cpp:221 msgid "Aspect ratio:" msgstr "外觀比例:" @@ -1878,7 +1856,7 @@ msgid "Atatchment extraction" msgstr "提取附件" -#: src/info/mkvinfo.cpp:1313 +#: src/info/mkvinfo.cpp:1310 msgid "Attached" msgstr "附加的" @@ -1886,7 +1864,7 @@ msgid "Attached files" msgstr "附加檔案清單" -#: src/merge/pr_generic.cpp:1420 +#: src/merge/pr_generic.cpp:1439 msgid "Attachment ID %1%: type '%2%', size %3% bytes" msgstr "附件 ID %1%: 類型「%2%」, 大小 %3% 位元組" @@ -1894,29 +1872,29 @@ msgid "Attachment style:" msgstr "附加方式:" -#: src/mmg/mmg_dialog.cpp:286 +#: src/mmg/mmg_dialog.cpp:306 #: src/mmg/tabs/attachments.cpp:155 -#: src/info/mkvinfo.cpp:1301 +#: src/info/mkvinfo.cpp:1298 msgid "Attachments" msgstr "附件" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Audio bit depth" msgstr "音訊位元深度" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Audio channels" msgstr "音訊聲道數" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Audio output sampling frequency" msgstr "音訊輸出取樣頻率" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Audio sampling frequency" msgstr "音訊取樣頻率" @@ -1925,15 +1903,15 @@ msgid "Audio track %u" msgstr "音軌 %u" -#: src/mmg/options/mmg.cpp:58 +#: src/mmg/options/mmg.cpp:59 msgid "Auto-set output filename" msgstr "自動設定輸出檔名" -#: src/merge/mkvmerge.cpp:367 +#: src/merge/mkvmerge.cpp:325 msgid "Automatic MIME type recognition for '%1%': %2%\n" msgstr "對「%1%」的 MIME 類型的自動識別結果: %2%\n" -#: src/merge/mkvmerge.cpp:1638 +#: src/merge/mkvmerge.cpp:1629 msgid "Automatically enabling WebM compliance mode due to output file name extension.\n" msgstr "由輸出檔的副檔名自動啟用 WebM 遵循模式。\n" @@ -1941,12 +1919,16 @@ msgid "Available options:" msgstr "可用的選項:" -#: src/common/command_line.cpp:225 +#: src/common/command_line.cpp:226 msgid "Available translations:\n" msgstr "可用的翻譯:\n" -#: src/common/compression.cpp:204 -#: src/common/compression.cpp:222 +#: src/mmg/update_checker.cpp:63 +msgid "Available version:" +msgstr "可用版本:" + +#: src/common/compression.cpp:213 +#: src/common/compression.cpp:231 msgid "BZ2_bzCompressInit() failed. Result: %1%\n" msgstr "BZ2_bzCompressInit() 失敗。結果: %1%\n" @@ -1954,42 +1936,42 @@ msgid "Binary (displayed as hex numbers)" msgstr "二位元值 (顯示為十六進位數位)" -#: src/info/mkvinfo.cpp:665 +#: src/info/mkvinfo.cpp:672 msgid "Bit depth: %1%" msgstr "位元深度: %1%" #: src/common/property_element.cpp:156 -#: src/mmg/header_editor/frame.cpp:509 +#: src/mmg/header_editor/frame.cpp:510 msgid "Bits per sample, mostly used for PCM." msgstr "每次取樣的位元數,主要用於 PCM。" -#: src/info/mkvinfo.cpp:147 +#: src/info/mkvinfo.cpp:184 msgid "Block (track number %1%, %2% frame(s), timecode %|3$.3f|s = %4%)" msgstr "區塊 (軌道編號 %1%, %2% 畫格, 時間碼 %|3$.3f|s = %4%)" -#: src/info/mkvinfo.cpp:161 +#: src/info/mkvinfo.cpp:198 msgid "Block additional ID: %1%" msgstr "附加區塊 ID: %1%" -#: src/info/mkvinfo.cpp:156 +#: src/info/mkvinfo.cpp:193 msgid "Block additional: %1%" msgstr "附加區塊: %1%" -#: src/info/mkvinfo.cpp:149 +#: src/info/mkvinfo.cpp:186 msgid "Block duration: %1%.%|2$06d|ms" msgstr "區塊持續時間: %1%.%|2$06d|ms" -#: src/extract/timecodes_v2.cpp:278 -#: src/extract/tracks.cpp:403 -#: src/info/mkvinfo.cpp:1375 +#: src/extract/tracks.cpp:414 +#: src/extract/timecodes_v2.cpp:283 +#: src/info/mkvinfo.cpp:1372 msgid "Block group" msgstr "區塊群組" -#: src/info/mkvinfo.cpp:153 +#: src/info/mkvinfo.cpp:190 msgid "Block virtual: %1%" msgstr "虛擬區塊: %1%" -#: src/input/r_vobsub.cpp:531 +#: src/input/r_vobsub.cpp:532 msgid "Bogus aid %1%\n" msgstr "無效 aid %1%\n" @@ -1997,10 +1979,6 @@ msgid "Boolean (yes/no, on/off etc)" msgstr "布林值 (是/非, 開/關 等)" -#: src/mmg/tabs/input_format.cpp:175 -msgid "Both eyes" -msgstr "雙眼視角" - #: src/merge/pr_generic.cpp:193 msgid "Both the aspect ratio and '--display-dimensions' were given.\n" msgstr "同時給定了外觀比例與「--display-dimensions」。\n" @@ -2009,18 +1987,18 @@ msgid "Both the aspect ratio factor and '--display-dimensions' were given.\n" msgstr "同時給定了外觀比例係數與「--display-dimensions」。\n" -#: src/mmg/mmg_dialog.cpp:264 +#: src/mmg/mmg_dialog.cpp:281 msgid "Brings up the job queue editor" msgstr "調出任務佇列編輯器" -#: src/mmg/mmg_dialog.cpp:291 +#: src/mmg/mmg_dialog.cpp:311 +#: src/mmg/options/mmg.cpp:69 #: src/mmg/options/mkvmerge.cpp:59 -#: src/mmg/options/mmg.cpp:68 +#: src/mmg/tabs/input_general.cpp:188 +#: src/mmg/tabs/input_general.cpp:191 #: src/mmg/tabs/global.cpp:276 #: src/mmg/tabs/global.cpp:293 #: src/mmg/tabs/global.cpp:297 -#: src/mmg/tabs/input_general.cpp:188 -#: src/mmg/tabs/input_general.cpp:191 msgid "Browse" msgstr "瀏覽" @@ -2028,26 +2006,34 @@ msgid "CUE sheet extraction" msgstr "提取 CUE 表單" +#: src/info/info_cli_parser.cpp:46 +msgid "Calculate and display checksums and use verbosity level 4." +msgstr "計算並顯示檢查碼且使用贅言等級 4。" + +#: src/info/info_cli_parser.cpp:45 +msgid "Calculate and display checksums of frame contents." +msgstr "僅顯示內容的摘要,而非所有元件。" + #: src/output/p_mpeg4_p2.cpp:117 msgid "Cannot convert non-native MPEG4 video frames into native ones if the source container provides neither timecodes nor a number of frames per second.\n" msgstr "在來源容器不提供時間碼或畫格率值的情況下,無法將非原生 MPEG4 視訊畫格轉換為原生畫格。\n" -#: src/extract/xtr_vobsub.cpp:87 +#: src/extract/xtr_vobsub.cpp:88 msgid "Cannot extract tracks of different kinds to the same file. This was requested for the tracks %1% and %2%.\n" msgstr "無法將不同類型的軌道提取至同一檔案。軌道 %1% 和 %2% 被要求這樣提取。\n" -#: src/mmg/mmg_dialog.cpp:558 +#: src/mmg/mmg_dialog.cpp:578 msgid "Cannot start second muxing job" msgstr "不能啟動其他合成任務" -#: src/extract/xtr_textsubs.cpp:312 +#: src/extract/xtr_textsubs.cpp:313 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file, and their CodecPrivate data (the USF styles etc) do not match.\n" msgstr "無法寫入軌道 %1%(CodecID「%2%」)至檔案「%3%」,因為軌道 %4%(CodecID「%5%」)已被寫入同一檔案,且它們的 CodecPrivate 編解碼器私有資料 (如 USF 樣式) 不相符。\n" #: src/extract/xtr_avi.cpp:46 -#: src/extract/xtr_base.cpp:64 #: src/extract/xtr_ivf.cpp:53 -#: src/extract/xtr_textsubs.cpp:307 +#: src/extract/xtr_base.cpp:65 +#: src/extract/xtr_textsubs.cpp:308 msgid "Cannot write track %1% with the CodecID '%2%' to the file '%3%' because track %4% with the CodecID '%5%' is already being written to the same file.\n" msgstr "無法寫入軌道 %1%(CodecID「%2%」)至檔案「%3%」,因為軌道 %4%(CodecID「%5%」)已被寫入同一檔案。\n" @@ -2055,13 +2041,13 @@ msgid "Category is not NUL terminated" msgstr "類別未以 NUL 結尾" -#: src/extract/timecodes_v2.cpp:357 -#: src/extract/tracks.cpp:453 -#: src/info/mkvinfo.cpp:1992 +#: src/extract/tracks.cpp:464 +#: src/extract/timecodes_v2.cpp:362 +#: src/info/mkvinfo.cpp:2052 msgid "Caught exception" msgstr "發生異常" -#: src/mmg/cli_options_dlg.cpp:141 +#: src/mmg/cli_options_dlg.cpp:146 msgid "Causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not contain a duration field." msgstr "讓 mkvmerge 向不包含持續時間欄位的 VobSub 字幕包加入「停止顯示」命令。" @@ -2081,7 +2067,7 @@ msgid "Change for '%1%' executed. One entry added.\n" msgstr "「%1%」的變更已執行。加入了一個項目。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Change mmg's preferences and options" msgstr "修改 mmg 的偏好設定和選項" @@ -2089,35 +2075,35 @@ msgid "Changes to this list do not take effect until mmg is restarted." msgstr "換成這份清單直到重新啟動 mmg 才生效。" -#: src/info/mkvinfo.cpp:660 +#: src/info/mkvinfo.cpp:667 msgid "Channel positions: %1%" msgstr "聲道位置: %1%" -#: src/info/mkvinfo.cpp:654 +#: src/info/mkvinfo.cpp:661 msgid "Channels: %1%" msgstr "聲道數: %1%" -#: src/mmg/mmg_dialog.cpp:288 +#: src/mmg/mmg_dialog.cpp:308 msgid "Chapter Editor" msgstr "章節編輯器" -#: src/info/mkvinfo.cpp:520 +#: src/info/mkvinfo.cpp:528 msgid "Chapter Translate" msgstr "章節翻譯" -#: src/info/mkvinfo.cpp:532 +#: src/info/mkvinfo.cpp:541 msgid "Chapter Translate Codec: %1%" msgstr "章節翻譯編解碼器: %1%" -#: src/info/mkvinfo.cpp:528 +#: src/info/mkvinfo.cpp:537 msgid "Chapter Translate Edition UID: %1%" msgstr "章節翻譯版本 UID: %1%" -#: src/info/mkvinfo.cpp:536 +#: src/info/mkvinfo.cpp:545 msgid "Chapter Translate ID: %1%" msgstr "章節翻譯 ID: %1%" -#: src/mmg/mmg_dialog.cpp:586 +#: src/mmg/mmg_dialog.cpp:606 msgid "Chapter editor is not empty" msgstr "章節編輯器不是空的" @@ -2129,7 +2115,7 @@ msgid "Chapter file:" msgstr "章節檔案:" -#: src/mmg/tabs/chapters.cpp:676 +#: src/mmg/tabs/chapters.cpp:681 #, c-format msgid "Chapter files (*.xml)|*.xml|%s" msgstr "章節檔案 (*.xml)|*.xml|%s" @@ -2139,12 +2125,12 @@ msgid "Chapter files (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" msgstr "章節檔案 (*.xml;*.txt;*.cue)|*.xml;*.txt;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:524 +#: src/mmg/tabs/chapters.cpp:525 #, c-format -msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" -msgstr "章節檔案 (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s" +msgid "Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" +msgstr "章節檔案 (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s" -#: src/mmg/tabs/chapters.cpp:344 +#: src/mmg/tabs/chapters.cpp:345 msgid "Chapter names and languages" msgstr "章節名稱與語言" @@ -2160,61 +2146,79 @@ msgid "Chapter parser: The EditionUID %1% is not unique and could not be reused. A new one will be created.\n" msgstr "章節解析器: 版本 UID %1% 不唯一,不能重複使用。將建立一個新的。\n" -#: src/mmg/tabs/chapters.cpp:759 -#: src/mmg/tabs/chapters.cpp:767 -#: src/mmg/tabs/chapters.cpp:773 -#: src/mmg/tabs/chapters.cpp:780 -#: src/mmg/tabs/chapters.cpp:797 -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:764 +#: src/mmg/tabs/chapters.cpp:772 +#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:785 +#: src/mmg/tabs/chapters.cpp:802 +#: src/mmg/tabs/chapters.cpp:824 msgid "Chapter verification error" msgstr "章節驗證發生錯誤" -#: src/mmg/tabs/chapters.cpp:838 +#: src/mmg/tabs/chapters.cpp:843 msgid "Chapter verification succeeded" msgstr "章節驗證成功" #: src/mmg/options/chapters.cpp:130 #: src/mmg/tabs/global.cpp:273 -#: src/info/mkvinfo.cpp:1782 +#: src/info/mkvinfo.cpp:1812 msgid "Chapters" msgstr "章節" -#: src/mmg/mmg.cpp:44 +#: src/mmg/mmg.cpp:49 #, c-format msgid "Chapters (%d entries) from %s" msgstr "章節 (%d 個項目) 自 %s" -#: src/merge/output_control.cpp:1269 +#: src/merge/output_control.cpp:1297 msgid "Chapters are not allowed in WebM compliant files. No chapters will be written into any output file.\n" msgstr "在 WebM 遵循檔裡不能有章節。不會將章節寫進任何輸出檔。\n" -#: src/mmg/tabs/chapters.cpp:607 +#: src/mmg/tabs/chapters.cpp:610 msgid "Chapters loaded." msgstr "章節已載入。" -#: src/mmg/tabs/chapters.cpp:721 -#: src/mmg/tabs/chapters.cpp:1882 +#: src/mmg/tabs/chapters.cpp:726 +#: src/mmg/tabs/chapters.cpp:1887 msgid "Chapters written." msgstr "章節已寫入。" -#: src/mmg/tabs/chapters.cpp:325 +#: src/mmg/tabs/chapters.cpp:326 msgid "Chapters:" msgstr "章節:" -#: src/merge/pr_generic.cpp:1423 +#: src/merge/pr_generic.cpp:1442 msgid "Chapters: %1% entries" msgstr "章節: %1% 項目" -#: src/common/cli_parser.cpp:177 +#: src/common/cli_parser.cpp:178 msgid "Charset for strings on the command line" msgstr "命令列上字串的字元集" +#: src/mmg/tabs/input_format.cpp:249 #: src/mmg/tabs/global.cpp:282 -#: src/mmg/tabs/input_format.cpp:248 msgid "Charset:" msgstr "字元集:" -#: src/mmg/tabs/chapters.cpp:523 +#: src/mmg/mmg_dialog.cpp:296 +#: src/mmg/options/mmg.cpp:105 +msgid "Check online for the latest release" +msgstr "線上檢查最新版本" + +#: src/common/cli_parser.cpp:184 +#: src/merge/mkvmerge.cpp:251 +msgid "Check online for the latest release." +msgstr "線上檢查最新發佈的版本。" + +#: src/mmg/options/mmg.cpp:106 +msgid "Check online whether or not a new release of MKVToolNix is available on the home page. Will only check when mmg starts and at most once a day. No information is transmitted to the server." +msgstr "線上檢查 MKVToolNix 首頁上是否有可更新的新版本。只有 mmg 啟動時會檢查且一天最多檢查一次。不會傳送任何資訊到伺服器。" + +#: src/mmg/mmg_dialog.cpp:1728 +msgid "Checking for updates online; please wait" +msgstr "正在線上檢查更新; 請稍候" + +#: src/mmg/tabs/chapters.cpp:524 msgid "Choose a chapter file" msgstr "選擇章節檔" @@ -2230,26 +2234,26 @@ msgid "Choose an attachment file" msgstr "選擇附件檔" -#: src/mmg/mmg_dialog.cpp:364 +#: src/mmg/mmg_dialog.cpp:384 msgid "Choose an input file" msgstr "選擇輸入檔" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to add" msgstr "選擇要加入的檔案" -#: src/mmg/tabs/input.cpp:297 +#: src/mmg/tabs/input.cpp:259 msgid "Choose an input file to append" msgstr "選擇要添加的檔案" -#: src/mmg/jobs.cpp:401 -#: src/mmg/mmg_dialog.cpp:314 -#: src/mmg/mmg_dialog.cpp:410 -#: src/mmg/mmg_dialog.cpp:735 -#: src/mmg/mmg_dialog.cpp:756 -#: src/mmg/mux_dialog.cpp:262 -#: src/mmg/tabs/chapters.cpp:633 -#: src/mmg/tabs/chapters.cpp:675 +#: src/mmg/jobs.cpp:410 +#: src/mmg/mmg_dialog.cpp:334 +#: src/mmg/mmg_dialog.cpp:430 +#: src/mmg/mmg_dialog.cpp:738 +#: src/mmg/mmg_dialog.cpp:759 +#: src/mmg/mux_dialog.cpp:263 +#: src/mmg/tabs/chapters.cpp:636 +#: src/mmg/tabs/chapters.cpp:680 msgid "Choose an output file" msgstr "選擇輸出檔" @@ -2257,7 +2261,7 @@ msgid "Choose the chapter file" msgstr "選擇章節檔" -#: src/mmg/mmg_dialog.cpp:620 +#: src/mmg/mmg_dialog.cpp:640 msgid "Choose the location of the mkvmerge GUI help files" msgstr "選擇 mkvmerge GUI 説明檔的路徑" @@ -2265,7 +2269,7 @@ msgid "Choose the mkvmerge executable" msgstr "選擇 mkvmerge 可執行檔" -#: src/mmg/options/mmg.cpp:229 +#: src/mmg/options/mmg.cpp:254 msgid "Choose the output directory" msgstr "選擇輸出目錄" @@ -2277,11 +2281,11 @@ msgid "Choose the tags file" msgstr "選擇標籤檔" -#: src/mmg/options/mmg.cpp:89 +#: src/mmg/options/mmg.cpp:90 msgid "Clear inputs after a successful muxing run" msgstr "成功合成後清空輸入檔清單" -#: src/mmg/options/mmg.cpp:87 +#: src/mmg/options/mmg.cpp:88 msgid "Clear inputs after adding a job to the job queue" msgstr "任務加入到任務佇列後清空輸入檔清單" @@ -2289,73 +2293,73 @@ msgid "Close the current file without saving" msgstr "在不儲存的情況下關閉目前檔案" -#: src/extract/timecodes_v2.cpp:259 -#: src/extract/tracks.cpp:385 -#: src/info/mkvinfo.cpp:1932 +#: src/extract/tracks.cpp:396 +#: src/extract/timecodes_v2.cpp:264 +#: src/info/mkvinfo.cpp:1989 msgid "Cluster" msgstr "叢集" -#: src/merge/mkvmerge.cpp:1380 +#: src/merge/mkvmerge.cpp:1371 msgid "Cluster length '%1%' out of range (0..65535).\n" msgstr "叢集長度「%1%」超出範圍 (0..65535)。\n" -#: src/merge/mkvmerge.cpp:1373 +#: src/merge/mkvmerge.cpp:1364 msgid "Cluster length '%1%' out of range (100..32000).\n" msgstr "叢集長度「%1%」超出範圍 (100..32000)。\n" -#: src/info/mkvinfo.cpp:171 +#: src/info/mkvinfo.cpp:208 msgid "Cluster position: %1%" msgstr "叢集位置: %1%" -#: src/info/mkvinfo.cpp:172 +#: src/info/mkvinfo.cpp:209 msgid "Cluster previous size: %1%" msgstr "叢集上一個長度: %1%" -#: src/extract/timecodes_v2.cpp:274 -#: src/extract/tracks.cpp:394 -#: src/info/mkvinfo.cpp:170 +#: src/extract/tracks.cpp:405 +#: src/extract/timecodes_v2.cpp:279 +#: src/info/mkvinfo.cpp:207 msgid "Cluster timecode: %|1$.3f|s" msgstr "叢集時間碼: %|1$.3f|s" #: src/common/property_element.cpp:132 -#: src/mmg/header_editor/frame.cpp:433 +#: src/mmg/header_editor/frame.cpp:435 msgid "Codec ID" msgstr "編解碼器 ID" -#: src/info/mkvinfo.cpp:1011 +#: src/info/mkvinfo.cpp:1016 msgid "Codec ID: %1%" msgstr "編解碼器 ID: %1%" -#: src/info/mkvinfo.cpp:1057 +#: src/info/mkvinfo.cpp:1053 msgid "Codec decode all: %1%" msgstr "編解碼器全部解碼: %1%" -#: src/info/mkvinfo.cpp:1052 +#: src/info/mkvinfo.cpp:1048 msgid "Codec download URL: %1%" msgstr "編解碼器下載 URL: %1%" -#: src/info/mkvinfo.cpp:1048 +#: src/info/mkvinfo.cpp:1044 msgid "Codec info URL: %1%" msgstr "編解碼器資訊 URL: %1%" #: src/common/property_element.cpp:133 -#: src/mmg/header_editor/frame.cpp:436 +#: src/mmg/header_editor/frame.cpp:438 msgid "Codec name" msgstr "編解碼器名稱" -#: src/info/mkvinfo.cpp:1039 +#: src/info/mkvinfo.cpp:1035 msgid "Codec name: %1%" msgstr "編解碼器名稱: %1%" -#: src/info/mkvinfo.cpp:1044 +#: src/info/mkvinfo.cpp:1040 msgid "Codec settings: %1%" msgstr "編解碼器設定: %1%" -#: src/info/mkvinfo.cpp:173 +#: src/info/mkvinfo.cpp:210 msgid "Codec state: %1%" msgstr "編解碼器狀態: %1%" -#: src/info/mkvinfo.cpp:1035 +#: src/info/mkvinfo.cpp:1031 msgid "CodecPrivate, length %1%%2%" msgstr "編解碼器專有, 長度 %1%%2%" @@ -2363,11 +2367,11 @@ msgid "Collapse all entries so that none of their sub-entries will be shown" msgstr "收起所有項目,這樣它們的子項目將不被顯示" -#: src/info/mkvinfo.cpp:766 +#: src/info/mkvinfo.cpp:769 msgid "Colour space: %1%" msgstr "色彩空間: %1%" -#: src/mmg/mmg_dialog.cpp:787 +#: src/mmg/mmg_dialog.cpp:790 msgid "Command line copied to clipboard." msgstr "命令列已複製至剪貼簿。" @@ -2375,11 +2379,11 @@ msgid "Command line options:" msgstr "命令列選項:" -#: src/mmg/mmg_dialog.cpp:745 +#: src/mmg/mmg_dialog.cpp:748 msgid "Command line saved." msgstr "命令列已儲存。" -#: src/mmg/tabs/input.cpp:406 +#: src/mmg/tabs/input.cpp:369 msgid "Command line used:" msgstr "使用命令列:" @@ -2387,40 +2391,40 @@ msgid "Common languages" msgstr "共通語言" -#: src/merge/pr_generic.cpp:780 +#: src/merge/pr_generic.cpp:782 msgid "Compression failed: %1%\n" msgstr "壓縮失敗: %1%\n" -#: src/mmg/tabs/input_extra.cpp:59 -#: src/mmg/tabs/input_extra.cpp:132 +#: src/mmg/tabs/input_extra.cpp:58 +#: src/mmg/tabs/input_extra.cpp:126 msgid "Compression:" msgstr "壓縮方式:" -#: src/mmg/mmg_dialog.cpp:359 +#: src/mmg/mmg_dialog.cpp:379 msgid "Configuration cleared." msgstr "設定檔已清空。" -#: src/mmg/mmg_dialog.cpp:404 +#: src/mmg/mmg_dialog.cpp:424 msgid "Configuration loaded." msgstr "設定檔已載入。" -#: src/mmg/mmg_dialog.cpp:439 +#: src/mmg/mmg_dialog.cpp:459 msgid "Configuration saved." msgstr "設定檔已儲存。" -#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:826 msgid "Content compression" msgstr "內容壓縮" -#: src/info/mkvinfo.cpp:788 +#: src/info/mkvinfo.cpp:791 msgid "Content encoding" msgstr "內容編碼" -#: src/info/mkvinfo.cpp:780 +#: src/info/mkvinfo.cpp:783 msgid "Content encodings" msgstr "內容編碼" -#: src/info/mkvinfo.cpp:850 +#: src/info/mkvinfo.cpp:853 msgid "Content encryption" msgstr "內容加密" @@ -2428,7 +2432,7 @@ msgid "Convert text subtitles to this charset (default: UTF-8)." msgstr "將文字字幕轉換成這個字元集 (預設: UTF-8)。" -#: src/mmg/mmg_dialog.cpp:260 +#: src/mmg/mmg_dialog.cpp:277 msgid "Copy the command line to the clipboard" msgstr "複製命令列至剪貼簿" @@ -2440,19 +2444,19 @@ msgid "CorePicture frame %1% not supported.\n" msgstr "不支援 CorePicture 畫格 %1%。\n" -#: src/mmg/jobs.cpp:178 -#: src/mmg/mux_dialog.cpp:129 -#: src/mmg/tabs/input.cpp:349 +#: src/mmg/jobs.cpp:184 +#: src/mmg/mux_dialog.cpp:130 +#: src/mmg/tabs/input.cpp:311 #, c-format msgid "Could not create a temporary file for mkvmerge's command line option called '%s' (error code %d, %s)." msgstr "無法為 mkvmerge 的命令列選項建立暫存檔案「%s」(錯誤代碼 %d, %s)。" -#: src/info/wxwidgets_ui.cpp:299 +#: src/info/wxwidgets_ui.cpp:283 #, c-format msgid "Could not create the file '%s'." msgstr "無法建立檔案「%s」。" -#: src/mmg/mmg_dialog.cpp:765 +#: src/mmg/mmg_dialog.cpp:768 msgid "Could not create the specified file." msgstr "無法建立指定的檔案。" @@ -2460,14 +2464,14 @@ msgid "Could not decode the Base64 encoded data - it seems to be malformed." msgstr "無法解碼以 Base64 編碼的資料 - 似乎是不正常的。" -#: src/input/r_avi.cpp:327 -#: src/input/r_matroska.cpp:1772 -#: src/input/r_ogm.cpp:1132 +#: src/input/r_ogm.cpp:1157 +#: src/input/r_avi.cpp:351 +#: src/input/r_matroska.cpp:1832 msgid "Could not extract the decoder specific config data (AVCC) from this AVC/h.264 track.\n" msgstr "無法從該 AVC/h.264 軌道提取解碼器特有設定資料 (AVCC)。\n" -#: src/input/r_avi.cpp:277 -#: src/input/r_avi.cpp:282 +#: src/input/r_avi.cpp:301 +#: src/input/r_avi.cpp:306 msgid "Could not extract the sequence header from this MPEG-1/2 track.\n" msgstr "無法從該 MPEG-1/2 軌道提取序列表頭。\n" @@ -2475,11 +2479,11 @@ msgid "Could not find a valid MP3 packet." msgstr "未找到有效的 MP3 套件。" -#: src/input/r_avi.cpp:487 +#: src/input/r_avi.cpp:513 msgid "Could not find an index for audio track %1% (avilib error message: %2%). Skipping track.\n" msgstr "找不到音軌 %1% 的索引 (avilib 錯誤訊息: %2%)。正在跳過此軌。\n" -#: src/merge/output_control.cpp:1582 +#: src/merge/output_control.cpp:1610 msgid "Could not find gptzr when appending. %1%\n" msgstr "添加時找不到 gptzr。 %1%\n" @@ -2487,10 +2491,15 @@ msgid "Could not find the codec configuration data in the first MPEG-4 part 2 video frame. This track cannot be stored in native mode.\n" msgstr "在第一個 MPEG-4 part 2 視訊畫格中找不到編解碼器設定資料。該軌不能以原生模式儲存。\n" -#: src/input/r_ogm.cpp:354 +#: src/input/r_ogm.cpp:380 msgid "Could not find the next Ogg page. This indicates a damaged Ogg/Ogm file. Will try to continue.\n" msgstr "找不到 Ogg 的下一頁。這表示 Ogg/Ogm 檔案可能已損壞。將試著繼續。\n" +#: src/input/r_avi.cpp:685 +#: src/input/r_matroska.cpp:1575 +msgid "Could not find valid DTS headers in this track's first frames.\n" +msgstr "在這軌道的第一個畫格裡找不到正確的 DTS 表頭。\n" + #: src/common/locale.cpp:133 msgid "Could not initialize the iconv library for the conversion from %1% to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: %2%, %3%).\n" msgstr "無法初始化 iconv 函式庫以供從 %1% 至 UTF-8 的轉換。某些字串將不被轉換為 UTF-8,且生成的 Matroska 檔可能不符合 Matroska 規範 (錯誤: %2%, %3%)。\n" @@ -2505,7 +2514,7 @@ msgid "Could not open '%1%' for reading.\n" msgstr "無法開啟「%1%」以讀取。\n" -#: src/mmg/mmg_dialog.cpp:789 +#: src/mmg/mmg_dialog.cpp:792 msgid "Could not open the clipboard." msgstr "無法開啟剪貼簿。" @@ -2513,16 +2522,16 @@ msgid "Could not open the corresponding correction file '%1%c'.\n" msgstr "無法開啟一致性校正檔案「%1%c」。\n" -#: src/mmg/tabs/chapters.cpp:699 +#: src/mmg/tabs/chapters.cpp:704 #, c-format msgid "Could not open the destination file '%s' for writing. Error code: %d (%s)." msgstr "無法開啟目的檔案「%s」以寫入。錯誤代號: %d (%s)。" -#: src/common/command_line.cpp:211 +#: src/common/command_line.cpp:212 msgid "Could not open the file '%1%' for directing the output.\n" msgstr "無法開啟檔案「%1%」以控制輸出。\n" -#: src/extract/timecodes_v2.cpp:105 +#: src/extract/timecodes_v2.cpp:106 msgid "Could not open the timecode file '%1%' for writing (%2%).\n" msgstr "無法開啟時間碼檔案「%1%」以寫入 (%2%)。\n" @@ -2538,17 +2547,17 @@ msgid "Could not read the FLAC header packets.\n" msgstr "無法讀取 FLAC 表頭套件。\n" +#: src/common/mm_io_win.cpp:167 #: src/common/mm_io.cpp:181 -#: src/common/mm_io_win.cpp:166 msgid "Could not write to the output file: %1% (%2%)\n" msgstr "無法寫入輸出檔: %1% (%2%)\n" #: src/mmg/options/chapters.cpp:89 -#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/chapters.cpp:350 msgid "Country:" msgstr "國家:" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Create &option file" msgstr "建立選項檔(&O)" @@ -2560,27 +2569,27 @@ msgid "Create a WebM compliant file. mkvmerge also turns this on if the output file name's extension is \"webm\". This mode enforces several restrictions. The only allowed codecs are VP8 video and Vorbis audio tracks. Neither chapters nor tags are allowed. The DocType header item is changed to \"webm\"." msgstr "建立 WebM 遵循檔。若輸出檔的副檔名是『webm』則 mkvmerge 也會開啟這項。這個模式會強制實行一些限制。編碼器只能是 VP8 視訊和 Vorbis 音軌。也不能使用章節和標籤。此 DocType 表頭項目已變更為『webm』。" -#: src/mmg/mmg_dialog.cpp:266 +#: src/mmg/mmg_dialog.cpp:283 msgid "Create a new chapter file" msgstr "建立一個新的章節檔" -#: src/merge/mkvmerge.cpp:708 +#: src/merge/mkvmerge.cpp:670 msgid "Cropping parameters: not given in the form <TID>:<left>,<top>,<right>,<bottom> e.g. 0:10,5,10,5 (argument was '%1%').\n" msgstr "剪裁參數: 未以 <TID>:<left>,<top>,<right>,<bottom> 的形式給定 例如 0:10,5,10,5 (您的參數為「%1%」)。\n" -#: src/mmg/tabs/input_format.cpp:251 +#: src/mmg/tabs/input_format.cpp:252 msgid "Cropping:" msgstr "剪裁:" -#: src/info/mkvinfo.cpp:1244 +#: src/info/mkvinfo.cpp:1241 msgid "Cue block number: %1%" msgstr "Cue 區塊數: %1%" -#: src/info/mkvinfo.cpp:1240 +#: src/info/mkvinfo.cpp:1237 msgid "Cue cluster position: %1%" msgstr "Cue 叢集位置: %1%" -#: src/info/mkvinfo.cpp:1249 +#: src/info/mkvinfo.cpp:1246 msgid "Cue codec state: %1%" msgstr "Cue 編解碼器狀態: %1%" @@ -2588,27 +2597,27 @@ msgid "Cue name format:" msgstr "Cue 命名格式:" -#: src/info/mkvinfo.cpp:1215 +#: src/info/mkvinfo.cpp:1212 msgid "Cue point" msgstr "Cue 點" -#: src/info/mkvinfo.cpp:1265 +#: src/info/mkvinfo.cpp:1262 msgid "Cue ref cluster: %1%" msgstr "Cue 參考叢集: %1%" -#: src/info/mkvinfo.cpp:1273 +#: src/info/mkvinfo.cpp:1270 msgid "Cue ref codec state: %1%" msgstr "Cue 參考編解碼器狀態: %1%" -#: src/info/mkvinfo.cpp:1269 +#: src/info/mkvinfo.cpp:1266 msgid "Cue ref number: %1%" msgstr "Cue 參考數: %1%" -#: src/info/mkvinfo.cpp:1261 +#: src/info/mkvinfo.cpp:1258 msgid "Cue ref time: %|1$.3f|s" msgstr "Cue 參考時間: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1252 +#: src/info/mkvinfo.cpp:1249 msgid "Cue reference" msgstr "Cue 參考" @@ -2624,41 +2633,41 @@ msgid "Cue sheet parser: No INDEX entry found for the previous TRACK entry (current line: %1%)\n" msgstr "Cue 表單解析器: 未發現上一個 TRACK 軌道的 INDEX 索引 (目前行編號: %1%)\n" -#: src/info/mkvinfo.cpp:1224 +#: src/info/mkvinfo.cpp:1221 msgid "Cue time: %|1$.3f|s" msgstr "Cue 時間: %|1$.3f|s" -#: src/info/mkvinfo.cpp:1227 +#: src/info/mkvinfo.cpp:1224 msgid "Cue track positions" msgstr "Cue 軌道位置" -#: src/info/mkvinfo.cpp:1236 +#: src/info/mkvinfo.cpp:1233 msgid "Cue track: %1%" msgstr "Cue 軌: %1%" -#: src/info/mkvinfo.cpp:1199 +#: src/info/mkvinfo.cpp:1196 msgid "Cues (subentries will be skipped)" msgstr "Cue 表單 (子項目將被跳過)" #: src/mmg/tabs/input_extra.cpp:50 -#: src/mmg/tabs/input_extra.cpp:130 +#: src/mmg/tabs/input_extra.cpp:124 msgid "Cues:" msgstr "Cue:" -#: src/mmg/jobs.cpp:420 +#: src/mmg/jobs.cpp:429 msgid "Current and past jobs:" msgstr "目前和之前的任務:" -#: src/mmg/mmg_dialog.cpp:727 +#: src/mmg/mmg_dialog.cpp:730 msgid "Current command line" msgstr "目前命令列" -#: src/mmg/jobs.cpp:168 +#: src/mmg/jobs.cpp:174 #, c-format msgid "Current job ID %d:" msgstr "目前任務 ID %d:" -#: src/mmg/jobs.cpp:79 +#: src/mmg/jobs.cpp:80 msgid "Current job ID 1000:" msgstr "目前任務 ID 1000:" @@ -2666,43 +2675,43 @@ msgid "Current value:" msgstr "目前值:" -#: src/mmg/jobs.cpp:475 +#: src/mmg/update_checker.cpp:60 +msgid "Current version:" +msgstr "目前版本:" + +#: src/mmg/jobs.cpp:484 msgid "D&elete" msgstr "刪除(&E)" -#: src/merge/mkvmerge.cpp:86 -msgid "DTS (Digital Theater System)" -msgstr "DTS (數位電影院系統)" - -#: src/output/p_dts.cpp:107 +#: src/output/p_dts.cpp:84 msgid "DTS header information changed! - New format:\n" msgstr "DTS 表頭資訊已變更! - 新格式:\n" -#: src/mmg/tabs/input.cpp:238 +#: src/common/file_types.cpp:31 msgid "DTS/DTS-HD (Digital Theater System)" msgstr "DTS/DTS-HD (數位電影院系統)" -#: src/common/dts.cpp:182 +#: src/common/dts.cpp:194 msgid "DTS_Header problem: encoded with an incompatible new encoder version\n" msgstr "DTS_Header 問題: 使用了不相容的新版本編碼\n" -#: src/common/dts.cpp:146 +#: src/common/dts.cpp:158 msgid "DTS_Header problem: invalid core sampling frequency\n" msgstr "DTS_Header 問題: 無效的核心取樣頻率\n" -#: src/common/dts.cpp:128 +#: src/common/dts.cpp:140 msgid "DTS_Header problem: invalid frame bytes size\n" msgstr "DTS_Header 問題: 無效的畫格位元組大小\n" -#: src/common/dts.cpp:121 +#: src/common/dts.cpp:133 msgid "DTS_Header problem: invalid number of blocks in frame\n" msgstr "DTS_Header 問題: 無效的畫格區塊數\n" -#: src/common/dts.cpp:222 +#: src/common/dts.cpp:234 msgid "DTS_Header problem: invalid source PCM resolution\n" msgstr "DTS_Header 問題: 無效的源 PCM 解析度\n" -#: src/common/dts.cpp:280 +#: src/common/dts.cpp:292 msgid "DTS_Header problem: not enough data to read header\n" msgstr "DTS_Header 問題: 資料不足以讀取表頭\n" @@ -2710,33 +2719,33 @@ msgid "Data is not allowed inside <%1%>." msgstr "<%1%> 內部不允許有資料。" -#: src/info/mkvinfo.cpp:586 +#: src/info/mkvinfo.cpp:595 msgid "Date (invalid, value: %1%)" msgstr "日期 (無效, 值: %1%)" -#: src/info/mkvinfo.cpp:584 +#: src/info/mkvinfo.cpp:593 msgid "Date: %1% UTC" msgstr "日期: %1% UTC" -#: src/common/output.cpp:75 +#: src/common/output.cpp:79 msgid "Debug> " msgstr "除錯> " -#: src/mmg/tabs/input_format.cpp:193 -#: src/mmg/tabs/input_format.cpp:211 +#: src/mmg/tabs/input_format.cpp:194 +#: src/mmg/tabs/input_format.cpp:212 msgid "Default" msgstr "預設" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:417 +#: src/mmg/header_editor/frame.cpp:419 msgid "Default duration" msgstr "預設持續時間" -#: src/info/mkvinfo.cpp:1075 +#: src/info/mkvinfo.cpp:1071 msgid "Default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "預設持續時間: %|1$.3f|ms (對於視訊軌為 %|2$.3f| fps)" -#: src/info/mkvinfo.cpp:1089 +#: src/info/mkvinfo.cpp:1086 msgid "Default flag: %1%" msgstr "“預設”標記: %1%" @@ -2744,15 +2753,15 @@ msgid "Default track flag:" msgstr "“預設軌”標記:" -#: src/mmg/tabs/input_format.cpp:241 +#: src/mmg/tabs/input_format.cpp:242 msgid "Delay (in ms):" msgstr "延遲 (ms):" -#: src/mmg/tabs/input_format.cpp:242 +#: src/mmg/tabs/input_format.cpp:243 msgid "Delay this track's timecodes by a couple of ms. Can be negative. Works with all track types, but negative delays should not be used with video tracks." msgstr "將此軌的時間碼延遲幾毫秒。可以是負的。對所有軌道類型都有效,但負的延遲不該用於視訊軌道。" -#: src/info/mkvinfo.cpp:159 +#: src/info/mkvinfo.cpp:196 msgid "Delay: %|1$.3f|ms" msgstr "延遲: %|1$.3f|ms" @@ -2760,15 +2769,15 @@ msgid "Delete all occurences of a property" msgstr "刪除一個屬性的所有事件" -#: src/mmg/jobs.cpp:476 +#: src/mmg/jobs.cpp:485 msgid "Delete the selected job(s) from the job queue" msgstr "從任務佇列中刪除所選任務" -#: src/mmg/jobs.cpp:430 +#: src/mmg/jobs.cpp:439 msgid "Description" msgstr "描述" -#: src/mmg/mmg_dialog.cpp:1383 +#: src/mmg/mmg_dialog.cpp:1390 msgid "Description already exists" msgstr "描述已存在" @@ -2778,36 +2787,36 @@ msgid "Description:" msgstr "描述:" -#: src/mmg/tabs/input.cpp:236 +#: src/common/file_types.cpp:29 msgid "Dirac" msgstr "Dirac" -#: src/merge/mkvmerge.cpp:85 -msgid "Dirac elementary stream" -msgstr "Dirac 基本流" +#: src/mmg/options/mmg.cpp:100 +msgid "Disable header removal compression for audio and video tracks by default" +msgstr "預設情況下停用音軌和視訊軌的除頭壓縮" -#: src/mmg/jobs.cpp:471 +#: src/mmg/jobs.cpp:480 msgid "Disable the selected job(s) and sets their status to 'done'" msgstr "停用選中的任務並設定其狀態為“完成”" -#: src/mmg/cli_options_dlg.cpp:129 +#: src/mmg/cli_options_dlg.cpp:134 msgid "Disable the use of SimpleBlocks instead of BlockGroups." msgstr "停用 SimpleBlocks 簡單區塊替代 BlockGroups 區塊群組。" -#: src/mmg/cli_options_dlg.cpp:95 +#: src/mmg/cli_options_dlg.cpp:100 msgid "Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing." msgstr "停用所有軌道的緊縮。這將增加檔案大小,尤其是有很多音軌時。僅供測試用。" -#: src/merge/mkvmerge.cpp:683 -#: src/merge/mkvmerge.cpp:689 +#: src/merge/mkvmerge.cpp:645 +#: src/merge/mkvmerge.cpp:651 msgid "Display dimensions: not given in the form <TID>:<width>x<height>, e.g. 1:640x480 (argument was '%1%').\n" msgstr "顯示尺寸: 未以 <TID>:<width>x<height> 的形式給定, 例如 1:640x480 (您的參數為「%1%」)。\n" -#: src/info/mkvinfo.cpp:701 +#: src/info/mkvinfo.cpp:708 msgid "Display height: %1%" msgstr "顯示高度: %1%" -#: src/info/mkvinfo.cpp:728 +#: src/info/mkvinfo.cpp:735 msgid "Display unit: %1%%2%" msgstr "顯示單位: %1%%2%" @@ -2815,35 +2824,35 @@ msgid "Display usage information" msgstr "顯示用法資訊" -#: src/mmg/tabs/input_format.cpp:223 +#: src/mmg/tabs/input_format.cpp:224 msgid "Display width/height:" msgstr "顯示寬/高:" -#: src/info/mkvinfo.cpp:696 +#: src/info/mkvinfo.cpp:703 msgid "Display width: %1%" msgstr "顯示寬度: %1%" -#: src/mmg/cli_options_dlg.cpp:111 +#: src/mmg/cli_options_dlg.cpp:116 msgid "Do not add an entry for the chapters in the meta seek element." msgstr "不要在變換定位元件中添加章節項目。" -#: src/mmg/cli_options_dlg.cpp:113 +#: src/mmg/cli_options_dlg.cpp:118 msgid "Do not write meta seek elements at all." msgstr "不要寫入任何變換定位元件。" -#: src/info/mkvinfo.cpp:1846 +#: src/info/mkvinfo.cpp:1876 msgid "Doc type read version: %1%" msgstr "文件檔類型讀取版本: %1%" -#: src/info/mkvinfo.cpp:1843 +#: src/info/mkvinfo.cpp:1873 msgid "Doc type version: %1%" msgstr "文件檔類型版本: %1%" -#: src/info/mkvinfo.cpp:1840 +#: src/info/mkvinfo.cpp:1870 msgid "Doc type: %1%" msgstr "文件檔類型: %1%" -#: src/mmg/tabs/input.cpp:237 +#: src/common/file_types.cpp:30 msgid "Dolby TrueHD" msgstr "Dolby TrueHD" @@ -2855,51 +2864,55 @@ msgid "Done.\n" msgstr "完成。\n" -#: src/info/mkvinfo.cpp:160 +#: src/mmg/update_checker.cpp:66 +msgid "Download URL:" +msgstr "下載網址:" + +#: src/info/mkvinfo.cpp:197 msgid "Duration: %|1$.3f|ms" msgstr "持續時間: %|1$.3f|ms" -#: src/info/mkvinfo.cpp:563 +#: src/info/mkvinfo.cpp:572 msgid "Duration: %|1$.3f|s (%2%)" msgstr "持續時間: %|1$.3f|s (%2%)" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "E&xit\tCtrl-Q" msgstr "離開(&X)\tCtrl-Q" -#: src/info/mkvinfo.cpp:1816 +#: src/info/mkvinfo.cpp:1846 msgid "EBML head" msgstr "EBML 表頭" -#: src/info/mkvinfo.cpp:1834 +#: src/info/mkvinfo.cpp:1864 msgid "EBML maximum ID length: %1%" msgstr "EBML 最大 ID 長: %1%" -#: src/info/mkvinfo.cpp:1837 +#: src/info/mkvinfo.cpp:1867 msgid "EBML maximum size length: %1%" msgstr "EBML 最大尺寸長度: %1%" -#: src/info/mkvinfo.cpp:1831 +#: src/info/mkvinfo.cpp:1861 msgid "EBML read version: %1%" msgstr "EBML 讀取版本: %1%" -#: src/info/mkvinfo.cpp:1828 +#: src/info/mkvinfo.cpp:1858 msgid "EBML version: %1%" msgstr "EBML 版本: %1%" -#: src/merge/output_control.cpp:1125 +#: src/merge/output_control.cpp:1153 msgid "EVIL internal bug! (unknown file type). %1%\n" msgstr "*邪惡的* 內部錯誤! (未知的檔案類型)。 %1%\n" -#: src/mmg/tabs/chapters.cpp:337 +#: src/mmg/tabs/chapters.cpp:338 msgid "Each chapter and each edition has a unique identifier. This identifier is normally assigned automatically by the programs, but it can be changed manually if it is really needed." msgstr "每個章節和版本都有唯一的 ID。該 ID 通常由程式自動指派,但也可以手動修改(如果確實需要的話)。" -#: src/mmg/tabs/chapters.cpp:819 +#: src/mmg/tabs/chapters.cpp:824 msgid "Each edition must contain at least one chapter." msgstr "每個版本必須至少包含一個章節。" -#: src/info/mkvinfo.cpp:144 +#: src/info/mkvinfo.cpp:181 msgid "EbmlVoid (size: %1%)" msgstr "Ebml 空隙 (大小: %1%)" @@ -2907,13 +2920,13 @@ msgid "Edit selectors" msgstr "編輯選擇器" -#: src/mmg/tabs/chapters.cpp:471 +#: src/mmg/tabs/chapters.cpp:472 #, c-format msgid "Edition %d" msgstr "版本 %d" -#: src/mmg/tabs/chapters.cpp:870 -#: src/mmg/tabs/chapters.cpp:942 +#: src/mmg/tabs/chapters.cpp:875 +#: src/mmg/tabs/chapters.cpp:947 #, c-format msgid "EditionEntry %u" msgstr "版本 %u" @@ -2938,7 +2951,7 @@ msgid "Enable splitting..." msgstr "啟用分割..." -#: src/info/mkvinfo.cpp:1000 +#: src/info/mkvinfo.cpp:1005 msgid "Enabled: %1%" msgstr "已啟用: %1%" @@ -2946,24 +2959,24 @@ msgid "Enables splitting of the output into more than one file. You can split after a given size, after a given amount of time has passed in each file or after a list of timecodes." msgstr "啟用分割,將輸出檔分割為多個檔。可以在給定大小、給定每個檔案包含的時間量或一系列時間碼後分割。" -#: src/info/mkvinfo.cpp:860 +#: src/info/mkvinfo.cpp:863 msgid "Encryption algorithm: %1% (%2%)" msgstr "加密演算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:872 +#: src/info/mkvinfo.cpp:875 msgid "Encryption key ID: %1%" msgstr "加密鑰匙 ID: %1%" -#: src/mmg/tabs/chapters.cpp:335 +#: src/mmg/tabs/chapters.cpp:336 msgid "End:" msgstr "終止時間:" -#: src/common/iso639.cpp:554 +#: src/common/iso639.cpp:527 msgid "English language name" msgstr "英文語言名稱" #: src/info/qt_ui.cpp:130 -#: src/info/wxwidgets_ui.cpp:245 +#: src/info/wxwidgets_ui.cpp:229 msgid "Error" msgstr "錯誤" @@ -2971,11 +2984,11 @@ msgid "Error %1%\n" msgstr "錯誤 %1%\n" -#: src/input/subtitles.cpp:127 +#: src/input/subtitles.cpp:133 msgid "Error in line %1%: expected a SRT timecode line but found something else. Aborting this file.\n" msgstr "在第 %1% 行處發生錯誤: 預期為 SRT 時間碼行,但發現的是其他一些東西。放棄該檔案。\n" -#: src/input/subtitles.cpp:119 +#: src/input/subtitles.cpp:124 msgid "Error in line %1%: expected subtitle number and found some text.\n" msgstr "在第 %1% 行處發生錯誤: 預期為字幕編號但發現一些文字。\n" @@ -2983,13 +2996,13 @@ msgid "Error initializing the tables for the chapter, tag and segment info elements: Could not find the element with the debug name '%1%'. %2%\n" msgstr "初始化章節, 標籤及剪輯資訊元件表時發生錯誤: 無法找到除錯名稱為「%1%」的元件。%2%\n" -#: src/mmg/mmg.cpp:217 -#: src/mmg/mmg_dialog.cpp:369 -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg.cpp:225 +#: src/mmg/mmg_dialog.cpp:389 +#: src/mmg/mmg_dialog.cpp:408 msgid "Error loading settings" msgstr "載入設定發生錯誤" -#: src/mmg/tabs/chapters.cpp:700 +#: src/mmg/tabs/chapters.cpp:705 msgid "Error opening file" msgstr "開啟檔案時發生錯誤" @@ -2997,11 +3010,11 @@ msgid "Error parsing a MPEG PS packet during the header reading phase. This stream seems to be badly damaged.\n" msgstr "在表頭讀取階段解析 MPEG PS 套件時發生錯誤。媒體流似乎已被嚴重損壞。\n" -#: src/mmg/tabs/chapters.cpp:582 +#: src/mmg/tabs/chapters.cpp:585 msgid "Error parsing the file" msgstr "解析檔案時發生錯誤" -#: src/merge/mkvmerge.cpp:525 +#: src/merge/mkvmerge.cpp:487 msgid "Error parsing the tags in '%1%': some mandatory elements are missing.\n" msgstr "解析「%1%」中的標籤發生錯誤: 缺少一些必須的元件。\n" @@ -3009,19 +3022,19 @@ msgid "Error saving the information" msgstr "儲存資訊發生錯誤" -#: src/mmg/header_editor/frame.cpp:690 -#: src/mmg/header_editor/frame.cpp:696 -#: src/mmg/tabs/chapters.cpp:1888 -#: src/mmg/tabs/chapters.cpp:1894 +#: src/mmg/header_editor/frame.cpp:691 +#: src/mmg/header_editor/frame.cpp:697 +#: src/mmg/tabs/chapters.cpp:1893 +#: src/mmg/tabs/chapters.cpp:1899 msgid "Error writing Matroska file" msgstr "寫入 Matroska 檔時發生錯誤" -#: src/common/output.cpp:68 -#: src/mmg/mux_dialog.cpp:188 +#: src/common/output.cpp:72 +#: src/mmg/mux_dialog.cpp:189 msgid "Error:" msgstr "發生錯誤:" -#: src/common/output.cpp:69 +#: src/common/output.cpp:73 msgid "Error: " msgstr "發生錯誤: " @@ -3029,16 +3042,16 @@ msgid "Error: %1% parser failed for '%2%', line %3%, column %4%: %5%\n" msgstr "發生錯誤: %1% 解析器失敗,對於「%2%」, 第 %3% 行, 第 %4% 列: %5%\n" -#: src/info/mkvinfo.cpp:1871 +#: src/info/mkvinfo.cpp:1928 msgid "Error: Couldn't open input file %1% (%2%).\n" msgstr "發生錯誤: 無法開啟輸入檔 %1% (%2%)。\n" -#: src/extract/timecodes_v2.cpp:180 -#: src/extract/tracks.cpp:328 +#: src/extract/tracks.cpp:339 +#: src/extract/timecodes_v2.cpp:184 msgid "Error: No EBML head found." msgstr "發生錯誤: 未發現 EBML 表頭。" -#: src/merge/mkvmerge.cpp:1632 +#: src/merge/mkvmerge.cpp:1623 msgid "" "Error: no output file name was given.\n" "\n" @@ -3050,11 +3063,11 @@ msgid "Error: vorbis_packetizer: Could not extract the stream's parameters from the first packets.\n" msgstr "發生錯誤: vorbis_packetizer: 無法從第一個套件中提取媒體流參數。\n" -#: src/mmg/mux_dialog.cpp:94 +#: src/mmg/mux_dialog.cpp:95 msgid "Errors:" msgstr "錯誤資訊:" -#: src/mmg/mux_dialog.cpp:359 +#: src/mmg/mux_dialog.cpp:360 msgid "Everything went fine." msgstr "一切正常。" @@ -3100,8 +3113,8 @@ msgid "Extract the data to a raw file." msgstr "提取資料到 raw 檔案。" -#: src/output/p_avc.cpp:128 -#: src/output/p_mpeg4_p10.cpp:66 +#: src/output/p_mpeg4_p10.cpp:68 +#: src/output/p_avc.cpp:131 msgid "Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to %1%/%2%.\n" msgstr "從 MPEG-4 layer 10 (AVC) 視訊資料中提取外觀比例資訊並設定顯示尺寸為 %1%/%2%。\n" @@ -3113,129 +3126,125 @@ msgid "Extracted the aspect ratio information from the Theora video headers and set the display dimensions to %1%/%2%.\n" msgstr "從 Theora 視訊頭中提取外觀比例資訊並設定顯示尺寸為 %1%/%2%。\n" -#: src/extract/tracks.cpp:109 +#: src/extract/tracks.cpp:110 msgid "Extracting track %1% with the CodecID '%2%' to the file '%3%'. Container format: %4%\n" msgstr "正在提取軌道 %1% (CodecID 為「%2%」)至檔案「%3%」。容器格式: %4%\n" -#: src/extract/tracks.cpp:93 +#: src/extract/tracks.cpp:94 msgid "Extraction of track number %1% with the CodecID '%2%' is not supported.\n" msgstr "不支援對軌道編號 %1%(CodecID 為「%2%」)的提取。\n" -#: src/mmg/tabs/input.cpp:240 +#: src/common/file_types.cpp:33 msgid "FLAC (Free Lossless Audio Codec)" msgstr "FLAC (自由無損音訊編解碼)" -#: src/merge/mkvmerge.cpp:88 -msgid "FLAC lossless audio" -msgstr "FLAC 無損音訊" - -#: src/mmg/tabs/input_format.cpp:232 +#: src/mmg/tabs/input_format.cpp:233 msgid "FPS:" msgstr "畫格率 (fps):" -#: src/extract/xtr_vobsub.cpp:80 +#: src/extract/xtr_vobsub.cpp:81 msgid "Failed to create the VobSub data file '%1%': %2% (%3%)\n" msgstr "建立 VobSub 資料檔案「%1%」失敗: %2% (%3%)\n" -#: src/extract/xtr_base.cpp:72 -#: src/extract/xtr_textsubs.cpp:336 -#: src/extract/xtr_vobsub.cpp:235 +#: src/extract/xtr_vobsub.cpp:236 +#: src/extract/xtr_base.cpp:73 +#: src/extract/xtr_textsubs.cpp:337 msgid "Failed to create the file '%1%': %2% (%3%)\n" msgstr "建立檔案失敗「%1%」: %2% (%3%)\n" -#: src/extract/xtr_tta.cpp:43 +#: src/extract/xtr_tta.cpp:44 msgid "Failed to create the temporary file '%1%': %2% (%3%)\n" msgstr "建立暫存檔案「%1%」失敗: %2% (%3%)\n" -#: src/extract/xtr_textsubs.cpp:378 +#: src/extract/xtr_textsubs.cpp:379 msgid "Failed to parse an USF subtitle entry for track %1%: %2%\n" msgstr "解析軌道 %1% 的一個 USF 字幕項目失敗: %2%\n" -#: src/extract/xtr_textsubs.cpp:339 +#: src/extract/xtr_textsubs.cpp:340 msgid "Failed to parse the USF codec private data for track %1%: %2%\n" msgstr "解析軌道 %1% 的 USF 編解碼器專有資料失敗: %2%\n" -#: src/extract/xtr_textsubs.cpp:390 +#: src/extract/xtr_textsubs.cpp:391 msgid "Failed to parse the USF end tag for track %1%: %2%\n" msgstr "解析軌道 %1% 的 USF 終止標記失敗: %2%\n" -#: src/info/mkvinfo.cpp:594 +#: src/info/mkvinfo.cpp:603 msgid "Family UID:%1%" msgstr "家族 UID:%1%" -#: src/merge/mkvmerge.cpp:429 +#: src/merge/mkvmerge.cpp:391 msgid "File %1% has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "檔案 %1% 類型未知。請查看受支援的檔案類型清單 (「mkvmerge --list-types」),如果您的檔案類型受支援但沒被正常識別,請聯繫作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/merge/pr_generic.cpp:1418 +#: src/merge/pr_generic.cpp:1437 msgid "File '%1%': container: %2%" msgstr "檔案「%1%」: 容器: %2%" -#: src/merge/pr_generic.cpp:1336 +#: src/merge/pr_generic.cpp:1355 msgid "File '%1%': unsupported container: %2%\n" msgstr "檔案「%1%」: 不支援的容器: %2%\n" -#: src/info/mkvinfo.cpp:1338 +#: src/info/mkvinfo.cpp:1335 msgid "File UID: %1%" msgstr "檔案 UID: %1%" -#: src/input/r_real.cpp:471 -#: src/input/r_real.cpp:481 +#: src/input/r_real.cpp:469 +#: src/input/r_real.cpp:479 msgid "File contains fewer frames than expected or is corrupt after frame %1%.\n" msgstr "檔案包含的畫格數比預期的少,或者檔在 %1% 畫格後被破壞。\n" -#: src/mmg/mmg_dialog.cpp:765 -#: src/mmg/mux_dialog.cpp:130 -#: src/mmg/tabs/input.cpp:350 +#: src/mmg/mmg_dialog.cpp:768 +#: src/mmg/mux_dialog.cpp:131 +#: src/mmg/tabs/input.cpp:312 msgid "File creation failed" msgstr "建立檔案失敗" -#: src/info/mkvinfo.cpp:1334 +#: src/info/mkvinfo.cpp:1331 msgid "File data, size: %1%" msgstr "檔案資料, 大小: %1%" -#: src/info/mkvinfo.cpp:1322 +#: src/info/mkvinfo.cpp:1319 msgid "File description: %1%" msgstr "檔案描述: %1%" -#: src/mmg/tabs/input.cpp:401 -#: src/mmg/tabs/input.cpp:414 +#: src/mmg/tabs/input.cpp:364 +#: src/mmg/tabs/input.cpp:377 msgid "File identification failed" msgstr "檔案無法識別" -#: src/mmg/tabs/input.cpp:396 +#: src/mmg/tabs/input.cpp:359 #, c-format msgid "File identification failed for '%s'. Return code: %d" msgstr "檔案「%s」無法識別。返回碼: %d" -#: src/mmg/tabs/input.cpp:399 +#: src/mmg/tabs/input.cpp:362 #, c-format msgid "File identification failed. Return code: %d. Errno: %d (%s). Make sure that you've selected a mkvmerge executable in the settings dialog." msgstr "檔案識別失敗。返回碼: %d。錯誤代號: %d (%s)。請確認您在設定對話窗中選擇了 mkvmerge 可執行檔。" -#: src/mmg/tabs/input.cpp:336 +#: src/mmg/tabs/input.cpp:298 msgid "File is already processed" msgstr "檔案已處理完畢" -#: src/mmg/header_editor/frame.cpp:525 +#: src/mmg/header_editor/frame.cpp:526 msgid "File modified" msgstr "檔案已修改" -#: src/info/mkvinfo.cpp:1326 +#: src/info/mkvinfo.cpp:1323 msgid "File name: %1%" msgstr "檔名: %1%" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "File parsing failed" msgstr "解析檔案失敗" -#: src/mmg/tabs/input.cpp:767 +#: src/mmg/tabs/input.cpp:737 msgid "File removal not possible" msgstr "檔案不能移除" -#: src/mmg/header_editor/frame.cpp:702 -#: src/mmg/tabs/chapters.cpp:1901 +#: src/mmg/header_editor/frame.cpp:703 +#: src/mmg/tabs/chapters.cpp:1906 msgid "File structure warning" msgstr "檔案結構警告" @@ -3247,20 +3256,20 @@ msgid "File/segment title:" msgstr "檔案/剪輯標題:" -#: src/merge/output_control.cpp:818 +#: src/merge/output_control.cpp:843 msgid "Files cannot be appended to themselves. The argument for '--append-to' was invalid.\n" msgstr "檔案不能被添加至自己上。「--append-to」的參數無效。\n" -#: src/mmg/jobs.cpp:349 +#: src/mmg/jobs.cpp:358 #, c-format msgid "Finished job ID %d on %s: status '%s'" msgstr "任務 ID %d 完成於 %s: 狀態「%s」" -#: src/mmg/jobs.cpp:436 +#: src/mmg/jobs.cpp:445 msgid "Finished on" msgstr "完成時間" -#: src/mmg/jobs.cpp:141 +#: src/mmg/jobs.cpp:142 #, c-format msgid "Finished processing on %s" msgstr "已完成對 %s 的處理" @@ -3274,19 +3283,19 @@ msgid "For an in-depth explanantion of file/segment linking and this feature please read mkvmerge's documentation." msgstr "要深入瞭解檔案/剪輯連接功能,請閱讀 mkvmerge 文件檔。" -#: src/mmg/cli_options_dlg.cpp:117 +#: src/mmg/cli_options_dlg.cpp:122 msgid "Force EBML style lacing." msgstr "強制 EBML 式緊縮。" -#: src/mmg/cli_options_dlg.cpp:115 +#: src/mmg/cli_options_dlg.cpp:120 msgid "Force Xiph style lacing." msgstr "強制 Xiph 式緊縮。" -#: src/common/cli_parser.cpp:176 +#: src/common/cli_parser.cpp:177 msgid "Force the translations for 'code' to be used." msgstr "強制使用「code」的翻譯。" -#: src/info/mkvinfo.cpp:1093 +#: src/info/mkvinfo.cpp:1090 msgid "Forced flag: %1%" msgstr "“強制”標記: %1%" @@ -3294,19 +3303,19 @@ msgid "Forced track flag:" msgstr "“強制軌”標記:" -#: src/mmg/tabs/input_format.cpp:227 +#: src/mmg/tabs/input_format.cpp:228 msgid "Forces the FourCC of the video track to this value. Note that this only works for video tracks that use the AVI compatibility mode or for QuickTime video tracks. This option CANNOT be used to change Matroska's CodecID." msgstr "強制該視訊軌的 FourCC 為此值。注意,這只對使用 AVI 相容模式的視訊軌或 QuickTime 視訊軌有效。本選項 *不能* 用於更改 Matroska 的 CodecID。" -#: src/mmg/cli_options_dlg.cpp:125 +#: src/mmg/cli_options_dlg.cpp:130 msgid "Forces the Matroska reader to use the generic passthrough packetizer even for known and supported track types." msgstr "強制 Matroska 讀取器使用通用呈遞分組器即使軌道類型已知或受支援。" -#: src/mmg/tabs/input_format.cpp:237 +#: src/mmg/tabs/input_format.cpp:238 msgid "Forces the NALU size length to a certain number of bytes. This parameter is only available for AVC/h.264 elementary streams read from AVC/h.264 ES files, AVIs or Matroska files created with '--engage allow_avc_in_vwf_mode'. It defaults to 4 bytes, but there are files which do not contain a frame or slice that is bigger than 65535 bytes. For such files you can use this parameter and decrease the size to 2." msgstr "強制 NALU 長度大小為一定的位元組數。本參數只對 AVC/h.264 ES 檔、AVI 檔或使用「--engage allow_avc_in_vwf_mode」建立的 Matroska 檔中的 AVC/h.264 基本流有效。如果預設值為 4 位元組,但可能有包含大於 65535 位元組的畫格或切面的檔案。對這類檔您可以使用本參數將大小降至 2。" -#: src/mmg/cli_options_dlg.cpp:99 +#: src/mmg/cli_options_dlg.cpp:104 msgid "Forces the timecode scale factor to REPLACEME. You have to replace REPLACEME with a value between 1000 and 10000000 or with -1. Normally mkvmerge will use a value of 1000000 which means that timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least one audio track mkvmerge will automatically choose a timecode scale factor so that all timecodes and durations have a precision of one sample. This causes bigger overhead but allows precise seeking and extraction. If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present." msgstr "強制時間碼縮放係數為 REPLACEME。您得用 1000 至 10000000 之間的值或者 -1 來替代 REPLACEME。通常 mkvmerge 會使用值 1000000,這樣時間碼和持續時間的精確度為 1ms。對於不包含視訊軌但含有至少一條音軌的檔案,mkvmerge 會自動選擇一個時間碼縮放係數以使各軌的取樣精確度相同。這將引起更大的額外開銷,但將允許更精確的定位與提取。如果使用了魔法值 -1,即使有視訊軌,mkvmerge 也將使用取樣精確度。" @@ -3330,37 +3339,36 @@ msgid "Found one or more B frames without second reference in the first GOP. You may want to fix the MPEG2 video stream or use smart reencode before attempting to multiplex it.\n" msgstr "在第一個 GOP 裡找到一個或多個沒有秒數參考的 B 畫格。您可能在分離前會想修復此 MPEG2 視訊串流或使用智慧型重新編碼。\n" -#: src/mmg/tabs/input_format.cpp:226 +#: src/mmg/tabs/input_format.cpp:227 msgid "FourCC:" msgstr "FourCC:" -#: src/merge/mkvmerge.cpp:1125 +#: src/merge/mkvmerge.cpp:1116 msgid "FourCC: Invalid track ID in '%1% %2%'.\n" msgstr "FourCC: 無效的軌道 ID 於「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1121 +#: src/merge/mkvmerge.cpp:1112 msgid "FourCC: Missing track ID in '%1% %2%'.\n" msgstr "FourCC: 缺少軌道 ID 於「%1% %2%」。\n" -#: src/info/mkvinfo.cpp:158 +#: src/info/mkvinfo.cpp:195 msgid "Frame number: %1%" msgstr "畫格數: %1%" -#: src/info/mkvinfo.cpp:770 +#: src/info/mkvinfo.cpp:773 msgid "Frame rate: %1%" msgstr "畫格率: %1%" -#: src/info/mkvinfo.cpp:148 -#: src/info/mkvinfo.cpp:167 +#: src/info/mkvinfo.cpp:185 +#: src/info/mkvinfo.cpp:204 msgid "Frame with size %1%%2%%3%" msgstr "畫格,大小為 %1%%2%%3%" -#: src/mmg/tabs/input_extra.cpp:74 -#: src/mmg/tabs/input_extra.cpp:136 +#: src/mmg/tabs/input_extra.cpp:131 msgid "Free-form edit field for user defined options for this track. What you input here is added after all the other options mmg adds so that you could overwrite any of mmg's options for this track. All occurences of the string \"<TID>\" will be replaced by the track's track ID." msgstr "無格式限制的文字方塊,供使用者定義此軌的命令列選項。您在這裡輸入的選項將被放在 mmg 添加的所有其他選項之後,這樣您可以覆蓋 mmg 為此軌建立的任何選項。所有出現字串 \"<TID>\" 的地方都會被替換為目前軌道的軌道 ID。" -#: src/info/mkvinfo.cpp:737 +#: src/info/mkvinfo.cpp:744 msgid "Gamma: %1%" msgstr "伽瑪修正: %1%" @@ -3368,7 +3376,7 @@ msgid "General track options" msgstr "軌道一般選項" -#: src/mmg/mmg_dialog.cpp:287 +#: src/mmg/mmg_dialog.cpp:307 msgid "Global" msgstr "整體" @@ -3377,12 +3385,12 @@ msgid "Global options" msgstr " 整體選項" -#: src/mmg/mmg.cpp:47 +#: src/mmg/mmg.cpp:52 #, c-format msgid "Global tags (%d entries) from %s" msgstr "整體標籤 (%d 個項目) 自 %s" -#: src/merge/pr_generic.cpp:1424 +#: src/merge/pr_generic.cpp:1443 msgid "Global tags: %1% entries" msgstr "整體標籤: %1% 項目" @@ -3403,41 +3411,49 @@ msgid "Header editor: %s" msgstr "表頭編輯器: %s" -#: src/common/compression.cpp:275 +#: src/common/compression.cpp:284 msgid "Header removal compression not possible because the buffer contained %1% bytes which is less than the size of the headers that should be removed, %2%." msgstr "無法執行除頭壓縮,因為緩衝區包含小於要移除表頭大小的 %1% 位元組的資料,%2%。" -#: src/common/compression.cpp:289 +#: src/common/compression.cpp:298 msgid "Header removal compression not possible because the buffer did not start with the bytes that should be removed. Wanted bytes:%1%; found:%2%." msgstr "無法執行移除表頭壓縮,因為緩衝區未以待移除的位元組起始。需要的位元組:%1%; 找到的是:%2%。" -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:633 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:634 +#: src/mmg/header_editor/frame.cpp:639 msgid "Header validation" msgstr "表頭檢驗" -#: src/mmg/header_editor/frame.cpp:566 -#: src/mmg/header_editor/frame.cpp:576 -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:567 +#: src/mmg/header_editor/frame.cpp:577 +#: src/mmg/header_editor/frame.cpp:783 msgid "Headers modified" msgstr "表頭已修改" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Height of the encoded video frames in pixels." msgstr "編碼後的視訊畫格的高度,單位:像素。" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Height of the video frames to display." msgstr "視訊畫格的顯示高度。" -#: src/mmg/mmg_dialog.cpp:686 -#: src/mmg/mmg_dialog.cpp:692 +#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:696 msgid "Help file not found" msgstr "找不到說明檔" +#: src/mmg/mmg_dialog.cpp:720 +msgid "" +"Help is available in form of tool tips, from the\n" +"'Help' menu or by pressing the 'F1' key." +msgstr "" +"從「說明」選單或按「F1」鍵,說明會以\n" +"工具提示的形式出現。" + #: src/mmg/cli_options_dlg.cpp:31 msgid "" "Here you can add more command line options either by\n" @@ -3448,9 +3464,9 @@ "您既可以直接在下面輸入,也可以從下拉清單中選取,\n" "再按下“加入”按鈕。" -#: src/mmg/tabs/chapters.cpp:333 -msgid "Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it." -msgstr "以固定量校準所選章節及其子章節,既可以提前也可以延後。" +#: src/mmg/tabs/chapters.cpp:334 +msgid "Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them." +msgstr "這裡可以用指定的增減量來調整選擇章節的所有時間碼。" #: src/mmg/options/chapters.cpp:76 msgid "" @@ -3463,51 +3479,51 @@ "如果需要,這些值也可以以後修改。\n" "預設值會在您離開 mmg 時儲存。" -#: src/mmg/tabs/chapters.cpp:330 +#: src/mmg/tabs/chapters.cpp:331 msgid "Here you can set the values for the language and the country that you want to apply to all the chapters below and including the currently selected entry." msgstr "設定您希望應用至下面所有章節(含目前所選項目)的語言及國家值。" -#: src/mmg/jobs.cpp:425 +#: src/mmg/jobs.cpp:434 msgid "ID" msgstr "ID" -#: src/common/iso639.cpp:556 +#: src/common/iso639.cpp:529 msgid "ISO639-1 code" msgstr "ISO639-1 碼" -#: src/common/iso639.cpp:555 +#: src/common/iso639.cpp:528 msgid "ISO639-2 code" msgstr "ISO639-2 碼" -#: src/merge/mkvmerge.cpp:92 -msgid "IVF with VP8" -msgstr "含 VP8 的 IVF" - -#: src/mmg/tabs/input.cpp:241 +#: src/common/file_types.cpp:35 msgid "IVF with VP8 video files" msgstr "含 VP8 視訊檔的 IVF" -#: src/mmg/tabs/chapters.cpp:340 +#: src/mmg/tabs/chapters.cpp:341 msgid "If a chapter is marked 'hidden' then the player should not show this chapter entry to the user. Such entries could still be used by the menu system." msgstr "如果一個章節被標記為“隱藏”,播放器將不會向使用者顯示該章節項目。這樣的項目仍然可以透過功能表系統調用。" -#: src/mmg/tabs/chapters.cpp:343 +#: src/mmg/tabs/chapters.cpp:344 msgid "If a chapter is not marked 'enabled' then the player should skip the part of the file that this chapter occupies." msgstr "如果一個章節沒有被標記為“啟用”,播放器將會跳過檔案中被該章節佔用的一段。" -#: src/mmg/options/mmg.cpp:74 +#: src/mmg/options/mmg.cpp:75 msgid "If checked mmg will ask for confirmation before overwriting existing files, or before adding a new job if there's an old job whose description matches the new one." msgstr "如果選中該項,mmg 將在覆寫已存在的檔案或在新增一個與已有任務描述相同的新任務時,尋問您的確認。" -#: src/mmg/options/mmg.cpp:59 +#: src/mmg/options/mmg.cpp:60 msgid "If checked mmg will automatically set the output filename if it hasn't been set already. This happens when you add the first file. If unset mmg will not touch the output filename." msgstr "如果選中該項,且輸出檔案名尚未設定,mmg 將會自動設定。這只發生在您添加第一個檔案時。如果未選該項,mmg 不會修改輸出檔名。" -#: src/mmg/options/mmg.cpp:94 +#: src/mmg/options/mmg.cpp:101 +msgid "If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. The user can still change the compression setting afterwards." +msgstr "如果勾選 mmg 會將預設情況下所有音軌和視訊軌的「壓縮」下拉式選單設定為「無」。使用者以後仍然可以變更壓縮設定值。" + +#: src/mmg/options/mmg.cpp:95 msgid "If checked mmg will warn if it thinks that you're using it incorrectly. Such warnings are shown at least once even if you turn this feature off." msgstr "如果選中該項,mmg 將在它認為您用法不正確時發出警告。即使您將該功能關閉,此類警告也將至少出現一次。" -#: src/mmg/options/mmg.cpp:70 +#: src/mmg/options/mmg.cpp:71 msgid "If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. Otherwise this directory will be used." msgstr "如果留空,mmg 將設定輸出檔名與添加至此任務的第一個檔案同路徑。反之將使用此目錄。" @@ -3515,31 +3531,31 @@ msgid "If splitting is a file can be attached either to all files created or only to the first file. Has no effect if no splitting is used." msgstr "如果啟用了檔分割,一個檔可以附加至建立的所有檔,或僅附加至建立的第一個檔。如果未使用分割功能則無影響。" -#: src/output/p_textsubs.cpp:66 -msgid "Ignoring an entry which starts after it ends.\n" -msgstr "忽略起始時間在結束時間之後的項目。\n" +#: src/output/p_textsubs.cpp:70 +msgid "Ignoring an entry which starts after it ends (%1%).\n" +msgstr "忽略起始時間在結束時間之後的項目。(%1%)\n" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported font from %1%" msgstr "匯入的字體,自 %1%" -#: src/input/subtitles.cpp:503 +#: src/input/subtitles.cpp:511 msgid "Imported picture from %1%" msgstr "匯入的圖片,自 %1%" -#: src/input/r_corepicture.cpp:223 +#: src/input/r_corepicture.cpp:226 msgid "Impossible to use file '%1%': The file could not be opened for reading.\n" msgstr "無法使用檔案「%1%」: 無法開啟要讀取的檔案。\n" -#: src/mmg/mmg_dialog.cpp:1739 +#: src/mmg/mmg_dialog.cpp:1870 msgid "Incompatible mkvmerge version" msgstr "不相容的 mkvmerge 版本" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "Incompatible track" msgstr "不相容的軌道" -#: src/input/r_real.cpp:610 +#: src/input/r_real.cpp:608 msgid "Inconsistent AAC audio packet (length: %1% != len_check %2%)\n" msgstr "不相容的 AAC 音訊套件 (長度: %1% != len_check %2%)\n" @@ -3547,16 +3563,16 @@ msgid "Increase verbosity." msgstr "增強詳細程度。" -#: src/mmg/mmg_dialog.cpp:285 +#: src/mmg/mmg_dialog.cpp:305 msgid "Input" msgstr "輸入" -#: src/mmg/tabs/chapters.cpp:1374 -#: src/mmg/tabs/chapters.cpp:1467 -#: src/mmg/tabs/chapters.cpp:1476 -#: src/mmg/tabs/chapters.cpp:1490 -#: src/mmg/tabs/chapters.cpp:1506 -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1379 +#: src/mmg/tabs/chapters.cpp:1472 +#: src/mmg/tabs/chapters.cpp:1481 +#: src/mmg/tabs/chapters.cpp:1495 +#: src/mmg/tabs/chapters.cpp:1511 +#: src/mmg/tabs/chapters.cpp:1519 msgid "Input data error" msgstr "輸入資料錯誤" @@ -3568,24 +3584,24 @@ msgid "Input too long: %1% > %2%" msgstr "輸入過長: %1% > %2%" -#: src/mmg/options/mmg.cpp:104 +#: src/mmg/options/mmg.cpp:116 msgid "Interface language:" msgstr "介面語言:" -#: src/info/mkvinfo.cpp:741 +#: src/info/mkvinfo.cpp:748 msgid "Interlaced: %1%" msgstr "交錯的: %1%" -#: src/extract/xtr_textsubs.cpp:141 +#: src/extract/xtr_textsubs.cpp:142 msgid "Internal bug: tracks.cpp SSA #1. %1%" msgstr "內部錯誤: tracks.cpp SSA #1。 %1%" -#: src/mmg/header_editor/frame.cpp:706 -#: src/mmg/tabs/chapters.cpp:1905 +#: src/mmg/header_editor/frame.cpp:707 +#: src/mmg/tabs/chapters.cpp:1910 msgid "Internal program error" msgstr "內部程式錯誤" -#: src/merge/mkvmerge.cpp:1049 +#: src/merge/mkvmerge.cpp:1040 msgid "Invalid %1% specified in '--%2% %3%'.\n" msgstr "無效的 %1% 指定,在「--%2% %3%」。\n" @@ -3597,21 +3613,21 @@ msgid "Invalid BlockAddition level in argument '%1%'.\n" msgstr "無效的附加區塊層級,在參數「%1%」中。\n" -#: src/mmg/tabs/chapters.cpp:1467 +#: src/mmg/tabs/chapters.cpp:1472 msgid "Invalid UID. A UID is simply a number." msgstr "無效 UID。UID 僅僅是個數位。" -#: src/mmg/tabs/chapters.cpp:1476 +#: src/mmg/tabs/chapters.cpp:1481 msgid "Invalid UID. This chapter UID is already in use. The original UID has not been changed." msgstr "無效 UID。該章節 UID 已被使用。原 UID 沒有被改變。" -#: src/mmg/tabs/chapters.cpp:1490 +#: src/mmg/tabs/chapters.cpp:1495 msgid "Invalid UID. This edition UID is already in use. The original UID has not been changed." msgstr "無效 UID。該版本 UID 已被使用。原 UID 沒有被改變。" -#: src/input/r_avi.cpp:638 -#: src/input/r_avi.cpp:643 -#: src/input/r_avi.cpp:660 +#: src/input/r_avi.cpp:694 +#: src/input/r_avi.cpp:699 +#: src/input/r_avi.cpp:716 msgid "Invalid Vorbis headers in AVI audio track." msgstr "有無效的 Vorbis 表頭,在 AVI 音軌中。" @@ -3623,15 +3639,15 @@ msgid "Invalid binary data format '%1%' specified. Supported are 'Base64', 'ASCII' and 'hex'." msgstr "指定了無效的二位元資料「%1%」。僅支援「Base64」, 「ASCII」與「hex」。" -#: src/merge/mkvmerge.cpp:917 +#: src/merge/mkvmerge.cpp:889 msgid "Invalid boolean option specified in '--default-track %1%'.\n" msgstr "無效的布林值選項指定,在「--default-track %1%」中。\n" -#: src/merge/mkvmerge.cpp:943 +#: src/merge/mkvmerge.cpp:915 msgid "Invalid boolean option specified in '--forced-track %1%'.\n" msgstr "無效的布林值選項指定,在「--forced-track %1%」中。\n" -#: src/merge/mkvmerge.cpp:1308 +#: src/merge/mkvmerge.cpp:1299 msgid "Invalid boolean specified in '--aac-is-sbr %1%'.\n" msgstr "無效的布林值指定,在「--aac-is-sbr %1%」中。\n" @@ -3639,11 +3655,11 @@ msgid "Invalid change spec (%3%) in '%1% %2%'.\n" msgstr "無效的變更規格 (%3%),在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:998 +#: src/merge/mkvmerge.cpp:970 msgid "Invalid compression option specified in '--compression %1%'.\n" msgstr "無效的壓縮選項指定,在「--compression %1%」中。\n" -#: src/merge/mkvmerge.cpp:991 +#: src/merge/mkvmerge.cpp:963 msgid "Invalid compression option. No track ID specified in '--compression %1%'.\n" msgstr "無效的壓縮選項。未在「--compression %1%」指定軌道 ID。\n" @@ -3651,40 +3667,40 @@ msgid "Invalid country selected" msgstr "無效的國家選擇" -#: src/merge/mkvmerge.cpp:968 +#: src/merge/mkvmerge.cpp:940 msgid "Invalid cues option specified in '--cues %1%'.\n" msgstr "無效的索引選項指定,在「--cues %1%」中。\n" -#: src/merge/mkvmerge.cpp:961 +#: src/merge/mkvmerge.cpp:933 msgid "Invalid cues option. No track ID specified in '--cues %1%'.\n" msgstr "無效的索引選項。未在「--cues %1%」指定軌道 ID。\n" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "Invalid file name" msgstr "無效的檔名" -#: src/merge/mkvmerge.cpp:858 +#: src/merge/mkvmerge.cpp:830 msgid "Invalid format for '--split' in '--split %1%'.\n" msgstr "「--split」格式無效,在「--split %1%」中。\n" -#: src/extract/xtr_textsubs.cpp:210 +#: src/extract/xtr_textsubs.cpp:211 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: The first field is not an integer. This entry will be skipped.\n" msgstr "SSA 這一行 (「%1%」) 於時間碼 %2% 格式無效: 第一個欄位不是整數。該條將被跳過。\n" -#: src/extract/xtr_textsubs.cpp:199 +#: src/extract/xtr_textsubs.cpp:200 msgid "Invalid format for a SSA line ('%1%') at timecode %2%: Too many fields found (%3% instead of 9). This entry will be skipped.\n" msgstr "SSA 這一行 (「%1%」) 於時間碼 %2% 格式無效: 發現過多欄位 (%3% 而不是 9)。該條將被跳過。\n" -#: src/mmg/tabs/chapters.cpp:1374 +#: src/mmg/tabs/chapters.cpp:1379 msgid "Invalid format used for the adjustment." msgstr "調整功能使用的格式無效。" -#: src/mmg/tabs/chapters.cpp:1514 +#: src/mmg/tabs/chapters.cpp:1519 #, c-format msgid "Invalid format used for the end time for '%s'. Setting value to 0." msgstr "終止時間「%s」格式無效。設定值為 0。" -#: src/mmg/tabs/chapters.cpp:1506 +#: src/mmg/tabs/chapters.cpp:1511 #, c-format msgid "Invalid format used for the start time for '%s'. Setting value to 0." msgstr "起始時間「%s」格式無效。設定值為 0。" @@ -3725,7 +3741,7 @@ msgid "Invalid format: unknown character '%1%' found" msgstr "格式無效: 發現未知字元「%1%」" -#: src/input/r_vobsub.cpp:514 +#: src/input/r_vobsub.cpp:515 msgid "Invalid header length: %1% (total length: %2%, idx: %3%, dataidx: %4%)\n" msgstr "表頭長度無效: %1% (總長: %2%, 索引: %3%, 資料索引: %4%)\n" @@ -3734,7 +3750,7 @@ msgstr "遇到無效的十六進位資料:「%1%」既不是空格也不是十六進位數。" #: src/mmg/options/chapters.cpp:114 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 msgid "Invalid language selected" msgstr "無效的語言選擇" @@ -3762,92 +3778,92 @@ msgid "Invalid selector in '%1% %2%'.\n" msgstr "無效的選擇器,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:812 +#: src/merge/mkvmerge.cpp:784 msgid "Invalid split size in '--split %1%'.\n" msgstr "無效的分割大小「--split %1%」。\n" -#: src/input/r_usf.cpp:319 +#: src/input/r_usf.cpp:315 msgid "Invalid start or stop timecode" msgstr "無效的開始或終止時間碼" -#: src/input/r_corepicture.cpp:248 +#: src/input/r_corepicture.cpp:246 msgid "Invalid start timecode" msgstr "無效的開始時間碼" -#: src/merge/mkvmerge.cpp:1073 +#: src/merge/mkvmerge.cpp:1064 msgid "Invalid sub charset option. No track ID specified in '--sub-charset %1%'.\n" msgstr "無效的字幕字元集選項。未在「--sub-charset %1%」指定軌道 ID。\n" -#: src/merge/mkvmerge.cpp:1080 +#: src/merge/mkvmerge.cpp:1071 msgid "Invalid sub charset specified in '--sub-charset %1%'.\n" msgstr "無效的字幕字元集指定,在「--sub-charset %1%」。\n" -#: src/merge/mkvmerge.cpp:583 +#: src/merge/mkvmerge.cpp:545 msgid "Invalid sync option specified in '%1% %2%'.\n" msgstr "無效的同步選項指定,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:606 +#: src/merge/mkvmerge.cpp:568 msgid "Invalid sync option specified in '%1% %2%'. The divisor is zero.\n" msgstr "無效的同步選項指定,在「%1% %2%」。除數為零。\n" -#: src/merge/mkvmerge.cpp:612 +#: src/merge/mkvmerge.cpp:574 msgid "Invalid sync option specified in '%1% %2%'. The linear sync value may not be equal to or smaller than zero.\n" msgstr "無效的同步選項指定,在「%1% %2%」。線性同步值不得等於或小於 0。\n" -#: src/merge/mkvmerge.cpp:575 +#: src/merge/mkvmerge.cpp:537 msgid "Invalid sync option. No track ID specified in '%1% %2%'.\n" msgstr "無效的同步選項。未在「%1% %2%」指定軌道 ID。\n" -#: src/merge/mkvmerge.cpp:1104 +#: src/merge/mkvmerge.cpp:1095 msgid "Invalid tags file name specified in '%1% %2%'.\n" msgstr "無效的標籤檔名指定在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1097 +#: src/merge/mkvmerge.cpp:1088 msgid "Invalid tags option. No track ID specified in '%1% %2%'.\n" msgstr "無效的標籤選項。在「%1% %2%」未指定軌道 ID。\n" -#: src/merge/mkvmerge.cpp:777 +#: src/merge/mkvmerge.cpp:749 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%\n" msgstr "「--split」的時間無效,在「--split %1%」。其他錯誤訊息: %2%\n" -#: src/merge/mkvmerge.cpp:799 +#: src/merge/mkvmerge.cpp:771 msgid "Invalid time for '--split' in '--split %1%'. Additional error message: %2%.\n" msgstr "「--split」的時間無效,在「--split %1%」。其他錯誤訊息: %2%。\n" -#: src/merge/mkvmerge.cpp:552 +#: src/merge/mkvmerge.cpp:514 msgid "Invalid track ID in '%1% %2%'.\n" msgstr "無效軌道 ID,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:579 -#: src/merge/mkvmerge.cpp:1101 +#: src/merge/mkvmerge.cpp:541 +#: src/merge/mkvmerge.cpp:1092 msgid "Invalid track ID specified in '%1% %2%'.\n" msgstr "無效的軌道 ID 指定,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1045 +#: src/merge/mkvmerge.cpp:1036 msgid "Invalid track ID specified in '--%1% %2%'.\n" msgstr "無效的軌道 ID 指定,在「--%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1305 +#: src/merge/mkvmerge.cpp:1296 msgid "Invalid track ID specified in '--aac-is-sbr %1%'.\n" msgstr "無效的軌道 ID 指定,在「--aac-is-sbr %1%」。\n" -#: src/merge/mkvmerge.cpp:995 +#: src/merge/mkvmerge.cpp:967 msgid "Invalid track ID specified in '--compression %1%'.\n" msgstr "無效的軌道 ID 指定,在「--compression %1%」。\n" -#: src/merge/mkvmerge.cpp:965 +#: src/merge/mkvmerge.cpp:937 msgid "Invalid track ID specified in '--cues %1%'.\n" msgstr "無效的軌道 ID 指定,在「--cues %1%」。\n" -#: src/merge/mkvmerge.cpp:911 +#: src/merge/mkvmerge.cpp:883 msgid "Invalid track ID specified in '--default-track %1%'.\n" msgstr "無效的軌道 ID 指定,在「--default-track %1%」。\n" -#: src/merge/mkvmerge.cpp:937 +#: src/merge/mkvmerge.cpp:909 msgid "Invalid track ID specified in '--forced-track %1%'.\n" msgstr "無效的軌道 ID 指定,在「--forced-track %1%」。\n" -#: src/merge/mkvmerge.cpp:1077 +#: src/merge/mkvmerge.cpp:1068 msgid "Invalid track ID specified in '--sub-charset %1%'.\n" msgstr "無效的軌道 ID 指定,在「--sub-charset %1%」。\n" @@ -3855,19 +3871,19 @@ msgid "Invalid track ID/file name specification in argument '%1%'.\n" msgstr "在參數「%1%」中指定的軌道 ID 或檔名無效。\n" -#: src/mmg/mmg_dialog.cpp:1418 +#: src/mmg/mmg_dialog.cpp:1425 msgid "Job added to job queue" msgstr "任務已添加至任務佇列" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Job description" msgstr "任務描述" -#: src/mmg/jobs.cpp:376 +#: src/mmg/jobs.cpp:385 msgid "Job output" msgstr "任務輸出資訊" -#: src/mmg/jobs.cpp:417 +#: src/mmg/jobs.cpp:426 msgid "Job queue management" msgstr "任務佇列管理" @@ -3879,30 +3895,20 @@ msgid "Keep only the BlockAdditions up to this level (default: keep all levels)" msgstr "只維持 BlockAdditions 高於這個層級 (預設: 維持所有層級)" -#: src/merge/mkvmerge.cpp:399 -msgid "" -"Known file types:\n" -" ext description\n" -" ---- --------------------------\n" -msgstr "" -"已知的檔案類型:\n" -" 副檔名 描述\n" -" ---- --------------------------\n" - -#: src/common/compression.cpp:79 +#: src/common/compression.cpp:88 msgid "LZO compression failed. Result: %1%\n" msgstr "LZO 壓縮失敗。結果: %1%\n" -#: src/info/mkvinfo.cpp:157 +#: src/info/mkvinfo.cpp:194 msgid "Lace number: %1%" msgstr "緊縮數: %1%" -#: src/info/mkvinfo.cpp:1085 +#: src/info/mkvinfo.cpp:1082 msgid "Lacing flag: %1%" msgstr "“緊縮”標記: %1%" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:429 +#: src/mmg/header_editor/frame.cpp:431 msgid "Language" msgstr "語言" @@ -3915,13 +3921,13 @@ msgstr "語言未以 NUL 結尾" #: src/mmg/options/chapters.cpp:86 -#: src/mmg/tabs/chapters.cpp:348 -#: src/mmg/tabs/global.cpp:278 #: src/mmg/tabs/input_general.cpp:181 +#: src/mmg/tabs/chapters.cpp:349 +#: src/mmg/tabs/global.cpp:278 msgid "Language:" msgstr "語言:" -#: src/info/mkvinfo.cpp:1097 +#: src/info/mkvinfo.cpp:1094 msgid "Language: %1%" msgstr "語言: %1%" @@ -3929,15 +3935,11 @@ msgid "Languages" msgstr "語言" -#: src/mmg/cli_options_dlg.cpp:109 +#: src/mmg/cli_options_dlg.cpp:114 msgid "Leave additional space (EbmlVoid) in the output file after the chapters." msgstr "在輸出檔的章節中留額外的空格 (EbmlVoid)。" -#: src/mmg/tabs/input_format.cpp:173 -msgid "Left eye" -msgstr "左眼視角" - -#: src/mmg/mmg_dialog.cpp:265 +#: src/mmg/mmg_dialog.cpp:282 msgid "Lets you add arbitrary options to the command line" msgstr "允許您向命令列添加任意選項" @@ -3958,7 +3960,7 @@ msgid "Line %1%, column %2%: %3%" msgstr "第 %1% 行, 第 %2% 列: %3%" -#: src/input/subtitles.cpp:181 +#: src/input/subtitles.cpp:187 msgid "Line %1%: Negative timestamp encountered. The entry will be adjusted to start from 00:00:00.000.\n" msgstr "第 %1% 行: 遇到負的時間戳。此項目會調整為從 00:00:00.000 開始。\n" @@ -3979,24 +3981,24 @@ msgid "List all valid property names and exit" msgstr "列出全部有效的屬性名稱並離開" -#: src/mmg/mmg_dialog.cpp:267 +#: src/mmg/mmg_dialog.cpp:284 msgid "Load a chapter file (simple/OGM format or XML format)" msgstr "載入章節檔 (簡單/OGM 格式或 XML 格式)" -#: src/mmg/mmg_dialog.cpp:252 +#: src/mmg/mmg_dialog.cpp:269 msgid "Load muxing settings from a file" msgstr "從檔案載入合成設定" -#: src/mmg/mux_dialog.cpp:262 +#: src/mmg/mux_dialog.cpp:263 #, c-format msgid "Log files (*.txt)|*.txt|%s" msgstr "日誌檔 (*.txt)|*.txt|%s" -#: src/mmg/jobs.cpp:90 +#: src/mmg/jobs.cpp:91 msgid "Log output:" msgstr "日誌輸出:" -#: src/info/mkvinfo.cpp:890 +#: src/info/mkvinfo.cpp:893 msgid "MD5" msgstr "MD5" @@ -4008,58 +4010,42 @@ msgid "MIME type:" msgstr "MIME 類型:" -#: src/mmg/tabs/input.cpp:242 +#: src/mmg/mmg_dialog.cpp:718 +msgid "MKVToolNix is licensed under the GNU GPL v2" +msgstr "MKVToolNix 授權為 GNU GPL 第二版" + +#: src/common/file_types.cpp:36 msgid "MP4 audio/video files" msgstr "MP4 音/視訊檔" -#: src/mmg/tabs/input.cpp:243 +#: src/common/file_types.cpp:37 msgid "MPEG audio files" msgstr "MPEG 音訊檔" -#: src/merge/mkvmerge.cpp:99 -msgid "MPEG program stream" -msgstr "MPEG PS 節目流" - -#: src/mmg/tabs/input.cpp:244 +#: src/common/file_types.cpp:38 msgid "MPEG program streams" msgstr "MPEG PS 節目流" -#: src/mmg/tabs/input.cpp:245 +#: src/common/file_types.cpp:39 msgid "MPEG video elementary streams" msgstr "MPEG 視訊基本流" -#: src/merge/mkvmerge.cpp:97 -msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" -msgstr "MPEG-1 第 II 層音訊 (CBR 或 VBR/ABR)" - -#: src/merge/mkvmerge.cpp:98 -msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" -msgstr "MPEG-1 第 III 層音訊 (CBR 或 VBR/ABR)" - -#: src/merge/mkvmerge.cpp:93 -msgid "MPEG-1 video elementary stream" -msgstr "MPEG-1 視訊基本流" - -#: src/merge/mkvmerge.cpp:94 -msgid "MPEG-2 video elementary stream" -msgstr "MPEG-2 視訊基本流" - #: src/mmg/tabs/input_general.cpp:184 msgid "Make this track the default track for its type (audio, video, subtitles). Players should prefer tracks with the default track flag set." msgstr "將此軌作為其所屬類別(音訊,視訊,字幕)的預設軌。播放器會優先使用有“預設軌”標記的軌道。" -#: src/input/r_matroska.cpp:1468 -#: src/input/r_matroska.cpp:1483 +#: src/input/r_matroska.cpp:1510 +#: src/input/r_matroska.cpp:1525 msgid "Malformed AAC codec initialization data found.\n" msgstr "發現不正常的 AAC 編解碼器初始化資料。\n" -#: src/input/r_matroska.cpp:1476 +#: src/input/r_matroska.cpp:1518 msgid "Malformed codec id '%1%'.\n" msgstr "不正常的編解碼器 id「%1%」。\n" -#: src/input/subtitles.cpp:349 #: src/input/subtitles.cpp:357 -#: src/input/subtitles.cpp:362 +#: src/input/subtitles.cpp:365 +#: src/input/subtitles.cpp:370 msgid "Malformed line? (%1%)\n" msgstr "不正常的一行? (%1%)\n" @@ -4067,39 +4053,39 @@ msgid "Mark this track as 'forced'. Players must play this track." msgstr "將此軌標記為「強制」。播放器必須播放此軌。" -#: src/mmg/mmg_dialog.cpp:316 +#: src/mmg/mmg_dialog.cpp:336 #, c-format -msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" -msgstr "Matroska 音訊/視訊檔 (*.mka;*.mkv)|*.mkv;*.mka|%s" +msgid "Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska 檔案 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/mmg/tabs/input.cpp:246 +#: src/common/file_types.cpp:40 msgid "Matroska audio/video files" msgstr "Matroska 音訊/視訊檔" #: src/info/qt_ui.cpp:64 -msgid "Matroska files (*.mkv *.mka *.mks);;All files (*.*)" -msgstr "Matroska 檔案 (*.mkv *.mka *.mks);;所有檔 (*.*)" +msgid "Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)" +msgstr "Matroska 檔案 (*.mkv *.mka *.mks *.mk3d);;所有檔 (*.*)" -#: src/mmg/tabs/chapters.cpp:634 +#: src/mmg/tabs/chapters.cpp:637 #, c-format -msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" -msgstr "Matroska 檔案 (*.mkv;*.mka)|*.mkv;*.mka|%s" +msgid "Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s" +msgstr "Matroska 檔案 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" #: src/mmg/header_editor/frame.cpp:238 #, c-format -msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" -msgstr "Matroska 檔案 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s" +msgid "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" +msgstr "Matroska 檔案 (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s" -#: src/info/mkvinfo.cpp:1106 +#: src/info/mkvinfo.cpp:1103 msgid "Max BlockAddition ID: %1%" msgstr "最大附加區塊 ID: %1%" -#: src/info/mkvinfo.cpp:1070 +#: src/info/mkvinfo.cpp:1066 msgid "MaxCache: %1%" msgstr "最大快取: %1%" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:412 +#: src/mmg/header_editor/frame.cpp:414 msgid "Maximum cache" msgstr "最大快取" @@ -4111,24 +4097,24 @@ msgid "Memory for a RealAudio/RealVideo frame could not be allocated.\n" msgstr "無法為一個 RealAudio/RealVideo 畫格分配記憶體。\n" -#: src/info/mkvinfo.cpp:1330 +#: src/info/mkvinfo.cpp:1327 msgid "Mime type: %1%" msgstr "Mime 類型: %1%" -#: src/info/mkvinfo.cpp:1066 +#: src/info/mkvinfo.cpp:1062 msgid "MinCache: %1%" msgstr "最小快取: %1%" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:407 +#: src/mmg/header_editor/frame.cpp:409 msgid "Minimum cache" msgstr "最小快取" -#: src/common/command_line.cpp:188 +#: src/common/command_line.cpp:189 msgid "Missing argument for '--output-charset'.\n" msgstr "「--output-charset」缺少參數。\n" -#: src/common/command_line.cpp:222 +#: src/common/command_line.cpp:223 msgid "Missing argument for '--ui-language'.\n" msgstr "「--ui-language」缺少參數。\n" @@ -4136,19 +4122,19 @@ msgid "Missing argument to '%1%'.\n" msgstr "缺少給「%1%」的參數。\n" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name" msgstr "缺少檔名" -#: src/mmg/mmg.cpp:205 +#: src/mmg/mmg.cpp:216 msgid "Missing file name after for the option '--edit-headers'." msgstr "選項「--edit-headers」後缺少檔名。" -#: src/input/r_ogm.cpp:916 +#: src/input/r_ogm.cpp:941 msgid "Missing header/comment packets for stream. This file is broken but should be muxed correctly. If not please contact the author Moritz Bunkus <moritz@bunkus.org>.\n" msgstr "缺少串流的表頭/註釋封包。檔案已損壞但應該能正常合成。如果確定檔案沒有損壞,請聯繫作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 msgid "Missing input" msgstr "尚未輸入" @@ -4164,15 +4150,15 @@ msgid "Modification of properties in the section '%1%' was requested, but no corresponding level 1 element was found in the file. %2%\n" msgstr "在段落「%1%」中屬性必須修改,但檔案裡未發現符合的等級 1 元件。%2%\n" -#: src/info/mkvinfo.cpp:1477 +#: src/info/mkvinfo.cpp:1474 msgid "More" msgstr "更多" -#: src/merge/mkvmerge.cpp:1759 +#: src/merge/mkvmerge.cpp:1750 msgid "More than one MIME type was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "單個附件被指定了多於一個 MIME 類型。「%1%」將被廢棄,並用「%2%」代替。\n" -#: src/merge/mkvmerge.cpp:1750 +#: src/merge/mkvmerge.cpp:1741 msgid "More than one description was given for a single attachment.\n" msgstr "單個附件被指定了多於一個描述。\n" @@ -4180,7 +4166,7 @@ msgid "More than one file name has been given ('%1%' and '%2%').\n" msgstr "指定多個檔名 (「%1%」和「%2%」)。\n" -#: src/merge/mkvmerge.cpp:1769 +#: src/merge/mkvmerge.cpp:1760 msgid "More than one name was given for a single attachment. '%1%' will be discarded and '%2%' used instead.\n" msgstr "單個附件被指定了多於一個名稱。「%1%」將被廢棄,並用「%2%」代替。\n" @@ -4188,44 +4174,44 @@ msgid "More than one root element found." msgstr "根元件多於一個。" -#: src/merge/output_control.cpp:895 +#: src/merge/output_control.cpp:920 msgid "More than one track is to be appended to the track %1% from file no. %2% ('%3%'). The argument for '--append-to' was invalid.\n" msgstr "被添加至軌道 %1%(自檔案 %2% (「%3%」))的軌道多於一條。「--append-to」的參數無效。\n" -#: src/extract/tracks.cpp:69 +#: src/extract/tracks.cpp:70 msgid "More than one track with the track number %1% found.\n" msgstr "軌道編號為 %1% 的軌道多於一條。\n" -#: src/mmg/jobs.cpp:463 +#: src/mmg/jobs.cpp:472 msgid "Move the selected job(s) down" msgstr "將所選任務下移" -#: src/mmg/jobs.cpp:460 +#: src/mmg/jobs.cpp:469 msgid "Move the selected job(s) up" msgstr "將所選任務上移" -#: src/info/mkvinfo.cpp:569 +#: src/info/mkvinfo.cpp:578 msgid "Muxing application: %1%" msgstr "合成程式: %1%" -#: src/mmg/mux_dialog.cpp:117 +#: src/mmg/mux_dialog.cpp:118 msgid "Muxing in progress." msgstr "合成進行中。" -#: src/merge/mkvmerge.cpp:2208 +#: src/merge/mkvmerge.cpp:2206 msgid "Muxing took %1% seconds.\n" msgstr "合成花費 %1% 秒。\n" -#: src/merge/mkvmerge.cpp:2210 +#: src/merge/mkvmerge.cpp:2208 msgid "Muxing took 1 second.\n" msgstr "合成花費 1 秒。\n" -#: src/mmg/tabs/input_format.cpp:236 +#: src/mmg/tabs/input_format.cpp:237 msgid "NALU size length:" msgstr "NALU 長度大小:" #: src/common/property_element.cpp:130 -#: src/mmg/header_editor/frame.cpp:426 +#: src/mmg/header_editor/frame.cpp:428 msgid "Name" msgstr "名稱" @@ -4234,15 +4220,15 @@ msgstr "此軌的名稱,如“導演評論”。" #: src/mmg/tabs/attachments.cpp:158 -#: src/mmg/tabs/chapters.cpp:347 +#: src/mmg/tabs/chapters.cpp:348 msgid "Name:" msgstr "名稱:" -#: src/info/mkvinfo.cpp:1005 +#: src/info/mkvinfo.cpp:1010 msgid "Name: %1%" msgstr "名稱: %1%" -#: src/mmg/tabs/chapters.cpp:409 +#: src/mmg/tabs/chapters.cpp:410 msgid "New chapters created." msgstr "新章節已建立。" @@ -4251,15 +4237,15 @@ msgstr "新數值:" #: src/common/property_element.cpp:105 -#: src/mmg/header_editor/frame.cpp:336 +#: src/mmg/header_editor/frame.cpp:338 msgid "Next filename" msgstr "下一個檔名" -#: src/info/mkvinfo.cpp:613 +#: src/info/mkvinfo.cpp:622 msgid "Next filename: %1%" msgstr "下一個檔名: %1%" -#: src/info/mkvinfo.cpp:1911 +#: src/info/mkvinfo.cpp:1968 msgid "Next level 0 element is not a segment but %1%" msgstr "下一個 0 層級元件不是剪輯而是 %1%" @@ -4267,49 +4253,49 @@ msgid "Next segment UID:" msgstr "下一個剪輯 UID:" -#: src/info/mkvinfo.cpp:609 +#: src/info/mkvinfo.cpp:618 msgid "Next segment UID:%1%" msgstr "下一個剪輯 UID:%1%" #: src/common/property_element.cpp:109 -#: src/mmg/header_editor/frame.cpp:347 +#: src/mmg/header_editor/frame.cpp:349 msgid "Next segment's unique ID" msgstr "下一個剪輯的唯一 ID" -#: src/merge/mkvmerge.cpp:1039 +#: src/merge/mkvmerge.cpp:1030 msgid "No %1% specified in '--%2% %3%'.\n" msgstr "未指定 %1%,在「--%2% %3%」。\n" -#: src/input/r_qtmp4.cpp:1451 +#: src/input/r_qtmp4.cpp:1447 msgid "No AC3 header found in first frame; track will be skipped.\n" msgstr "第一個畫格未發現 AC3 表頭; 此軌將被跳過。\n" -#: src/info/mkvinfo.cpp:1885 +#: src/info/mkvinfo.cpp:1942 msgid "No EBML head found." msgstr "未找到 EBML 表頭。" -#: src/mmg/tabs/input.cpp:1378 +#: src/mmg/tabs/input.cpp:1348 msgid "No FPS selected for AVC/h.264 track" msgstr "AVC/h.264 軌道的畫格率尚未選擇" -#: src/mmg/tabs/attachments.cpp:387 +#: src/mmg/tabs/attachments.cpp:389 #, c-format msgid "No MIME type has been selected for the attachment '%s'." msgstr "附件「%s」的 MIME 類型尚未選擇。" -#: src/merge/mkvmerge.cpp:371 +#: src/merge/mkvmerge.cpp:329 msgid "No MIME type has been set for the attachment '%1%', and it could not be guessed.\n" msgstr "附件「%1%」的 MIME 類型尚未設定,且無法猜測。\n" -#: src/merge/output_control.cpp:854 +#: src/merge/output_control.cpp:879 msgid "No append mapping was given for the file no. %1% ('%2%'). A default mapping of %3% will be used instead. Please keep that in mind if mkvmerge aborts with an error message regarding invalid '--append-to' options.\n" msgstr "沒有為檔案 %1% (「%2%」) 指定添加對應。將使用預設對應 %3%。如果 mkvmerge 異常中止並輸出關於無效的「--append-to」選項的錯誤訊息,請留意。\n" -#: src/mmg/tabs/chapters.cpp:797 +#: src/mmg/tabs/chapters.cpp:802 msgid "No chapter entries have been create yet." msgstr "尚未建立任何章節項目。" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "No chapters found" msgstr "未找到章節" @@ -4317,7 +4303,7 @@ msgid "No error" msgstr "沒有錯誤" -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "No fields modified" msgstr "未修改圖場" @@ -4334,6 +4320,7 @@ msgstr "未載入檔案" #: src/propedit/options.cpp:27 +#: src/info/mkvinfo.cpp:2073 msgid "No file name given.\n" msgstr "未給定檔名。\n" @@ -4341,11 +4328,11 @@ msgid "No filename found after the '@'." msgstr "在「@」後面沒有找到檔名。" -#: src/mmg/cli_options_dlg.cpp:143 +#: src/mmg/cli_options_dlg.cpp:148 msgid "No help available." msgstr "無可用的說明。" -#: src/merge/mkvmerge.cpp:2150 +#: src/merge/mkvmerge.cpp:2149 msgid "No input files were given. No output will be created.\n" msgstr "未給定任何輸入檔。將不建立輸出檔。\n" @@ -4357,17 +4344,17 @@ msgid "No output file name specified, will use attachment name.\n" msgstr "未指定輸出檔名,將使用附件名。\n" -#: src/extract/timecodes_v2.cpp:194 -#: src/extract/tracks.cpp:343 -#: src/info/mkvinfo.cpp:1899 +#: src/extract/tracks.cpp:354 +#: src/extract/timecodes_v2.cpp:198 +#: src/info/mkvinfo.cpp:1956 msgid "No segment/level 0 element found." msgstr "未發現剪輯/0 層級元件。" -#: src/merge/mkvmerge.cpp:2199 +#: src/merge/mkvmerge.cpp:2197 msgid "No streams to output were found. Aborting.\n" msgstr "未發現待輸出媒體流。終止。\n" -#: src/merge/mkvmerge.cpp:1036 +#: src/merge/mkvmerge.cpp:1027 msgid "No track ID specified in '--%1% %2%'.\n" msgstr "未指定軌道 ID,在「--%1% %2%」。\n" @@ -4375,7 +4362,11 @@ msgid "No track corresponding to the edit specification '%1%' was found. %2%\n" msgstr "沒有發現符合編輯規格「%1%」的軌道。%2%\n" -#: src/mmg/tabs/input.cpp:645 +#: src/extract/tracks.cpp:311 +msgid "No track with the ID %1% was found in the source file.\n" +msgstr "在來源檔案裡找不到 ID 為 %1% 的軌道。\n" + +#: src/mmg/tabs/input.cpp:615 msgid "No tracks found" msgstr "未發現軌道" @@ -4383,15 +4374,11 @@ msgid "No version number found.\n" msgstr "未發現版本號。\n" -#: src/mmg/tabs/input_format.cpp:172 -msgid "None" -msgstr "單視角" - -#: src/mmg/header_editor/frame.cpp:530 +#: src/mmg/header_editor/frame.cpp:531 msgid "None of the header fields has been modified. Nothing has been saved." msgstr "表頭欄位未被修改。未儲存任何改動。" -#: src/mmg/cli_options_dlg.cpp:135 +#: src/mmg/cli_options_dlg.cpp:140 msgid "Normally mkvmerge keeps aspect ratio information in MPEG4 video bitstreams and puts the information into the container. This option causes mkvmerge to remove the aspect ratio information from the bitstream." msgstr "通常 mkvmerge 保留 MPEG4 視訊位元流中的外觀比例資訊並將資訊置於容器中。此選項使 mkvmerge 從位元流中移除外觀比例資訊。" @@ -4399,50 +4386,57 @@ msgid "Not a hex digit at position %1%" msgstr "非十六進位數位,於 %1%" -#: src/common/kax_analyzer.cpp:207 +#: src/common/kax_analyzer.cpp:225 msgid "Not a valid Matroska file (no EBML head found)" msgstr "不是有效的 Matroska 檔 (未發現 EBML 表頭)" -#: src/common/kax_analyzer.cpp:217 +#: src/common/kax_analyzer.cpp:235 msgid "Not a valid Matroska file (no segment/level 0 element found)" msgstr "不是有效的 Matroska 檔 (未發現有效的 剪輯/0 層級元件)" -#: src/mmg/tabs/input.cpp:742 +#: src/mmg/tabs/input.cpp:712 msgid "Note" msgstr "備註" +#: src/extract/attachments.cpp:131 +#: src/extract/tracks.cpp:318 +#: src/extract/timecodes_v2.cpp:166 #: src/propedit/options.cpp:30 msgid "Nothing to do.\n" msgstr "什麼都不做。\n" #: src/common/property_element.cpp:127 -#: src/mmg/header_editor/frame.cpp:418 +#: src/mmg/header_editor/frame.cpp:420 msgid "Number of nanoseconds (not scaled) per frame." msgstr "每畫格的毫微秒數 (未縮放前的)。" #: src/common/property_element.cpp:155 -#: src/mmg/header_editor/frame.cpp:505 +#: src/mmg/header_editor/frame.cpp:506 msgid "Numbers of channels in the track." msgstr "此軌道的聲道數。" -#: src/mmg/tabs/input.cpp:248 +#: src/common/file_types.cpp:43 msgid "Ogg/OGM audio/video files" msgstr "Ogg/OGM 音訊/視訊檔" #: src/mmg/message_dialog.cpp:31 -#: src/mmg/mux_dialog.cpp:100 +#: src/mmg/mux_dialog.cpp:101 msgid "Ok" msgstr "確定" -#: src/mmg/tabs/chapters.cpp:759 +#: src/mmg/tabs/chapters.cpp:764 msgid "One of the chapters does not have a name." msgstr "有一個章節沒有名稱。" -#: src/merge/mkvmerge.cpp:1454 +#: src/mmg/update_checker.cpp:55 +msgid "Online check for updates" +msgstr "線上檢查更新" + +#: src/merge/mkvmerge.cpp:1445 msgid "Only one chapter file allowed in '%1% %2%'.\n" msgstr "僅允許有一個章節檔,在「%1% %2%」。\n" -#: src/info/mkvinfo.cpp:366 +#: src/info/info_cli_parser.cpp:112 msgid "Only one input file is allowed.\n" msgstr "僅允許有一個輸入檔。\n" @@ -4454,18 +4448,22 @@ msgid "Only one of <String> and <Binary> may be used beneath <Simple> but not both at the same time." msgstr "<Simple> 下只能使用 <String> 與 <Binary> 中的一項,而不能同時使用。" -#: src/merge/mkvmerge.cpp:1616 +#: src/merge/mkvmerge.cpp:1607 msgid "Only one output file allowed.\n" msgstr "僅允許有一個輸出檔。\n" -#: src/merge/mkvmerge.cpp:1466 +#: src/merge/mkvmerge.cpp:1457 msgid "Only one segment info file allowed in '%1% %2%'.\n" msgstr "僅允許有一個剪輯檔,在「%1% %2%」。\n" -#: src/merge/output_control.cpp:835 +#: src/merge/output_control.cpp:860 msgid "Only partial append mappings were given for the file no. %1% ('%2%'). Either don't specify any mapping (in which case the default mapping will be used) or specify a mapping for all tracks that are to be copied.\n" msgstr "只給出了檔案 %1% (「%2%」) 的部分添加對應。只有不指定任何對應 (此時將使用預設對應) 或為所有軌道指定對應時,才會複製所有軌道。\n" +#: src/info/info_cli_parser.cpp:47 +msgid "Only show summaries of the contents, not each element." +msgstr "僅顯示內容的摘要,而非所有元件。" + #: src/mmg/tabs/attachments.cpp:167 msgid "Only to the first" msgstr "僅附加至第一個檔案" @@ -4474,7 +4472,7 @@ msgid "Only v7 and newer VobSub files are supported. If you have an older version then use the VSConv utility from http://sourceforge.net/projects/guliverkli/ to convert these files to v7 files.\n" msgstr "只支援 v7 和更高版本的 VobSub 檔。如果您使用的是舊版檔,請使用 VSConv 實用程式(可在 http://sourceforge.net/projects/guliverkli/ 獲取)將這些檔轉換為 v7 檔。\n" -#: src/mmg/mmg_dialog.cpp:255 +#: src/mmg/mmg_dialog.cpp:272 msgid "Op&tions\tCtrl-P" msgstr "選項(&T)\tCtrl-P" @@ -4483,7 +4481,7 @@ msgstr "開啟檔案" #: src/mmg/header_editor/frame.cpp:238 -#: src/info/wxwidgets_ui.cpp:123 +#: src/info/wxwidgets_ui.cpp:107 msgid "Open a Matroska file" msgstr "開啟 Matroska 檔案" @@ -4491,24 +4489,25 @@ msgid "Open an existing Matroska file" msgstr "開啟現有的 Matroska 檔案" -#: src/mmg/mux_dialog.cpp:327 +#: src/mmg/mux_dialog.cpp:328 msgid "Open folder" msgstr "開啟資料夾" -#: src/mmg/mmg_dialog.cpp:777 +#: src/mmg/mmg_dialog.cpp:780 msgid "Option file created." msgstr "選項檔已建立。" #: src/mmg/options/dialog.cpp:43 #: src/propedit/propedit_cli_parser.cpp:141 +#: src/info/info_cli_parser.cpp:40 msgid "Options" msgstr "選項" -#: src/mmg/cli_options_dlg.cpp:106 +#: src/mmg/cli_options_dlg.cpp:111 msgid "Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option then it's NOT in this list!" msgstr "*僅* 為開發者設計的選項。不要用它們。凡是被官方支援的東西都 *不在* 這個清單中!" -#: src/info/mkvinfo.cpp:797 +#: src/info/mkvinfo.cpp:800 msgid "Order: %1%" msgstr "編碼指令: %1%" @@ -4520,40 +4519,44 @@ msgid "Other options" msgstr "其他選項" -#: src/mmg/mux_dialog.cpp:87 +#: src/mmg/mux_dialog.cpp:88 msgid "Output" msgstr "輸出" -#: src/mmg/mmg_dialog.cpp:290 +#: src/mmg/mmg_dialog.cpp:310 msgid "Output filename" msgstr "輸出檔名" -#: src/common/cli_parser.cpp:178 +#: src/common/cli_parser.cpp:179 msgid "Output messages in this charset" msgstr "用這個字元集輸出訊息" -#: src/mmg/jobs.cpp:380 +#: src/mmg/jobs.cpp:389 msgid "Output of the selected jobs:" msgstr "所選任務的輸出資訊:" -#: src/info/mkvinfo.cpp:649 +#: src/info/mkvinfo.cpp:656 msgid "Output sampling frequency: %1%" msgstr "輸出取樣頻率: %1%" -#: src/mmg/tabs/input.cpp:410 +#: src/mmg/tabs/input.cpp:373 msgid "Output:" msgstr "輸出:" -#: src/mmg/mmg_dialog.cpp:530 +#: src/mmg/mmg_dialog.cpp:550 msgid "Overwrite existing file(s)?" msgstr "覆寫已存在的檔案?" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1365 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1372 msgid "Overwrite existing file?" msgstr "覆寫已存在的檔案?" -#: src/input/r_vobsub.cpp:522 +#: src/common/file_types.cpp:41 +msgid "PGS/SUP subtitles" +msgstr "PGS/SUP 字幕" + +#: src/input/r_vobsub.cpp:523 msgid "PTS error: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" msgstr "PTS 錯誤: 0x%|1$02x| %|2$02x|%|3$02x| %|4$02x|%|5$02x|\n" @@ -4561,11 +4564,11 @@ msgid "Packet number %1% contained an invalid FLAC header and is being skipped.\n" msgstr "套件編號 %1% 包含無效的 FLAC 表頭,將被跳過。\n" -#: src/merge/pr_generic.cpp:248 +#: src/merge/pr_generic.cpp:252 msgid "Packet queue not empty (flushed: %1%). Frames have been lost during remux. %2%\n" msgstr "套件佇列不是空的 (已緩衝: %1%)。畫格已在重新合成時丟失。 %2%\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Parse the file completely and show all elements" msgstr "完整解析檔案並顯示所有元件" @@ -4573,31 +4576,31 @@ msgid "Parse the whole file instead of relying on the index." msgstr "解析整個檔案而不是依靠索引。" -#: src/info/mkvinfo.cpp:1676 +#: src/info/mkvinfo.cpp:1706 msgid "Parsing file" msgstr "正在解析檔案" -#: src/info/mkvinfo.cpp:721 +#: src/info/mkvinfo.cpp:728 msgid "Pixel crop bottom: %1%" msgstr "底部像素剪裁: %1%" -#: src/info/mkvinfo.cpp:706 +#: src/info/mkvinfo.cpp:713 msgid "Pixel crop left: %1%" msgstr "左邊像素剪裁: %1%" -#: src/info/mkvinfo.cpp:716 +#: src/info/mkvinfo.cpp:723 msgid "Pixel crop right: %1%" msgstr "右邊像素剪裁: %1%" -#: src/info/mkvinfo.cpp:711 +#: src/info/mkvinfo.cpp:718 msgid "Pixel crop top: %1%" msgstr "頂部像素剪裁: %1%" -#: src/info/mkvinfo.cpp:691 +#: src/info/mkvinfo.cpp:698 msgid "Pixel height: %1%" msgstr "像素高度: %1%" -#: src/info/mkvinfo.cpp:686 +#: src/info/mkvinfo.cpp:693 msgid "Pixel width: %1%" msgstr "像素寬度: %1%" @@ -4605,11 +4608,11 @@ msgid "Please do not select 'mmg' itself as the 'mkvmerge' executable." msgstr "請不要選擇「mmg」自己作為「mkvmerge」可執行檔。" -#: src/mmg/mmg_dialog.cpp:1371 +#: src/mmg/mmg_dialog.cpp:1378 msgid "Please enter a description for the new job:" msgstr "請輸入新任務的描述:" -#: src/mmg/tabs/chapters.cpp:101 +#: src/mmg/tabs/chapters.cpp:102 msgid "" "Please enter the values for the language and the\n" "country that you want to apply to all the chapters\n" @@ -4618,7 +4621,7 @@ "請輸入將應用於下面所有章節(含目前選定項目)\n" "的語言和國家值。" -#: src/merge/mkvmerge.cpp:295 +#: src/merge/mkvmerge.cpp:253 msgid "" "Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -4628,11 +4631,11 @@ "它以大篇幅解釋了本清單中不易看透的細節。\n" #: src/common/property_element.cpp:104 -#: src/mmg/header_editor/frame.cpp:333 +#: src/mmg/header_editor/frame.cpp:335 msgid "Previous filename" msgstr "上一個檔名" -#: src/info/mkvinfo.cpp:605 +#: src/info/mkvinfo.cpp:614 msgid "Previous filename: %1%" msgstr "上一個檔名: %1%" @@ -4640,12 +4643,12 @@ msgid "Previous segment UID:" msgstr "上一個剪輯 UID:" -#: src/info/mkvinfo.cpp:601 +#: src/info/mkvinfo.cpp:610 msgid "Previous segment UID:%1%" msgstr "上一個剪輯 UID:%1%" #: src/common/property_element.cpp:108 -#: src/mmg/header_editor/frame.cpp:343 +#: src/mmg/header_editor/frame.cpp:345 msgid "Previous segment's unique ID" msgstr "上一個剪輯的唯一 ID" @@ -4653,60 +4656,56 @@ msgid "Process priority:" msgstr "處理程序優先權:" -#: src/mmg/jobs.cpp:66 +#: src/mmg/jobs.cpp:67 msgid "Processing 1000/1000" msgstr "正在處理 1000/1000" -#: src/mmg/jobs.cpp:167 +#: src/mmg/jobs.cpp:173 #, c-format msgid "Processing job %d/%d" msgstr "正在處理任務 %d/%d" -#: src/mmg/jobs.cpp:243 -#: src/mmg/mux_dialog.cpp:190 +#: src/mmg/jobs.cpp:249 +#: src/mmg/mux_dialog.cpp:191 msgid "Progress" msgstr "進度" -#: src/extract/timecodes_v2.cpp:264 -#: src/extract/tracks.cpp:389 -#: src/merge/output_control.cpp:438 +#: src/extract/tracks.cpp:400 +#: src/extract/timecodes_v2.cpp:269 +#: src/merge/output_control.cpp:463 msgid "Progress: %1%%%%2%" msgstr "進度: %1%%%%2%" +#: src/extract/timecodes_v2.cpp:359 #: src/extract/mkvextract.cpp:93 -#: src/extract/timecodes_v2.cpp:354 msgid "Progress: 100%\n" msgstr "進度: 100%\n" -#: src/merge/output_control.cpp:1875 +#: src/merge/output_control.cpp:1905 msgid "Progress: 100%%%1%" msgstr "進度: 100%%%1%" -#: src/common/kax_analyzer.cpp:1038 +#: src/common/kax_analyzer.cpp:1110 msgid "Progress: [%1%%2%] %3%%%" msgstr "進度: [%1%%2%] %3%%%" -#: src/mmg/mmg_dialog.cpp:1682 +#: src/mmg/mmg_dialog.cpp:1813 msgid "Querying mkvmerge's capabilities" msgstr "正向 mkvmerge 查詢處理能力" -#: src/mmg/tabs/input.cpp:247 +#: src/common/file_types.cpp:42 msgid "QuickTime audio/video files" msgstr "QuickTime 音訊/視訊檔" -#: src/merge/mkvmerge.cpp:96 -msgid "Quicktime/MP4 audio and video" -msgstr "Quicktime/MP4 音訊和視訊" - #: src/input/r_qtmp4.cpp:473 msgid "Quicktime/MP4 reader: '%1%' atom is too small. Expected size: >= %2%. Actual size: %3%.\n" msgstr "Quicktime/MP4 讀取器:「%1%」單元過小。預期大小: >= %2%。實際大小: %3%。\n" -#: src/input/r_qtmp4.cpp:1913 +#: src/input/r_qtmp4.cpp:1909 msgid "Quicktime/MP4 reader: Constant samplesize & variable duration not yet supported. Contact the author if you have such a sample file.\n" msgstr "Quicktime/MP4 讀取器: 尚不支援固定取樣大小與可變持續時間。如果您有這樣的樣本檔案,請聯繫作者。\n" -#: src/input/r_qtmp4.cpp:1306 +#: src/input/r_qtmp4.cpp:1304 msgid "Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n" msgstr "Quicktime/MP4 讀取器: 無法讀取塊號 %1%/%2% 大小 %3% 位置 %4%。正在中止。\n" @@ -4813,7 +4812,7 @@ msgid "Quicktime/MP4 reader: Unknown/unsupported FourCC '%|1$.4s|' for track %2%.\n" msgstr "Quicktime/MP4 讀取器: 未知/不支援的 FourCC「%|1$.4s|」,軌道 %2%。\n" -#: src/mmg/mmg_dialog.cpp:257 +#: src/mmg/mmg_dialog.cpp:274 msgid "Quit the application" msgstr "離開本程式" @@ -4821,15 +4820,15 @@ msgid "Quit the header editor" msgstr "離開表頭編輯器" -#: src/info/wxwidgets_ui.cpp:127 +#: src/info/wxwidgets_ui.cpp:111 msgid "Quits mkvinfo" msgstr "離開 mkvinfo" -#: src/info/mkvinfo.cpp:880 +#: src/info/mkvinfo.cpp:883 msgid "RSA" msgstr "RSA" -#: src/mmg/jobs.cpp:468 +#: src/mmg/jobs.cpp:477 msgid "Re-enable the selected job(s)" msgstr "重新啟用所選任務" @@ -4837,7 +4836,7 @@ msgid "Reading encrypted VOBs is not supported.\n" msgstr "不支援讀取加密的 VOB。\n" -#: src/common/cli_parser.cpp:180 +#: src/common/cli_parser.cpp:181 msgid "Reads additional command line options from the specified file (see man page)." msgstr "從指定的檔案讀取額外的命令列選項 (詳見使用說明)。" @@ -4846,15 +4845,11 @@ msgstr "準備就緒" #: src/common/property_element.cpp:154 -#: src/mmg/header_editor/frame.cpp:501 +#: src/mmg/header_editor/frame.cpp:502 msgid "Real output sampling frequency in Hz." msgstr "實際輸出的取樣頻率,單位 Hz。" -#: src/merge/mkvmerge.cpp:101 -msgid "RealMedia audio and video" -msgstr "RealMedia 音視訊" - -#: src/mmg/tabs/input.cpp:249 +#: src/common/file_types.cpp:44 msgid "RealMedia audio/video files" msgstr "RealMedia 音訊/視訊檔" @@ -4862,23 +4857,23 @@ msgid "RealMedia files may contain HE-AAC / AAC+ / SBR AAC audio. In some cases this can NOT be detected automatically. Therefore you have to specifiy '--aac-is-sbr %1%' manually for this input file if the file actually contains SBR AAC. The file will be muxed in the WRONG way otherwise. Also read mkvmerge's documentation.\n" msgstr "RealMedia 檔可能包含 HE-AAC / AAC+ / SBR AAC 音訊。某些情況下這 *無法* 自動偵測。因此您需要為輸入檔手動指定「--aac-is-sbr %1%」如果檔案確實含有 SBR AAC。否則檔案會被 *錯誤地* 合成。參考閱讀 mkvmerge 的使用說明。\n" -#: src/common/cli_parser.cpp:179 +#: src/common/cli_parser.cpp:180 msgid "Redirects all messages into this file." msgstr "轉移全部的訊息到這個檔案裡。" -#: src/info/mkvinfo.cpp:151 +#: src/info/mkvinfo.cpp:188 msgid "Reference block: %1%.%|2$06d|ms" msgstr "參考區塊: %1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:150 +#: src/info/mkvinfo.cpp:187 msgid "Reference block: -%1%.%|2$06d|ms" msgstr "參考區塊: -%1%.%|2$06d|ms" -#: src/info/mkvinfo.cpp:152 +#: src/info/mkvinfo.cpp:189 msgid "Reference priority: %1%" msgstr "參考優先順序: %1%" -#: src/info/mkvinfo.cpp:154 +#: src/info/mkvinfo.cpp:191 msgid "Reference virtual: %1%" msgstr "虛擬參考: %1%" @@ -4886,9 +4881,9 @@ msgid "Reload the current file without saving" msgstr "在不儲存的情況下重新載入目前檔案" -#: src/mmg/jobs.cpp:71 -#: src/mmg/jobs.cpp:73 -#: src/mmg/mux_dialog.cpp:75 +#: src/mmg/jobs.cpp:72 +#: src/mmg/jobs.cpp:74 +#: src/mmg/mux_dialog.cpp:76 msgid "Remaining time:" msgstr "剩餘時間: " @@ -4896,7 +4891,7 @@ msgid "Remember that special characters like &, <, > and \" must be escaped in the usual HTML way: & for '&', < for '<', > for '>' and " for '\"'." msgstr "記住像 &, <, > 和 \" 這樣的特殊字元必須以常用的 HTML 方式轉義: & 代表「&」, < 代表「<」, > 代表「>」, " 代表「\"」。" -#: src/mmg/tabs/chapters.cpp:328 +#: src/mmg/tabs/chapters.cpp:329 msgid "Remove chapter" msgstr "移除章節" @@ -4904,62 +4899,64 @@ msgid "Remove element" msgstr "移除元件" -#: src/mmg/tabs/chapters.cpp:346 +#: src/mmg/tabs/chapters.cpp:347 msgid "Remove name" msgstr "移除名稱" -#: src/mmg/tabs/input_format.cpp:174 -msgid "Right eye" -msgstr "右眼視角" +#: src/common/kax_file.cpp:235 +msgid "Resync failed: no valid Matroska level 1 element found.\n" +msgstr "重新同步失敗: 找到不正確的 Matroska 等級 1 元件。\n" + +#: src/common/kax_file.cpp:227 +msgid "Resyncing successful at position %1%.\n" +msgstr "位置 %1% 重新同步成功。\n" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Run mkvmerge and start the muxing process" msgstr "執行 mkvmerge 並開始合成處理程序" -#: src/mmg/mmg_dialog.cpp:256 +#: src/mmg/mmg_dialog.cpp:273 msgid "Run the header field editor" msgstr "執行表頭欄位編輯器" -#: src/mmg/mmg_dialog.cpp:259 +#: src/mmg/mmg_dialog.cpp:276 msgid "S&how the command line" msgstr "顯示命令列(&H)" -#: src/mmg/jobs.cpp:498 +#: src/mmg/jobs.cpp:507 msgid "S&tart selected" msgstr "開始所選(&T)" -#: src/info/mkvinfo.cpp:889 +#: src/info/mkvinfo.cpp:892 msgid "SHA1-160" msgstr "SHA1-160" -#: src/mmg/tabs/input.cpp:250 -#: src/merge/mkvmerge.cpp:102 +#: src/common/file_types.cpp:45 msgid "SRT text subtitles" msgstr "SRT 文字字幕" -#: src/mmg/tabs/input.cpp:251 -#: src/merge/mkvmerge.cpp:103 +#: src/common/file_types.cpp:46 msgid "SSA/ASS text subtitles" msgstr "SSA/ASS 文字字幕" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Sa&ve command line" msgstr "儲存命令列(&V)" -#: src/mmg/options/mmg.cpp:63 +#: src/mmg/options/mmg.cpp:64 msgid "Same directory as the first input file's" msgstr "與第一個輸入檔同目錄" #: src/common/property_element.cpp:153 -#: src/mmg/header_editor/frame.cpp:496 +#: src/mmg/header_editor/frame.cpp:497 msgid "Sampling frequency in Hz." msgstr "取樣頻率,單位 Hz。" -#: src/info/mkvinfo.cpp:644 +#: src/info/mkvinfo.cpp:651 msgid "Sampling frequency: %1%" msgstr "取樣頻率: %1%" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save &as" msgstr "另存新檔(&A)" @@ -4967,31 +4964,31 @@ msgid "Save information as" msgstr "另存資訊" -#: src/mmg/mux_dialog.cpp:107 +#: src/mmg/mux_dialog.cpp:108 msgid "Save log" msgstr "儲存日誌" -#: src/mmg/mmg_dialog.cpp:253 +#: src/mmg/mmg_dialog.cpp:270 msgid "Save muxing settings to a file" msgstr "將合成設定值儲存至檔案" -#: src/mmg/mmg_dialog.cpp:261 +#: src/mmg/mmg_dialog.cpp:278 msgid "Save the command line to a file" msgstr "將命令列儲存至檔案" -#: src/mmg/mmg_dialog.cpp:262 +#: src/mmg/mmg_dialog.cpp:279 msgid "Save the command line to an option file that can be read by mkvmerge" msgstr "將命令列儲存為 mkvmerge 可讀的選項檔" -#: src/mmg/mmg_dialog.cpp:268 +#: src/mmg/mmg_dialog.cpp:285 msgid "Save the current chapters to a XML file" msgstr "將目前章節存為 XML 檔" -#: src/mmg/mmg_dialog.cpp:270 +#: src/mmg/mmg_dialog.cpp:287 msgid "Save the current chapters to a file with another name" msgstr "將目前章節以另一名稱儲存" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save the current chapters to an existing Matroska file" msgstr "將目前章節存至現有的 Matroska 檔" @@ -4999,46 +4996,46 @@ msgid "Save the header values" msgstr "儲存表頭欄位值" -#: src/mmg/mmg_dialog.cpp:269 +#: src/mmg/mmg_dialog.cpp:286 msgid "Save to &Matroska file" msgstr "儲存至 &Matroska 檔(&M)" -#: src/info/wxwidgets_ui.cpp:124 +#: src/info/wxwidgets_ui.cpp:108 msgid "Saves the information from the current file to a text file" msgstr "從目前檔儲存資訊至純文字檔" -#: src/info/mkvinfo.cpp:811 +#: src/info/mkvinfo.cpp:814 msgid "Scope: %1% (%2%)" msgstr "範圍: %1% (%2%)" -#: src/info/mkvinfo.cpp:1167 +#: src/info/mkvinfo.cpp:1164 msgid "Seek ID:%1% (%2%)" msgstr "定位 ID:%1% (%2%)" -#: src/info/mkvinfo.cpp:1155 +#: src/info/mkvinfo.cpp:1152 msgid "Seek entry" msgstr "定位項" -#: src/info/mkvinfo.cpp:1143 +#: src/info/mkvinfo.cpp:1140 msgid "Seek head" msgstr "定位表頭" -#: src/info/mkvinfo.cpp:1139 +#: src/info/mkvinfo.cpp:1136 msgid "Seek head (subentries will be skipped)" msgstr "定位表頭 (子項目將被跳過)" -#: src/info/mkvinfo.cpp:1181 +#: src/info/mkvinfo.cpp:1178 msgid "Seek position: %1%" msgstr "定位位置: %1%" -#: src/extract/timecodes_v2.cpp:198 -#: src/extract/tracks.cpp:348 +#: src/extract/tracks.cpp:359 +#: src/extract/timecodes_v2.cpp:202 #: src/info/qt_ui.cpp:177 -#: src/info/wxwidgets_ui.cpp:221 +#: src/info/wxwidgets_ui.cpp:205 msgid "Segment" msgstr "剪輯" -#: src/info/mkvinfo.cpp:590 +#: src/info/mkvinfo.cpp:599 msgid "Segment UID:%1%" msgstr "剪輯 UID:%1%" @@ -5047,11 +5044,11 @@ msgstr "剪輯 UID:" #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "Segment filename" msgstr "剪輯檔名" -#: src/info/mkvinfo.cpp:618 +#: src/info/mkvinfo.cpp:627 msgid "Segment filename: %1%" msgstr "剪輯檔名: %1%" @@ -5064,48 +5061,48 @@ msgid "Segment info files (*.xml)|*.xml|%s" msgstr "剪輯資訊檔 (*.xml)|*.xml|%s" -#: src/mmg/header_editor/frame.cpp:320 -#: src/extract/timecodes_v2.cpp:218 -#: src/extract/tracks.cpp:366 -#: src/propedit/options.cpp:152 +#: src/mmg/header_editor/frame.cpp:322 +#: src/extract/tracks.cpp:377 +#: src/extract/timecodes_v2.cpp:222 #: src/propedit/propedit_cli_parser.cpp:87 #: src/propedit/propedit_cli_parser.cpp:160 -#: src/info/mkvinfo.cpp:544 +#: src/propedit/options.cpp:152 +#: src/info/mkvinfo.cpp:553 #: src/info/qt_ui.cpp:178 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment information" msgstr "剪輯資訊" -#: src/extract/timecodes_v2.cpp:252 -#: src/extract/tracks.cpp:378 -#: src/info/mkvinfo.cpp:921 +#: src/extract/tracks.cpp:389 +#: src/extract/timecodes_v2.cpp:256 +#: src/info/mkvinfo.cpp:924 #: src/info/qt_ui.cpp:179 -#: src/info/wxwidgets_ui.cpp:224 +#: src/info/wxwidgets_ui.cpp:208 msgid "Segment tracks" msgstr "剪輯軌道" #: src/common/property_element.cpp:106 -#: src/mmg/header_editor/frame.cpp:339 +#: src/mmg/header_editor/frame.cpp:341 msgid "Segment unique ID" msgstr "剪輯唯一 ID" -#: src/info/mkvinfo.cpp:1907 +#: src/info/mkvinfo.cpp:1964 msgid "Segment, size %1%" msgstr "剪輯, 大小 %1%" -#: src/info/mkvinfo.cpp:1905 +#: src/info/mkvinfo.cpp:1962 msgid "Segment, size unknown" msgstr "剪輯, 未知大小" -#: src/info/wxwidgets_ui.cpp:279 +#: src/info/wxwidgets_ui.cpp:263 msgid "Select Matroska file" msgstr "選擇 Matroska 檔案" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Select output file" msgstr "選擇輸出檔" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Select the file you want to write to" msgstr "選擇您要寫入的檔案" @@ -5117,29 +5114,28 @@ "選擇您想要顯示在語言下拉式選單最上面\n" "的語言。" -#: src/mmg/tabs/chapters.cpp:99 +#: src/mmg/tabs/chapters.cpp:100 msgid "Select values to be applied" msgstr "選擇將應用的值" -#: src/mmg/tabs/input_extra.cpp:55 -#: src/mmg/tabs/input_extra.cpp:131 +#: src/mmg/tabs/input_extra.cpp:125 msgid "Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations." msgstr "選擇 mkvmerge 將為哪些區塊建立索引。在幾乎所有情況下,“預設”是個合適的選擇。" -#: src/mmg/tabs/input_format.cpp:249 +#: src/mmg/tabs/input_format.cpp:250 msgid "Selects the character set a subtitle file or chapter information was written with. Only needed for non-UTF encoded subtitle files or for files with chapter information (e.g. OGM, MP4) for which mkvmerge does not detect the encoding correctly." msgstr "選擇字幕檔儲存時使用的字元集。只有 非-UTF 編碼的字幕檔或者含有章節資訊的檔案 (即 OGM、MP4) 需要選擇 (mkvmerge 無法正確偵測編碼)。" -#: src/mmg/mmg_dialog.cpp:254 +#: src/mmg/mmg_dialog.cpp:271 msgid "Set &output file" msgstr "設定輸出檔(&O)" -#: src/mmg/tabs/chapters.cpp:116 +#: src/mmg/tabs/chapters.cpp:117 msgid "Set country to:" msgstr "設定國家為:" #: src/common/property_element.cpp:116 -#: src/mmg/header_editor/frame.cpp:395 +#: src/mmg/header_editor/frame.cpp:397 msgid "" "Set if that track (audio, video or subs) SHOULD\n" "be used if no language found matches the\n" @@ -5150,7 +5146,7 @@ "被使用。" #: src/common/property_element.cpp:119 -#: src/mmg/header_editor/frame.cpp:402 +#: src/mmg/header_editor/frame.cpp:404 msgid "" "Set if that track MUST be used during playback.\n" "There can be many forced track for a kind (audio,\n" @@ -5163,7 +5159,7 @@ "播放器應該選擇符合使用者偏好設定或預設且強制的軌。" #: src/common/property_element.cpp:118 -#: src/mmg/header_editor/frame.cpp:398 +#: src/mmg/header_editor/frame.cpp:400 msgid "Set if the track is used." msgstr "設定軌道是否可用。" @@ -5171,15 +5167,15 @@ msgid "Set if the video is interlaced." msgstr "若視訊為交錯式請設定。" -#: src/mmg/tabs/chapters.cpp:109 +#: src/mmg/tabs/chapters.cpp:110 msgid "Set language to:" msgstr "設定語言為:" -#: src/mmg/options/mmg.cpp:81 +#: src/mmg/options/mmg.cpp:82 msgid "Set the delay input field from the file name" msgstr "根據第一個檔案的名稱設定“延遲”輸入框" -#: src/mmg/tabs/chapters.cpp:329 +#: src/mmg/tabs/chapters.cpp:330 msgid "Set values" msgstr "設定語言值" @@ -5195,28 +5191,27 @@ msgid "Sets the Matroska parser mode to 'fast' (default) or 'full'" msgstr "設定 Matroska 解析器模式為「快速」(預設) 或「完整」" -#: src/mmg/tabs/input_extra.cpp:64 -#: src/mmg/tabs/input_extra.cpp:133 -msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." -msgstr "選擇 VobSub 字幕使用的壓縮方式。如果沒有選中任何方式,VobSub 字幕將自動使用 zlib 壓縮。選“無”將導致檔案變得很大。" +#: src/mmg/tabs/input_extra.cpp:127 +msgid "Sets the compression algorithm to be used for this track. If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. Most track types are not compressed at all. " +msgstr "設定此軌道使用的壓縮算法。如果沒有選擇壓縮算法則 mkvmerge 會決定是否壓縮且針對軌道類型使用不同壓縮算法。大部份的軌道類型為不壓縮。" -#: src/mmg/tabs/input_format.cpp:252 +#: src/mmg/tabs/input_format.cpp:253 msgid "Sets the cropping parameters. Must be comma-separated list of four numbers for the cropping to be used at the left, top, right and bottom." msgstr "設定剪裁參數。必須是四位數的逗點分隔清單,其分別對應左邊、頂端、右邊和底端的剪裁。" -#: src/mmg/tabs/input_format.cpp:233 +#: src/mmg/tabs/input_format.cpp:234 msgid "Sets the default duration or number of frames per second for a track. This is only possible for video tracks. For AVC/h.264 elementary streams this option must be given. This can either be a floating point number or a fraction." msgstr "設定軌道的預設持續時間或每秒畫格數(畫格率)。僅對視訊軌有效。對於 AVC/h.264 基本流,必須設定此選項。既可以是浮點數,也可以是分數。" -#: src/mmg/tabs/input_format.cpp:221 +#: src/mmg/tabs/input_format.cpp:222 msgid "Sets the display aspect ratio of the track. The format can be either 'a/b' in which case both numbers must be integer (e.g. 16/9) or just a single floting point number 'f' (e.g. 2.35)." msgstr "設定軌道的顯示外觀比例。格式可以是兩個整數構成的「a/b」(如 16/9) 或者單個浮點數「f」(如 2.35)。" -#: src/mmg/tabs/input_format.cpp:225 +#: src/mmg/tabs/input_format.cpp:226 msgid "Sets the display height of the track. The width must be set as well, or this field will be ignored." msgstr "設定軌道的顯示高度。必須同時設定寬度,否則此欄位將被忽略。" -#: src/mmg/tabs/input_format.cpp:224 +#: src/mmg/tabs/input_format.cpp:225 msgid "Sets the display width of the track. The height must be set as well, or this field will be ignored." msgstr "設定軌道的顯示寬度。必須同時設定高度,否則此欄位將被忽略。" @@ -5234,23 +5229,23 @@ "\n" "每個檔案建立都包含一個剪輯,並且每個剪輯擁有一個剪輯 UID。如果指定的剪輯 UID 多於建立的剪輯數,那麼剩餘的 UID 會被忽略。如果指定的剪輯 UID 少於建立的剪輯數,則會建立隨機的 UID 給多出來的剪輯。" -#: src/mmg/tabs/input_format.cpp:230 +#: src/mmg/tabs/input_format.cpp:231 msgid "Sets the stereo mode of the video track to this value. If left empty then the track's original stereo mode will be kept or, if it didn't have one, none will be set at all." msgstr "選擇此視訊軌的立體視法。如果留空則保留原模式,或者如果原本就沒有,任何模式都不會設定。" -#: src/info/mkvinfo.cpp:843 +#: src/info/mkvinfo.cpp:846 msgid "Settings: %1%" msgstr "設定: %1%" -#: src/mmg/cli_options_dlg.cpp:81 +#: src/mmg/cli_options_dlg.cpp:86 msgid "Several options that control the overall output that mkvmerge creates." msgstr "控制 mkvmerge 整體輸出的一些選項。" -#: src/input/r_real.cpp:597 +#: src/input/r_real.cpp:595 msgid "Short AAC audio packet (length: %1% < %2%)\n" msgstr "短的 AAC 音訊套件 (長: %1% < %2%)\n" -#: src/input/r_real.cpp:590 +#: src/input/r_real.cpp:588 msgid "Short AAC audio packet (length: %1% < 2)\n" msgstr "短的 AAC 音訊套件 (長: %1% < 2)\n" @@ -5258,63 +5253,79 @@ msgid "Shortened GOP detected. Some frames have been dropped. You may want to fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "偵測到縮短的 GOP。某些畫格已遺失。您可能在分離前會想修復 MPEG2 視訊串流。\n" -#: src/info/wxwidgets_ui.cpp:129 +#: src/info/wxwidgets_ui.cpp:113 msgid "Show &all elements\tCtrl-A" msgstr "顯示所有分支(&A)\tCtrl-A" -#: src/info/wxwidgets_ui.cpp:137 +#: src/info/wxwidgets_ui.cpp:121 msgid "Show about dialog" msgstr "顯示“關於”對話窗" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/info_cli_parser.cpp:50 +msgid "Show all bytes of each frame as a hex dump." +msgstr "以十六進位轉儲形式顯示每畫格的全部位元組。" + +#: src/info/wxwidgets_ui.cpp:114 msgid "Show element si&zes\tCtrl-Z" msgstr "顯示元件大小(&Z)\tCtrl-Z" -#: src/mmg/options/mmg.cpp:99 +#: src/mmg/options/mmg.cpp:111 msgid "Show mmg's debug window" msgstr "顯示 mmg 的除錯視窗" -#: src/mmg/mmg_dialog.cpp:277 +#: src/mmg/mmg_dialog.cpp:294 msgid "Show program information" msgstr "顯示程式資訊" -#: src/mmg/mmg_dialog.cpp:259 +#: src/info/info_cli_parser.cpp:48 +msgid "Show statistics for each track in verbose mode." +msgstr "在詳細資訊模式裡顯示每個資料軌的統計資料。" + +#: src/mmg/mmg_dialog.cpp:276 msgid "Show the command line mmg creates for mkvmerge" msgstr "顯示 mmg 為 mkvmerge 建立的命令列" -#: src/mmg/mmg_dialog.cpp:276 +#: src/info/info_cli_parser.cpp:49 +msgid "Show the first 16 bytes of each frame as a hex dump." +msgstr "以十六進位轉儲形式顯示每畫格的前 16 位元組。" + +#: src/mmg/mmg_dialog.cpp:293 msgid "Show the guide to mkvmerge GUI" msgstr "顯示 mkvmerge GUI 指南" -#: src/info/wxwidgets_ui.cpp:130 +#: src/info/wxwidgets_ui.cpp:114 msgid "Show the size of each element including its header" msgstr "顯示每個元件的大小 (包含項目的表頭)" -#: src/common/cli_parser.cpp:181 +#: src/info/info_cli_parser.cpp:51 +msgid "Show the size of each element including its header." +msgstr "顯示每個元件包含表頭的大小。" + +#: src/common/cli_parser.cpp:182 msgid "Show this help." msgstr "顯示這項說明。" -#: src/common/cli_parser.cpp:182 +#: src/common/cli_parser.cpp:183 msgid "Show version information." msgstr "顯示版本資訊。" -#: src/mmg/options/mmg.cpp:100 +#: src/mmg/options/mmg.cpp:112 msgid "Shows mmg's debug window in which debug messages will appear. This is only useful if you're helping the author debug a problem in mmg." msgstr "顯示 mmg 的除錯視窗,在該視窗中會出現除錯訊息。這只當您幫助作者除錯 mmg 的問題時有用。" -#: src/info/mkvinfo.cpp:877 +#: src/info/mkvinfo.cpp:880 msgid "Signature algorithm: %1% (%2%)" msgstr "簽章演算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:886 +#: src/info/mkvinfo.cpp:889 msgid "Signature hash algorithm: %1% (%2%)" msgstr "簽章雜湊演算法: %1% (%2%)" -#: src/info/mkvinfo.cpp:895 +#: src/info/mkvinfo.cpp:898 msgid "Signature key ID: %1%" msgstr "簽章鑰匙 ID: %1%" -#: src/info/mkvinfo.cpp:899 +#: src/info/mkvinfo.cpp:902 msgid "Signature: %1%" msgstr "簽章: %1%" @@ -5322,11 +5333,11 @@ msgid "Signed integer" msgstr "帶正負號的整數" -#: src/info/mkvinfo.cpp:1365 +#: src/info/mkvinfo.cpp:1362 msgid "Silent Track Number: %1%" msgstr "靜軌號: %1%" -#: src/extract/timecodes_v2.cpp:284 +#: src/extract/timecodes_v2.cpp:289 msgid "Simple block" msgstr "簡單區塊" @@ -5334,11 +5345,11 @@ msgid "Simple chapter parser: %1%\n" msgstr "簡單章節解析器: %1%\n" -#: src/extract/tracks.cpp:407 +#: src/extract/tracks.cpp:418 msgid "SimpleBlock" msgstr "簡單區塊" -#: src/info/mkvinfo.cpp:166 +#: src/info/mkvinfo.cpp:203 msgid "SimpleBlock (%1%track number %2%, %3% frame(s), timecode %|4$.3f|s = %5%)" msgstr "簡單區塊 (%1%軌道編號 %2%, %3% 畫格, 時間碼 %|4$.3f|s = %5%)" @@ -5350,7 +5361,7 @@ msgid "Skipping %1% bytes (no valid AAC header found). This might cause audio/video desynchronisation.\n" msgstr "跳過 %1% 位元組 (未發現有效的 AAC 頭)。這可能會導致音畫不同步。\n" -#: src/output/p_dts.cpp:123 +#: src/output/p_dts.cpp:100 msgid "Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n" msgstr "跳過 %1% 位元組 (未發現有效的 DTS 表頭)。這可能會導致聲音與畫面不同步。\n" @@ -5358,35 +5369,35 @@ msgid "Skipping %1% bytes at the beginning (no valid MP3 header found).\n" msgstr "跳過開頭 %1% 位元組 (未發現有效的 MP3 表頭)。\n" -#: src/info/mkvinfo.cpp:1503 +#: src/info/mkvinfo.cpp:1500 msgid "Slices" msgstr "切面" -#: src/mmg/header_editor/frame.cpp:576 +#: src/mmg/header_editor/frame.cpp:577 msgid "Some header values have been modified. Do you really want to close without saving the file?" msgstr "一些表頭值已被修改。您確實要在不儲存檔案的情況下關閉?" -#: src/mmg/header_editor/frame.cpp:782 +#: src/mmg/header_editor/frame.cpp:783 msgid "Some header values have been modified. Do you really want to load a new file without saving the current one?" msgstr "一些表頭值已被修改。您確實要在不儲存目前檔案的情況下載入一個新的檔?" -#: src/mmg/header_editor/frame.cpp:566 +#: src/mmg/header_editor/frame.cpp:567 msgid "Some header values have been modified. Do you really want to reload without saving the file?" msgstr "一些表頭值已被修改。您確實要在不儲存檔案的情況下重新載入?" -#: src/merge/output_control.cpp:1310 +#: src/merge/output_control.cpp:1338 msgid "Some tag elements are missing (this error should not have occured - another similar error should have occured earlier). %1%\n" msgstr "缺少某些標籤元件 (不該發生此錯誤 - 另一個類似的錯誤應該在早些時候發生過)。%1%\n" #: src/common/property_element.cpp:131 -#: src/mmg/header_editor/frame.cpp:430 +#: src/mmg/header_editor/frame.cpp:432 msgid "" "Specifies the language of the track in the\n" "Matroska languages form." msgstr "指定此軌在 Matroska 語言表單中的語言。" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:486 +#: src/mmg/header_editor/frame.cpp:488 msgid "" "Specify the possible modifications to the aspect ratio\n" "(0: free resizing, 1: keep aspect ratio, 2: fixed)." @@ -5406,67 +5417,79 @@ msgid "Splitting by timecode/duration was selected, but nothing was entered." msgstr "已選擇按時間碼/播放持續時間分割,但未輸入任何數值。" -#: src/mmg/mmg_dialog.cpp:528 +#: src/mmg/mmg_dialog.cpp:548 #, c-format msgid "Splitting is active, and at least one of the potential output files '%s%s*%s' already exists. Do you want to overwrite them?" msgstr "正在執行分割操作,但至少有一個潛在的輸出檔「%s%s*%s」已存在。是否覆寫?" -#: src/mmg/mmg_dialog.cpp:292 +#: src/mmg/mmg_dialog.cpp:312 msgid "Sta&rt muxing" msgstr "開始合成(&R)" -#: src/mmg/mmg_dialog.cpp:258 +#: src/mmg/mmg_dialog.cpp:275 msgid "Sta&rt muxing (run mkvmerge)\tCtrl-R" msgstr "開始合成(啟動 mkvmerge)(&R)\tCtrl-R" -#: src/mmg/jobs.cpp:495 +#: src/info/info_cli_parser.cpp:43 +msgid "Start the GUI (and open inname if it was given)." +msgstr "啟動 GUI (若是給定的檔案則開啟輸入檔名稱)。" + +#: src/mmg/jobs.cpp:504 msgid "Start the jobs whose status is 'pending'" msgstr "啟動狀態為“掛起”的任務" -#: src/mmg/jobs.cpp:499 +#: src/mmg/jobs.cpp:508 msgid "Start the selected job(s) regardless of their status" msgstr "啟動選擇的任務(不論其狀態如何)" -#: src/mmg/mmg_dialog.cpp:251 +#: src/mmg/mmg_dialog.cpp:268 msgid "Start with empty settings" msgstr "清空所有設定並重新啟動" -#: src/mmg/tabs/chapters.cpp:334 +#: src/mmg/tabs/chapters.cpp:335 msgid "Start:" msgstr "開始時間:" -#: src/mmg/jobs.cpp:434 +#: src/mmg/jobs.cpp:443 msgid "Started on" msgstr "啟動時間" -#: src/mmg/jobs.cpp:222 +#: src/mmg/jobs.cpp:228 #, c-format msgid "Starting job ID %d (%s) on %s" msgstr "正在啟動任務 ID %d (%s) 於 %s" -#: src/mmg/jobs.cpp:428 +#: src/info/mkvinfo.cpp:1904 +msgid "Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n" +msgstr "資料軌編號 %1% : 區塊編號: %2%的統計資料;大小: %3% 位元組;時間長度: %4% 秒;近似位元率: %5% 位元/秒\n" + +#: src/mmg/jobs.cpp:437 msgid "Status" msgstr "狀態" -#: src/mmg/jobs.cpp:62 -#: src/mmg/mux_dialog.cpp:73 +#: src/mmg/jobs.cpp:63 +#: src/mmg/mux_dialog.cpp:74 msgid "Status and progress" msgstr "狀態和進度" +#: src/mmg/update_checker.cpp:57 #: src/mmg/header_editor/value_page.cpp:174 msgid "Status:" msgstr "狀態:" -#: src/merge/mkvmerge.cpp:739 -msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n" -msgstr "立體視法參數: 未以 <TID>:<n|keyword> 形式給出,其中可以使用 0 至 3 中的一個數字或者「none」, 「right」, 「left」, 「both」中的一個關鍵字 (使用的參數為「%1%」)。\n" - -#: src/info/mkvinfo.cpp:746 -msgid "Stereo mode: %1%%2%" -msgstr "立體視法: %1%%2%" +#: src/merge/mkvmerge.cpp:711 +msgid "Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% or one of these keywords: %2% (argument was '%3%').\n" +msgstr "立體視覺模式參數: 未以 <TID>:<n|keyword> 形式給定參數,其中可以是 0 到 %1% 中的數字或這些關鍵字其中一個: %2% (參數為「%3%」)。\n" + +#: src/info/mkvinfo.cpp:753 +msgid "Stereo mode: %1% (%2%)" +msgstr "立體視法: %1% (%2%)" + +#: src/mmg/header_editor/frame.cpp:492 +msgid "Stereo-3D video mode (0 - 11, see documentation)." +msgstr "立體 3D 影片模式 (0 - 11,請見文件)。" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 msgid "" "Stereo-3D video mode (0: mono, 1: right eye,\n" "2: left eye, 3: both eyes)." @@ -5474,15 +5497,15 @@ "立體-3D 視訊模式 (0: 單視角, 1: 右眼視角,\n" "2: 左眼視角, 3: 雙眼視角)。" -#: src/mmg/tabs/input_format.cpp:229 +#: src/mmg/tabs/input_format.cpp:230 msgid "Stereoscopy:" msgstr "立體觀察:" -#: src/mmg/tabs/input_format.cpp:244 +#: src/mmg/tabs/input_format.cpp:245 msgid "Stretch by:" msgstr "延展率:" -#: src/mmg/tabs/input_format.cpp:245 +#: src/mmg/tabs/input_format.cpp:246 msgid "Stretch this track's timecodes. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g. 1200/1253. Works best on video and subtitle tracks." msgstr "延展此軌的時間碼。本項支援兩種格式。既可以是正的浮點數,也可以是形如 1200/1253 的分數。應用於視訊軌與字幕軌時效果最佳。" @@ -5490,7 +5513,7 @@ msgid "String" msgstr "字串" -#: src/extract/xtr_textsubs.cpp:179 +#: src/extract/xtr_textsubs.cpp:180 msgid "Subtitle track %1% is missing some duration elements. Please check the resulting SSA/ASS file for entries that have the same start and end time.\n" msgstr "字幕軌 %1% 缺少持續時間元件。請檢查輸出的 SSA/ASS 檔中有相同起始和終止時間的項目。\n" @@ -5499,14 +5522,18 @@ msgid "Subtitle track %u" msgstr "字幕軌 %u" -#: src/mmg/tabs/input.cpp:252 +#: src/merge/mkvmerge.cpp:359 +msgid "Supported file types:\n" +msgstr "支援的檔案類型:\n" + +#: src/common/cli_parser.cpp:176 +msgid "Suppress status output." +msgstr "停用狀態輸出。" + +#: src/common/file_types.cpp:47 msgid "TTA (The lossless True Audio codec)" msgstr "TTA (The True Audio 無損音訊編解碼)" -#: src/merge/mkvmerge.cpp:104 -msgid "TTA lossless audio" -msgstr "TTA 無損音訊" - #: src/extract/extract_cli_parser.cpp:84 msgid "Tag extraction" msgstr "提取標籤" @@ -5525,19 +5552,19 @@ msgid "Tag files (*.xml;*.txt)|*.xml;*.txt|%s" msgstr "標籤檔 (*.xml;*.txt)|*.xml;*.txt|%s" -#: src/info/mkvinfo.cpp:1798 +#: src/info/mkvinfo.cpp:1828 msgid "Tags" msgstr "標籤" -#: src/merge/output_control.cpp:1298 +#: src/merge/output_control.cpp:1326 msgid "Tags are not allowed in WebM compliant files. No tags will be written into any output file.\n" msgstr "在 WebM 遵循檔裡不能有標籤。不會將標籤寫進任何輸出檔。\n" -#: src/merge/pr_generic.cpp:1425 +#: src/merge/pr_generic.cpp:1444 msgid "Tags for track ID %1%: %2% entries" msgstr "軌道 ID 的標籤 %1%: %2% 項目" -#: src/mmg/mmg.cpp:51 +#: src/mmg/mmg.cpp:56 #, c-format msgid "Tags for track ID %lld (%d entries) from %s" msgstr "軌道 ID 的標籤 %lld (%d 個項目) 自 %s" @@ -5546,24 +5573,24 @@ msgid "Tags:" msgstr "標籤:" -#: src/mmg/cli_options_dlg.cpp:93 -msgid "Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters." -msgstr "告訴 mkvmerge 不要在檔案結尾部建立包含所有叢集的變換定位元件。" - -#: src/mmg/cli_options_dlg.cpp:89 +#: src/mmg/cli_options_dlg.cpp:94 msgid "Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. Use this only for testing purposes." msgstr "告訴 mkvmerge 不要建立和寫入類似 AVI 索引的 cue 索引資料。Matroska 檔可以在無 cue 索引資料的情況下播放,但定位可能會變得不精確且遲鈍些。本功能僅供測試用途。" +#: src/mmg/cli_options_dlg.cpp:98 +msgid "Tells mkvmerge to create a meta seek element at the end of the file containing all clusters." +msgstr "告訴 mkvmerge 要在檔案結尾部建立變換定位元件。" + #: src/info/qt_ui.cpp:71 msgid "Text files (*.txt);;All files (*.*)" msgstr "純文字檔 (*.txt);;所有檔 (*.*)" -#: src/mmg/jobs.cpp:401 +#: src/mmg/jobs.cpp:410 #, c-format msgid "Text files (*.txt)|*.txt|%s" msgstr "純文字檔 (*.txt)|*.txt|%s" -#: src/info/wxwidgets_ui.cpp:293 +#: src/info/wxwidgets_ui.cpp:277 msgid "Text files (*.txt)|*.txt|All files|*.*" msgstr "純文字檔 (*.txt)|*.txt|所有檔|*.*" @@ -5575,15 +5602,15 @@ msgid "The AAC profiles are different: %1% and %2%" msgstr "AAC profile 不同: %1% 與 %2%" -#: src/input/r_qtmp4.cpp:1500 +#: src/input/r_qtmp4.cpp:1496 msgid "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to.\n" msgstr "此 AVC 視訊軌缺少「CTTS」畫格時間碼偏移單元。然而,AVC/h.264 允許畫格有超過通常的一次 (對於 P 畫格) 或兩次 (對於 B 畫格) 畫格參考。此類畫格的時間碼會變得無序,需要「CTTS」單元來修正。由於缺少時間碼,此軌可能發生錯誤。請查看生成的檔案,確認它是不是您預期的樣子。\n" -#: src/extract/tracks.cpp:278 +#: src/extract/tracks.cpp:279 msgid "The CUE sheet for track %1% will be written to '%2%'.\n" msgstr "軌道 %1% 的 CUE 表單會寫入到 「%2%」。\n" -#: src/merge/pr_generic.h:402 +#: src/merge/pr_generic.h:399 msgid "The CodecID of the two tracks is different: %1% and %2%" msgstr "兩軌的 CodecID 不同: %1% 與 %2%" @@ -5599,43 +5626,39 @@ msgid "The FPS is 0.0 but the reader did not provide a timecode for a packet. %1%\n" msgstr "FPS 為 0.0 且讀取器未提供套件的時間碼。%1%\n" -#: src/mmg/tabs/input.cpp:1362 +#: src/mmg/tabs/input.cpp:1332 #, c-format msgid "The FPS setting for track nr. %s in file '%s' is invalid." msgstr "軌 %s(自檔案「%s」)的 FPS 設定無效。" -#: src/merge/mkvmerge.cpp:1128 +#: src/merge/mkvmerge.cpp:1119 msgid "The FourCC must be exactly four characters long in '%1% %2%'.\n" msgstr "FourCC 值必須為四個字元的長度,在「%1% %2%」。\n" -#: src/mmg/tabs/input.cpp:1350 +#: src/mmg/tabs/input.cpp:1320 #, c-format msgid "The FourCC setting for track nr. %s in file '%s' is not excatly four characters long." msgstr "軌道 %s(自檔案「%s」)的 FourCC 設定非四字元長。" -#: src/mmg/mmg_dialog.cpp:1735 +#: src/mmg/mmg_dialog.cpp:1866 #, c-format msgid "The GUI is configured to use the mkvmerge executable from a different version (%s) than the GUI itself (%s). This is not supported but will not be prevented either. You should change the mkvmerge executable in the preferences dialog." msgstr "此 GUI 設定成使用 mkvmerge 可執行檔版本 (%s) 不同於 GUI 自己的版本 (%s)。不支援這種情形,但也不會阻止。您應該在偏好設定對話窗裡變更 mkvmerge 可執行檔。" -#: src/input/r_ogm.cpp:1384 +#: src/input/r_ogm.cpp:1508 msgid "The Kate identifaction header could not be parsed (%1%).\n" msgstr "無法解析 Kate 識別表頭 (%1%)。\n" -#: src/common/compression.cpp:308 -msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" -msgstr "MPEG-4 part 2 壓縮僅適用於原生 MPEG-4。然而,您未使用「--engage native_mpeg4」選擇原生 MPEG-4 模式。\n" - #: src/mmg/wx_kax_analyzer.cpp:35 msgid "The Matroska file is analyzed." msgstr "正在分析 Matroska 檔。" -#: src/mmg/header_editor/frame.cpp:700 +#: src/mmg/header_editor/frame.cpp:701 #: src/propedit/propedit.cpp:38 msgid "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" msgstr "Matroska 檔已修改,但變換定位項無法更新。這意味著播放器可能很難找到該元件。請使用您最喜歡的播放器檢查此檔。\n" -#: src/mmg/tabs/chapters.cpp:1898 +#: src/mmg/tabs/chapters.cpp:1903 msgid "" "The Matroska file was modified, but the meta seek entry could not be updated. This means that players might have a hard time finding this element. Please use your favorite player to check this file.\n" "\n" @@ -5645,11 +5668,11 @@ "\n" "合適的解決方法是先儲存這些章節至 XML 檔,然後使用重新合成檔(包含這些章節)。" -#: src/merge/mkvmerge.cpp:1259 +#: src/merge/mkvmerge.cpp:1250 msgid "The NALU size length must be a number between 2 and 4 inclusively in '--nalu-size-length %1%'.\n" msgstr "NALU 長度大小必須為 2 與 4 之間(含 2 與 4)的數字,在「--nalu-size-length %1%」中。\n" -#: src/input/r_ogm.cpp:1313 +#: src/input/r_ogm.cpp:1338 msgid "The Theora identifaction header could not be parsed (%1%).\n" msgstr "Theora 識別表頭無法解析 (%1%)。\n" @@ -5657,32 +5680,32 @@ msgid "The Vorbis codebooks are different; such tracks cannot be concatenated without reencoding" msgstr "Vorbis 碼表不同; 這種軌道不能連接,除非重新編碼" -#: src/merge/mkvmerge.cpp:1522 +#: src/merge/mkvmerge.cpp:1513 msgid "The argument '%1%' to '%2%' is invalid: '%3%' is not a valid track ID.\n" msgstr "「%2%」的「%1%」參數無效:「%3%」不是有效的軌道 ID。\n" -#: src/merge/mkvmerge.cpp:1531 +#: src/merge/mkvmerge.cpp:1522 msgid "The argument '%1%' to '%2%' is invalid: '%3%' must be either 'all' or 'first'.\n" msgstr "「%2%」的「%1%」參數無效:「%3%」必須為「all」或「first」中的一個。\n" -#: src/merge/mkvmerge.cpp:1518 +#: src/merge/mkvmerge.cpp:1509 msgid "The argument '%1%' to '%2%' is invalid: too many colons in element '%3%'.\n" msgstr "「%2%」的「%1%」參數無效: 元件「%3%」的冒號過多。\n" -#: src/merge/mkvmerge.cpp:1481 +#: src/merge/mkvmerge.cpp:1472 msgid "The argument to '--timecode-scale' must be a number.\n" msgstr "「--timecode-scale」的參數必須為數字。\n" -#: src/mmg/tabs/input.cpp:1418 +#: src/mmg/tabs/input.cpp:1388 #, c-format msgid "The aspect ratio setting for track nr. %s in file '%s' is invalid." msgstr "軌道編號 %s(檔案「%s」)的外觀比例設定無效。" -#: src/extract/attachments.cpp:87 +#: src/extract/attachments.cpp:115 msgid "The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n" msgstr "附件 #%1%, ID %2%, MIME 類型 %3%, 大小 %4%, 正被寫入「%5%」。\n" -#: src/merge/mkvmerge.cpp:1412 +#: src/merge/mkvmerge.cpp:1403 msgid "The attachment '%1%' could not be read.\n" msgstr "附件「%1%」無法讀取。\n" @@ -5702,17 +5725,17 @@ msgid "The changes are written to the file.\n" msgstr "將變更寫入檔案。\n" -#: src/mmg/tabs/chapters.cpp:773 +#: src/mmg/tabs/chapters.cpp:778 #, c-format msgid "The chapter '%s' is missing its language." msgstr "章節「%s」遺失它的語言。" -#: src/mmg/tabs/chapters.cpp:767 +#: src/mmg/tabs/chapters.cpp:772 #, c-format msgid "The chapter '%s' is missing the start time." msgstr "章節「%s」遺失起始時間。" -#: src/mmg/mmg_dialog.cpp:578 +#: src/mmg/mmg_dialog.cpp:598 msgid "" "The chapter editor has been used and contains data. However, no chapter file has been selected on the global page. In mmg, the chapter editor is independant of the muxing process. The chapters present in the editor will NOT be muxed into the output file. Only the various 'save' functions from the chapter editor menu will cause the chapters to be written to the hard disk.\n" "\n" @@ -5726,7 +5749,7 @@ "\n" "備註: 本警告可以在「設定」選項頁停用。關閉「對...用法發出警告」選項即可。" -#: src/output/p_mpeg4_p10.cpp:153 +#: src/output/p_mpeg4_p10.cpp:156 msgid "The chosen NALU size length of %1% is too small. Try using '4'.\n" msgstr "選擇的 NALU 長度大小 %1% 過小。請嘗試使用「4」。\n" @@ -5734,15 +5757,15 @@ msgid "The codec type '%1%' cannot be used in a WebM compliant file.\n" msgstr "此編解碼器類型「%1%」無法用在 WebM 遵循檔。\n" -#: src/output/p_avc.cpp:200 -#: src/output/p_kate.cpp:113 +#: src/output/p_textsubs.cpp:102 #: src/output/p_passthrough.cpp:63 -#: src/output/p_textsubs.cpp:98 #: src/output/p_video.cpp:139 +#: src/output/p_avc.cpp:203 +#: src/output/p_kate.cpp:113 msgid "The codec's private data does not match (lengths: %1% and %2%)." msgstr "編解碼器專有資料不符 (長度: %1% 與 %2%)。" -#: src/output/p_mpeg4_p10.cpp:101 +#: src/output/p_mpeg4_p10.cpp:103 msgid "The codec's private data does not match. Both have the same length (%1%) but different content." msgstr "編解碼器專有資料不符。長度相同 (%1%) 但內容不同。" @@ -5755,29 +5778,29 @@ msgid "The country '%s' is not a valid ccTLD and cannot be selected." msgstr "國家「%s」不是有效的 ccTLD,不能選擇。" -#: src/merge/output_control.cpp:1373 +#: src/merge/output_control.cpp:1401 msgid "The cue entries (the index) are being written..." msgstr "正在寫入 cue 項目(此索引)..." -#: src/mmg/tabs/input.cpp:763 +#: src/mmg/tabs/input.cpp:733 #, c-format msgid "The current file (number %d) cannot be removed. There are other files -- at least file number %d -- whose tracks are supposed to be appended to tracks from this file. Please remove those files first." msgstr "目前檔案 (序號 %d) 不能移除。有其他檔案 -- 至少檔案號為 %d 的檔案 -- 有要添加至此檔某軌道的軌道。請先移除那些檔案。" -#: src/merge/pr_generic.cpp:843 +#: src/merge/pr_generic.cpp:844 msgid "The current packet's timecode is smaller than that of the previous packet. This usually means that the source file is a Matroska file that has not been created 100%% correctly. The timecodes of all packets will be adjusted by %1%ms in order not to lose any data. This may throw audio/video synchronization off, but that can be corrected with mkvmerge's \"--sync\" option. If you already use \"--sync\" and you still get this warning then do NOT worry -- this is normal. If this error happens more than once and you get this message more than once for a particular track then either is the source file badly mastered, or mkvmerge contains a bug. In this case you should contact the author Moritz Bunkus <moritz@bunkus.org>.\n" -msgstr "目前套件的時間碼比前一個套件的小。這通常表明來源檔未正常 100% 建立的 Matroska 檔案。所有套件的時間碼將以 %1%ms 調整以避免丟失任何資料。這可能導致音/視訊不同步,但可以透過 mkvmerge 的 \"--sync\" 選項修正。如果您已經使用了 \"--sync\" 但仍然收到本警告,請 *不要* 著急 -- 這是正常的。如果對於一個特定軌超過一次出現本錯誤且您超過一次收到本訊息,既可能是因為來源檔嚴重錯誤,也可能是因為 mkvmerge 包含了某個 bug。如果是這樣,請聯繫作者 Moritz Bunkus <moritz@bunkus.org>。\n" +msgstr "目前套件的時間碼比前一個套件的小。這通常表明來源檔未正常 100%% 建立的 Matroska 檔案。所有套件的時間碼將以 %1%ms 調整以避免丟失任何資料。這可能導致音/視訊不同步,但可以透過 mkvmerge 的 \"--sync\" 選項修正。如果您已經使用了 \"--sync\" 但仍然收到本警告,請 *不要* 著急 -- 這是正常的。如果對於一個特定軌超過一次出現本錯誤且您超過一次收到本訊息,既可能是因為來源檔嚴重錯誤,也可能是因為 mkvmerge 包含了某個 bug。如果是這樣,請聯繫作者 Moritz Bunkus <moritz@bunkus.org>。\n" #: src/input/r_usf.cpp:129 msgid "The default language code '%1%' is not a valid ISO639-2 language code and will be ignored.\n" msgstr "預設語言碼「%1%」不是有效的 ISO639-2 語言碼,將被忽略。\n" -#: src/mmg/tabs/input.cpp:1329 +#: src/mmg/tabs/input.cpp:1299 #, c-format msgid "The delay setting for track nr. %s in file '%s' is invalid." msgstr "對檔案「%s」的 %s 軌的延遲設定無效。" -#: src/merge/output_control.cpp:1129 +#: src/merge/output_control.cpp:1157 msgid "" "The demultiplexer for the file '%1%' failed to initialize:\n" "%2%\n" @@ -5790,15 +5813,15 @@ msgid "The difference between tags associated with a track and global tags is explained in mkvmerge's documentation. In short: global tags apply to the complete file while the tags you can add on the 'input' tab apply to only one track." msgstr "關於關聯至軌道的標籤與整體標籤的區別已在 mkvmerge 文件檔中作出解釋。簡而言之: 整體標籤應用於整個檔案,而您能在「輸入」選項分頁中添加的標籤僅能應用於單個軌道。" -#: src/merge/pr_generic.h:397 +#: src/merge/pr_generic.h:394 msgid "The display height of the two tracks is different: %1% and %2%" msgstr "兩軌的顯示高度不同: %1% 與 %2%" -#: src/merge/pr_generic.h:392 +#: src/merge/pr_generic.h:389 msgid "The display width of the two tracks is different: %1% and %2%" msgstr "兩軌的顯示寬度不同: %1% 與 %2%" -#: src/info/wxwidgets_ui.cpp:380 +#: src/info/wxwidgets_ui.cpp:364 #, c-format msgid "" "The dragged file '%s'\n" @@ -5815,8 +5838,8 @@ msgid "The edit specifications '%1%' and '%2%' resolve to the same track with the UID %3%.\n" msgstr "此編輯規格「%1%」和「%2%」決定 UID %3% 為相同軌道。\n" -#: src/mmg/header_editor/frame.cpp:688 -#: src/mmg/tabs/chapters.cpp:1886 +#: src/mmg/header_editor/frame.cpp:689 +#: src/mmg/tabs/chapters.cpp:1891 #: src/propedit/propedit.cpp:28 msgid "The element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "元件已被寫至檔案結尾部,但剪輯大小無法更新。因此這些元件將不可見。處理處理程序將被中止。檔已被修改!" @@ -5829,47 +5852,47 @@ msgid "The fifth mode tries to extract chapter information and tags and outputs them as a CUE sheet. This is the reverse of using a CUE sheet with mkvmerge's '--chapters' option." msgstr "第五種模式可試著提取章節資訊和標籤並將這些匯出成一個 CUE 表單。這和用 mkvmerge 的「--chapters」選項使用 CUE 表單相反。" -#: src/merge/mkvmerge.cpp:1393 +#: src/merge/mkvmerge.cpp:1384 msgid "The file '%1%' cannot be attached because it does not exist or cannot be read.\n" msgstr "無法附加檔案「%1%」,因為它不存在或無法讀取。\n" -#: src/extract/attachments.cpp:114 -#: src/extract/chapters.cpp:47 +#: src/extract/attachments.cpp:141 #: src/extract/cuesheets.cpp:208 #: src/extract/tags.cpp:47 +#: src/extract/chapters.cpp:47 msgid "The file '%1%' could not be opened for reading (%2%)." msgstr "檔案「%1%」無法開啟以讀取 (%2%)。" -#: src/extract/timecodes_v2.cpp:169 -#: src/extract/tracks.cpp:316 +#: src/extract/tracks.cpp:327 +#: src/extract/timecodes_v2.cpp:173 msgid "The file '%1%' could not be opened for reading (%2%).\n" msgstr "檔案「%1%」無法開啟以讀取 (%2%)。\n" -#: src/common/command_line.cpp:44 +#: src/common/command_line.cpp:45 msgid "The file '%1%' could not be opened for reading command line arguments.\n" msgstr "檔案「%1%」無法開啟以讀取命令列參數。\n" -#: src/extract/tracks.cpp:275 +#: src/extract/tracks.cpp:276 #: src/extract/xtr_avi.cpp:52 -#: src/extract/xtr_tta.cpp:86 -#: src/extract/xtr_wav.cpp:112 +#: src/extract/xtr_tta.cpp:87 +#: src/extract/xtr_wav.cpp:113 msgid "The file '%1%' could not be opened for writing (%2%).\n" msgstr "檔案「%1%」無法開啟以寫入 (%2%)。\n" -#: src/extract/attachments.cpp:92 +#: src/extract/attachments.cpp:121 #: src/extract/xtr_rmff.cpp:40 msgid "The file '%1%' could not be opened for writing (%2%, %3%).\n" msgstr "檔案「%1%」無法開啟以寫入 (%2%, %3%)。\n" -#: src/merge/output_control.cpp:1338 +#: src/merge/output_control.cpp:1366 msgid "The file '%1%' has been opened for writing.\n" msgstr "檔案「%1%」已開啟以寫入。\n" -#: src/merge/mkvmerge.cpp:2128 +#: src/merge/mkvmerge.cpp:2127 msgid "The file '%1%' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.\n" msgstr "檔案「%1%」類型未知。請查看支援的檔案類型 (「mkvmerge --list-types」),若您的檔案類型受支援但被錯誤識別,請聯繫作者 Moritz Bunkus <moritz@bunkus.org>。\n" -#: src/merge/pr_generic.cpp:1340 +#: src/merge/pr_generic.cpp:1359 msgid "The file '%1%' is a non-supported file type (%2%).\n" msgstr "此檔案「%1%」類型不支援 (%2%)。\n" @@ -5877,12 +5900,12 @@ msgid "The file '%1%' is empty." msgstr "檔案「%1%」為空。" -#: src/mmg/mmg.cpp:217 +#: src/mmg/mmg.cpp:225 #, c-format msgid "The file '%s' does not exist." msgstr "檔案「%s」不存在。" -#: src/mmg/tabs/input.cpp:334 +#: src/mmg/tabs/input.cpp:296 #, c-format msgid "The file '%s' is already processed in combination with the file '%s'. It cannot be added a second time." msgstr "此檔案「%s」已經用檔案「%s」以結合方式處理。它不能重複加入。" @@ -5891,18 +5914,22 @@ msgid "The file could not be opened for writing." msgstr "檔案無法開啟以寫入。" -#: src/mmg/mmg_dialog.cpp:369 +#: src/mmg/mmg_dialog.cpp:389 msgid "The file does not exist." msgstr "檔案不存在。" -#: src/mmg/mmg_dialog.cpp:388 +#: src/mmg/mmg_dialog.cpp:408 msgid "The file does not seem to be a valid mkvmerge GUI settings file." msgstr "此檔案似乎不是有效的 mkvmerge GUI 設定檔。" -#: src/mmg/header_editor/frame.cpp:524 +#: src/mmg/header_editor/frame.cpp:525 msgid "The file has been changed by another program since it was read by the header editor. Therefore you have to re-load it. Unfortunately this means that all of your changes will be lost." msgstr "在表頭編輯器讀取此檔案後,檔案已被其它程式更改。因此您需要重新載入它。不幸的是這意味著您將丟失所有變更。" +#: src/propedit/propedit.h:18 +msgid "The file has not been modified." +msgstr "此檔案並沒有被修改過。" + #: src/input/r_tta.cpp:64 msgid "The file header is too short.\n" msgstr "檔頭太短。\n" @@ -5911,7 +5938,7 @@ msgid "The file header was not read correctly.\n" msgstr "檔頭讀取異常。\n" -#: src/mmg/tabs/input.cpp:383 +#: src/mmg/tabs/input.cpp:346 #, c-format msgid "The file is an unsupported container format (%s)." msgstr "此檔案為不支援的容器格式 (%s)。" @@ -5920,36 +5947,36 @@ msgid "The file is analyzed.\n" msgstr "檔案已分析。\n" -#: src/merge/output_control.cpp:253 +#: src/merge/output_control.cpp:255 msgid "The file is being fixed, part 1/4..." msgstr "正在固定檔案,第 1/4 步..." -#: src/merge/output_control.cpp:259 +#: src/merge/output_control.cpp:261 msgid "The file is being fixed, part 2/4..." msgstr "正在固定檔案,第 2/4 步..." -#: src/merge/output_control.cpp:268 +#: src/merge/output_control.cpp:270 msgid "The file is being fixed, part 3/4..." msgstr "正在固定檔案,第 3/4 步..." -#: src/merge/output_control.cpp:280 +#: src/merge/output_control.cpp:282 msgid "The file is being fixed, part 4/4..." msgstr "正在固定檔,第 4/4 步..." #: src/common/property_element.cpp:103 -#: src/mmg/header_editor/frame.cpp:330 +#: src/mmg/header_editor/frame.cpp:332 msgid "The file name for this segment." msgstr "此剪輯的檔名。" -#: src/merge/output_control.cpp:868 +#: src/merge/output_control.cpp:893 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. The argument for '--append-to' was invalid.\n" msgstr "檔案 %1% (「%2%」) 不含 ID 為 %3% 的軌道,或者沒選擇複製該軌道。選項「--append-to」的參數無效。\n" -#: src/merge/output_control.cpp:874 +#: src/merge/output_control.cpp:899 msgid "The file no. %1% ('%2%') does not contain a track with the ID %3%, or that track is not to be copied. Therefore no track can be appended to it. The argument for '--append-to' was invalid.\n" msgstr "檔案 %1% (「%2%」) 不含 ID 為 %3% 的軌道,或者沒選擇複製該軌道。因此沒有軌道可以添加給它。選項「--append-to」的參數無效。\n" -#: src/merge/output_control.cpp:810 +#: src/merge/output_control.cpp:835 msgid "The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n" msgstr "此檔案 %1% (「%2%」) 未被添加。選項「--append-to」的參數無效。\n" @@ -5957,15 +5984,15 @@ msgid "The file you tried to open is not a Matroska file." msgstr "您試著開啟的檔案不是 Matroska 檔。" -#: src/mmg/tabs/chapters.cpp:639 +#: src/mmg/tabs/chapters.cpp:642 msgid "The file you tried to save to is NOT a Matroska file." msgstr "您試著儲存至的檔案 *不是* Matroska 檔。" -#: src/mmg/tabs/chapters.cpp:679 +#: src/mmg/tabs/chapters.cpp:684 msgid "The file you tried to save to is a Matroska file. For this to work you have to use the 'Save to Matroska file' menu option." msgstr "您試著儲存至的檔案是個 Matroska 檔。要這樣做的話,您應該使用“儲存至 Matroska 檔”功能表項目。" -#: src/merge/mkvmerge.cpp:2117 +#: src/merge/mkvmerge.cpp:2116 msgid "The first file cannot be appended because there are no files to append to.\n" msgstr "第一個檔案不能作為添加檔,因為沒有檔案可供其添加。\n" @@ -5990,7 +6017,7 @@ msgid "The format of the split timecode/duration is invalid." msgstr "分割時間碼/持續時間格式無效。" -#: src/merge/output_control.cpp:938 +#: src/merge/output_control.cpp:963 msgid "The formats do not match." msgstr "格式不符。" @@ -5998,7 +6025,7 @@ msgid "The fourth mode extracts the chapters and converts them to XML. The output is written to the standard output. The output can be used as a source for mkvmerge." msgstr "第四種模式可提取章節並將章節轉換成 XML。此輸出會寫入到標準輸出。此輸出可以用來作為 mkvmerge 的來源。" -#: src/merge/mkvmerge.cpp:1487 +#: src/merge/mkvmerge.cpp:1478 msgid "The given timecode scale factor is outside the valid range (1...10000000 or -1 for 'sample precision even if a video track is present').\n" msgstr "給定的時間碼縮放比例超出有效範圍 (1...10000000 或 -1 代表「即使視訊軌已提供時的取樣精確度」)。\n" @@ -6008,16 +6035,16 @@ msgid "The header has already been written." msgstr "表頭已被寫入。" -#: src/merge/pr_generic.h:387 +#: src/merge/pr_generic.h:384 msgid "The height of the two tracks is different: %1% and %2%" msgstr "兩軌高度不同: %1% 與 %2%" -#: src/mmg/tabs/input.cpp:645 +#: src/mmg/tabs/input.cpp:615 #, c-format msgid "The input file '%s' does not contain any tracks." msgstr "輸入檔「%s」不包含任何軌道。" -#: src/mmg/tabs/input.cpp:1253 +#: src/mmg/tabs/input.cpp:1223 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6033,7 +6060,7 @@ "\n" "(問題出在 tab_input::load(), #1)" -#: src/mmg/tabs/input.cpp:1260 +#: src/mmg/tabs/input.cpp:1230 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6049,7 +6076,7 @@ "\n" "(問題出在 tab_input::load(), #2)" -#: src/mmg/tabs/input.cpp:1273 +#: src/mmg/tabs/input.cpp:1243 msgid "" "The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" @@ -6066,7 +6093,7 @@ "(問題出在 tab_input::load(), #3)" #: src/mmg/options/chapters.cpp:113 -#: src/mmg/tabs/chapters.cpp:1302 +#: src/mmg/tabs/chapters.cpp:1307 #, c-format msgid "The language '%s' is not a valid language and cannot be selected." msgstr "語言「%s」不是有效的語言,不可選。" @@ -6079,7 +6106,7 @@ msgid "The line %1% of the timecode file '%2%' does not contain a valid floating point number.\n" msgstr "時間碼檔案「%2%」的第 %1% 行不包含有效的浮點數。\n" -#: src/common/translation.cpp:281 +#: src/common/translation.cpp:283 msgid "The locale could not be set properly. Check the LANG, LC_ALL and LC_MESSAGES environment variables.\n" msgstr "地區無法正常設定。請檢查 LANG, LC_ALL 和 LC_MESSAGES 環境變數。\n" @@ -6088,7 +6115,7 @@ msgstr "將建立的最大檔案數量,即使最後一個檔包含的位元組數/時間多於您想要的。本功能有時很有用,例如當您想要恰恰兩個檔時。如果此處留空,mkvmerge 將建立的檔數目將不受限制。" #: src/common/property_element.cpp:125 -#: src/mmg/header_editor/frame.cpp:413 +#: src/mmg/header_editor/frame.cpp:415 msgid "" "The maximum number of frames a player\n" "should be able to cache during playback.\n" @@ -6098,14 +6125,14 @@ "播放器播放過程中應該快取的最大畫格數。\n" "如果設為 0, 將不使用參考偽快取系統。" -#: src/mmg/header_editor/frame.cpp:694 -#: src/mmg/tabs/chapters.cpp:1892 +#: src/mmg/header_editor/frame.cpp:695 +#: src/mmg/tabs/chapters.cpp:1897 #: src/propedit/propedit.cpp:33 msgid "The meta seek element was written at the end of the file, but the segment size could not be updated. Therefore the element will not be visible. The process will be aborted. The file has been changed!" msgstr "變換定位元件已被寫至檔案結尾部,但剪輯大小無法更新。因此這些元件不可見。處理處理程序將被中止。檔案已有改動!" #: src/common/property_element.cpp:123 -#: src/mmg/header_editor/frame.cpp:408 +#: src/mmg/header_editor/frame.cpp:410 msgid "" "The minimum number of frames a player\n" "should be able to cache during playback.\n" @@ -6115,11 +6142,11 @@ "播放器播放過程中應該快取的最小畫格數。\n" "如果設為 0, 將不使用參考偽快取系統。" -#: src/mmg/mmg_dialog.cpp:690 +#: src/mmg/mmg_dialog.cpp:694 msgid "The mkvmerge GUI help file was not found in the path you've selected. Please try again, or abort by pressing the 'abort' button." msgstr "在您選擇的路徑找不到 mkvmerge GUI 説明檔。請重試一次,或者按「取消」按鈕中止。" -#: src/mmg/mmg_dialog.cpp:683 +#: src/mmg/mmg_dialog.cpp:687 msgid "" "The mkvmerge GUI help file was not found. This indicates that it has never before been opened, or that the installation path has since been changed.\n" "\n" @@ -6133,19 +6160,19 @@ msgid "The name '%1%' is not a valid property name for the current edit specification in '%2%'.\n" msgstr "名稱「%1%」對於目前在「%2%」中的編輯規範不是有效的屬性名稱。\n" -#: src/merge/mkvmerge.cpp:2093 +#: src/merge/mkvmerge.cpp:2087 msgid "The name of the output file '%1%' and of one of the input files is the same. This would cause mkvmerge to overwrite one of your input files. This is most likely not what you want.\n" msgstr "輸出檔「%1%」的名稱與輸入檔之一相同。這將使 mkvmerge 覆寫輸入檔之一。這大概不是您想要的。\n" -#: src/merge/mkvmerge.cpp:1344 +#: src/merge/mkvmerge.cpp:1335 msgid "The next UID was already given in '%1% %2%'.\n" msgstr "下一 UID 已在「%1% %2%」給出。\n" -#: src/merge/pr_generic.h:377 +#: src/merge/pr_generic.h:374 msgid "The number of bits per sample of the two audio tracks is different: %1% and %2%" msgstr "兩軌的每次取樣位元數(音訊位元深度)不同: %1% 與 %2%" -#: src/merge/pr_generic.h:372 +#: src/merge/pr_generic.h:369 msgid "The number of channels of the two audio tracks is different: %1% and %2%" msgstr "兩音軌的聲道數不同: %1% 與 %2%" @@ -6154,34 +6181,34 @@ msgstr "外部時間碼數 %1% 小於此軌的畫格數。此軌的其餘畫格將可能不按您想要的方式標記時間戳記。mkvmerge 甚至可能不正常關閉。\n" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "" "The number of video pixels to remove\n" "on the bottom of the image." msgstr "視訊畫面底部要移除的像素數目。" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "" "The number of video pixels to remove\n" "on the left of the image." msgstr "視訊畫面左邊要移除的像素數目。" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "" "The number of video pixels to remove\n" "on the right of the image." msgstr "視訊畫面右邊要移除的像素數目。" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "" "The number of video pixels to remove\n" "on the top of the image." msgstr "視訊畫面頂部要移除的像素數目。" -#: src/merge/mkvmerge.cpp:1851 +#: src/merge/mkvmerge.cpp:1842 msgid "The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n" msgstr "選項「--meta-seek-size」不再受支援。請閱讀 mkvmerge 的使用說明,尤其是關於 *Matroska 檔規劃* 的段落。\n" @@ -6189,17 +6216,17 @@ msgid "The order of the various options is not important." msgstr "各種選項的順序不會影響結果。" -#: src/merge/output_control.cpp:1334 +#: src/merge/output_control.cpp:1362 msgid "The output file '%1%' could not be opened for writing (%2%).\n" msgstr "即將輸出的檔案「%1%」無法開啟寫入 (%2%)。\n" -#: src/mmg/mmg_dialog.cpp:511 -#: src/mmg/mmg_dialog.cpp:1362 +#: src/mmg/mmg_dialog.cpp:531 +#: src/mmg/mmg_dialog.cpp:1369 #, c-format msgid "The output file '%s' already exists. Do you want to overwrite it?" msgstr "即將輸出的檔案「%s」已存在。是否覆蓋?" -#: src/mmg/mmg_dialog.cpp:565 +#: src/mmg/mmg_dialog.cpp:585 msgid "The output file name is invalid, e.g. it might contain invalid characters like ':'." msgstr "此輸出檔名不正確,可能是包含無效的字元如「:」。" @@ -6211,7 +6238,7 @@ msgid "The picture type '%1%' is not recognized.\n" msgstr "圖片類型「%1%」無法識別。\n" -#: src/merge/mkvmerge.cpp:1331 +#: src/merge/mkvmerge.cpp:1322 msgid "The previous UID was already given in '%1% %2%'.\n" msgstr "上一個 UID 已在「%1% %2%」給出。\n" @@ -6239,7 +6266,7 @@ msgid "The property value is not a valid unsigned integer in '%1%'. %2%\n" msgstr "此屬性值在「%1%」不是有效的不帶正負號整數。%2%\n" -#: src/merge/output_control.cpp:940 +#: src/merge/output_control.cpp:965 msgid "The reason is unknown." msgstr "原因不詳。" @@ -6247,12 +6274,12 @@ msgid "The root element must be <%1%>." msgstr "根元件必須為 <%1%>。" -#: src/merge/pr_generic.h:367 +#: src/merge/pr_generic.h:364 msgid "The sample rate of the two audio tracks is different: %1% and %2%" msgstr "兩音軌的取樣頻率不同: %1% 與 %2%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:422 +#: src/mmg/header_editor/frame.cpp:424 msgid "" "The scale to apply on this track to work at normal\n" "speed in relation with other tracks (mostly used\n" @@ -6269,7 +6296,7 @@ msgid "The seek table in this TTA file seems to be broken.\n" msgstr "此 TTA 檔案中的定位表似乎已損壞。\n" -#: src/mmg/tabs/chapters.cpp:778 +#: src/mmg/tabs/chapters.cpp:783 #, c-format msgid "The selected language '%s' for the chapter '%s' is not a valid language code. Please select one of the predefined ones." msgstr "選定的語言「%s」(章節「%s」)不是有效的語言碼。請選擇預定義碼中的一項。" @@ -6282,16 +6309,16 @@ msgid "The size after which a new output file is started. The letters 'G', 'M' and 'K' can be used to indicate giga/mega/kilo bytes respectively. All units are based on 1024 (G = 1024^3, M = 1024^2, K = 1024)." msgstr "在此大小後開始新的輸出檔。字母「G」, 「M」和「K」分別可以用來代表十億/百萬/千位元。所有單位換算均基於 1024 (G = 1024^3, M = 1024^2, K = 1024)。" -#: src/merge/mkvmerge.cpp:1406 +#: src/merge/mkvmerge.cpp:1397 msgid "The size of attachment '%1%' is 0.\n" msgstr "附件「%1%」的大小為 0。\n" -#: src/merge/output_control.cpp:305 -#: src/merge/output_control.cpp:381 +#: src/merge/output_control.cpp:307 +#: src/merge/output_control.cpp:400 msgid "The source file '%1%' could not be opened successfully, or retrieving its size by seeking to the end did not work.\n" msgstr "來源檔案「%1%」無法成功開啟,或者無法透過定位至末端檢索。\n" -#: src/mmg/tabs/input.cpp:1340 +#: src/mmg/tabs/input.cpp:1310 #, c-format msgid "The stretch setting for track nr. %s in file '%s' is invalid." msgstr "軌道 %s(自檔案「%s」)的延展設定無效。" @@ -6316,11 +6343,11 @@ msgid "The strings 'info', 'segment_info' or 'segmentinfo' select the segment information element. This is also the default until the first '--edit' option is found." msgstr "字串「info」、「segment_info」或「segmentinfo」表示選擇的片段資訊元件。這項也是預設功能找到的第一個「--edit」選項。" -#: src/merge/pr_generic.cpp:287 +#: src/merge/pr_generic.cpp:291 msgid "The tags in '%1%' could not be parsed: some mandatory elements are missing.\n" msgstr "無法解析「%1%」中的標籤: 缺少某些必要元件。\n" -#: src/extract/xtr_tta.cpp:79 +#: src/extract/xtr_tta.cpp:80 msgid "The temporary file '%1%' could not be opened for reading (%2%).\n" msgstr "暫存檔案「%1%」無法開啟以讀取 (%2%)。\n" @@ -6370,108 +6397,120 @@ msgid "The timecodes after which a new output file is started. The timecodes refer to the whole stream and not to each individual output file. The timecodes can be given either in the form HH:MM:SS.nnnnnnnnn or as the number of seconds followed by 's'. You may omit the number of hours 'HH'. You can specify up to nine digits for the number of nanoseconds 'nnnnnnnnn' or none at all. If given then you may use up to nine digits after the decimal point. If two or more timecodes are used then you have to separate them with commas. The formats can be mixed, too. Examples: 01:00:00,01:30:00 (after one hour and after one hour and thirty minutes) or 1800s,3000s,00:10:00 (after three, five and ten minutes)." msgstr "在這些時間碼後開始建立新的輸出檔。這些時間碼以整個媒體流而不是分割開的各輸出檔為準。時間碼可以以 HH:MM:SS.nnnnnnnnn 的形式或緊跟「s」的秒數給出。小時數「HH」可省略。您可以指定多達九位的毫微秒數「nnnnnnnnn」或者不指定小數點後的數。如果要給出,您可以在小數點後使用多達九位元數位。如果使用的時間碼超過一個,請使用逗號分隔。格式也可以混合使用。示例: 01:00:00,01:30:00 (在一小時後和一個半小時後分割) 或者 1800s,3000s,00:10:00 (在第 3 分鐘,第 5 分鐘和第 10 分鐘後分割)。" -#: src/input/r_ogm.cpp:570 +#: src/input/r_ogm.cpp:598 msgid "The timecodes for this stream have been reset in the middle of the file. This is not supported. The current packet will be discarded.\n" msgstr "此媒體流的時間碼在檔案中途重置。這是不支援的。目前資料包將被廢除。\n" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "The title for the whole movie." msgstr "整部影片的標題。" -#: src/merge/output_control.cpp:884 +#: src/merge/output_control.cpp:909 msgid "The track %1% from file no. %2% ('%3%') is to be appended more than once. The argument for '--append-to' was invalid.\n" msgstr "軌道 %1% (自檔案 %2% (「%3%」))被添加超過一次。「--append-to」的參數無效。\n" -#: src/merge/output_control.cpp:709 +#: src/merge/output_control.cpp:734 msgid "The track headers could not be rendered correctly. %1%\n" msgstr "軌道頭無法正確演算。%1%\n" -#: src/extract/tracks.cpp:89 +#: src/extract/tracks.cpp:90 msgid "The track number %1% does not have a valid CodecID.\n" msgstr "軌道編號 %1% 無有效的 CodecID。\n" -#: src/merge/output_control.cpp:930 +#: src/merge/output_control.cpp:955 msgid "The track number %1% from the file '%2%' can probably not be appended correctly to the track number %3% from the file '%4%': %5% Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.\n" msgstr "軌道編號 %1% (自檔案「%2%」)可能無法被正確添加至軌道編號 %3% (自檔「%4%」): %5% 請確認生成的檔是否可以完整地正常播放。本程式的作者可能無法提供關於播放生成的檔案的支援。\n" -#: src/merge/output_control.cpp:941 +#: src/merge/output_control.cpp:966 msgid "The track number %1% from the file '%2%' cannot be appended to the track number %3% from the file '%4%'. %5%\n" msgstr "軌道編號 %1% (自檔案「%2%」)無法添加至軌道編號 %3% (自檔案「%4%」)。%5%\n" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:387 +#: src/mmg/header_editor/frame.cpp:389 msgid "The track number as used in the Block Header." msgstr "區塊表頭使用的軌道編號。" -#: src/merge/output_control.cpp:939 +#: src/merge/output_control.cpp:964 msgid "The track parameters do not match." msgstr "軌道參數不符。" -#: src/merge/pr_generic.h:382 +#: src/common/command_line.cpp:270 +msgid "The update information could not be retrieved from %1%.\n" +msgstr "無法從 %1% 取得更新資訊。\n" + +#: src/merge/pr_generic.h:379 msgid "The width of the two tracks is different: %1% and %2%" msgstr "兩軌寬度不同: %1% 與 %2%" -#: src/merge/output_control.cpp:804 -#: src/merge/output_control.cpp:814 +#: src/mmg/mmg_dialog.cpp:1761 +msgid "There is a new version available online." +msgstr "線上有新版本可更新。" + +#: src/merge/output_control.cpp:829 +#: src/merge/output_control.cpp:839 msgid "There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n" msgstr "沒有檔案的 ID 為「%1%」。參數「--append-to」無效。\n" -#: src/common/command_line.cpp:235 +#: src/common/command_line.cpp:236 msgid "There is no translation available for '%1%'.\n" msgstr "尚無「%1%」的翻譯。\n" -#: src/mmg/mux_dialog.cpp:361 +#: src/mmg/mmg_dialog.cpp:1762 +msgid "There was an error querying the update status." +msgstr "查詢更新狀態時發生錯誤。" + +#: src/mmg/mux_dialog.cpp:362 msgid "There were ERRORs." msgstr "有 *錯誤* 發生。" -#: src/mmg/header_editor/frame.cpp:538 -#: src/mmg/header_editor/frame.cpp:638 +#: src/mmg/header_editor/frame.cpp:539 +#: src/mmg/header_editor/frame.cpp:639 msgid "There were errors in the header values preventing the headers from being saved. The first error has been selected." msgstr "出現一些影響表頭資訊儲存的表頭值錯誤。第一處錯誤已被選中。" -#: src/mmg/mux_dialog.cpp:356 +#: src/mmg/mux_dialog.cpp:357 msgid "There were warnings" msgstr "有警告資訊" -#: src/mmg/mux_dialog.cpp:354 +#: src/mmg/mux_dialog.cpp:355 msgid "There were warnings, or the process was terminated." msgstr "有警告資訊,或者處理處理程序被中止。" -#: src/input/r_avi.cpp:609 #: src/input/r_real.cpp:326 +#: src/input/r_avi.cpp:627 msgid "This AAC track does not contain valid headers. Could not parse the AAC information.\n" msgstr "此 AAC 軌道不含有效的表頭。無法解析 AAC 資訊。\n" -#: src/input/r_avi.cpp:606 +#: src/input/r_avi.cpp:624 msgid "This AAC track does not contain valid headers. The extra header size is %1% bytes, expected were 2 or 5 bytes.\n" msgstr "此 AAC 軌道不含有效的頭。超額的表頭大小為 %1% 位元組, 預期為 2 或 5 位元組。\n" -#: src/output/p_ac3.cpp:80 +#: src/output/p_ac3.cpp:81 msgid "This AC3 track contains %1% bytes of non-AC3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the non-AC3 data.\n" msgstr "此 AC3 軌道的開頭包含 %1% 位元組的 非-AC3 資料。這相當於 %2%ms 的延遲。將使用此延遲替代 非-AC3 資料。\n" -#: src/output/p_ac3.cpp:92 +#: src/output/p_ac3.cpp:93 msgid "This AC3 track contains %1% bytes of non-AC3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "此 AC3 軌道包含 %1% 位元組的 非-AC3 資料,已跳過。音/視訊同步可能已喪失。\n" -#: src/output/p_avc.cpp:99 +#: src/output/p_avc.cpp:102 msgid "This AVC/h.264 contains frames that are too big for the current maximum NALU size. You have to re-run mkvmerge and set the maximum NALU size to %1% for this track (command line parameter '--nalu-size-length %2%:%1%').\n" msgstr "此 AVC/h.264 包含大於目前最大 NALU 長的畫格。您需要重新啟動 mkvmerge 並設定此軌的最大 NALU 大小為 %1% (命令列參數「--nalu-size-length %2%:%1%」)。\n" -#: src/output/p_avc.cpp:150 +#: src/output/p_avc.cpp:153 msgid "This AVC/h.264 track does not start with a key frame. The first %1% frames have been skipped.\n" msgstr "此 AVC/h.264 軌道未以關鍵畫格開頭。已跳過開頭 %1% 畫格。\n" -#: src/output/p_mp3.cpp:60 +#: src/output/p_mp3.cpp:61 msgid "This MPEG audio track contains %1% bytes of non-MP3 data at the beginning. This corresponds to a delay of %2%ms. This delay will be used instead of the garbage data.\n" msgstr "此 MPEG 音軌的開頭包含 %1% 位元組的 非-MP3 資料。這相當於 %2%ms 的延遲。將使用此延遲替代無用資料。\n" -#: src/output/p_mp3.cpp:69 +#: src/output/p_mp3.cpp:70 msgid "This MPEG audio track contains %1% bytes of non-MP3 data which were skipped. The audio/video synchronization may have been lost.\n" msgstr "此 MPEG 音軌包含 %1% 位元組的 非-MP3 資料,已跳過。音/視訊同步可能已喪失。\n" -#: src/input/r_ogm.cpp:822 +#: src/input/r_ogm.cpp:847 msgid "This Ogg/OGM file contains chapter or title information. Unfortunately the charset used to store this information in the file cannot be identified unambiguously. The program assumes that your system's current charset is appropriate. This can be overridden with the '--chapter-charset <charset>' switch.\n" msgstr "此 Ogg/OGM 檔包含章節或標題資訊。不幸的是此檔中存儲這些資訊使用的字元集無法準確識別。程式假定以您系統的目前字元集為準。您可以透過「--chapter-charset <charset>」開關替代該假定值。\n" @@ -6506,12 +6545,12 @@ msgid "This file contains at least one frame with a negative timecode. All timecodes will be adjusted by %1% so that none is negative anymore.\n" msgstr "此檔案包含至少一個含有原生時間碼的畫格。全部時間碼將以 %1% 調整以確保沒有原生畫格。\n" -#: src/input/subtitles.cpp:148 +#: src/input/subtitles.cpp:154 msgid "This file contains coordinates in the timecode lines. Such coordinates are not supported by the Matroska SRT subtitle format. The coordinates will be removed automatically.\n" msgstr "此檔案時間軸中含有坐標。此類坐標不受 Matroska SRT 字幕格式的支援。坐標將被自動移除。\n" #: src/mmg/header_editor/frame.cpp:260 -#: src/mmg/tabs/chapters.cpp:548 +#: src/mmg/tabs/chapters.cpp:549 msgid "This file could not be opened or parsed." msgstr "檔案無法開啟或解析。" @@ -6519,11 +6558,11 @@ msgid "This file could not be opened or parsed.\n" msgstr "這個檔案無法開啟或解析。\n" -#: src/mmg/tabs/chapters.cpp:556 +#: src/mmg/tabs/chapters.cpp:557 msgid "This file does not contain any chapters." msgstr "此檔案不包含任何章節。" -#: src/mmg/tabs/chapters.cpp:564 +#: src/mmg/tabs/chapters.cpp:565 msgid "This file does not contain valid chapters." msgstr "此檔案不包含有效章節。" @@ -6535,7 +6574,7 @@ msgid "This is the title that players may show as the 'main title' for this movie." msgstr "這是播放器將作為此影片的“主標題”顯示的標題。" -#: src/mmg/cli_options_dlg.cpp:83 +#: src/mmg/cli_options_dlg.cpp:88 msgid "This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking." msgstr "此選項需要附加參數「n」。告知 mkvmerge 在每叢集最多放置「n」個資料塊。如果數字尾碼有「ms」則在每叢集中最多放置「n」毫秒的資料。單個叢集的最大長度為 60000區塊數和 32000 毫秒。程式定位只能精確至叢集,因此建立大大小的叢集將導致不精確的定位與/或處理。" @@ -6547,11 +6586,11 @@ msgid "This property is unique. More instances cannot be added in '%1%'. %2%\n" msgstr "這名稱是唯一的。多數情況下無法被加入到「%1%」。%2%\n" -#: src/merge/output_control.cpp:276 +#: src/merge/output_control.cpp:278 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. %1%\n" msgstr "這 *真的* 不該發生。為第一個變換定位元件預留的空間過小。%1%\n" -#: src/merge/output_control.cpp:1523 +#: src/merge/output_control.cpp:1551 msgid "This should REALLY not have happened. The space reserved for the first meta seek element was too small. Size needed: %1%. %2%\n" msgstr "這 *真的* 不該發生。為第一個變換定位元件預留的空間過小。需要的大小: %1%. %2%\n" @@ -6559,15 +6598,15 @@ msgid "This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you." msgstr "這不該發生。請聯繫作者 Moritz Bunkus <moritz@bunkus.org>,並附上本錯誤/警告訊息、您正打算做的事情的描述、使用的命令列及您正在使用的作業系統。感謝。" -#: src/mmg/tabs/input_format.cpp:254 +#: src/mmg/tabs/input_format.cpp:255 msgid "This track contains SBR AAC/HE-AAC/AAC+ data. Only needed for AAC input files, because SBR AAC cannot be detected automatically for these files. Not needed for AAC tracks read from MP4 or Matroska files." msgstr "此軌道包含 SBR AAC/HE-AAC/AAC+ 資料。本選項只對 AAC 輸入檔有必要,因為這類檔案的 SBR AAC 不能被自動偵測。對於從 MP4 或 Matroska 檔案讀取的 AAC 軌道,不必在意本選項。" -#: src/mmg/tabs/input.cpp:978 +#: src/mmg/tabs/input.cpp:948 msgid "This track is not compatible with the WebM mode and cannot be enabled." msgstr "此軌道不能和 WebM 模式相容且無法啟用。" -#: src/info/mkvinfo.cpp:1511 +#: src/info/mkvinfo.cpp:1508 msgid "Time slice" msgstr "時間切面" @@ -6580,15 +6619,15 @@ msgid "Timecode files (*.tmc;*.txt)|*.tmc;*.txt|%s" msgstr "時間碼檔案 (*.tmc;*.txt)|*.tmc;*.txt|%s" -#: src/extract/timecodes_v2.cpp:227 -#: src/extract/tracks.cpp:371 -#: src/info/mkvinfo.cpp:558 -#: src/info/mkvinfo.cpp:1102 +#: src/extract/tracks.cpp:382 +#: src/extract/timecodes_v2.cpp:231 +#: src/info/mkvinfo.cpp:567 +#: src/info/mkvinfo.cpp:1099 msgid "Timecode scale: %1%" msgstr "時間碼縮放比例: %1%" #: src/common/property_element.cpp:128 -#: src/mmg/header_editor/frame.cpp:421 +#: src/mmg/header_editor/frame.cpp:423 msgid "Timecode scaling" msgstr "時間碼縮放比例" @@ -6597,11 +6636,11 @@ msgstr "時間碼:" #: src/common/property_element.cpp:102 -#: src/mmg/header_editor/frame.cpp:327 +#: src/mmg/header_editor/frame.cpp:329 msgid "Title" msgstr "標題" -#: src/info/mkvinfo.cpp:622 +#: src/info/mkvinfo.cpp:631 msgid "Title: %1%" msgstr "標題: %1%" @@ -6617,19 +6656,19 @@ msgid "Track %1% CodecPrivate is too small.\n" msgstr "軌道 %1% CodecPrivate 過小。\n" -#: src/common/compression.cpp:507 +#: src/common/compression.cpp:617 msgid "Track %1% has been compressed with an unknown/unsupported compression algorithm (%2%).\n" msgstr "軌道 %1% 被未知/不支援的壓縮演算法壓縮 (%2%)。\n" -#: src/common/compression.cpp:487 +#: src/common/compression.cpp:597 msgid "Track %1% was compressed with bzlib but mkvmerge has not been compiled with support for bzlib compression.\n" msgstr "軌道 %1% 以 bzlib 壓縮,但 mkvmerge 編譯時未包含 bzlib 壓縮支援。\n" -#: src/common/compression.cpp:495 +#: src/common/compression.cpp:605 msgid "Track %1% was compressed with lzo1x but mkvmerge has not been compiled with support for lzo1x compression.\n" msgstr "軌道 %1% 以 lzo1x 壓縮,但 mkvmerge 編譯時未包含 lzo1x 壓縮支援。\n" -#: src/common/compression.cpp:479 +#: src/common/compression.cpp:589 msgid "Track %1% was compressed with zlib but mkvmerge has not been compiled with support for zlib compression.\n" msgstr "軌道 %1% 以 zlib 壓縮,但 mkvmerge 編譯時未包含 zlib 壓縮支援。\n" @@ -6641,23 +6680,23 @@ msgid "Track %1% with the CodecID '%2%' does not contain valid headers.\n" msgstr "軌道 %1%(CodecID 為「%2%」)不含有效的表頭。\n" -#: src/extract/xtr_wav.cpp:40 +#: src/extract/xtr_wav.cpp:41 msgid "Track %1% with the CodecID '%2%' is missing the \"bits per second (bps)\" element and cannot be extracted.\n" msgstr "軌道 %1%(CodecID 為「%2%」)缺少 \"每秒多少位元 (bps)\" 元件,不能提取。\n" -#: src/extract/xtr_textsubs.cpp:103 +#: src/extract/xtr_textsubs.cpp:104 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private \" element and cannot be extracted.\n" msgstr "軌道 %1%(CodecID 為「%2%」)缺少 \"codec private \" 編解碼器專有元件,不能提取。\n" -#: src/extract/xtr_aac.cpp:42 -#: src/extract/xtr_avc.cpp:54 -#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_ogg.cpp:37 #: src/extract/xtr_ogg.cpp:72 +#: src/extract/xtr_avi.cpp:37 #: src/extract/xtr_rmff.cpp:31 -#: src/extract/xtr_textsubs.cpp:291 -#: src/extract/xtr_vobsub.cpp:64 -#: src/extract/xtr_wav.cpp:94 +#: src/extract/xtr_vobsub.cpp:65 +#: src/extract/xtr_textsubs.cpp:292 +#: src/extract/xtr_avc.cpp:54 +#: src/extract/xtr_wav.cpp:95 +#: src/extract/xtr_aac.cpp:42 msgid "Track %1% with the CodecID '%2%' is missing the \"codec private\" element and cannot be extracted.\n" msgstr "軌道 %1%(CodecID 為「%2%」)缺少 \"codec private\" 編解碼器專有元件,不能提取。\n" @@ -6665,7 +6704,7 @@ msgid "Track %1% with the CodecID '%2%' is missing the \"default duration\" element and cannot be extracted.\n" msgstr "軌道 %1%(CodecID 為「%2%」)缺少 \"default duration\" 預設持續時間元件,不能提取。\n" -#: src/info/mkvinfo.cpp:1117 +#: src/info/mkvinfo.cpp:1114 msgid "Track %1%: %2%, codec ID: %3%%4%%5%%6%\n" msgstr "軌道 %1%: %2%, 編解碼器 ID: %3%%4%%5%%6%\n" @@ -6677,7 +6716,7 @@ msgid "Track %1%: NAL too big\n" msgstr "軌道 %1%: NAL 太長\n" -#: src/extract/xtr_textsubs.cpp:54 +#: src/extract/xtr_textsubs.cpp:55 msgid "Track %1%: Subtitle entry number %2% is missing its duration. Assuming a duration of 1s.\n" msgstr "軌道 %1%: 字幕編號 %2% 缺少持續時間。假定為 1 秒。\n" @@ -6690,16 +6729,16 @@ msgid "Track ID %1% has an unknown AAC type.\n" msgstr "軌道 ID %1% 的 AAC 類型未知。\n" -#: src/merge/pr_generic.cpp:1419 +#: src/merge/pr_generic.cpp:1438 msgid "Track ID %1%: %2% (%3%)" msgstr "軌道 ID %1%: %2% (%3%)" #: src/common/property_element.cpp:114 -#: src/mmg/header_editor/frame.cpp:390 +#: src/mmg/header_editor/frame.cpp:392 msgid "Track UID" msgstr "軌道 UID" -#: src/info/mkvinfo.cpp:965 +#: src/info/mkvinfo.cpp:970 msgid "Track UID: %1%" msgstr "軌道 UID: %1%" @@ -6707,9 +6746,9 @@ msgid "Track extraction" msgstr "提取軌道" -#: src/propedit/options.cpp:157 #: src/propedit/propedit_cli_parser.cpp:88 #: src/propedit/propedit_cli_parser.cpp:163 +#: src/propedit/options.cpp:157 msgid "Track headers" msgstr "軌道表頭" @@ -6718,27 +6757,27 @@ msgstr "軌道名稱:" #: src/common/property_element.cpp:113 -#: src/mmg/header_editor/frame.cpp:386 +#: src/mmg/header_editor/frame.cpp:388 msgid "Track number" msgstr "軌道編號" -#: src/common/compression.cpp:466 +#: src/common/compression.cpp:576 msgid "Track number %1% has been encrypted and decryption has not yet been implemented.\n" msgstr "軌道編號 %1% 已被加密,且尚未實行解密。\n" -#: src/info/mkvinfo.cpp:959 +#: src/info/mkvinfo.cpp:961 msgid "Track number: %1%" msgstr "軌道編號: %1%" -#: src/info/mkvinfo.cpp:1061 +#: src/info/mkvinfo.cpp:1057 msgid "Track overlay: %1%" msgstr "軌道覆蓋: %1%" -#: src/info/mkvinfo.cpp:990 +#: src/info/mkvinfo.cpp:995 msgid "Track type: %1%" msgstr "軌道類型: %1%" -#: src/extract/xtr_base.cpp:119 +#: src/extract/xtr_base.cpp:120 msgid "Tracks with unsupported content encoding schemes (compression or encryption) cannot be extracted.\n" msgstr "使用不支援的內容編碼(壓縮或加密)方案的軌道不能提取。\n" @@ -6746,16 +6785,16 @@ msgid "Tracks, chapters and tags:" msgstr "軌道、章節和標籤:" -#: src/mmg/cli_options_dlg.cpp:138 +#: src/mmg/cli_options_dlg.cpp:143 msgid "TrueHD audio streams know two frame types: sync frames and non-sync frames. With this switch mkvmerge will put one sync frame and all following non-sync frames into a single Matroska block. Without it each non-sync frame is put into its own Matroska block." msgstr "TrueHD 音訊流支援兩種畫格類:同步畫格和非同步畫格。啟用本開關時,mkvmerge 將一個同步畫格及其後的所有非同步畫格置於單個 Matroska 區塊中。未使用本開關時每個非同步畫格將被置於各自的 Matroska 區塊中。" -#: src/extract/xtr_vobsub.cpp:91 +#: src/extract/xtr_vobsub.cpp:92 msgid "Two VobSub tracks can only be extracted into the same file if their CodecPrivate data matches. This is not the case for the tracks %1% and %2%.\n" msgstr "兩個 VobSub 軌道只能提取至同一個檔案中,如果 CodecPrivate 資料相符的話。此問題只出在軌道 %1% 與 %2%。\n" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "" "Type of the unit for DisplayWidth/Height\n" "(0: pixels, 1: centimeters, 2: inches)." @@ -6767,15 +6806,15 @@ msgid "Type:" msgstr "類型:" -#: src/info/mkvinfo.cpp:816 +#: src/info/mkvinfo.cpp:819 msgid "Type: %1% (%2%)" msgstr "類型: %1% (%2%)" -#: src/mmg/tabs/chapters.cpp:336 +#: src/mmg/tabs/chapters.cpp:337 msgid "UID:" msgstr "UID:" -#: src/mmg/tabs/input.cpp:253 +#: src/common/file_types.cpp:48 msgid "USF text subtitles" msgstr "USF 文字字幕" @@ -6787,6 +6826,10 @@ msgid "Unexpected picture frame after single field frame. Fix the MPEG2 video stream before attempting to multiplex it.\n" msgstr "單圖場畫格之後意外的圖片畫格。在分離前請修復 MPEG2 視訊串流。\n" +#: src/info/mkvinfo.cpp:375 +msgid "Unknown" +msgstr "未知" + #: src/output/p_aac.cpp:130 msgid "Unknown AAC MPEG-2 profile %1%." msgstr "未知的 AAC MPEG-2 profile %1%。" @@ -6795,7 +6838,7 @@ msgid "Unknown AAC MPEG-4 object type %1%." msgstr "未知的 AAC MPEG-4 物件類型 %1%。" -#: src/input/r_ogm.cpp:520 +#: src/input/r_ogm.cpp:548 msgid "Unknown audio stream type 0x%|1$04x|. Stream ID %2% will be ignored.\n" msgstr "未知音訊流類型 0x%|1$04x|。流 ID %2% 將被忽略。\n" @@ -6803,23 +6846,23 @@ msgid "Unknown chapter file format in '%1%'. It does not contain a supported chapter format.\n" msgstr "未知章節檔案格式於「%1%」。它不含支援的章節格式。\n" -#: src/common/compression.cpp:472 +#: src/common/compression.cpp:582 msgid "Unknown content encoding type %1% for track %2%.\n" msgstr "未知內容編碼類型 %1%,用於軌道 %2%。\n" -#: src/merge/mkvmerge.cpp:1349 +#: src/merge/mkvmerge.cpp:1340 msgid "Unknown format for the next UID in '%1% %2%'.\n" msgstr "下一個 UID 格式未知,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1336 +#: src/merge/mkvmerge.cpp:1327 msgid "Unknown format for the previous UID in '%1% %2%'.\n" msgstr "上一個 UID 格式未知,在「%1% %2%」。\n" -#: src/merge/mkvmerge.cpp:1361 +#: src/merge/mkvmerge.cpp:1352 msgid "Unknown format for the segment UID '%3%' in '%1% %2%'.\n" msgstr "此剪輯 UID「%3%」的格式不明,在「%1% %2%」。\n" -#: src/input/r_vobsub.cpp:590 +#: src/input/r_vobsub.cpp:593 msgid "Unknown header 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" msgstr "未知的表頭 0x%|1$02x|%|2$02x|%|3$02x|%|4$02x|\n" @@ -6827,8 +6870,8 @@ msgid "Unknown mode '%1%'.\n" msgstr "未知的模式「%1%」。\n" +#: src/common/mm_io_win.cpp:69 #: src/common/mm_io.cpp:112 -#: src/common/mm_io_win.cpp:68 msgid "Unknown open mode" msgstr "未知的開啟模式" @@ -6840,7 +6883,7 @@ msgid "Unknown parse mode in '%1% %2%'.\n" msgstr "未知的解析模式「%1% %2%」。\n" -#: src/input/r_avi.cpp:563 +#: src/input/r_avi.cpp:581 msgid "Unknown/unsupported audio format 0x%|1$04x| for this audio track.\n" msgstr "此音軌的格式 0x%|1$04x| 未知或不支援。\n" @@ -6856,15 +6899,15 @@ msgid "Unsigned integer (%1%) is too small. Mininum value is %2%." msgstr "不帶正負號的整數 (%1%) 太小。最小值為 %2%。" -#: src/input/r_vobsub.cpp:461 +#: src/input/r_vobsub.cpp:462 msgid "Unsupported MPEG mpeg_version: 0x%|1$02x| in packet %2% for timecode %3%, assuming MPEG2. No further warnings will be printed for this track.\n" msgstr "不支援 MPEG mpeg_version: 0x%|1$02x| 於資料套件 %2% 時間碼 %3% 處,假定為 MPEG2。不會再對此軌輸出警告。\n" -#: src/mmg/tabs/input.cpp:386 +#: src/mmg/tabs/input.cpp:349 msgid "Unsupported format" msgstr "不支援的格式" -#: src/input/r_matroska.cpp:1727 +#: src/input/r_matroska.cpp:1787 msgid "Unsupported track type for this track.\n" msgstr "不支援此軌道的軌道類型。\n" @@ -6876,87 +6919,46 @@ msgid "Usage" msgstr "用法" -#: src/info/mkvinfo.cpp:217 -msgid "" -"Usage: mkvinfo [options] inname\n" -"\n" -" options:\n" -" -g, --gui Start the GUI (and open inname if it was given).\n" -" inname Use 'inname' as the source.\n" -" -v, --verbose Increase verbosity. See the man page for a detailed\n" -" description of what mkvinfo outputs.\n" -" -c, --checksum Calculate and display checksums of frame contents.\n" -" -s, --summary Only show summaries of the contents, not each element.\n" -" -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" -" -X, --full-hexdump\n" -" Show all bytes of each frame as a hex dump.\n" -" -z, --size Show the size of each element including its header.\n" -" --output-charset <charset>\n" -" Output messages in this charset\n" -" -r, -o, --redirect-output file.ext\n" -" Redirect all messages to this file.\n" -" -h, --help Show this help.\n" -" -V, --version Show version information.\n" -msgstr "" -"用法: mkvinfo [選項] 輸入檔名\n" -"\n" -" 選項:\n" -" -g, --gui 啟動 GUI (若是給定的檔案則開啟輸入檔名稱)。\n" -" inname 使用「輸入檔名」作為來源。\n" -" -v, --verbose 增強 “詳細” 程度。請見使用說明文件中關於 \n" -" mkvinfo 輸出的詳細說明。\n" -" -c, --checksum 計算並顯示畫格內容的校驗碼。\n" -" -s, --summary 僅顯示內容的摘要,而非所有元件。\n" -" -x, --hexdump\n" -" 以十六進位轉儲形式顯示每畫格的前 16 位元組。\n" -" -z, --size 顯示每個元件包含表頭的大小。\n" -" --output-charset <字元集>\n" -" 用指定的字元集輸出訊息\n" -" -r, -o, --redirect-output 檔案.ext\n" -" 重定向(轉儲)所有訊息至此檔案。\n" -" -h, --help 顯示這個説明。\n" -" -V, --version 顯示版本資訊。\n" - #: src/mmg/tabs/global.cpp:256 msgid "Use 'segment linking' for the resulting files. For an in-depth explanation of this feature consult the mkvmerge documentation." msgstr "為生成的檔案使用「剪輯連結」。關於此特性的深入解釋請詳見 mkvmerge 文檔。" -#: src/mmg/cli_options_dlg.cpp:122 +#: src/mmg/cli_options_dlg.cpp:127 msgid "Use fixed values for the elements that change with each file otherwise (muxing date, segment UID, track UIDs etc.). Two files muxed with the same settings and this switch activated will be identical." msgstr "對隨著檔案改變而變動的元件 (合成日期, 剪輯 UID, 軌道 UID 等) 使用固定值。在啟動本開關的情況下,使用相同設定合成的兩個檔案會完全一樣。" -#: src/mmg/cli_options_dlg.cpp:131 +#: src/mmg/cli_options_dlg.cpp:136 msgid "Use the old AAC codec IDs (e.g. 'A_AAC/MPEG4/SBR') instead of the new one ('A_AAC')." msgstr "使用舊的 AAC 編解碼器 ID (如「A_AAC/MPEG4/SBR」) 代替新的 (「A_AAC」)。" -#: src/mmg/options/mmg.cpp:64 +#: src/mmg/options/mmg.cpp:65 msgid "Use the previous output directory" msgstr "使用上一個輸出目錄" -#: src/mmg/options/mmg.cpp:65 +#: src/mmg/options/mmg.cpp:66 msgid "Use this directory:" msgstr "使用這個目錄:" -#: src/mmg/tabs/input_extra.cpp:69 -#: src/mmg/tabs/input_extra.cpp:135 +#: src/mmg/tabs/input_extra.cpp:66 +#: src/mmg/tabs/input_extra.cpp:130 msgid "User defined options:" msgstr "使用者定義選項:" -#: src/merge/mkvmerge.cpp:1263 +#: src/merge/mkvmerge.cpp:1254 msgid "Using a NALU size length of 3 bytes might result in tracks that won't be decodable with certain AVC/h.264 codecs.\n" msgstr "使用 3 位元組的 NALU 長可能會導致某些 AVC/h.264 編解碼器無法解碼該軌道。\n" -#: src/input/r_ac3.cpp:90 -#: src/input/r_matroska.cpp:1510 #: src/input/r_mpeg_ps.cpp:1176 +#: src/input/r_ac3.cpp:90 +#: src/input/r_matroska.cpp:1552 msgid "Using the %1%AC3 output module.\n" msgstr "使用 %1%AC3 輸出模組。\n" -#: src/input/r_avi.cpp:629 +#: src/input/r_avi.cpp:647 msgid "Using the AAC audio output module.\n" msgstr "使用 AAC 音訊輸出模組。\n" -#: src/input/r_aac.cpp:96 +#: src/input/r_aac.cpp:92 msgid "Using the AAC demultiplexer.\n" msgstr "使用 AAC 分離器。\n" @@ -6964,10 +6966,10 @@ msgid "Using the AAC output module (FourCC: %1%).\n" msgstr "使用 AAC 輸出模組 (FourCC: %1%)。\n" -#: src/input/r_aac.cpp:123 -#: src/input/r_matroska.cpp:1498 -#: src/input/r_ogm.cpp:969 -#: src/input/r_qtmp4.cpp:1535 +#: src/input/r_ogm.cpp:994 +#: src/input/r_qtmp4.cpp:1531 +#: src/input/r_aac.cpp:116 +#: src/input/r_matroska.cpp:1540 msgid "Using the AAC output module.\n" msgstr "使用 AAC 輸出模組。\n" @@ -6979,9 +6981,9 @@ msgid "Using the AC3 output module (FourCC: %1%).\n" msgstr "使用 AC3 輸出模組 (FourCC: %1%)。\n" -#: src/input/r_avi.cpp:538 -#: src/input/r_ogm.cpp:987 -#: src/input/r_qtmp4.cpp:1458 +#: src/input/r_ogm.cpp:1012 +#: src/input/r_qtmp4.cpp:1454 +#: src/input/r_avi.cpp:564 #: src/input/r_wav.cpp:225 msgid "Using the AC3 output module.\n" msgstr "使用 AC3 輸出模組。\n" @@ -6990,7 +6992,7 @@ msgid "Using the AVC/h.264 ES demultiplexer.\n" msgstr "使用 AVC/h.264 ES 分離器。\n" -#: src/input/r_avi.cpp:110 +#: src/input/r_avi.cpp:111 msgid "Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.\n" msgstr "使用 AVI 分離器。正在開啟檔案。這需要一些時間(取決於檔案大小)。\n" @@ -7002,11 +7004,11 @@ msgid "Using the DTS demultiplexer.\n" msgstr "使用 DTS 分離器。\n" -#: src/input/r_avi.cpp:549 +#: src/input/r_avi.cpp:680 #: src/input/r_dts.cpp:114 -#: src/input/r_matroska.cpp:1522 -#: src/input/r_mpeg_ps.cpp:1181 #: src/input/r_wav.cpp:354 +#: src/input/r_mpeg_ps.cpp:1181 +#: src/input/r_matroska.cpp:1572 msgid "Using the DTS output module.\n" msgstr "使用 DTS 輸出模組。\n" @@ -7015,7 +7017,7 @@ msgstr "使用 Dirac 分離器。\n" #: src/input/r_dirac.cpp:96 -#: src/input/r_matroska.cpp:1431 +#: src/input/r_matroska.cpp:1473 msgid "Using the Dirac video output module.\n" msgstr "使用 Dirac 視訊輸出模組。\n" @@ -7024,8 +7026,8 @@ msgstr "使用 FLAC 分離器。\n" #: src/input/r_flac.cpp:164 -#: src/input/r_matroska.cpp:1540 #: src/input/r_ogm_flac.cpp:287 +#: src/input/r_matroska.cpp:1594 msgid "Using the FLAC output module.\n" msgstr "使用 FLAC 輸出模組。\n" @@ -7033,11 +7035,11 @@ msgid "Using the IVF demultiplexer.\n" msgstr "使用 IVF 分離器。\n" -#: src/input/r_matroska.cpp:1659 +#: src/input/r_matroska.cpp:1713 msgid "Using the Kate output module.\n" msgstr "使用 Kate 輸出模組。\n" -#: src/input/r_ogm.cpp:1396 +#: src/input/r_ogm.cpp:1520 msgid "Using the Kate subtitle output module.\n" msgstr "使用 Kate 字幕輸出模組。\n" @@ -7045,7 +7047,7 @@ msgid "Using the MP2/MP3 demultiplexer.\n" msgstr "使用 MP2/MP3 分離器。\n" -#: src/input/r_mpeg_es.cpp:164 +#: src/input/r_mpeg_es.cpp:166 msgid "Using the MPEG ES demultiplexer.\n" msgstr "使用 MPEG ES 分離器。\n" @@ -7053,62 +7055,71 @@ msgid "Using the MPEG PS demultiplexer.\n" msgstr "使用 MPEG PS 分離器。\n" -#: src/input/r_avi.cpp:531 -#: src/input/r_matroska.cpp:1548 -#: src/input/r_mp3.cpp:71 +#: src/input/r_ogm.cpp:1030 +#: src/input/r_qtmp4.cpp:1537 +#: src/input/r_avi.cpp:557 #: src/input/r_mpeg_ps.cpp:1171 -#: src/input/r_ogm.cpp:1005 -#: src/input/r_qtmp4.cpp:1541 +#: src/input/r_matroska.cpp:1602 +#: src/input/r_mp3.cpp:71 msgid "Using the MPEG audio output module.\n" msgstr "使用 MPEG 音訊輸出模組。\n" -#: src/input/r_matroska.cpp:1415 -#: src/input/r_qtmp4.cpp:1493 +#: src/input/r_qtmp4.cpp:1489 +#: src/input/r_matroska.cpp:1457 msgid "Using the MPEG-%1% video output module.\n" msgstr "使用 MPEG-%1% 視訊輸出模組。\n" -#: src/input/r_avi.cpp:299 -#: src/input/r_mpeg_es.cpp:177 +#: src/input/r_mpeg_es.cpp:179 +#: src/input/r_avi.cpp:323 #: src/input/r_mpeg_ps.cpp:1197 msgid "Using the MPEG-1/2 video output module.\n" msgstr "使用 MPEG-1/2 視訊輸出模組。\n" -#: src/input/r_matroska.cpp:1804 -#: src/input/r_qtmp4.cpp:1511 +#: src/input/r_qtmp4.cpp:1507 +#: src/input/r_matroska.cpp:1864 msgid "Using the MPEG-4 part 10 (AVC) video output module.\n" msgstr "使用 MPEG-4 part 10 (AVC) 視訊輸出模組。\n" +#: src/input/r_ogm.cpp:1154 #: src/input/r_avc.cpp:136 -#: src/input/r_avi.cpp:324 -#: src/input/r_matroska.cpp:1784 +#: src/input/r_avi.cpp:348 #: src/input/r_mpeg_ps.cpp:1210 -#: src/input/r_ogm.cpp:1129 +#: src/input/r_matroska.cpp:1844 msgid "Using the MPEG-4 part 10 ES video output module.\n" msgstr "使用 MPEG-4 part 10 ES 視訊輸出模組。\n" -#: src/input/r_avi.cpp:307 -#: src/input/r_matroska.cpp:1419 -#: src/input/r_ogm.cpp:1233 -#: src/input/r_qtmp4.cpp:1485 +#: src/input/r_ogm.cpp:1258 +#: src/input/r_qtmp4.cpp:1481 +#: src/input/r_avi.cpp:331 +#: src/input/r_matroska.cpp:1461 msgid "Using the MPEG-4 part 2 video output module.\n" msgstr "使用 MPEG-4 part 2 視訊輸出模組。\n" -#: src/input/r_matroska.cpp:178 +#: src/input/r_matroska.cpp:210 msgid "Using the Matroska demultiplexer.\n" msgstr "使用 Matroska 分離器。\n" -#: src/input/r_ogm.cpp:311 +#: src/input/r_ogm.cpp:337 msgid "Using the OGG/OGM demultiplexer.\n" msgstr "使用 OGG/OGM 分離器。\n" -#: src/input/r_avi.cpp:523 -#: src/input/r_matroska.cpp:1555 -#: src/input/r_ogm.cpp:1024 -#: src/input/r_qtmp4.cpp:1547 +#: src/input/r_ogm.cpp:1049 +#: src/input/r_qtmp4.cpp:1543 +#: src/input/r_avi.cpp:549 #: src/input/r_wav.cpp:395 +#: src/input/r_matroska.cpp:1609 msgid "Using the PCM output module.\n" msgstr "使用 PCM 輸出模組。\n" +#: src/input/r_matroska.cpp:1719 +#: src/input/r_pgssup.cpp:72 +msgid "Using the PGS output module.\n" +msgstr "使用 PGS 輸出模組。\n" + +#: src/input/r_pgssup.cpp:59 +msgid "Using the PGSSUP demultiplexer.\n" +msgstr "使用 PGSSUP 分離器。\n" + #: src/input/r_qtmp4.cpp:124 msgid "Using the Quicktime/MP4 demultiplexer.\n" msgstr "使用 Quicktime/MP4 分離器。\n" @@ -7125,7 +7136,7 @@ msgid "Using the SRT subtitle reader.\n" msgstr "使用 SRT 字幕讀取器。\n" -#: src/input/r_avi.cpp:404 +#: src/input/r_avi.cpp:428 msgid "Using the SSA/ASS subtitle output module.\n" msgstr "使用 SSA/ASS 字幕輸出模組。\n" @@ -7137,13 +7148,13 @@ msgid "Using the TTA demultiplexer.\n" msgstr "使用 TTA 分離器。\n" -#: src/input/r_matroska.cpp:1566 #: src/input/r_tta.cpp:109 +#: src/input/r_matroska.cpp:1620 msgid "Using the TTA output module.\n" msgstr "使用 TTA 輸出模組。\n" -#: src/input/r_matroska.cpp:1427 -#: src/input/r_ogm.cpp:1326 +#: src/input/r_ogm.cpp:1351 +#: src/input/r_matroska.cpp:1469 msgid "Using the Theora video output module.\n" msgstr "使用 Theora 視訊輸出模組。\n" @@ -7167,13 +7178,14 @@ msgid "Using the VC1 ES demultiplexer.\n" msgstr "使用 VC1 ES 分離器。\n" -#: src/input/r_mpeg_ps.cpp:1215 #: src/input/r_vc1.cpp:96 +#: src/input/r_mpeg_ps.cpp:1215 msgid "Using the VC1 video output module.\n" msgstr "使用 VC1 視訊輸出模組。\n" +#: src/input/r_ogm.cpp:1445 #: src/input/r_ivf.cpp:87 -#: src/input/r_matroska.cpp:1435 +#: src/input/r_matroska.cpp:1477 msgid "Using the VP8 video output module.\n" msgstr "使用 VP8 視訊輸出模組。\n" @@ -7181,11 +7193,11 @@ msgid "Using the VobBtn button reader.\n" msgstr "使用 VobBtn 按鈕讀取器。\n" -#: src/input/r_matroska.cpp:1670 +#: src/input/r_matroska.cpp:1730 msgid "Using the VobBtn output module.\n" msgstr "使用 VobBtn 輸出模組。\n" -#: src/input/r_matroska.cpp:1643 +#: src/input/r_matroska.cpp:1697 msgid "Using the VobSub output module.\n" msgstr "使用 VobSub 輸出模組。\n" @@ -7197,9 +7209,9 @@ msgid "Using the VobSub subtitle reader (SUB file '%1%').\n" msgstr "使用 VobSub 字幕讀取器 (SUB 檔「%1%」)。\n" -#: src/input/r_avi.cpp:678 -#: src/input/r_matroska.cpp:1573 -#: src/input/r_ogm.cpp:1045 +#: src/input/r_ogm.cpp:1070 +#: src/input/r_avi.cpp:734 +#: src/input/r_matroska.cpp:1627 msgid "Using the Vorbis output module.\n" msgstr "使用 Vorbis 輸出模組。\n" @@ -7215,25 +7227,25 @@ msgid "Using the WAVPACK demultiplexer.\n" msgstr "使用 WAVPACK 分離器。\n" -#: src/input/r_matroska.cpp:1596 -#: src/input/r_wavpack.cpp:108 +#: src/input/r_wavpack.cpp:107 +#: src/input/r_matroska.cpp:1650 msgid "Using the WAVPACK output module.\n" msgstr "使用 WAVPACK 輸出模組。\n" -#: src/input/r_qtmp4.cpp:1561 +#: src/input/r_qtmp4.cpp:1557 msgid "Using the generic audio output module (FourCC: %|1$.4s|).\n" msgstr "使用一般音訊輸出模組 (FourCC: %|1$.4s|)。\n" -#: src/input/r_matroska.cpp:1332 +#: src/input/r_matroska.cpp:1374 msgid "Using the passthrough output module for this %1% track.\n" msgstr "對軌道 %1% 使用呈遞輸出模組。\n" -#: src/input/r_avi.cpp:381 -#: src/input/r_matroska.cpp:1651 -#: src/input/r_ogm.cpp:1076 -#: src/input/r_srt.cpp:60 -#: src/input/r_ssa.cpp:71 #: src/input/r_usf.cpp:259 +#: src/input/r_ogm.cpp:1101 +#: src/input/r_avi.cpp:405 +#: src/input/r_ssa.cpp:71 +#: src/input/r_srt.cpp:60 +#: src/input/r_matroska.cpp:1705 msgid "Using the text subtitle output module.\n" msgstr "使用文字字幕輸出模組。\n" @@ -7241,25 +7253,21 @@ msgid "Using the video output module (FourCC: %1%).\n" msgstr "使用視訊輸出模組 (FourCC: %1%)。\n" -#: src/input/r_qtmp4.cpp:1473 -#: src/input/r_qtmp4.cpp:1521 +#: src/input/r_qtmp4.cpp:1469 +#: src/input/r_qtmp4.cpp:1517 msgid "Using the video output module (FourCC: %|1$.4s|).\n" msgstr "使用視訊輸出模組 (FourCC: %|1$.4s|)。\n" -#: src/input/r_avi.cpp:336 -#: src/input/r_matroska.cpp:1441 -#: src/input/r_ogm.cpp:1238 +#: src/input/r_ogm.cpp:1263 +#: src/input/r_avi.cpp:360 +#: src/input/r_matroska.cpp:1483 msgid "Using the video output module.\n" msgstr "使用視訊輸出模組。\n" -#: src/mmg/tabs/input.cpp:254 +#: src/common/file_types.cpp:49 msgid "VC1 elementary streams" msgstr "VC1 基本流" -#: src/merge/mkvmerge.cpp:105 -msgid "VC1 video elementary stream" -msgstr "VC1 視訊基本流" - #: src/common/hacks.cpp:60 msgid "Valid hacks are:\n" msgstr "有效的小補綴有:\n" @@ -7268,47 +7276,47 @@ msgid "Validates the content of all changeable headers" msgstr "檢驗所有可改變的表頭內容" -#: src/mmg/mmg_dialog.cpp:271 +#: src/mmg/mmg_dialog.cpp:288 msgid "Verify the current chapter entries to see if there are any errors" msgstr "檢驗目前章節項目有無錯誤" #: src/common/property_element.cpp:147 -#: src/mmg/header_editor/frame.cpp:485 +#: src/mmg/header_editor/frame.cpp:487 msgid "Video aspect ratio type" msgstr "視訊外觀比例類型" #: src/common/property_element.cpp:146 -#: src/mmg/header_editor/frame.cpp:481 +#: src/mmg/header_editor/frame.cpp:483 msgid "Video crop bottom" msgstr "視訊底部剪裁" #: src/common/property_element.cpp:143 -#: src/mmg/header_editor/frame.cpp:466 +#: src/mmg/header_editor/frame.cpp:468 msgid "Video crop left" msgstr "視訊左邊剪裁" #: src/common/property_element.cpp:145 -#: src/mmg/header_editor/frame.cpp:476 +#: src/mmg/header_editor/frame.cpp:478 msgid "Video crop right" msgstr "視訊右邊剪裁" #: src/common/property_element.cpp:144 -#: src/mmg/header_editor/frame.cpp:471 +#: src/mmg/header_editor/frame.cpp:473 msgid "Video crop top" msgstr "視訊頂部剪裁" #: src/common/property_element.cpp:141 -#: src/mmg/header_editor/frame.cpp:456 +#: src/mmg/header_editor/frame.cpp:458 msgid "Video display height" msgstr "視訊顯示高度" #: src/common/property_element.cpp:142 -#: src/mmg/header_editor/frame.cpp:461 +#: src/mmg/header_editor/frame.cpp:463 msgid "Video display unit" msgstr "視訊顯示單位" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Video display width" msgstr "視訊顯示寬度" @@ -7320,26 +7328,26 @@ msgid "Video interlaced flag" msgstr "視訊交錯標記" -#: src/input/r_real.cpp:653 +#: src/input/r_real.cpp:651 msgid "Video packet assembly failed. Error code: %1% (%2%)\n" msgstr "視訊套件彙編失敗。錯誤碼: %1% (%2%)\n" #: src/common/property_element.cpp:139 -#: src/mmg/header_editor/frame.cpp:446 +#: src/mmg/header_editor/frame.cpp:448 msgid "Video pixel height" msgstr "視訊像素高度" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Video pixel width" msgstr "視訊像素寬度" #: src/common/property_element.cpp:149 -#: src/mmg/header_editor/frame.cpp:491 +#: src/mmg/header_editor/frame.cpp:492 msgid "Video stereo mode" msgstr "視訊立體模式" -#: src/info/mkvinfo.cpp:677 +#: src/info/mkvinfo.cpp:684 msgid "Video track" msgstr "視訊軌" @@ -7348,87 +7356,73 @@ msgid "Video track %u" msgstr "視訊軌 %u" -#: src/mmg/jobs.cpp:481 +#: src/mmg/jobs.cpp:490 msgid "View the output that mkvmerge generated during the muxing process for the selected job(s)" msgstr "查看 mkvmerge 處理選中任務時的輸出資訊" -#: src/merge/mkvmerge.cpp:84 -msgid "VobBtn buttons" -msgstr "VobBtn 按鈕" - -#: src/mmg/tabs/input.cpp:255 +#: src/common/file_types.cpp:50 msgid "VobButtons" msgstr "VobBtn 按鈕" -#: src/mmg/tabs/input.cpp:256 -#: src/merge/mkvmerge.cpp:91 +#: src/common/file_types.cpp:51 msgid "VobSub subtitles" msgstr "VobSub 字幕" -#: src/mmg/tabs/input.cpp:257 +#: src/common/file_types.cpp:52 msgid "WAVE (uncompressed PCM audio)" msgstr "WAVE (未壓縮的 PCM 音訊)" -#: src/merge/mkvmerge.cpp:106 -msgid "WAVE (uncompressed PCM)" -msgstr "WAVE (未壓縮的 PCM)" - -#: src/merge/mkvmerge.cpp:108 -msgid "WAVPACK lossless audio" -msgstr "WAVPACK 無損音訊" - -#: src/mmg/tabs/input.cpp:258 +#: src/common/file_types.cpp:53 msgid "WAVPACK v4 audio" msgstr "WAVPACK v4 音訊" -#: src/mmg/options/mmg.cpp:93 +#: src/mmg/options/mmg.cpp:94 msgid "Warn about possible incorrect usage of mmg" msgstr "對 mmg 可能的錯誤用法發出警告" -#: src/input/subtitles.cpp:193 +#: src/input/subtitles.cpp:199 msgid "Warning in line %1%: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.\n" msgstr "第 %1% 行處警告: 起始時間早於前一條的起始時間。此檔案中的所有項目都將按起始時間重新排列。\n" -#: src/mmg/mux_dialog.cpp:186 +#: src/mmg/mux_dialog.cpp:187 msgid "Warning:" msgstr "警告:" -#: src/common/output.cpp:72 +#: src/common/output.cpp:76 msgid "Warning: " msgstr "警告: " -#: src/info/mkvinfo.cpp:967 +#: src/info/mkvinfo.cpp:972 msgid "Warning: There's more than one track with the UID %1%." msgstr "警告: UID 為 %1% 的軌道多於一條。" -#: src/info/mkvinfo.cpp:961 +#: src/info/mkvinfo.cpp:963 msgid "Warning: There's more than one track with the number %1%." msgstr "警告: 序號為 %1% 的軌道多於一條。" -#: src/mmg/mux_dialog.cpp:91 +#: src/mmg/mux_dialog.cpp:92 msgid "Warnings:" msgstr "警告:" -#: src/mmg/tabs/input.cpp:259 -#: src/merge/mkvmerge.cpp:107 +#: src/common/file_types.cpp:54 msgid "WebM audio/video files" msgstr "WebM 音訊/視訊檔" -#: src/mmg/options/mmg.cpp:82 +#: src/mmg/options/mmg.cpp:83 msgid "When a file is added its name is scanned. If it contains the word 'DELAY' followed by a number then this number is automatically put into the 'delay' input field for any audio track found in the file." msgstr "當檔案被添加時它的名稱會被掃描。如果包含單詞“delay”且有一數字緊隨其後,這個數字將被自動輸入至已發現的該檔案的所有音軌的“延遲”輸入框。" #: src/common/property_element.cpp:138 -#: src/mmg/header_editor/frame.cpp:441 +#: src/mmg/header_editor/frame.cpp:443 msgid "Width of the encoded video frames in pixels." msgstr "編碼後的視訊畫格的寬度,單位:像素。" #: src/common/property_element.cpp:140 -#: src/mmg/header_editor/frame.cpp:451 +#: src/mmg/header_editor/frame.cpp:453 msgid "Width of the video frames to display." msgstr "視訊畫格的顯示寬度。" -#: src/mmg/cli_options_dlg.cpp:97 +#: src/mmg/cli_options_dlg.cpp:102 msgid "Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment." msgstr "為所有區塊寫入持續時間。這將增大檔案大小,而且目前對播放器來說提供任何額外的益處。" @@ -7440,15 +7434,15 @@ msgid "Write track with the ID TID to the file 'out'." msgstr "以 ID TID 將軌道寫入到檔案「out」。" -#: src/info/mkvinfo.cpp:573 +#: src/info/mkvinfo.cpp:582 msgid "Writing application: %1%" msgstr "寫入程式: %1%" -#: src/info/wxwidgets_ui.cpp:264 +#: src/info/wxwidgets_ui.cpp:248 msgid "Writing info" msgstr "正在匯出資訊" -#: src/extract/xtr_vobsub.cpp:223 +#: src/extract/xtr_vobsub.cpp:224 msgid "Writing the VobSub index file '%1%'.\n" msgstr "正在寫入 VobSub 索引檔「%1%」。\n" @@ -7460,7 +7454,7 @@ msgid "Wrong Theora version: %1%.%2%.%3% != 3.2.x" msgstr "錯誤的 Theora 版本: %1%.%2%.%3% != 3.2.x" -#: src/merge/mkvmerge.cpp:1698 +#: src/merge/mkvmerge.cpp:1689 msgid "Wrong argument to '--split-max-files'.\n" msgstr "「--split-max-files」參數錯誤。\n" @@ -7469,13 +7463,13 @@ msgstr "選擇錯誤的檔案" #: src/mmg/header_editor/frame.cpp:248 -#: src/mmg/tabs/chapters.cpp:639 -#: src/mmg/tabs/chapters.cpp:680 +#: src/mmg/tabs/chapters.cpp:642 +#: src/mmg/tabs/chapters.cpp:685 msgid "Wrong file selected" msgstr "選擇錯誤的檔案" -#: src/common/kate.cpp:46 #: src/common/theora.cpp:35 +#: src/common/kate.cpp:46 msgid "Wrong header type: 0x%|1$02x| != 0x%|2$02x|" msgstr "錯誤的表頭類型: 0x%|1$02x| != 0x%|2$02x|" @@ -7495,7 +7489,11 @@ msgid "XML parser error at line %1%: %2%." msgstr "XML 解析器發生錯誤,於第 %1% 行: %2%。" -#: src/mmg/tabs/chapters.cpp:1346 +#: src/mmg/mmg_dialog.cpp:1760 +msgid "You are already running the latest version." +msgstr "已是最新版本。" + +#: src/mmg/tabs/chapters.cpp:1351 msgid "" "You can use this function for adjusting the timecodes\n" "of the selected chapter and all its children by a fixed amount.\n" @@ -7513,7 +7511,7 @@ "還可以是通常的 HH:MM:SS.mmm 或 HH:MM:SS 格式。\n" "範例: -00:05:23 將使所有章節比現在提前 5 分 23 秒開始。" -#: src/mmg/tabs/input.cpp:1372 +#: src/mmg/tabs/input.cpp:1342 #, c-format msgid "" "You haven't selected a number of frames per second for track %lld of file '%s'. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" @@ -7528,7 +7526,7 @@ "\n" "是否繼續?" -#: src/mmg/tabs/input.cpp:523 +#: src/mmg/tabs/input.cpp:488 msgid "" "You're adding an AVC/h.264 elementary stream to the output file. mkvmerge cannot determine the number of frames per second for such files itself. Therefore you have to set this parameter yourself on the 'format specific options' page.\n" "\n" @@ -7542,13 +7540,13 @@ "\n" "本訊息只顯示一次,除非您在 mmg 的「設定」頁啟用了警告提示。" -#: src/common/compression.cpp:130 -#: src/common/compression.cpp:167 +#: src/common/compression.cpp:139 +#: src/common/compression.cpp:176 msgid "Zlib decompression failed. Result: %1%\n" msgstr "Zlib 解壓失敗。結果: %1%\n" -#: src/info/mkvinfo.cpp:165 -#: src/info/mkvinfo.cpp:169 +#: src/info/mkvinfo.cpp:202 +#: src/info/mkvinfo.cpp:206 msgid "[%1% frame for track %2%, timecode %3%]" msgstr "[%1% 畫格,軌道 %2%, 時間碼 %3%]" @@ -7556,7 +7554,7 @@ msgid "aac_reader: ADIF header files are not supported." msgstr "aac_reader: 不支援 ADIF 表頭檔。" -#: src/input/r_aac.cpp:92 +#: src/input/r_aac.cpp:88 msgid "aac_reader: Could not open the file." msgstr "aac_reader: 無法開啟檔案。" @@ -7564,17 +7562,17 @@ msgid "aac_reader: Could not read %1% bytes." msgstr "aac_reader: 無法讀取 %1% 位元組。" -#: src/input/r_aac.cpp:67 +#: src/input/r_aac.cpp:65 msgid "aac_reader: No valid AAC packet found in the first %1% bytes.\n" msgstr "aac_reader: 開頭 %1% 位元組未發現有效的 AAC 套件。\n" -#: src/mmg/jobs.cpp:335 -#: src/mmg/jobs.cpp:444 -#: src/mmg/jobs.cpp:522 +#: src/mmg/jobs.cpp:344 +#: src/mmg/jobs.cpp:453 +#: src/mmg/jobs.cpp:531 msgid "aborted" msgstr "異常中止" -#: src/output/p_ac3.cpp:212 +#: src/output/p_ac3.cpp:213 msgid "ac3_bs_packetizer::add_to_buffer(): Untested code ('size' is odd). If mkvmerge crashes or if the resulting file does not contain the complete and correct audio track, then please contact the author Moritz Bunkus at moritz@bunkus.org.\n" msgstr "ac3_bs_packetizer::add_to_buffer(): 未經測試的碼 (「size」很古怪)。如果 mkvmerge 不正常關閉或者生成的檔案不含完整且正常的音軌,請與作者 Moritz Bunkus 聯繫,電郵為 moritz@bunkus.org。\n" @@ -7595,20 +7593,20 @@ msgid "add" msgstr "加入" +#: src/common/stereo_mode.cpp:55 +msgid "anaglyph" +msgstr "立體影片" + #: src/mmg/tabs/input.cpp:185 msgid "append" msgstr "添加" -#: src/input/r_matroska.cpp:88 -#: src/mmg/mmg.cpp:57 -#: src/info/mkvinfo.cpp:1119 +#: src/input/r_matroska.cpp:90 +#: src/mmg/mmg.cpp:62 +#: src/info/mkvinfo.cpp:1116 msgid "audio" msgstr "音訊" -#: src/merge/mkvmerge.cpp:100 -msgid "audio/video/text subtitles embedded in OGG" -msgstr "嵌入在 OGG 中的音訊/視訊/文字字幕" - #: src/input/r_avc.cpp:122 msgid "avc_es_reader: Could not open the source file." msgstr "avc_es_reader: 無法開啟來源檔案。" @@ -7617,36 +7615,36 @@ msgid "avc_es_reader: Should not have happened." msgstr "avc_es_reader: 不該發生。" -#: src/input/r_avi.cpp:113 +#: src/input/r_avi.cpp:114 msgid "avi_reader: Could not initialize AVI source. Reason: %1%" msgstr "avi_reader: 無法初始化 AVI 源。原因: %1%" -#: src/input/r_avi.cpp:106 +#: src/input/r_avi.cpp:107 msgid "avi_reader: Could not read the source file." msgstr "avi_reader: 無法讀取來源檔案。" -#: src/input/r_avi.cpp:103 +#: src/input/r_avi.cpp:104 msgid "avi_reader: Source is not a valid AVI file." msgstr "avi_reader: 來源非有效的 AVI 檔案。" -#: src/info/mkvinfo.cpp:666 +#: src/info/mkvinfo.cpp:673 msgid "bits per sample: %1%" msgstr "每次取樣多少位元: %1%" -#: src/input/r_matroska.cpp:89 -#: src/info/mkvinfo.cpp:1122 +#: src/input/r_matroska.cpp:91 +#: src/info/mkvinfo.cpp:1119 msgid "buttons" msgstr "按鈕" -#: src/common/byte_buffer.h:69 +#: src/common/byte_buffer.h:73 msgid "byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n" msgstr "byte_buffer_c: (pos + num) > size。不該發生。請提交錯誤報告。\n" -#: src/common/compression.cpp:231 +#: src/common/compression.cpp:240 msgid "bzip2 compression failed. Result: %1%\n" msgstr "bzip2 壓縮失敗。結果: %1%\n" -#: src/common/compression.cpp:194 +#: src/common/compression.cpp:203 msgid "bzlib_compressor_c::decompress() not implemented\n" msgstr "bzlib_compressor_c::decompress() 未實現\n" @@ -7655,19 +7653,35 @@ msgid "cet_index: '%1%' not found\n" msgstr "cet_index:「%1%」未找到\n" -#: src/info/mkvinfo.cpp:655 +#: src/info/mkvinfo.cpp:662 msgid "channels: %1%" msgstr "聲道數: %1%" -#: src/mmg/jobs.cpp:338 +#: src/common/stereo_mode.cpp:50 +msgid "checkboard (left first)" +msgstr "棋盤 (從左邊開始)" + +#: src/common/stereo_mode.cpp:49 +msgid "checkboard (right first)" +msgstr "棋盤 (從右邊開始)" + +#: src/common/stereo_mode.cpp:54 +msgid "column interleaved (left first)" +msgstr "直欄交錯 (從左邊開始)" + +#: src/common/stereo_mode.cpp:53 +msgid "column interleaved (right first)" +msgstr "直欄交錯 (從右邊開始)" + +#: src/mmg/jobs.cpp:347 msgid "completed OK" msgstr "完成,正常" -#: src/mmg/jobs.cpp:341 +#: src/mmg/jobs.cpp:350 msgid "completed with warnings" msgstr "完成,有警告" -#: src/info/mkvinfo.cpp:818 +#: src/info/mkvinfo.cpp:821 msgid "compression" msgstr "壓縮" @@ -7679,26 +7693,21 @@ msgid "corepicture_reader: Source is not a valid CorePanorama file." msgstr "corepicture_reader: 來源非 CorePanorama 檔案。" -#: src/merge/mkvmerge.cpp:335 +#: src/merge/mkvmerge.cpp:293 msgid "create_track_number: file_num not found. %1%\n" msgstr "create_track_number: file_num 未找到。 %1%\n" -#: src/common/ebml.cpp:100 -#: src/common/ebml.cpp:108 -msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." -msgstr "cstrutf8_to_UTFstring: 遇到了無效的 UTF-8 序列。請聯繫 moritz@bunkus.org 並要求他實現一套更好的 UTF-8 解析器。" - -#: src/mmg/tabs/input_extra.cpp:91 -#: src/mmg/tabs/input_extra.cpp:165 #: src/mmg/tabs/input_general.cpp:106 +#: src/mmg/tabs/input_extra.cpp:85 +#: src/mmg/tabs/input_extra.cpp:158 msgid "default" msgstr "預設" -#: src/info/mkvinfo.cpp:1078 +#: src/info/mkvinfo.cpp:1074 msgid "default duration: %|1$.3f|ms (%|2$.3f| fps for a video track)" msgstr "預設持續時間: %|1$.3f|ms (對於視訊軌為 %|2$.3f|)" -#: src/common/compression.cpp:152 +#: src/common/compression.cpp:161 msgid "deflateInit() failed. Result: %1%\n" msgstr "deflateInit() 失敗。結果: %1%\n" @@ -7710,24 +7719,24 @@ msgid "disable all" msgstr "全部停用" -#: src/info/mkvinfo.cpp:1611 +#: src/info/mkvinfo.cpp:1629 msgid "discardable, " msgstr "可廢棄, " -#: src/info/mkvinfo.cpp:702 +#: src/info/mkvinfo.cpp:709 msgid "display height: %1%" msgstr "顯示高度: %1%" -#: src/info/mkvinfo.cpp:697 +#: src/info/mkvinfo.cpp:704 msgid "display width: %1%" msgstr "顯示寬度: %1%" -#: src/mmg/jobs.cpp:520 -#: src/mmg/jobs.cpp:708 +#: src/mmg/jobs.cpp:529 +#: src/mmg/jobs.cpp:717 msgid "done" msgstr "完成" -#: src/mmg/jobs.cpp:521 +#: src/mmg/jobs.cpp:530 msgid "done/warnings" msgstr "完成/有警告" @@ -7751,11 +7760,11 @@ msgid "enable all" msgstr "全部啟用" -#: src/mmg/tabs/chapters.cpp:342 +#: src/mmg/tabs/chapters.cpp:343 msgid "enabled" msgstr "啟用" -#: src/info/mkvinfo.cpp:819 +#: src/info/mkvinfo.cpp:822 msgid "encryption" msgstr "加密" @@ -7765,8 +7774,8 @@ #: src/input/r_qtmp4.cpp:644 #: src/input/r_qtmp4.cpp:738 #: src/input/r_qtmp4.cpp:1234 -#: src/input/r_qtmp4.cpp:1396 -#: src/input/r_qtmp4.cpp:1412 +#: src/input/r_qtmp4.cpp:1392 +#: src/input/r_qtmp4.cpp:1408 #: src/common/mm_io.cpp:471 #: src/common/mm_io.cpp:481 #: src/common/mm_io.cpp:491 @@ -7776,17 +7785,17 @@ #: src/common/mm_io.cpp:531 #: src/common/mm_io.cpp:541 #: src/common/mm_io.cpp:551 -#: src/common/mm_io.cpp:651 -#: src/common/mm_io.cpp:1075 +#: src/common/mm_io.cpp:649 +#: src/common/mm_io.cpp:1108 msgid "end-of-file" msgstr "檔案結尾" -#: src/mmg/jobs.cpp:344 -#: src/mmg/jobs.cpp:523 +#: src/mmg/jobs.cpp:353 +#: src/mmg/jobs.cpp:532 msgid "failed" msgstr "失敗" -#: src/merge/output_control.cpp:509 +#: src/merge/output_control.cpp:534 msgid "filelist_t not found for generic_packetizer_c. %1%\n" msgstr "filelist_t 未找到以供給 generic_packetizer_c。 %1%\n" @@ -7830,7 +7839,7 @@ msgid "flac_reader: Could not set metadata_respond_all.\n" msgstr "flac_reader: 無法設定 metadata_respond_all。\n" -#: src/input/r_flac.cpp:331 +#: src/input/r_flac.cpp:321 msgid "flac_reader: Error parsing the file: %1%\n" msgstr "flac_reader: 解析檔案發生錯誤: %1%\n" @@ -7842,24 +7851,20 @@ msgid "flac_reader: could not initialize the FLAC packetizer.\n" msgstr "flac_reader: 無法初始化 FLAC 分組器。\n" -#: src/mmg/tabs/input_extra.cpp:93 +#: src/mmg/tabs/input_extra.cpp:87 msgid "for all frames" msgstr "全部畫格" -#: src/merge/mkvmerge.cpp:95 -msgid "general Matroska files" -msgstr "一般 Matroska 檔" - #: src/input/r_avc.cpp:76 #: src/input/r_vc1.cpp:52 msgid "have an xcptn\n" msgstr "出現異常\n" -#: src/info/mkvinfo.cpp:838 +#: src/info/mkvinfo.cpp:841 msgid "header removal" msgstr "移除表頭" -#: src/mmg/tabs/chapters.cpp:339 +#: src/mmg/tabs/chapters.cpp:340 msgid "hidden" msgstr "隱藏" @@ -7871,14 +7876,14 @@ msgid "highest" msgstr "最高" -#: src/common/compression.cpp:115 +#: src/common/compression.cpp:124 msgid "inflateInit() failed. Result: %1%\n" msgstr "inflateInit() 失敗。結果: %1%\n" -#: src/mmg/jobs.cpp:72 -#: src/mmg/jobs.cpp:74 -#: src/mmg/jobs.cpp:157 -#: src/mmg/mux_dialog.cpp:76 +#: src/mmg/jobs.cpp:73 +#: src/mmg/jobs.cpp:75 +#: src/mmg/jobs.cpp:163 +#: src/mmg/mux_dialog.cpp:77 msgid "is being estimated" msgstr "正在估計" @@ -7886,15 +7891,15 @@ msgid "ivf_reader: Could not open the file." msgstr "ivf_reader: 無法開啟檔案。" -#: src/info/mkvinfo.cpp:1609 +#: src/info/mkvinfo.cpp:1627 msgid "key, " msgstr "關鍵畫格, " -#: src/info/mkvinfo.cpp:1098 +#: src/info/mkvinfo.cpp:1095 msgid "language: %1%" msgstr "語言: %1%" -#: src/info/mkvinfo.cpp:145 +#: src/info/mkvinfo.cpp:182 msgid "length %1%, data: %2%" msgstr "長 %1%, 資料: %2%" @@ -7914,138 +7919,138 @@ msgid "lowest" msgstr "最低" -#: src/common/compression.cpp:68 +#: src/common/compression.cpp:77 msgid "lzo_compressor_c::decompress() not implemented\n" msgstr "lzo_compressor_c::decompress() 未實行\n" -#: src/common/compression.cpp:55 +#: src/common/compression.cpp:64 msgid "lzo_init() failed. Result: %1%\n" msgstr "lzo_init() 失敗。結果: %1%\n" -#: src/common/compression.cpp:59 +#: src/common/compression.cpp:68 msgid "lzo_malloc(LZO1X_999_MEM_COMPRESS) failed.\n" msgstr "lzo_malloc(LZO1X_999_MEM_COMPRESS) 失敗。\n" -#: src/input/r_matroska.cpp:295 +#: src/input/r_matroska.cpp:327 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% bits per sample, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微軟相容模式,軌道 %1%) Matroska 說每取樣為 %2% 比特,但這個波形格式項索引說有 %3% 比特。\n" -#: src/input/r_matroska.cpp:286 +#: src/input/r_matroska.cpp:318 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% channels, but the WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微軟相容模式,軌道 %1%) Matroska 說有 %2% 聲道,但這個波形格式項索引說有 %3% 聲道。\n" -#: src/input/r_matroska.cpp:277 +#: src/input/r_matroska.cpp:309 msgid "matroska_reader: (MS compatibility mode for track %1%) Matroska says that there are %2% samples per second, but WAVEFORMATEX says that there are %3%.\n" msgstr "matroska_reader: (微軟相容模式,軌道 %1%) Matroska 說每秒有 %2% 取樣,但這個波形格式項索引 說有 %3% 取樣。\n" -#: src/input/r_matroska.cpp:415 +#: src/input/r_matroska.cpp:447 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa says video width is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (微軟相容模式, 軌道 %1%) Matrosa 說視訊寬度為 %2%,但這個點陣圖資訊頭說是 %3%。\n" -#: src/input/r_matroska.cpp:424 +#: src/input/r_matroska.cpp:456 msgid "matroska_reader: (MS compatibility mode, track %1%) Matrosa video height is %2%, but the BITMAPINFOHEADER says %3%.\n" msgstr "matroska_reader: (微軟相容模式, 軌道 %1%) Matroska 視訊高度為 %2%,但這個點陣圖資訊頭說是 %3%。\n" -#: src/input/r_matroska.cpp:1035 +#: src/input/r_matroska.cpp:1077 msgid "matroska_reader: A track is missing its track UID.\n" msgstr "matroska_reader: 有一條軌道缺少 UID。\n" -#: src/input/r_matroska.cpp:1026 +#: src/input/r_matroska.cpp:1068 msgid "matroska_reader: A track is missing its track number.\n" msgstr "matroska_reader: 有一個軌道缺少軌道編號。\n" -#: src/input/r_matroska.cpp:1395 +#: src/input/r_matroska.cpp:1437 msgid "matroska_reader: Could not keep the track UID %1% because it is already allocated for the new file.\n" msgstr "matroska_reader: 無法保留軌道 UID %1%,因為它已被指派給了新檔案。\n" -#: src/input/r_matroska.cpp:176 +#: src/input/r_matroska.cpp:208 msgid "matroska_reader: Failed to read the headers." msgstr "matroska_reader: 無法讀取表頭。" -#: src/input/r_matroska.cpp:1208 -#: src/input/r_matroska.cpp:1213 +#: src/input/r_matroska.cpp:1250 +#: src/input/r_matroska.cpp:1255 msgid "matroska_reader: No segment found.\n" msgstr "matroska_reader: 未發現剪輯。\n" -#: src/input/r_matroska.cpp:935 +#: src/input/r_matroska.cpp:967 msgid "matroska_reader: Pixel height is missing.\n" msgstr "matroska_reader: 像素高度遺失。\n" -#: src/input/r_matroska.cpp:928 +#: src/input/r_matroska.cpp:960 msgid "matroska_reader: Pixel width is missing.\n" msgstr "matroska_reader: 像素寬度遺失。\n" -#: src/input/r_matroska.cpp:516 +#: src/input/r_matroska.cpp:548 msgid "matroska_reader: The CodecID '%1%' for track %2% is unknown.\n" msgstr "matroska_reader: 軌 %2% 的 CodecID「%1%」未知。\n" -#: src/input/r_matroska.cpp:403 +#: src/input/r_matroska.cpp:435 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no BITMAPINFOHEADER struct present. Therefore we don't have a FourCC to identify the video codec used.\n" msgstr "matroska_reader: 軌 %1% 的 CodecID 為「%2%」,但沒有出現 BITMAPINFOHEADER 點陣圖資訊表頭結構。因此我們沒有可標記視訊編碼的 FourCC。\n" -#: src/input/r_matroska.cpp:256 +#: src/input/r_matroska.cpp:288 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no WAVEFORMATEX struct present. Therefore we don't have a format ID to identify the audio codec used.\n" msgstr "matroska_reader: 軌 %1% 的 CodecID 為「%2%」,但沒有出現 WAVEFORMATEX 波形格式項索引結構。因此我們沒有可標記音訊編碼的 Format ID。\n" -#: src/input/r_matroska.cpp:441 +#: src/input/r_matroska.cpp:473 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no codec private headers.\n" msgstr "matroska_reader: 軌 %1% 的 CodecID 為「%2%」,但沒有編解碼器專有表頭。\n" -#: src/input/r_matroska.cpp:483 -#: src/input/r_matroska.cpp:494 +#: src/input/r_matroska.cpp:515 +#: src/input/r_matroska.cpp:526 msgid "matroska_reader: The CodecID for track %1% is '%2%', but there was no private data found.\n" msgstr "matroska_reader: 軌 %1% 的 CodecID 為「%2%」,但沒發現專有資料。\n" -#: src/input/r_matroska.cpp:320 +#: src/input/r_matroska.cpp:352 msgid "matroska_reader: The CodecID for track %1% is 'A_VORBIS', but there are no header packets present.\n" msgstr "matroska_reader: 軌 %1% 的 CodecID 為「A_VORBIS」,但沒有出現表頭套件。\n" -#: src/input/r_matroska.cpp:1071 +#: src/input/r_matroska.cpp:1113 msgid "matroska_reader: The CodecID is missing.\n" msgstr "matroska_reader: 遺失 CodecID。\n" -#: src/input/r_matroska.cpp:469 +#: src/input/r_matroska.cpp:501 msgid "matroska_reader: The height for track %1% was not set.\n" msgstr "matroska_reader: 軌道 %1% 的高度未設定。\n" -#: src/input/r_matroska.cpp:463 +#: src/input/r_matroska.cpp:495 msgid "matroska_reader: The width for track %1% was not set.\n" msgstr "matroska_reader: 軌道 %1% 的寬度未設定。\n" -#: src/input/r_matroska.cpp:569 +#: src/input/r_matroska.cpp:601 msgid "matroska_reader: Track %1% seems to be ok.\n" msgstr "matroska_reader: 軌道 %1% 應該是正常的。\n" -#: src/input/r_matroska.cpp:1050 +#: src/input/r_matroska.cpp:1092 msgid "matroska_reader: Track type was not found.\n" msgstr "matroska_reader: 軌道類型未找到。\n" -#: src/input/r_matroska.cpp:326 +#: src/input/r_matroska.cpp:358 msgid "matroska_reader: Vorbis track does not contain valid headers.\n" msgstr "matroska_reader: Vorbis 軌道不含有效表頭。\n" -#: src/input/r_matroska.cpp:1300 -#: src/input/r_matroska.cpp:1939 +#: src/input/r_matroska.cpp:1342 +#: src/input/r_matroska.cpp:1999 msgid "matroska_reader: caught exception\n" msgstr "matroska_reader: 發生異常\n" -#: src/input/r_matroska.cpp:311 +#: src/input/r_matroska.cpp:343 msgid "matroska_reader: mkvmerge was not compiled with FLAC support. Ignoring track %1%.\n" msgstr "matroska_reader: mkvmerge 編譯時沒有附加 FLAC 支援。已忽略軌道 %1%。\n" -#: src/input/r_matroska.cpp:1195 +#: src/input/r_matroska.cpp:1236 msgid "matroska_reader: no EBML head found.\n" msgstr "matroska_reader: 未發現 EBML 表頭。\n" -#: src/input/r_matroska.cpp:564 +#: src/input/r_matroska.cpp:596 msgid "matroska_reader: unknown demuxer type for track %1%: '%2%'\n" msgstr "matroska_reader: 軌道 %1% 的未知分離器類型:「%2%」\n" -#: src/input/r_matroska.cpp:1039 +#: src/input/r_matroska.cpp:1081 msgid "matroska_reader: | + There's more than one track with the UID %1%.\n" msgstr "matroska_reader: | + 有超過一個軌道使用了 UID %1%。\n" -#: src/input/r_matroska.cpp:1031 +#: src/input/r_matroska.cpp:1073 msgid "matroska_reader: | + There's more than one track with the number %1%.\n" msgstr "matroska_reader: | + 有超過一個軌道使用了數字 %1%。\n" @@ -8053,19 +8058,19 @@ msgid "max. number of files:" msgstr "最大檔案數量:" -#: src/common/memory.cpp:135 +#: src/common/memory.cpp:134 msgid "memory.cpp/safemalloc() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safemalloc() 由檔案 %1%, 第 %2% 行調用: malloc() 對 %3% 個位元組返回 NULL。\n" -#: src/common/memory.cpp:123 +#: src/common/memory.cpp:122 msgid "memory.cpp/safememdup() called from file %1%, line %2%: malloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/safememdup() 由檔案 %1%, 第 %2% 行調用: malloc() 對 %3% 個位元組返回 NULL。\n" -#: src/common/memory.cpp:151 +#: src/common/memory.cpp:150 msgid "memory.cpp/saferealloc() called from file %1%, line %2%: realloc() returned NULL for a size of %3% bytes.\n" msgstr "memory.cpp/saferealloc() 由檔案 %1%, 第 %2% 行調用: realloc() 對 %3% 個位元組返回 NULL。\n" -#: src/common/memory.h:192 +#: src/common/memory.h:213 msgid "memory_slice_cursor_c copy c'tor: Must not be used!" msgstr "memory_slice_cursor_c copy c'tor: 不能用!" @@ -8142,19 +8147,19 @@ msgid "mkvextract.cpp/show_element(): level > 9: %1%" msgstr "mkvextract.cpp/show_element(): 層級 > 9: %1%" -#: src/extract/mkvextract.cpp:111 -msgid "mkvextract: Unknown mode!?\n" -msgstr "mkvextract: 未知模式!?\n" +#: src/info/info_cli_parser.cpp:38 +msgid "mkvinfo [options] <inname>" +msgstr "mkvinfo [選項] <輸入檔名>" #: src/mmg/options/mkvmerge.cpp:142 msgid "mkvmerge" msgstr "mkvmerge" -#: src/merge/mkvmerge.cpp:116 +#: src/merge/mkvmerge.cpp:73 msgid "mkvmerge -o out [global options] [options1] <file1> [@optionsfile ...]\n" msgstr "mkvmerge -o out [整體選項] [選項1] <檔案1> [@optionsfile ...]\n" -#: src/mmg/mux_dialog.cpp:349 +#: src/mmg/mux_dialog.cpp:350 #, c-format msgid "mkvmerge FAILED with a return code of %d. %s" msgstr "mkvmerge 執行 *失敗* ,返回碼 %d。 %s" @@ -8169,22 +8174,22 @@ msgid "mkvmerge GUI error" msgstr "mkvmerge GUI 發生錯誤" -#: src/mmg/mmg_dialog.cpp:167 +#: src/mmg/mmg_dialog.cpp:176 msgid "mkvmerge GUI ready" msgstr "mkvmerge GUI 準備就緒" -#: src/mmg/mmg_dialog.cpp:364 -#: src/mmg/mmg_dialog.cpp:410 +#: src/mmg/mmg_dialog.cpp:384 +#: src/mmg/mmg_dialog.cpp:430 #, c-format msgid "mkvmerge GUI settings (*.mmg)|*.mmg|%s" msgstr "mkvmerge GUI 設定檔 (*.mmg)|*.mmg|%s" -#: src/mmg/tabs/input.cpp:1305 -#: src/mmg/tabs/input.cpp:1330 -#: src/mmg/tabs/input.cpp:1341 -#: src/mmg/tabs/input.cpp:1351 -#: src/mmg/tabs/input.cpp:1363 -#: src/mmg/tabs/input.cpp:1419 +#: src/mmg/tabs/input.cpp:1275 +#: src/mmg/tabs/input.cpp:1300 +#: src/mmg/tabs/input.cpp:1311 +#: src/mmg/tabs/input.cpp:1321 +#: src/mmg/tabs/input.cpp:1333 +#: src/mmg/tabs/input.cpp:1389 msgid "mkvmerge GUI: error" msgstr "mkvmerge GUI: 發生錯誤" @@ -8197,7 +8202,7 @@ msgid "mkvmerge can read and use timecodes from an external text file. This feature is a very advanced feature. Almost all users should leave this entry empty." msgstr "mkvmerge 可以讀取並使用外部純文字檔中的時間碼。這是項非常超前的功能,幾乎所有使用者應該留空。" -#: src/output/p_avc.cpp:106 +#: src/output/p_avc.cpp:109 msgid "" "mkvmerge encountered broken or unparsable data in this AVC/h.264 video track. Either your file is damaged (which mkvmerge cannot cope with yet) or this is a bug in mkvmerge itself. The error message was:\n" "%1%\n" @@ -8209,22 +8214,22 @@ msgid "mkvmerge executable" msgstr "mkvmerge 可執行檔" -#: src/mmg/mux_dialog.cpp:351 +#: src/mmg/mux_dialog.cpp:352 #, c-format msgid "mkvmerge finished with a return code of %d. %s" msgstr "mkvmerge 執行完畢,返回碼 %d。%s" -#: src/mmg/jobs.cpp:147 -#: src/mmg/mux_dialog.cpp:304 +#: src/mmg/jobs.cpp:148 +#: src/mmg/mux_dialog.cpp:305 msgid "mkvmerge has finished" msgstr "mkvmerge 已經執行完畢" -#: src/input/r_ogm.cpp:475 +#: src/input/r_ogm.cpp:500 msgid "mkvmerge has not been compiled with FLAC support but handling of this stream has been requested.\n" msgstr "mkvmerge 編譯時未包含 FLAC 支援,但收到了對此類媒體流的處理請求。\n" -#: src/mmg/jobs.cpp:49 -#: src/mmg/mux_dialog.cpp:44 +#: src/mmg/jobs.cpp:50 +#: src/mmg/mux_dialog.cpp:45 msgid "mkvmerge is running" msgstr "mkvmerge 正在執行" @@ -8232,7 +8237,7 @@ msgid "mkvmerge options" msgstr "mkvmerge 選項" -#: src/mmg/mux_dialog.cpp:88 +#: src/mmg/mux_dialog.cpp:89 msgid "mkvmerge output:" msgstr "mkvmerge 輸出:" @@ -8249,8 +8254,8 @@ msgid "mkvmerge supports two chapter formats: The OGM like text format and the full featured XML format. This option specifies the language to be associated with chapters if the OGM chapter format is used. It is ignored for XML chapter files." msgstr "mkvmerge 支援兩種章節格式:類似 OGM 的文字格式和全功能的 XML 格式。此選項指定 OGM 章節格式所關聯的語言。對於 XML 章節檔,此選項將被忽略。" -#: src/merge/output_control.cpp:247 -#: src/merge/output_control.cpp:287 +#: src/merge/output_control.cpp:249 +#: src/merge/output_control.cpp:289 msgid "mkvmerge was interrupted by a SIGINT (Ctrl+C?)\n" msgstr "mkvmerge 被 SIGINT 中止 (按了 Ctrl+C?)\n" @@ -8262,23 +8267,23 @@ msgid "mkvpropedit [options] <file> <actions>" msgstr "mkvpropedit [選項] <檔案> <動作>" -#: src/common/mm_io.cpp:1067 +#: src/common/mm_io.cpp:1100 msgid "mm_text_io_c: UTF32_* is not supported at the moment.\n" msgstr "mm_text_io_c: 目前尚不支援 UTF32_*。\n" -#: src/common/mm_io.cpp:1020 +#: src/common/mm_io.cpp:1052 msgid "mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|" msgstr "mm_text_io_c::read_next_char(): 無效 UTF-8 字元。第一位元組: 0x%|1$02x|" -#: src/mmg/options/mmg.cpp:293 +#: src/mmg/options/mmg.cpp:323 msgid "mmg" msgstr "mmg" -#: src/mmg/mmg_dialog.cpp:249 +#: src/mmg/mmg_dialog.cpp:266 msgid "mmg debug output" msgstr "mmg 除錯輸出" -#: src/mmg/options/mmg.cpp:161 +#: src/mmg/options/mmg.cpp:178 msgid "mmg options" msgstr "mmg 選項" @@ -8286,11 +8291,15 @@ msgid "mmg will reset to the default list if no entry is selected." msgstr "如果沒有選擇任何項目 mmg 將會重設為預設值。" +#: src/common/stereo_mode.cpp:45 +msgid "mono" +msgstr "單視角" + #: src/input/r_mp3.cpp:58 msgid "mp3_reader: Could not open the source file." msgstr "mp3_reader: 無法開啟來源檔案。" -#: src/input/r_mpeg_es.cpp:161 +#: src/input/r_mpeg_es.cpp:163 msgid "mpeg_es_reader: Could not open the file." msgstr "mpeg_es_reader: 無法開啟檔案。" @@ -8312,7 +8321,7 @@ msgid "no" msgstr "否" -#: src/info/mkvinfo.cpp:862 +#: src/info/mkvinfo.cpp:865 msgid "no encryption" msgstr "未加密" @@ -8324,17 +8333,18 @@ msgid "no file loaded" msgstr "未載入檔案" -#: src/info/mkvinfo.cpp:879 +#: src/info/mkvinfo.cpp:882 msgid "no signature algorithm" msgstr "未使用簽章演算法" -#: src/info/mkvinfo.cpp:888 +#: src/info/mkvinfo.cpp:891 msgid "no signature hash algorithm" msgstr "未使用簽章雜湊演算法" -#: src/mmg/tabs/input_extra.cpp:94 -#: src/mmg/tabs/input_extra.cpp:121 -#: src/mmg/tabs/input_extra.cpp:124 +#: src/mmg/mmg_dialog.cpp:994 +#: src/mmg/tabs/input_extra.cpp:88 +#: src/mmg/tabs/input_extra.cpp:115 +#: src/mmg/tabs/input_extra.cpp:118 msgid "none" msgstr "無" @@ -8342,68 +8352,72 @@ msgid "normal" msgstr "一般" -#: src/input/r_ogm.cpp:447 +#: src/input/r_ogm.cpp:472 msgid "ogg_stream_init for stream number %1% failed. Will try to continue and ignore this stream.\n" msgstr "ogg_stream_init 對媒體流編號 %1% 失敗。將嘗試繼續並忽略此媒體流。\n" -#: src/input/r_ogm.cpp:358 +#: src/input/r_ogm.cpp:384 msgid "ogg_sync_buffer failed\n" msgstr "ogg_sync_buffer 失敗\n" -#: src/input/r_ogm.cpp:303 +#: src/input/r_ogm.cpp:329 msgid "ogm_reader: Could not open the source file." msgstr "ogm_reader: 無法開啟來源檔案。" -#: src/input/r_ogm.cpp:314 +#: src/input/r_ogm.cpp:340 msgid "ogm_reader: Could not read all header packets." msgstr "ogm_reader: 無法讀取所有表頭套件。" -#: src/input/r_ogm.cpp:306 +#: src/input/r_ogm.cpp:332 msgid "ogm_reader: Source is not a valid OGG media file." msgstr "ogm_reader: 來源非有效的 OGG 媒體檔案。" -#: src/mmg/tabs/chapters.cpp:1061 +#: src/mmg/tabs/chapters.cpp:1066 msgid "on_entry_selected: display == NULL. Should not have happened." msgstr "on_entry_selected: display == NULL。不該出現。" -#: src/mmg/tabs/input_extra.cpp:92 +#: src/mmg/tabs/input_extra.cpp:86 msgid "only for I frames" msgstr "僅 I 畫格" -#: src/info/mkvinfo.cpp:650 +#: src/info/mkvinfo.cpp:657 msgid "output sampling freq: %1%" msgstr "輸出取樣頻率: %1%" -#: src/mmg/jobs.cpp:519 -#: src/mmg/jobs.cpp:693 +#: src/mmg/jobs.cpp:528 +#: src/mmg/jobs.cpp:702 msgid "pending" msgstr "未處理" -#: src/info/mkvinfo.cpp:722 +#: src/input/r_pgssup.cpp:55 +msgid "pgssup_reader: Could not open the file." +msgstr "pgssup_reader: 無法開啟檔案。" + +#: src/info/mkvinfo.cpp:729 msgid "pixel crop bottom: %1%" msgstr "底部像素剪裁: %1%" -#: src/info/mkvinfo.cpp:707 +#: src/info/mkvinfo.cpp:714 msgid "pixel crop left: %1%" msgstr "左邊像素剪裁: %1%" -#: src/info/mkvinfo.cpp:717 +#: src/info/mkvinfo.cpp:724 msgid "pixel crop right: %1%" msgstr "右邊像素剪裁: %1%" -#: src/info/mkvinfo.cpp:712 +#: src/info/mkvinfo.cpp:719 msgid "pixel crop top: %1%" msgstr "頂部像素剪裁: %1%" -#: src/info/mkvinfo.cpp:692 +#: src/info/mkvinfo.cpp:699 msgid "pixel height: %1%" msgstr "像素高度: %1%" -#: src/info/mkvinfo.cpp:687 +#: src/info/mkvinfo.cpp:694 msgid "pixel width: %1%" msgstr "像素寬度: %1%" -#: src/merge/pr_generic.cpp:855 +#: src/merge/pr_generic.cpp:856 msgid "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%). %3%\n" msgstr "pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (%1% < %2%)。 %3%\n" @@ -8411,12 +8425,12 @@ msgid "pr_generic.cpp/generic_reader_c::demuxing_requested(): Invalid track type %1%." msgstr "pr_generic.cpp/generic_reader_c::demuxing_requested(): 無效軌道類型 %1%。" -#: src/extract/xtr_base.cpp:46 +#: src/extract/xtr_base.cpp:47 msgid "raw data" msgstr "raw 資料" -#: src/info/wxwidgets_ui.cpp:148 -#: src/info/wxwidgets_ui.cpp:180 +#: src/info/wxwidgets_ui.cpp:132 +#: src/info/wxwidgets_ui.cpp:164 msgid "ready" msgstr "準備就緒" @@ -8445,15 +8459,31 @@ msgid "remove all" msgstr "移除全部" -#: src/info/mkvinfo.cpp:808 +#: src/info/mkvinfo.cpp:811 msgid "rest: unknown" msgstr "其他: 未知" -#: src/info/mkvinfo.cpp:645 +#: src/common/stereo_mode.cpp:52 +msgid "row interleaved (left first)" +msgstr "橫列交錯 (從左邊開始)" + +#: src/common/stereo_mode.cpp:51 +msgid "row interleaved (right first)" +msgstr "橫列交錯 (從右邊開始)" + +#: src/info/mkvinfo.cpp:652 msgid "sampling freq: %1%" msgstr "取樣頻率: %1%" -#: src/input/subtitles.cpp:581 +#: src/common/stereo_mode.cpp:46 +msgid "side by side (left first)" +msgstr "左右並排 (從左邊開始)" + +#: src/common/stereo_mode.cpp:56 +msgid "side by side (right first)" +msgstr "左右並排 (從右邊開始)" + +#: src/input/subtitles.cpp:589 msgid "spu_extraction_duration: Encountered broken SPU packet (next_off < start_off) at timecode %1%. This packet might be displayed incorrectly or not at all.\n" msgstr "spu_extraction_duration: 遇到損壞的 SPU 套件 (next_off < start_off) 於時間碼 %1%。該套件可能會被錯誤顯示或者根本不顯示。\n" @@ -8469,7 +8499,7 @@ msgid "ssa_reader: Could not open the source file." msgstr "ssa_reader: 無法開啟來源檔案。" -#: src/input/subtitles.cpp:334 +#: src/input/subtitles.cpp:342 msgid "ssa_reader: Invalid format. Could not find the \"Format\" line in the \"[Events]\" section." msgstr "ssa_reader: 無效格式。\"[Events]\" 區段中未找到 \"Format\" 這一行。" @@ -8477,16 +8507,16 @@ msgid "ssa_reader: Source is not a valid SSA/ASS file." msgstr "ssa_reader: 來來源非有效的 SSA/ASS 檔。" -#: src/mmg/tabs/chapters.cpp:905 +#: src/mmg/tabs/chapters.cpp:910 msgid "start >= m->ListSize(). This should not have happened. Please file a bug report. Thanks." msgstr "start >= m->ListSize()。這不該發生。請提交錯誤報告。感謝。" -#: src/input/r_matroska.cpp:91 +#: src/input/r_matroska.cpp:93 msgid "subtitle" msgstr "字幕" -#: src/mmg/mmg.cpp:59 -#: src/info/mkvinfo.cpp:1121 +#: src/mmg/mmg.cpp:64 +#: src/info/mkvinfo.cpp:1118 msgid "subtitles" msgstr "字幕" @@ -8494,11 +8524,19 @@ msgid "tet_index: '%1%' not found\n" msgstr "tet_index:「%1%」未發現\n" -#: src/merge/mkvmerge.cpp:2043 +#: src/merge/mkvmerge.cpp:2034 msgid "timecodes" msgstr "時間碼" -#: src/merge/mkvmerge.cpp:2036 +#: src/common/stereo_mode.cpp:48 +msgid "top bottom (left first)" +msgstr "上下並排 (從左邊開始)" + +#: src/common/stereo_mode.cpp:47 +msgid "top bottom (right first)" +msgstr "上下並排 (從右邊開始)" + +#: src/merge/mkvmerge.cpp:2027 msgid "track name" msgstr "軌道名稱" @@ -8522,21 +8560,22 @@ msgid "und (Undetermined)" msgstr "und (未定)" -#: src/input/r_matroska.cpp:87 -#: src/input/r_matroska.cpp:2250 -#: src/input/r_matroska.cpp:2257 -#: src/input/r_mpeg_ps.cpp:1394 -#: src/common/mm_io_win.cpp:164 -#: src/mmg/mmg.cpp:60 +#: src/input/r_mpeg_ps.cpp:1388 +#: src/input/r_matroska.cpp:89 +#: src/input/r_matroska.cpp:2312 +#: src/input/r_matroska.cpp:2319 +#: src/common/stereo_mode.cpp:62 +#: src/common/mm_io_win.cpp:165 +#: src/mmg/mmg.cpp:65 #: src/mmg/header_editor/value_page.cpp:150 -#: src/mmg/tabs/input.cpp:377 -#: src/info/mkvinfo.cpp:810 -#: src/info/mkvinfo.cpp:820 -#: src/info/mkvinfo.cpp:839 -#: src/info/mkvinfo.cpp:868 -#: src/info/mkvinfo.cpp:881 -#: src/info/mkvinfo.cpp:891 -#: src/info/mkvinfo.cpp:1123 +#: src/mmg/tabs/input.cpp:339 +#: src/info/mkvinfo.cpp:813 +#: src/info/mkvinfo.cpp:823 +#: src/info/mkvinfo.cpp:842 +#: src/info/mkvinfo.cpp:871 +#: src/info/mkvinfo.cpp:884 +#: src/info/mkvinfo.cpp:894 +#: src/info/mkvinfo.cpp:1120 msgid "unknown" msgstr "未知" @@ -8560,13 +8599,13 @@ msgid "vc1_es_reader: Could not open the source file." msgstr "vc1_es_reader: 無法開啟來源檔案。" -#: src/mmg/tabs/chapters.cpp:834 +#: src/mmg/tabs/chapters.cpp:839 msgid "verify failed: chapters->CheckMandatory() is false. This should not have happened. Please file a bug report.\n" msgstr "verify failed: chapters->CheckMandatory() 為 false。這不該發生。請提交錯誤報告。\n" -#: src/input/r_matroska.cpp:90 -#: src/mmg/mmg.cpp:58 -#: src/info/mkvinfo.cpp:1120 +#: src/input/r_matroska.cpp:92 +#: src/mmg/mmg.cpp:63 +#: src/info/mkvinfo.cpp:1117 msgid "video" msgstr "視訊" @@ -8582,7 +8621,7 @@ msgid "vobsub_reader: Cound not open the source file." msgstr "vobsub_reader: 無法開啟來源檔案。" -#: src/input/r_vobsub.cpp:558 +#: src/input/r_vobsub.cpp:559 msgid "vobsub_reader: sub_file->read failure" msgstr "vobsub_reader: sub_file->讀取失敗" @@ -8614,24 +8653,24 @@ msgid "wavpack_reader: Could not open the file." msgstr "wavpack_reader: 無法開啟檔案。" -#: src/common/wavpack.cpp:150 +#: src/common/wavpack.cpp:149 msgid "wavpack_reader: non-audio block found\n" msgstr "wavpack_reader: 未發現音訊區塊\n" -#: src/common/wavpack.cpp:118 +#: src/common/wavpack.cpp:117 msgid "wavpack_reader: unknown sample rate!\n" msgstr "wavpack_reader: 未知取樣頻率!\n" -#: src/common/mm_io.cpp:814 +#: src/common/mm_io.cpp:812 msgid "wrong usage: increase < 0" msgstr "錯誤用法: 增加值 < 0" -#: src/common/mm_io.cpp:839 -#: src/common/mm_io.cpp:855 +#: src/common/mm_io.cpp:837 +#: src/common/mm_io.cpp:853 msgid "wrong usage: read-only with NULL memory" msgstr "錯誤用法: 對 *空* 記憶體使用唯讀模式" -#: src/common/mm_io.cpp:885 +#: src/common/mm_io.cpp:883 msgid "wrong usage: writing to read-only memory" msgstr "錯誤用法: 寫入至唯讀記憶體" @@ -8648,12 +8687,41 @@ #~ " 英文語言名稱 | ISO639-2 碼 | ISO639-1 碼\n" #~ "---------------------------------------------------+---------------+--------------\n" +#~ msgid " (both eyes)" +#~ msgstr " (雙視角)" + +#~ msgid " (left eye)" +#~ msgstr " (左視角)" + +#~ msgid " (right eye)" +#~ msgstr " (右視角)" + #~ msgid "%1% at %2%" #~ msgstr "%1% 於 %2%" #~ msgid "%1% frame, track %2%, timecode %3% (%4%), size %5%, adler 0x%|6$08x|\n" #~ msgstr "%1% 畫格, 軌道 %2%, 時間碼 %3% (%4%), 大小 %5%, adler 0x%|6$08x|\n" +#~ msgid "" +#~ "%s\n" +#~ "\n" +#~ "This GUI was written by Moritz Bunkus <moritz@bunkus.org>\n" +#~ "Based on mmg by Florian Wagner <flo.wagner@gmx.de>\n" +#~ "mkvmerge GUI is licensed under the GPL.\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "Help is available in form of tool tips, from the\n" +#~ "'Help' menu or by pressing the 'F1' key." +#~ msgstr "" +#~ "%s\n" +#~ "\n" +#~ "這個 GUI 由 Moritz Bunkus <moritz@bunkus.org> 撰寫\n" +#~ "基於 Florian Wagner <flo.wagner@gmx.de> 的 mmg\n" +#~ "mkvmerge GUI 以 GPL 授權發佈。\n" +#~ "http://www.bunkus.org/videotools/mkvtoolnix/\n" +#~ "\n" +#~ "可透過工具提示、“説明”功能表或按“F1”鍵取得說明。" + #~ msgid "'%1%' is only allowed for chapter extraction.\n" #~ msgstr "'%1%' 僅限提取章節時使用。\n" @@ -8684,12 +8752,18 @@ #~ msgid "A single '+' is not a valid command line option. If you want to append a file use '+' directly followed by the file name, e.g. '+movie_part_2.avi'." #~ msgstr "單獨的 '+' 不是有效的命令列選項。如果您希望用 '+' 直接添加檔,請確保檔案名緊跟著它,例如 '+movie_part_2.avi'。" +#~ msgid "About mkvmerge's GUI" +#~ msgstr "關於 mkvmerge 的 GUI" + #~ msgid "Always adds '--engage use_simpleblock' to the command line. That way Matroska's new 'simple blocks' will be used which save a bit of overhead at the cost of not being backwards compatible." #~ msgstr "總在命令列中添加 '--engage use_simpleblock'。這樣將使用 Matroska 的新 '簡單區塊',可以省下一些額外開銷,代價是將無法向下相容。" #~ msgid "Always use simple blocks" #~ msgstr "總使用簡單區塊" +#~ msgid "Both eyes" +#~ msgstr "雙眼視角" + #~ msgid "Change the default values" #~ msgstr "修改預設值" @@ -8699,6 +8773,12 @@ #~ msgid "Could not open the file '%1%'." #~ msgstr "無法開啟檔案 '%1%'。" +#~ msgid "DTS (Digital Theater System)" +#~ msgstr "DTS (數位電影院系統)" + +#~ msgid "Dirac elementary stream" +#~ msgstr "Dirac 基本流" + #~ msgid "Do not copy chapters from this file. Only applies to a couple of formats (e.g. Matroska files)." #~ msgstr "不要從此檔中複製章節。僅適用於部分格式(如 Matroska 檔)。" @@ -8711,6 +8791,9 @@ #~ msgid "During MPEG-4 part 2 B frame handling: The frame queue contains more frames than timecodes are available that can be assigned to them (reason: %1%). Therefore %2% frame(s) had to be dropped. The video might be broken around timecode %3%.\n" #~ msgstr "MPEG-4 part 2 B 畫格處理過程中: 畫格列包含了超過可分配時間碼的畫格 (原因: %1%)。因此 %2% 畫格將被丟棄。視訊在時間碼 %3% 附近可能已損壞。\n" +#~ msgid "FLAC lossless audio" +#~ msgstr "FLAC 無損音訊" + #~ msgid "File options:" #~ msgstr "檔案選項:" @@ -8720,6 +8803,42 @@ #~ msgid "Global tags" #~ msgstr "整體標籤" +#~ msgid "IVF with VP8" +#~ msgstr "含 VP8 的 IVF" + +#~ msgid "" +#~ "Known file types:\n" +#~ " ext description\n" +#~ " ---- --------------------------\n" +#~ msgstr "" +#~ "已知的檔案類型:\n" +#~ " 副檔名 描述\n" +#~ " ---- --------------------------\n" + +#~ msgid "Left eye" +#~ msgstr "左眼視角" + +#~ msgid "MPEG program stream" +#~ msgstr "MPEG PS 節目流" + +#~ msgid "MPEG-1 layer II audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 第 II 層音訊 (CBR 或 VBR/ABR)" + +#~ msgid "MPEG-1 layer III audio (CBR and VBR/ABR)" +#~ msgstr "MPEG-1 第 III 層音訊 (CBR 或 VBR/ABR)" + +#~ msgid "MPEG-1 video elementary stream" +#~ msgstr "MPEG-1 視訊基本流" + +#~ msgid "MPEG-2 video elementary stream" +#~ msgstr "MPEG-2 視訊基本流" + +#~ msgid "Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s" +#~ msgstr "Matroska 音訊/視訊檔 (*.mka;*.mkv)|*.mkv;*.mka|%s" + +#~ msgid "Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s" +#~ msgstr "Matroska 檔案 (*.mkv;*.mka)|*.mkv;*.mka|%s" + #~ msgid "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|All files|*.*" #~ msgstr "Matroska 檔案 (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|所有檔案|*.*" @@ -8738,6 +8857,9 @@ #~ msgid "No tracks will be copied from this file. This usually indicates a mistake in the command line.\n" #~ msgstr "此檔中沒有待複製的軌道。這通常是因為命令列中的差錯。\n" +#~ msgid "None" +#~ msgstr "單視角" + #~ msgid "" #~ "Nothing to do.\n" #~ "\n" @@ -8748,15 +8870,33 @@ #~ msgid "Other global options" #~ msgstr "其他整體選項" +#~ msgid "Quicktime/MP4 audio and video" +#~ msgstr "Quicktime/MP4 音訊和視訊" + +#~ msgid "RealMedia audio and video" +#~ msgstr "RealMedia 音視訊" + #~ msgid "Restart required" #~ msgstr "需要重新啟動" +#~ msgid "Right eye" +#~ msgstr "右眼視角" + #~ msgid "Set &default values" #~ msgstr "設定預設值(&D)" +#~ msgid "Sets the compression used for VobSub subtitles. If nothing is chosen then the VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger." +#~ msgstr "選擇 VobSub 字幕使用的壓縮方式。如果沒有選中任何方式,VobSub 字幕將自動使用 zlib 壓縮。選“無”將導致檔案變得很大。" + #~ msgid "Subtitle charset:" #~ msgstr "字幕字元集:" +#~ msgid "TTA lossless audio" +#~ msgstr "TTA 無損音訊" + +#~ msgid "The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n" +#~ msgstr "MPEG-4 part 2 壓縮僅適用於原生 MPEG-4。然而,您未使用「--engage native_mpeg4」選擇原生 MPEG-4 模式。\n" + #~ msgid "This track uses a Matroska feature called 'Codec state elements'. mkvmerge supports these but this feature has not been turned on with the option '--engage use_codec_state'.\n" #~ msgstr "此軌道使用了叫做「編解碼態元件」的 Matroska 特性。mkvmerge 支援該特性,但您尚未透過「--engage use_codec_state」來啟用該特性。\n" @@ -8899,10 +9039,66 @@ #~ " -h, --help 顯示這個説明。\n" #~ " -V, --version 顯示版本資訊。\n" +#~ msgid "" +#~ "Usage: mkvinfo [options] inname\n" +#~ "\n" +#~ " options:\n" +#~ " -g, --gui Start the GUI (and open inname if it was given).\n" +#~ " inname Use 'inname' as the source.\n" +#~ " -v, --verbose Increase verbosity. See the man page for a detailed\n" +#~ " description of what mkvinfo outputs.\n" +#~ " -c, --checksum Calculate and display checksums of frame contents.\n" +#~ " -s, --summary Only show summaries of the contents, not each element.\n" +#~ " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" +#~ " -X, --full-hexdump\n" +#~ " Show all bytes of each frame as a hex dump.\n" +#~ " -z, --size Show the size of each element including its header.\n" +#~ " --output-charset <charset>\n" +#~ " Output messages in this charset\n" +#~ " -r, -o, --redirect-output file.ext\n" +#~ " Redirect all messages to this file.\n" +#~ " -h, --help Show this help.\n" +#~ " -V, --version Show version information.\n" +#~ msgstr "" +#~ "用法: mkvinfo [選項] 輸入檔名\n" +#~ "\n" +#~ " 選項:\n" +#~ " -g, --gui 啟動 GUI (若是給定的檔案則開啟輸入檔名稱)。\n" +#~ " inname 使用「輸入檔名」作為來源。\n" +#~ " -v, --verbose 增強 “詳細” 程度。請見使用說明文件中關於 \n" +#~ " mkvinfo 輸出的詳細說明。\n" +#~ " -c, --checksum 計算並顯示畫格內容的校驗碼。\n" +#~ " -s, --summary 僅顯示內容的摘要,而非所有元件。\n" +#~ " -x, --hexdump\n" +#~ " 以十六進位轉儲形式顯示每畫格的前 16 位元組。\n" +#~ " -z, --size 顯示每個元件包含表頭的大小。\n" +#~ " --output-charset <字元集>\n" +#~ " 用指定的字元集輸出訊息\n" +#~ " -r, -o, --redirect-output 檔案.ext\n" +#~ " 重定向(轉儲)所有訊息至此檔案。\n" +#~ " -h, --help 顯示這個説明。\n" +#~ " -V, --version 顯示版本資訊。\n" + #, fuzzy #~ msgid "Using the IVF output module.\n" #~ msgstr "使用 FLAC 輸出模組。\n" +#, fuzzy +#~ msgid "Using the Vp8 video output module.\n" +#~ msgstr "使用 VP8 視訊輸出模組。\n" + +#~ msgid "VC1 video elementary stream" +#~ msgstr "VC1 視訊基本流" + +#~ msgid "VobBtn buttons" +#~ msgstr "VobBtn 按鈕" + +#~ msgid "WAVE (uncompressed PCM)" +#~ msgstr "WAVE (未壓縮的 PCM)" + +#~ msgid "WAVPACK lossless audio" +#~ msgstr "WAVPACK 無損音訊" + #~ msgid "Write raw FLAC files (default: write OggFLAC files)." #~ msgstr "寫入 raw FLAC 檔案 (預設:寫入 OggFLAC 檔案)。" @@ -8912,6 +9108,12 @@ #~ msgid "You have not yet selected any input file and/or no tracks." #~ msgstr "您尚未選擇任何輸入檔和/或未發現軌道。" +#~ msgid "audio/video/text subtitles embedded in OGG" +#~ msgstr "嵌入在 OGG 中的音訊/視訊/文字字幕" + +#~ msgid "cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser." +#~ msgstr "cstrutf8_to_UTFstring: 遇到了無效的 UTF-8 序列。請聯繫 moritz@bunkus.org 並要求他實現一套更好的 UTF-8 解析器。" + #~ msgid "flac_header_extraction: Could not set the error callback.\n" #~ msgstr "flac_header_extraction: 無法設定錯誤回呼。\n" @@ -8951,12 +9153,18 @@ #~ msgid "found_what == 0. Should not have happened. Please file a bug report.\n" #~ msgstr "found_what == 0。這不該發生。請提交錯誤報告。\n" +#~ msgid "general Matroska files" +#~ msgstr "一般 Matroska 檔" + #~ msgid "locale.cpp/from_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/from_utf8(): 無效的轉換名號 %1% (數位: %2%)。\n" #~ msgid "locale.cpp/to_utf8(): Invalid conversion handle %1% (num: %2%).\n" #~ msgstr "locale.cpp/to_utf8(): 無效的轉換名號 %1% (數位: %2%)。\n" +#~ msgid "mkvextract: Unknown mode!?\n" +#~ msgstr "mkvextract: 未知模式!?\n" + #~ msgid "mkvmerge GUI v%s ('%s')" #~ msgstr "mkvmerge GUI v%s ('%s')" diff -Nru mkvtoolnix-4.0.0/rake.d/application.rb mkvtoolnix-4.5.0+dfsg/rake.d/application.rb --- mkvtoolnix-4.0.0/rake.d/application.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/application.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,18 @@ +class Application < Target + def initialize(exe) + super exe + c(:EXEEXT) + @namespace = :apps + end + + def create_specific + libraries :rpcrt4, :if => c?(:MINGW) + + namespace :apps do + desc @desc if @aliases.empty? && !@desc.empty? + file @target => @dependencies do |t| + runq " LINK #{t.name}", "#{c(:CXX)} #{$flags[:ldflags]} #{$system_libdirs} -o #{t.name} #{@objects.join(" ")} #{@libraries.join(" ")}" + end + end + self + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/config.rb mkvtoolnix-4.5.0+dfsg/rake.d/config.rb --- mkvtoolnix-4.0.0/rake.d/config.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/config.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,29 @@ +def read_config + error "build-config not found: please run ./configure" unless File.exists?("build-config") + + $config = Hash[ *IO.readlines("build-config").collect { |line| line.chomp.gsub(/#.*/, "") }.select { |line| !line.empty? }.collect do |line| + parts = line.split(/\s*=\s*/, 2).collect { |part| part.gsub(/^\s+/, '').gsub(/\s+$/, '') } + [ parts[0].to_sym, parts[1] || '' ] + end.flatten ] + $config.default = '' +end + +def adjust_config + if c?(:LIBMTXCOMMONDLL) + $config[:LIBMTXCOMMONEXT] = 'dll' + $config[:CXXFLAGS_SRC_COMMON] += '-DMTX_DLL_EXPORT' + $config[:CXXFLAGS_NO_SRC_COMMON] += '-DMTX_DLL' + else + $config[:LIBMTXCOMMONEXT] = 'a' + end +end + +def c(idx) + idx_s = idx.to_s + var = (ENV[idx_s].nil? ? $config[idx.to_sym] : ENV[idx_s]).to_s + var.gsub(/\$[\({](.*?)[\)}]/) { c($1) }.gsub(/^\s+/, '').gsub(/\s+$/, '') +end + +def c?(idx) + c(idx).to_bool +end diff -Nru mkvtoolnix-4.0.0/rake.d/extensions.rb mkvtoolnix-4.5.0+dfsg/rake.d/extensions.rb --- mkvtoolnix-4.0.0/rake.d/extensions.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/extensions.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,31 @@ +class NilClass + def to_bool + false + end + + def blank? + true + end +end + +class String + def to_bool + %w{1 true yes}.include? self.downcase + end + + def blank? + empty? + end +end + +class TrueClass + def to_bool + self + end +end + +class FalseClass + def to_bool + self + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/helpers.rb mkvtoolnix-4.5.0+dfsg/rake.d/helpers.rb --- mkvtoolnix-4.0.0/rake.d/helpers.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/helpers.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,129 @@ +$use_tempfile_for_run = defined?(RUBY_PLATFORM) && /mingw/i.match(RUBY_PLATFORM) +require "tempfile" if $use_tempfile_for_run + +if defined? Mutex + $message_mutex = Mutex.new + def puts(message) + $message_mutex.lock + $stdout.puts message + $stdout.flush + $message_mutex.unlock + end +end + +def error(message) + puts message + exit 1 +end + +def last_exit_code + $?.respond_to?(:exitstatus) ? $?.exitstatus : $?.to_i +end + +def run(cmdline, opts = {}) + cmdline = cmdline.gsub(/\n/, ' ').gsub(/^\s+/, '').gsub(/\s+$/, '').gsub(/\s+/, ' ') + code = nil + shell = ENV["RUBYSHELL"].blank? ? "c:/msys/bin/sh" : ENV["RUBYSHELL"] + + puts cmdline unless opts[:dont_echo].to_bool + if $use_tempfile_for_run + Tempfile.open("mkvtoolnix-rake-run") do |t| + t.puts cmdline + t.flush + system shell, t.path + code = last_exit_code + t.unlink + end + else + system cmdline + code = last_exit_code + end + + exit code if (code != 0) && !opts[:allow_failure].to_bool +end + +def runq(msg, cmdline, options = {}) + verbose = ENV['V'].to_bool + puts msg if !verbose + run cmdline, options.clone.merge(:dont_echo => !verbose) +end + +def handle_deps(target, exit_code) + dep_file = target.ext 'd' + get_out = lambda do + File.unlink(dep_file) if FileTest.exist?(dep_file) + exit exit_code if 0 != exit_code + return + end + + FileTest.exist?(dep_file) || get_out.call + + FileTest.exist?($dependency_dir) && !FileTest.directory?($dependency_dir) && File.unlink($dependency_dir) + FileTest.exist?($dependency_dir) || Dir.mkdir($dependency_dir) + + File.open("#{$dependency_dir}/" + dep_file.gsub(/\//, '_').ext('rb'), "w") do |out| + line = IO.readlines(dep_file).collect { |line| line.chomp }.join(" ").gsub(/\\/, ' ').gsub(/\s+/, ' ') + if /(.+?):\s*([^\s].*)/.match(line) + target = $1 + sources = $2.gsub(/^\s+/, '').gsub(/\s+$/, '').split(/\s+/) + + out.puts "file \"#{target}\" => [ " + sources.collect { |entry| "\"#{entry}\"" }.join(", ") + " ]" + end + end + + get_out.call +rescue Exception => e + get_out.call +end + +def import_dependencies + Dir.glob("#{$dependency_dir}/*.rb").each { |file| import file } if FileTest.directory?($dependency_dir) +end + +def arrayify(*args) + args.collect { |arg| arg.is_a?(Array) ? arg.to_a : arg }.flatten +end + +def install_dir(*dirs) + arrayify(*dirs).each do |dir| + dir = c(dir) if dir.is_a? Symbol + run "#{c(:mkinstalldirs)} #{c(:DESTDIR)}#{dir}" + end +end + +def install_program(destination, *files) + destination = c(destination) + '/' if destination.is_a? Symbol + arrayify(*files).each do |file| + run "#{c(:INSTALL_PROGRAM)} #{file} #{c(:DESTDIR)}#{destination}" + end +end + +def install_data(destination, *files) + destination = c(destination) + '/' if destination.is_a? Symbol + arrayify(*files).each do |file| + run "#{c(:INSTALL_DATA)} #{file} #{c(:DESTDIR)}#{destination}" + end +end + +def adjust_to_poedit_style(in_name, out_name) + File.open(out_name, "w") do |out| + lines = IO.readlines(in_name).collect { |line| line.chomp } + + no_nl = false + + lines.each do |line| + if /^#:/.match(line) + out.puts line.gsub(/(\d) /, '\1' + "\n#: ") + elsif /^#~/.match(line) + no_nl = true + out.puts line + elsif !(no_nl && /^\s*$/.match(line)) + out.puts line + end + end + + out.puts + end + + File.unlink in_name +end diff -Nru mkvtoolnix-4.0.0/rake.d/library.rb mkvtoolnix-4.5.0+dfsg/rake.d/library.rb --- mkvtoolnix-4.0.0/rake.d/library.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/library.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,29 @@ +class Library < Target + def initialize(name) + super name + @build_dll = false + end + + def build_dll(build_dll_as_well = true) + @build_dll = build_dll_as_well + self + end + + def create_specific + file "#{@target}.a" => @objects do |t| + FileUtils.rm_f t.name + runq " AR #{t.name}", "#{c(:AR)} rcu #{t.name} #{@objects.join(" ")}" + runq " RANLIB #{t.name}", "#{c(:RANLIB)} #{t.name}" + end + + return self unless @build_dll + + file "#{@target}.dll" => @objects do |t| + runq " LD/DLL #{t.name}", <<-COMMAND + #{c(:CXX)} #{$flags[:ldflags]} #{$system_libdirs} -shared -Wl,--export-all -Wl,--out-implib=#{t.name}.a -o #{t.name} #{@objects.join(" ")} #{@libraries.join(" ")} + COMMAND + end + + self + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/target.rb mkvtoolnix-4.5.0+dfsg/rake.d/target.rb --- mkvtoolnix-4.0.0/rake.d/target.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/target.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,154 @@ +class Target + def initialize(target) + @target = target + @aliases = [] + @sources = [] + @objects = [] + @libraries = [] + @dependencies = [] + @file_deps = [] + @only_if = true + @debug = {} + @desc = nil + @namespace = nil + end + + def debug(category) + @debug[category] = !@debug[category] + self + end + + def description(description) + @desc = description + self + end + + def only_if(condition) + @only_if = condition + self + end + + def end_if + only_if true + end + + def extract_options(list) + options = list.empty? || !list.last.is_a?(Hash) ? {} : list.pop + return list, options + end + + def aliases(*list) + @aliases += list.compact + self + end + + def sources(*list) + list, options = extract_options list + + if @debug[:sources] + puts "Target::sources: only_if #{@only_if}; list & options:" + pp list + pp options + end + + return self if !@only_if || (options.include?(:if) && !options[:if]) + + ext_map = { + '.ui' => 'h', + } + + list = list.collect { |e| e.respond_to?(:to_a) ? e.to_a : e }.flatten + file_mode = (options[:type] || :file) == :file + new_sources = list.collect { |entry| file_mode ? (entry.respond_to?(:to_a) ? entry.to_a : entry) : FileList["#{entry}/*.c", "#{entry}/*.cpp"].to_a }.flatten + new_deps = new_sources.collect { |file| [ file.ext(ext_map[ file.pathmap('%x') ] || 'o'), file ] } + @sources = ( @sources + new_sources ).uniq + @objects = ( @objects + new_deps.collect { |a| a.first }.select { |file| /\.o$/.match file } ).uniq + @dependencies = ( @dependencies + new_deps.collect { |a| a.first } ).uniq + @file_deps = ( @file_deps + new_deps ).uniq + self + end + + def dependencies(*list) + @dependencies += list.select { |entry| !entry.blank? } if @only_if + self + end + + def libraries(*list) + list, options = extract_options list + + return self if !@only_if || (options.include?(:if) && !options[:if]) + + @dependencies += list.collect do |entry| + case entry + when :mtxcommon then "src/common/libmtxcommon." + c(:LIBMTXCOMMONEXT) + when :mtxinput then "src/input/libmtxinput.a" + when :mtxoutput then "src/output/libmtxoutput.a" + when :avi then "lib/avilib-0.6.10/libavi.a" + when :rmff then "lib/librmff/librmff.a" + when :mpegparser then "src/mpegparser/libmpegparser.a" + when :ebml then c?("EBML_MATROSKA_INTERNAL") ? "lib/libebml/src/libebml.a" : nil + when :matroska then c?("EBML_MATROSKA_INTERNAL") ? "lib/libmatroska/src/libmatroska.a" : nil + else nil + end + end.compact + + @libraries += list.collect do |entry| + case entry + when nil then nil + when :curl then c(:CURL_LIBS) + when :magic then c(:MAGIC_LIBS) + when :flac then c(:FLAC_LIBS) + when :compression then [ c(:LZO_LIBS), c(:BZ2_LIBS) ] + when :iconv then c(:ICONV_LIBS) + when :intl then c(:LIBINTL_LIBS) + when :boost_regex then c(:BOOST_REGEX_LIB) + when :boost_filesystem then c(:BOOST_FILESYSTEM_LIB) + when :boost_system then c(:BOOST_SYSTEM_LIB) + when :qt then c(:QT_LIBS) + when :wxwidgets then c(:WXWIDGETS_LIBS) + when :ebml then c(:EBML_LIBS) + when :matroska then c(:MATROSKA_LIBS) + when String then entry + else "-l#{entry}" + end + end.compact + + self + end + + def dump + %w{aliases sources objects dependencies libraries}.each do |type| + puts "@#{type}:" + pp instance_variable_get("@#{type}") + end + self + end + + def create + definition = Proc.new do + @sources.select { |name| /\.moc\.cpp$/.match(name) }.each do |name| + target = name.ext.ext('h') + file name => target, &$moc_compiler + end + + @file_deps.each do |spec| + file spec.first => spec.last unless spec.first == spec.last + end + + @aliases.each_with_index do |name, idx| + desc @desc if (0 == idx) && !@desc.empty? + task name => @target + end + end + + if @namespace + namespace @namespace, &definition + else + definition.call + end + + create_specific + + self + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/CHANGES.rdoc mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/CHANGES.rdoc --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/CHANGES.rdoc 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/CHANGES.rdoc 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,61 @@ + += CompTree ChangeLog + +== Version 1.0.1 + +* minor optimization to the main algorithm + +== Version 1.0.0 + +* better errors and error handling +* single-threaded compute() now checks exceptions +* compute(:root, :threads => 3) option deprecated; use compute(:root, 3) + +== Version 0.7.6 + +* Driver#define returns created node +* Raise CompTree::ArgumentError for nonexistent node or threads < 1 + +== Version 0.7.5 + +* fix manual install + +== Version 0.7.4 + +* fix documentation + +== Version 0.7.3 + +* replace standard Queue class + +== Version 0.7.2 + +* check for number of threads < 1 +* new benchmarks indicate previous algorithm was faster after all + +== Version 0.7.1 + +* rename README to README.rdoc for github display +* internal cleanup + +== Version 0.7.0 + +* remove fork and discard_result options +* remove contrib/ +* remove block arg to CompTree.new; use CompTree.build +* remove CompTree::Error nesting +* Driver#compute accepts integer as second option +* remove method_missing and eval tricks for node definitions; + new project 'pure' makes this obsolete +* split up tests +* allow non-symbols for node IDs +* check_circular now returns the loop instead of raising +* allow computation result of nil + +== Version 0.5.2 + +* internal project cleanup (no relevant code changes). + +== Version 0.5.0 + +* Initial release. diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/algorithm.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/algorithm.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/algorithm.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/algorithm.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,85 @@ + +module CompTree + module Algorithm + module_function + + def compute_parallel(root, num_threads) + from_workers = Queue.new + to_workers = Queue.new + + workers = (1..num_threads).map { + Thread.new { + worker_loop(from_workers, to_workers) + } + } + + node = master_loop(root, num_threads, from_workers, to_workers) + + num_threads.times { to_workers.push(nil) } + workers.each { |t| t.join } + + if node.computed.is_a? Exception + raise node.computed + else + node.result + end + end + + def worker_loop(from_workers, to_workers) + while node = to_workers.pop + node.compute + from_workers.push(node) + end + end + + def master_loop(root, num_threads, from_workers, to_workers) + num_working = 0 + node = nil + while true + if num_working == num_threads or !(node = find_node(root)) + # + # maxed out or no nodes available -- wait for results + # + node = from_workers.pop + node.unlock + num_working -= 1 + if node == root or node.computed.is_a? Exception + break node + end + else + # + # found a node + # + num_working += 1 + node.lock + to_workers.push(node) + end + end + end + + def find_node(node) + if node.computed + # + # already computed + # + nil + elsif not node.locked? and node.children_results + # + # Node is not computed, not locked, and its children are + # computed; ready to compute. + # + node + else + # + # locked or children not computed; recurse to children + # + node.each_child { |child| + if found = find_node(child) + return found + end + } + nil + end + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/comp_tree.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/comp_tree.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/comp_tree.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/comp_tree.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,55 @@ + +# +# CompTree -- Parallel Computation Tree. +# +# See README.rdoc. +# +module CompTree + VERSION = "1.0.1" + + class << self + # + # :call-seq: + # build { |driver| ... } + # + # Build a new computation tree. A Driver instance is passed to the + # given block. + # + # Example: + # CompTree.build do |driver| + # + # # Define a function named 'area' taking these two arguments. + # driver.define(:area, :width, :height) { |width, height| + # width*height + # } + # + # # Define a function 'width' which takes a 'border' argument. + # driver.define(:width, :border) { |border| + # 7 + border + # } + # + # # Ditto for 'height'. + # driver.define(:height, :border) { |border| + # 5 + border + # } + # + # # + # # Define a constant function 'border'. + # driver.define(:border) { + # 2 + # } + # + # # Compute the area using four parallel threads. + # puts driver.compute(:area, 4) + # # => 63 + # + # # We've done this computation. + # puts((7 + 2)*(5 + 2)) + # # => 63 + # end + # + def build(opts = {}) + yield Driver.new(opts) + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/driver.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/driver.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/driver.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/driver.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,132 @@ + +module CompTree + # + # Driver is the main interface to the computation tree. It is + # responsible for defining nodes and running computations. + # + class Driver + # + # See CompTree.build + # + def initialize(opts = {}) #:nodoc: + @node_class = opts[:node_class] || Node + @nodes = Hash.new + end + + # + # Name-to-node hash. + # + attr_reader :nodes + + # + # _name_ -- unique node identifier (for example a symbol). + # + # _child_names_ -- unique node identifiers of children. + # + # Define a computation node. + # + # During a computation, the results of the child nodes are passed + # to the block. The block returns the result of this node's + # computation. + # + # In this example, a computation node named +area+ is defined + # which depends on the nodes +width+ and +height+. + # + # driver.define(:area, :width, :height) { |width, height| + # width*height + # } + # + def define(name, *child_names, &block) + # + # retrieve or create node and children + # + + node = @nodes.fetch(name) { + @nodes[name] = @node_class.new(name) + } + if node.function + raise RedefinitionError.new(node.name) + end + node.function = block + + children = child_names.map { |child_name| + @nodes.fetch(child_name) { + @nodes[child_name] = @node_class.new(child_name) + } + } + + # + # link + # + node.children = children + children.each { |child| + child.parents << node + } + + node + end + + # + # _name_ -- unique node identifier (for example a symbol). + # + # Mark this node and all its children as uncomputed. + # + def reset(name) + @nodes[name].reset + end + + # + # _name_ -- unique node identifier (for example a symbol). + # + # Check for a cyclic graph below the given node. If found, + # returns the names of the nodes (in order) which form a loop. + # Otherwise returns nil. + # + def check_circular(name) + helper = Proc.new { |root, chain| + if chain.include? root + return chain + [root] + end + @nodes[root].children.each { |child| + helper.call(child.name, chain + [root]) + } + } + helper.call(name, []) + nil + end + + # + # _name_ -- unique node identifier (for example a symbol). + # + # _num_threads_ -- number of threads. + # + # Compute the tree below _name_ and return the result. + # + # If a node's computation raises an exception, the exception will + # be transferred to the caller of compute(). The tree will be + # left in a dirty state so that individual nodes may be examined. + # It is your responsibility to call reset() before attempting the + # computation again, otherwise the result will be undefined. + # + def compute(name, num_threads) + begin + num_threads = num_threads.to_int + rescue NoMethodError + raise TypeError, "can't convert #{num_threads.class} into Integer" + end + unless num_threads > 0 + raise RangeError, "number of threads must be greater than zero" + end + root = @nodes.fetch(name) { + raise NoNodeError.new(name) + } + if root.computed + root.result + elsif num_threads == 1 + root.compute_now + else + Algorithm.compute_parallel(root, num_threads) + end + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/error.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/error.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/error.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/error.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,49 @@ + +module CompTree + # + # Base class for CompTree errors. + # + class Error < StandardError + end + + # + # Base class for node errors. + # + class NodeError < Error + def initialize(node_name) #:nodoc: + @node_name = node_name + super(custom_message) + end + attr_reader :node_name + end + + # + # An attempt was made to redefine a node. + # + # If you wish to only replace the function, set + # driver.nodes[name].function = lambda { ... } + # + class RedefinitionError < NodeError + def custom_message #:nodoc: + "attempt to redefine node `#{node_name.inspect}'" + end + end + + # + # Encountered a node without a function during a computation. + # + class NoFunctionError < NodeError + def custom_message #:nodoc: + "no function was defined for node `#{node_name.inspect}'" + end + end + + # + # Requested node does not exist. + # + class NoNodeError < NodeError + def custom_message #:nodoc: + "no node named `#{node_name.inspect}'" + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/node.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/node.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/node.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/node.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,135 @@ + +module CompTree + # + # Base class for nodes in the computation tree. + # + class Node + attr_reader :name + + attr_accessor( + :parents, + :children, + :function, + :result, + :computed, + :lock_level + ) + + # + # Create a node + # + def initialize(name) + @name = name + @parents = [] + @children = [] + @function = nil + reset_self + end + + # + # Reset the computation for this node. + # + def reset_self + @result = nil + @computed = nil + @lock_level = 0 + @children_results = nil + end + + # + # Reset the computation for this node and all children. + # + def reset + each_downward { |node| + node.reset_self + } + end + + def each_downward(&block) + block.call(self) + @children.each { |child| + child.each_downward(&block) + } + end + + def each_upward(&block) + block.call(self) + @parents.each { |parent| + parent.each_upward(&block) + } + end + + def each_child + @children.each { |child| + yield(child) + } + end + + # + # Force all children and self to be computed; no locking required. + # Intended to be used outside of parallel computations. + # + def compute_now + unless @computed + unless @children_results + @children_results = @children.map { |child| + child.compute_now + } + end + compute + if @computed.is_a? Exception + raise @computed + end + end + @result + end + + # + # If all children have been computed, return their results; + # otherwise return nil. + # + def children_results + @children_results or ( + @children_results = @children.map { |child| + unless child.computed + return nil + end + child.result + } + ) + end + + # + # Compute this node; children must be computed and lock must be + # already acquired. + # + def compute + begin + unless @function + raise NoFunctionError.new(@name) + end + @result = @function.call(*@children_results) + @computed = true + rescue Exception => exception + @computed = exception + end + @result + end + + def locked? + @lock_level != 0 + end + + def lock + each_upward { |node| + node.lock_level += 1 + } + end + + def unlock + each_upward { |node| + node.lock_level -= 1 + } + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_18.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_18.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_18.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_18.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,34 @@ + +require 'thread' + +module CompTree + # + # minimal version of standard Queue + # + class Queue + def initialize + @queue = [] + @waiting = [] + end + + def push(object) + Thread.critical = true + @queue.push object + if thread = @waiting.shift + thread.wakeup + end + ensure + Thread.critical = false + end + + def pop + while (Thread.critical = true ; @queue.empty?) + @waiting.push Thread.current + Thread.stop + end + @queue.shift + ensure + Thread.critical = false + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_19.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_19.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_19.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue_19.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,35 @@ + +module CompTree + # + # minimal version of standard Queue + # + class Queue + def initialize + @queue = [] + @waiting = [] + @mutex = Mutex.new + end + + def push(object) + @mutex.synchronize { + @queue.push object + if thread = @waiting.shift + thread.wakeup + end + } + end + + def pop + @mutex.synchronize { + while true + if @queue.empty? + @waiting.push Thread.current + @mutex.sleep + else + return @queue.shift + end + end + } + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree/queue/queue.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1 @@ +require("comp_tree/queue/queue_" + (RUBY_VERSION < "1.9" ? "18" : "19")) diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree.rb --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/lib/comp_tree.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,30 @@ +# +# Copyright (c) 2008, 2009 James M. Lawrence. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +require 'comp_tree/error' +require 'comp_tree/queue/queue' +require 'comp_tree/node' +require 'comp_tree/algorithm' +require 'comp_tree/driver' +require 'comp_tree/comp_tree' diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/README.rdoc mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/README.rdoc --- mkvtoolnix-4.0.0/rake.d/vendor/comp_tree-1.0.1/README.rdoc 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/comp_tree-1.0.1/README.rdoc 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,125 @@ + += CompTree + +== Summary + +A simple framework for automatic parallelism. + +== Synopsis + + require 'comp_tree' + + CompTree.build do |driver| + + # Define a function named 'area' taking these two arguments. + driver.define(:area, :width, :height) { |width, height| + width*height + } + + # Define a function 'width' which takes a 'border' argument. + driver.define(:width, :border) { |border| + 7 + border + } + + # Ditto for 'height'. + driver.define(:height, :border) { |border| + 5 + border + } + + # Define a constant function 'border'. + driver.define(:border) { + 2 + } + + # Compute the area using four parallel threads. + puts driver.compute(:area, 4) + # => 63 + + # We've done this computation. + puts((7 + 2)*(5 + 2)) + # => 63 + end + +== Install + + % gem install comp_tree + +Or for the (non-gem) .tgz package, + + % ruby install.rb [--uninstall] + +== Description + +CompTree is a parallel computation tree structure based upon concepts +from pure functional programming. + +The user should have a basic understanding of functional programming +(see for example http://en.wikipedia.org/wiki/Functional_programming) +and the meaning of <em>side effects</em>. + +Every function you define must explicitly depend on the data it uses. + + # + # BAD example: depending on state -- offset not listed as a parameter + # + driver.define(:area, :width, :height) { |width, height| + width*height - offset + } + +Unless <em>offset</em> is really a constant, the result of +<tt>driver.compute(:area, n)</tt> is not well-defined for _n_ > 1. + +Just as depending on some changeable state is bad, it is likewise bad +to affect a state (to produce a <em>side effect</em>). + + # + # BAD example: affecting state + # + driver.define(:area, :width, :height) { |width, height| + accumulator.add "more data" + width*height + } + +Given a tree where nodes are modifying _accumulator_, the end state of +_accumulator_ is not well-defined, even if _accumulator_ is a +thread-safe object. + +Note however it is OK affect a state as long as <em>no other function +depends on that state</em>. This is the principle under which +CompTree parallelizes Rake tasks (http://drake.rubyforge.org). + +== Links + +* Documentation: http://comptree.rubyforge.org +* Download: http://rubyforge.org/frs/?group_id=6917 +* Rubyforge home: http://rubyforge.org/projects/comptree +* Repository: http://github.com/quix/comp_tree + +== Author + +* James M. Lawrence <quixoticsycophant@gmail.com> + +== License + + Copyright (c) 2008, 2009 James M. Lawrence. All rights reserved. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/bin/drake mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/bin/drake --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/bin/drake 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/bin/drake 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby + +#-- +# Copyright (c) 2003, 2004, 2005, 2006, 2007 Jim Weirich +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +#++ + +$: << '.' + +Dir.glob(File.dirname(File.dirname(File.dirname(__FILE__))) + "/*/lib").each { |dir| $:.unshift dir } +Dir.glob(File.dirname(__FILE__) + "/rake.d/vendor/*/lib").each { |dir| $:.unshift dir } + +begin + require 'rake' +rescue LoadError + require 'rubygems' + require 'rake' +end +Rake.application.run diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/alt_system.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/alt_system.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/alt_system.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/alt_system.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,108 @@ +# +# Copyright (c) 2008 James M. Lawrence +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +require 'rbconfig' + +# +# Alternate implementations of system() and backticks `` on Windows +# for ruby-1.8 and earlier. +# +module Rake::AltSystem + WINDOWS = Config::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! + + class << self + def define_module_function(name, &block) + define_method(name, &block) + module_function(name) + end + end + + if WINDOWS and RUBY_VERSION < "1.9.0" + RUNNABLE_EXTS = %w[com exe bat cmd] + RUNNABLE_PATTERN = %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i + + define_module_function :kernel_system, &Kernel.method(:system) + define_module_function :kernel_backticks, &Kernel.method(:'`') + + module_function + + def repair_command(cmd) + "call " + ( + if cmd =~ %r!\A\s*\".*?\"! + # already quoted + cmd + elsif match = cmd.match(%r!\A\s*(\S+)!) + if match[1] =~ %r!/! + # avoid x/y.bat interpretation as x with option /y + %Q!"#{match[1]}"! + match.post_match + else + # a shell command will fail if quoted + cmd + end + else + # empty or whitespace + cmd + end + ) + end + + def find_runnable(file) + if file =~ RUNNABLE_PATTERN + file + else + RUNNABLE_EXTS.each { |ext| + if File.exist?(test = "#{file}.#{ext}") + return test + end + } + nil + end + end + + def system(cmd, *args) + repaired = ( + if args.empty? + [repair_command(cmd)] + elsif runnable = find_runnable(cmd) + [File.expand_path(runnable), *args] + else + # non-existent file + [cmd, *args] + end + ) + kernel_system(*repaired) + end + + def backticks(cmd) + kernel_backticks(repair_command(cmd)) + end + + define_module_function :'`', &method(:backticks) + else + # Non-Windows or ruby-1.9+: same as Kernel versions + define_module_function :system, &Kernel.method(:system) + define_module_function :backticks, &Kernel.method(:'`') + define_module_function :'`', &Kernel.method(:'`') + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/classic_namespace.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/classic_namespace.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/classic_namespace.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/classic_namespace.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,8 @@ +# The following classes used to be in the top level namespace. +# Loading this file enables compatibility with older Rakefile that +# referenced Task from the top level. + +Task = Rake::Task +FileTask = Rake::FileTask +FileCreationTask = Rake::FileCreationTask +RakeApp = Rake::Application diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/clean.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/clean.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/clean.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/clean.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby + +# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and +# two rake tasks (:clean and :clobber). +# +# [:clean] Clean up the project by deleting scratch files and backup +# files. Add files to the CLEAN file list to have the :clean +# target handle them. +# +# [:clobber] Clobber all generated and non-source files in a project. +# The task depends on :clean, so all the clean files will +# be deleted as well as files in the CLOBBER file list. +# The intent of this task is to return a project to its +# pristine, just unpacked state. + +require 'rake' + +CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"] +CLEAN.clear_exclude.exclude { |fn| + fn.pathmap("%f") == 'core' && File.directory?(fn) +} + +desc "Remove any temporary products." +task :clean do + CLEAN.each { |fn| rm_r fn rescue nil } +end + +CLOBBER = Rake::FileList.new + +desc "Remove any generated file." +task :clobber => [:clean] do + CLOBBER.each { |fn| rm_r fn rescue nil } +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/compositepublisher.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/compositepublisher.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/compositepublisher.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/compositepublisher.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,24 @@ +#!/usr/bin/env ruby + +module Rake + + # Manage several publishers as a single entity. + class CompositePublisher + def initialize + @publishers = [] + end + + # Add a publisher to the composite. + def add(pub) + @publishers << pub + end + + # Upload all the individual publishers. + def upload + @publishers.each { |p| p.upload } + end + end + +end + + diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/ftptools.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/ftptools.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/ftptools.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/ftptools.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,153 @@ +#!/usr/bin/env ruby + +# = Tools for FTP uploading. +# +# This file is still under development and is not released for general +# use. + +require 'date' +require 'net/ftp' + +module Rake # :nodoc: + + #################################################################### + # <b>Note:</b> <em> Not released for general use.</em> + class FtpFile + attr_reader :name, :size, :owner, :group, :time + + def self.date + @date_class ||= Date + end + + def self.time + @time_class ||= Time + end + + def initialize(path, entry) + @path = path + @mode, line, @owner, @group, size, d1, d2, d3, @name = entry.split(' ') + @size = size.to_i + @time = determine_time(d1, d2, d3) + end + + def path + File.join(@path, @name) + end + + def directory? + @mode[0] == ?d + end + + def mode + parse_mode(@mode) + end + + def symlink? + @mode[0] == ?l + end + + private # -------------------------------------------------------- + + def parse_mode(m) + result = 0 + (1..9).each do |i| + result = 2*result + ((m[i]==?-) ? 0 : 1) + end + result + end + + def determine_time(d1, d2, d3) + now = self.class.time.now + if /:/ =~ d3 + h, m = d3.split(':') + result = Time.parse("#{d1} #{d2} #{now.year} #{d3}") + if result > now + result = Time.parse("#{d1} #{d2} #{now.year-1} #{d3}") + end + else + result = Time.parse("#{d1} #{d2} #{d3}") + end + result +# elements = ParseDate.parsedate("#{d1} #{d2} #{d3}") +# if elements[0].nil? +# today = self.class.date.today +# if elements[1] > today.month +# elements[0] = today.year - 1 +# else +# elements[0] = today.year +# end +# end +# elements = elements.collect { |el| el.nil? ? 0 : el } +# Time.mktime(*elements[0,7]) + end + end + + #################################################################### + # Manage the uploading of files to an FTP account. + class FtpUploader + + # Log uploads to standard output when true. + attr_accessor :verbose + + class << FtpUploader + # Create an uploader and pass it to the given block as +up+. + # When the block is complete, close the uploader. + def connect(path, host, account, password) + up = self.new(path, host, account, password) + begin + yield(up) + ensure + up.close + end + end + end + + # Create an FTP uploader targetting the directory +path+ on +host+ + # using the given account and password. +path+ will be the root + # path of the uploader. + def initialize(path, host, account, password) + @created = Hash.new + @path = path + @ftp = Net::FTP.new(host, account, password) + makedirs(@path) + @ftp.chdir(@path) + end + + # Create the directory +path+ in the uploader root path. + def makedirs(path) + route = [] + File.split(path).each do |dir| + route << dir + current_dir = File.join(route) + if @created[current_dir].nil? + @created[current_dir] = true + puts "Creating Directory #{current_dir}" if @verbose + @ftp.mkdir(current_dir) rescue nil + end + end + end + + # Upload all files matching +wildcard+ to the uploader's root + # path. + def upload_files(wildcard) + Dir[wildcard].each do |fn| + upload(fn) + end + end + + # Close the uploader. + def close + @ftp.close + end + + private # -------------------------------------------------------- + + # Upload a single file to the uploader's root path. + def upload(file) + puts "Uploading #{file}" if @verbose + dir = File.dirname(file) + makedirs(dir) + @ftp.putbinaryfile(file, file) unless File.directory?(file) + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/publisher.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/publisher.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/publisher.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/publisher.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,75 @@ +#!/usr/bin/env ruby + +# Copyright 2003, 2004, 2005, 2006, 2007, 2008 by Jim Weirich (jim@weirichhouse.org) +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. + +# Configuration information about an upload host system. +# * name :: Name of host system. +# * webdir :: Base directory for the web information for the +# application. The application name (APP) is appended to +# this directory before using. +# * pkgdir :: Directory on the host system where packages can be +# placed. +HostInfo = Struct.new(:name, :webdir, :pkgdir) + +# Manage several publishers as a single entity. +class CompositePublisher + def initialize + @publishers = [] + end + + # Add a publisher to the composite. + def add(pub) + @publishers << pub + end + + # Upload all the individual publishers. + def upload + @publishers.each { |p| p.upload } + end +end + +# Publish an entire directory to an existing remote directory using +# SSH. +class SshDirPublisher + def initialize(host, remote_dir, local_dir) + @host = host + @remote_dir = remote_dir + @local_dir = local_dir + end + + def upload + run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}} + end +end + +# Publish an entire directory to a fresh remote directory using SSH. +class SshFreshDirPublisher < SshDirPublisher + def upload + run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil + run %{ssh #{@host} mkdir #{@remote_dir}} + super + end +end + +# Publish a list of files to an existing remote directory. +class SshFilePublisher + # Create a publisher using the give host information. + def initialize(host, remote_dir, local_dir, *files) + @host = host + @remote_dir = remote_dir + @local_dir = local_dir + @files = files + end + + # Upload the local directory to the remote directory. + def upload + @files.each do |fn| + run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}} + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/rubyforgepublisher.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/rubyforgepublisher.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/rubyforgepublisher.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/rubyforgepublisher.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/env ruby + +require 'rake/contrib/sshpublisher' + +module Rake + + class RubyForgePublisher < SshDirPublisher + attr_reader :project, :proj_id, :user + + def initialize(projname, user) + super( + "#{user}@rubyforge.org", + "/var/www/gforge-projects/#{projname}", + "html") + end + end + +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sshpublisher.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sshpublisher.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sshpublisher.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sshpublisher.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby + +require 'rake/contrib/compositepublisher' + +module Rake + + # Publish an entire directory to an existing remote directory using + # SSH. + class SshDirPublisher + def initialize(host, remote_dir, local_dir) + @host = host + @remote_dir = remote_dir + @local_dir = local_dir + end + + def upload + sh %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}} + end + end + + # Publish an entire directory to a fresh remote directory using SSH. + class SshFreshDirPublisher < SshDirPublisher + def upload + sh %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil + sh %{ssh #{@host} mkdir #{@remote_dir}} + super + end + end + + # Publish a list of files to an existing remote directory. + class SshFilePublisher + # Create a publisher using the give host information. + def initialize(host, remote_dir, local_dir, *files) + @host = host + @remote_dir = remote_dir + @local_dir = local_dir + @files = files + end + + # Upload the local directory to the remote directory. + def upload + @files.each do |fn| + sh %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}} + end + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sys.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sys.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sys.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/contrib/sys.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,209 @@ +#!/usr/bin/env ruby + +#-- +# Copyright 2003, 2004, 2005, 2006, 2007, 2008 by Jim Weirich (jim@weirichhouse.org) +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +#++ +# +begin + require 'ftools' +rescue LoadError +end +require 'rbconfig' + +###################################################################### +# Sys provides a number of file manipulation tools for the convenience +# of writing Rakefiles. All commands in this module will announce +# their activity on standard output if the $verbose flag is set +# ($verbose = true is the default). You can control this by globally +# setting $verbose or by using the +verbose+ and +quiet+ methods. +# +# Sys has been deprecated in favor of the FileUtils module available +# in Ruby 1.8. +# +module Sys + RUBY = Config::CONFIG['ruby_install_name'] + + # Install all the files matching +wildcard+ into the +dest_dir+ + # directory. The permission mode is set to +mode+. + def install(wildcard, dest_dir, mode) + Dir[wildcard].each do |fn| + File.install(fn, dest_dir, mode, $verbose) + end + end + + # Run the system command +cmd+. + def run(cmd) + log cmd + system(cmd) or fail "Command Failed: [#{cmd}]" + end + + # Run a Ruby interpreter with the given arguments. + def ruby(*args) + run "#{RUBY} #{args.join(' ')}" + end + + # Copy a single file from +file_name+ to +dest_file+. + def copy(file_name, dest_file) + log "Copying file #{file_name} to #{dest_file}" + File.copy(file_name, dest_file) + end + + # Copy all files matching +wildcard+ into the directory +dest_dir+. + def copy_files(wildcard, dest_dir) + for_matching_files(wildcard, dest_dir) { |from, to| copy(from, to) } + end + + # Link +file_name+ to +dest_file+. + def link(file_name, dest_file) + log "Linking file #{file_name} to #{dest_file}" + File.link(file_name, dest_file) + end + + # Link all files matching +wildcard+ into the directory +dest_dir+. + def link_files(wildcard, dest_dir) + for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) } + end + + # Symlink +file_name+ to +dest_file+. + def symlink(file_name, dest_file) + log "Symlinking file #{file_name} to #{dest_file}" + File.symlink(file_name, dest_file) + end + + # Symlink all files matching +wildcard+ into the directory +dest_dir+. + def symlink_files(wildcard, dest_dir) + for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) } + end + + # Remove all files matching +wildcard+. If a matching file is a + # directory, it must be empty to be removed. used +delete_all+ to + # recursively delete directories. + def delete(*wildcards) + wildcards.each do |wildcard| + Dir[wildcard].each do |fn| + if File.directory?(fn) + log "Deleting directory #{fn}" + Dir.delete(fn) + else + log "Deleting file #{fn}" + File.delete(fn) + end + end + end + end + + # Recursively delete all files and directories matching +wildcard+. + def delete_all(*wildcards) + wildcards.each do |wildcard| + Dir[wildcard].each do |fn| + next if ! File.exist?(fn) + if File.directory?(fn) + Dir["#{fn}/*"].each do |subfn| + next if subfn=='.' || subfn=='..' + delete_all(subfn) + end + log "Deleting directory #{fn}" + Dir.delete(fn) + else + log "Deleting file #{fn}" + File.delete(fn) + end + end + end + end + + # Make the directories given in +dirs+. + def makedirs(*dirs) + dirs.each do |fn| + log "Making directory #{fn}" + File.makedirs(fn) + end + end + + # Make +dir+ the current working directory for the duration of + # executing the given block. + def indir(dir) + olddir = Dir.pwd + Dir.chdir(dir) + yield + ensure + Dir.chdir(olddir) + end + + # Split a file path into individual directory names. + # + # For example: + # split_all("a/b/c") => ['a', 'b', 'c'] + def split_all(path) + head, tail = File.split(path) + return [tail] if head == '.' || tail == '/' + return [head, tail] if head == '/' + return split_all(head) + [tail] + end + + # Write a message to standard out if $verbose is enabled. + def log(msg) + print " " if $trace && $verbose + puts msg if $verbose + end + + # Perform a block with $verbose disabled. + def quiet(&block) + with_verbose(false, &block) + end + + # Perform a block with $verbose enabled. + def verbose(&block) + with_verbose(true, &block) + end + + # Perform a block with each file matching a set of wildcards. + def for_files(*wildcards) + wildcards.each do |wildcard| + Dir[wildcard].each do |fn| + yield(fn) + end + end + end + + extend(self) + + private # ---------------------------------------------------------- + + def for_matching_files(wildcard, dest_dir) + Dir[wildcard].each do |fn| + dest_file = File.join(dest_dir, fn) + parent = File.dirname(dest_file) + makedirs(parent) if ! File.directory?(parent) + yield(fn, dest_file) + end + end + + def with_verbose(v) + oldverbose = $verbose + $verbose = v + yield + ensure + $verbose = oldverbose + end + +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/gempackagetask.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/gempackagetask.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/gempackagetask.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/gempackagetask.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,97 @@ +#!/usr/bin/env ruby + +# Define a package task library to aid in the definition of GEM +# packages. + +require 'rubygems' +require 'rake' +require 'rake/packagetask' +require 'rubygems/user_interaction' +require 'rubygems/builder' + +module Rake + + # Create a package based upon a Gem spec. Gem packages, as well as + # zip files and tar/gzipped packages can be produced by this task. + # + # In addition to the Rake targets generated by PackageTask, a + # GemPackageTask will also generate the following tasks: + # + # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.gem"</b>] + # Create a Ruby GEM package with the given name and version. + # + # Example using a Ruby GEM spec: + # + # require 'rubygems' + # + # spec = Gem::Specification.new do |s| + # s.platform = Gem::Platform::RUBY + # s.summary = "Ruby based make-like utility." + # s.name = 'rake' + # s.version = PKG_VERSION + # s.requirements << 'none' + # s.require_path = 'lib' + # s.autorequire = 'rake' + # s.files = PKG_FILES + # s.description = <<EOF + # Rake is a Make-like program implemented in Ruby. Tasks + # and dependencies are specified in standard Ruby syntax. + # EOF + # end + # + # Rake::GemPackageTask.new(spec) do |pkg| + # pkg.need_zip = true + # pkg.need_tar = true + # end + # + class GemPackageTask < PackageTask + # Ruby GEM spec containing the metadata for this package. The + # name, version and package_files are automatically determined + # from the GEM spec and don't need to be explicitly provided. + attr_accessor :gem_spec + + # Create a GEM Package task library. Automatically define the gem + # if a block is given. If no block is supplied, then +define+ + # needs to be called to define the task. + def initialize(gem_spec) + init(gem_spec) + yield self if block_given? + define if block_given? + end + + # Initialization tasks without the "yield self" or define + # operations. + def init(gem) + super(gem.name, gem.version) + @gem_spec = gem + @package_files += gem_spec.files if gem_spec.files + end + + # Create the Rake tasks and actions specified by this + # GemPackageTask. (+define+ is automatically called if a block is + # given to +new+). + def define + super + task :package => [:gem] + desc "Build the gem file #{gem_file}" + task :gem => ["#{package_dir}/#{gem_file}"] + file "#{package_dir}/#{gem_file}" => [package_dir] + @gem_spec.files do + when_writing("Creating GEM") { + Gem::Builder.new(gem_spec).build + verbose(true) { + mv gem_file, "#{package_dir}/#{gem_file}" + } + } + end + end + + def gem_file + if @gem_spec.platform == Gem::Platform::RUBY + "#{package_name}.gem" + else + "#{package_name}-#{@gem_spec.platform}.gem" + end + end + + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/loaders/makefile.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/loaders/makefile.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/loaders/makefile.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/loaders/makefile.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,42 @@ +#!/usr/bin/env ruby + +module Rake + + # Makefile loader to be used with the import file loader. + class MakefileLoader + SPACE_MARK = "__&NBSP;__" + + # Load the makefile dependencies in +fn+. + def load(fn) + open(fn) do |mf| + lines = mf.read + lines.gsub!(/\\ /, SPACE_MARK) + lines.gsub!(/#[^\n]*\n/m, "") + lines.gsub!(/\\\n/, ' ') + lines.split("\n").each do |line| + process_line(line) + end + end + end + + private + + # Process one logical line of makefile data. + def process_line(line) + file_tasks, args = line.split(':') + return if args.nil? + dependents = args.split.map { |d| respace(d) } + file_tasks.strip.split.each do |file_task| + file_task = respace(file_task) + file file_task => dependents + end + end + + def respace(str) + str.gsub(/#{SPACE_MARK}/, ' ') + end + end + + # Install the handler + Rake.application.add_loader('mf', MakefileLoader.new) +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/packagetask.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/packagetask.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/packagetask.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/packagetask.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,184 @@ +#!/usr/bin/env ruby + +# Define a package task libarary to aid in the definition of +# redistributable package files. + +require 'rake' +require 'rake/tasklib' + +module Rake + + # Create a packaging task that will package the project into + # distributable files (e.g zip archive or tar files). + # + # The PackageTask will create the following targets: + # + # [<b>:package</b>] + # Create all the requested package files. + # + # [<b>:clobber_package</b>] + # Delete all the package files. This target is automatically + # added to the main clobber target. + # + # [<b>:repackage</b>] + # Rebuild the package files from scratch, even if they are not out + # of date. + # + # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tgz"</b>] + # Create a gzipped tar package (if <em>need_tar</em> is true). + # + # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.gz"</b>] + # Create a gzipped tar package (if <em>need_tar_gz</em> is true). + # + # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.bz2"</b>] + # Create a bzip2'd tar package (if <em>need_tar_bz2</em> is true). + # + # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.zip"</b>] + # Create a zip package archive (if <em>need_zip</em> is true). + # + # Example: + # + # Rake::PackageTask.new("rake", "1.2.3") do |p| + # p.need_tar = true + # p.package_files.include("lib/**/*.rb") + # end + # + class PackageTask < TaskLib + # Name of the package (from the GEM Spec). + attr_accessor :name + + # Version of the package (e.g. '1.3.2'). + attr_accessor :version + + # Directory used to store the package files (default is 'pkg'). + attr_accessor :package_dir + + # True if a gzipped tar file (tgz) should be produced (default is false). + attr_accessor :need_tar + + # True if a gzipped tar file (tar.gz) should be produced (default is false). + attr_accessor :need_tar_gz + + # True if a bzip2'd tar file (tar.bz2) should be produced (default is false). + attr_accessor :need_tar_bz2 + + # True if a zip file should be produced (default is false) + attr_accessor :need_zip + + # List of files to be included in the package. + attr_accessor :package_files + + # Tar command for gzipped or bzip2ed archives. The default is 'tar'. + attr_accessor :tar_command + + # Zip command for zipped archives. The default is 'zip'. + attr_accessor :zip_command + + # Create a Package Task with the given name and version. + def initialize(name=nil, version=nil) + init(name, version) + yield self if block_given? + define unless name.nil? + end + + # Initialization that bypasses the "yield self" and "define" step. + def init(name, version) + @name = name + @version = version + @package_files = Rake::FileList.new + @package_dir = 'pkg' + @need_tar = false + @need_tar_gz = false + @need_tar_bz2 = false + @need_zip = false + @tar_command = 'tar' + @zip_command = 'zip' + end + + # Create the tasks defined by this task library. + def define + fail "Version required (or :noversion)" if @version.nil? + @version = nil if :noversion == @version + + desc "Build all the packages" + task :package + + desc "Force a rebuild of the package files" + task :repackage => [:clobber_package, :package] + + desc "Remove package products" + task :clobber_package do + rm_r package_dir rescue nil + end + + task :clobber => [:clobber_package] + + [ + [need_tar, tgz_file, "z"], + [need_tar_gz, tar_gz_file, "z"], + [need_tar_bz2, tar_bz2_file, "j"] + ].each do |(need, file, flag)| + if need + task :package => ["#{package_dir}/#{file}"] + file "#{package_dir}/#{file}" => [package_dir_path] + package_files do + chdir(package_dir) do + sh %{#{@tar_command} #{flag}cvf #{file} #{package_name}} + end + end + end + end + + if need_zip + task :package => ["#{package_dir}/#{zip_file}"] + file "#{package_dir}/#{zip_file}" => [package_dir_path] + package_files do + chdir(package_dir) do + sh %{#{@zip_command} -r #{zip_file} #{package_name}} + end + end + end + + directory package_dir + + file package_dir_path => @package_files do + mkdir_p package_dir rescue nil + @package_files.each do |fn| + f = File.join(package_dir_path, fn) + fdir = File.dirname(f) + mkdir_p(fdir) if !File.exist?(fdir) + if File.directory?(fn) + mkdir_p(f) + else + rm_f f + safe_ln(fn, f) + end + end + end + self + end + + def package_name + @version ? "#{@name}-#{@version}" : @name + end + + def package_dir_path + "#{package_dir}/#{package_name}" + end + + def tgz_file + "#{package_name}.tgz" + end + + def tar_gz_file + "#{package_name}.tar.gz" + end + + def tar_bz2_file + "#{package_name}.tar.bz2" + end + + def zip_file + "#{package_name}.zip" + end + end + +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/parallel.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/parallel.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/parallel.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/parallel.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,141 @@ +# +# Parallel task execution for Rake. +# +# The comp_tree package is used to create a computation tree which +# executes Rake tasks. +# +# Tasks are first collected with a single-threaded dry run. This +# expands file rules, resolves prequisite names and finds task +# arguments. A computation tree is then built with the gathered +# tasks. +# +# Note that prerequisites are context-dependent; it is therefore not +# possible to create a 1-to-1 mapping between Rake::Tasks and +# CompTree::Nodes. +# +# Author: James M. Lawrence <quixoticsycophant@gmail.com> +# + +require 'comp_tree' + +module Rake + module Parallel #:nodoc: + class Driver + # Tasks collected during the dry-run phase. + attr_reader :tasks + + # Prevent invoke inside invoke. + attr_reader :mutex + + def initialize + @tasks = Hash.new + @mutex = Mutex.new + end + + # + # Top-level parallel invocation. + # + # Called from Task#invoke (routed through Task#invoke_parallel). + # + def invoke(threads, task, *task_args) + if @mutex.try_lock + begin + @tasks.clear + + # dry run task collector + task.invoke_serial(*task_args) + + if @tasks.has_key? task + # hand it off to comp_tree + compute(task, threads) + end + ensure + @mutex.unlock + end + else + raise InvokeInsideInvoke + end + end + + # + # Build and run the computation tree. + # + # Called from Parallel::Driver#invoke. + # + def compute(root_task, threads) + CompTree.build do |driver| + # keep this around for optimization + needed_prereq_names = Array.new + + @tasks.each_pair do |task, (task_args, prereqs)| + # if a prereq is not needed then it didn't get into @tasks + needed_prereq_names.clear + prereqs.each do |prereq| + needed_prereq_names << prereq.name if @tasks.has_key? prereq + end + + # define a computation node which executes the task + driver.define(task.name, *needed_prereq_names) { + task.execute(task_args) + } + end + + # punch it + driver.compute(root_task.name, threads) + end + end + end + + module ApplicationMixin + def parallel + @parallel ||= Driver.new + end + end + + module TaskMixin + # + # Top-level parallel invocation. + # + # Called from Task#invoke. + # + def invoke_parallel(*task_args) + application.parallel.invoke(application.options.threads, self, *task_args) + end + + # + # Collect tasks for parallel execution. + # + # Called from Task#invoke_with_call_chain. + # + def invoke_with_call_chain_collector(task_args, new_chain, previous_chain) + prereqs = invoke_prerequisites_collector(task_args, new_chain) + parallel = application.parallel + if needed? or prereqs.any? { |p| parallel.tasks[p] } + parallel.tasks[self] = [task_args, prereqs] + end + end + + # + # Dry-run invoke prereqs and return the prereq instances. + # This also serves to avoid MultiTask#invoke_prerequisites. + # + # Called from Task#invoke_with_call_chain_collector. + # + def invoke_prerequisites_collector(task_args, invocation_chain) + @prerequisites.map { |n| + invoke_prerequisite(n, task_args, invocation_chain) + } + end + end + end + + # + # Error indicating Task#invoke was called inside Task#invoke + # during parallel execution. + # + class InvokeInsideInvoke < StandardError + def message + "Cannot call Task#invoke within a task during parallel execution." + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rake_test_loader.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rake_test_loader.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rake_test_loader.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rake_test_loader.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,5 @@ +#!/usr/bin/env ruby + +# Load the test files from the command line. + +ARGV.each { |f| load f unless f =~ /^-/ } diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rdoctask.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rdoctask.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rdoctask.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/rdoctask.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,209 @@ +#!/usr/bin/env ruby + +require 'rake' +require 'rake/tasklib' + +module Rake + + # Create a documentation task that will generate the RDoc files for + # a project. + # + # The RDocTask will create the following targets: + # + # [<b><em>rdoc</em></b>] + # Main task for this RDOC task. + # + # [<b>:clobber_<em>rdoc</em></b>] + # Delete all the rdoc files. This target is automatically + # added to the main clobber target. + # + # [<b>:re<em>rdoc</em></b>] + # Rebuild the rdoc files from scratch, even if they are not out + # of date. + # + # Simple Example: + # + # Rake::RDocTask.new do |rd| + # rd.main = "README.rdoc" + # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb") + # end + # + # The +rd+ object passed to the block is an RDocTask object. See the + # attributes list for the RDocTask class for available customization options. + # + # == Specifying different task names + # + # You may wish to give the task a different name, such as if you are + # generating two sets of documentation. For instance, if you want to have a + # development set of documentation including private methods: + # + # Rake::RDocTask.new(:rdoc_dev) do |rd| + # rd.main = "README.doc" + # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb") + # rd.options << "--all" + # end + # + # The tasks would then be named :<em>rdoc_dev</em>, :clobber_<em>rdoc_dev</em>, and + # :re<em>rdoc_dev</em>. + # + # If you wish to have completely different task names, then pass a Hash as + # first argument. With the <tt>:rdoc</tt>, <tt>:clobber_rdoc</tt> and + # <tt>:rerdoc</tt> options, you can customize the task names to your liking. + # For example: + # + # Rake::RDocTask.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean", :rerdoc => "rdoc:force") + # + # This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc_clean</tt> and + # <tt>:rdoc:force</tt>. + # + class RDocTask < TaskLib + # Name of the main, top level task. (default is :rdoc) + attr_accessor :name + + # Name of directory to receive the html output files. (default is "html") + attr_accessor :rdoc_dir + + # Title of RDoc documentation. (defaults to rdoc's default) + attr_accessor :title + + # Name of file to be used as the main, top level file of the + # RDoc. (default is none) + attr_accessor :main + + # Name of template to be used by rdoc. (defaults to rdoc's default) + attr_accessor :template + + # List of files to be included in the rdoc generation. (default is []) + attr_accessor :rdoc_files + + # Additional list of options to be passed rdoc. (default is []) + attr_accessor :options + + # Whether to run the rdoc process as an external shell (default is false) + attr_accessor :external + + attr_accessor :inline_source + + # Create an RDoc task with the given name. See the RDocTask class overview + # for documentation. + def initialize(name = :rdoc) # :yield: self + if name.is_a?(Hash) + invalid_options = name.keys.map { |k| k.to_sym } - [:rdoc, :clobber_rdoc, :rerdoc] + if !invalid_options.empty? + raise ArgumentError, "Invalid option(s) passed to RDocTask.new: #{invalid_options.join(", ")}" + end + end + + @name = name + @rdoc_files = Rake::FileList.new + @rdoc_dir = 'html' + @main = nil + @title = nil + @template = nil + @external = false + @inline_source = true + @options = [] + yield self if block_given? + define + end + + # Create the tasks defined by this task lib. + def define + if rdoc_task_name != "rdoc" + desc "Build the RDOC HTML Files" + else + desc "Build the #{rdoc_task_name} HTML Files" + end + task rdoc_task_name + + desc "Force a rebuild of the RDOC files" + task rerdoc_task_name => [clobber_task_name, rdoc_task_name] + + desc "Remove rdoc products" + task clobber_task_name do + rm_r rdoc_dir rescue nil + end + + task :clobber => [clobber_task_name] + + directory @rdoc_dir + task rdoc_task_name => [rdoc_target] + file rdoc_target => @rdoc_files + [Rake.application.rakefile] do + rm_r @rdoc_dir rescue nil + @before_running_rdoc.call if @before_running_rdoc + args = option_list + @rdoc_files + if @external + argstring = args.join(' ') + sh %{ruby -Ivendor vendor/rd #{argstring}} + else + require 'rdoc/rdoc' + RDoc::RDoc.new.document(args) + end + end + self + end + + def option_list + result = @options.dup + result << "-o" << @rdoc_dir + result << "--main" << quote(main) if main + result << "--title" << quote(title) if title + result << "-T" << quote(template) if template + result << "--inline-source" if inline_source && !@options.include?("--inline-source") && !@options.include?("-S") + result + end + + def quote(str) + if @external + "'#{str}'" + else + str + end + end + + def option_string + option_list.join(' ') + end + + # The block passed to this method will be called just before running the + # RDoc generator. It is allowed to modify RDocTask attributes inside the + # block. + def before_running_rdoc(&block) + @before_running_rdoc = block + end + + private + + def rdoc_target + "#{rdoc_dir}/index.html" + end + + def rdoc_task_name + case name + when Hash + (name[:rdoc] || "rdoc").to_s + else + name.to_s + end + end + + def clobber_task_name + case name + when Hash + (name[:clobber_rdoc] || "clobber_rdoc").to_s + else + "clobber_#{name}" + end + end + + def rerdoc_task_name + case name + when Hash + (name[:rerdoc] || "rerdoc").to_s + else + "re#{name}" + end + end + + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/ruby182_test_unit_fix.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/ruby182_test_unit_fix.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/ruby182_test_unit_fix.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/ruby182_test_unit_fix.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,23 @@ +module Test + module Unit + module Collector + class Dir + undef collect_file + def collect_file(name, suites, already_gathered) + # loadpath = $:.dup + dir = File.dirname(File.expand_path(name)) + $:.unshift(dir) unless $:.first == dir + if(@req) + @req.require(name) + else + require(name) + end + find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)} + ensure + # $:.replace(loadpath) + $:.delete_at $:.rindex(dir) + end + end + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/runtest.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/runtest.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/runtest.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/runtest.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require 'test/unit' +require 'test/unit/assertions' + +module Rake + include Test::Unit::Assertions + + def run_tests(pattern='test/test*.rb', log_enabled=false) + Dir["#{pattern}"].each { |fn| + puts fn if log_enabled + begin + load fn + rescue Exception => ex + puts "Error in #{fn}: #{ex.message}" + puts ex.backtrace + assert false + end + } + end + + extend self +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/tasklib.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/tasklib.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/tasklib.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/tasklib.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require 'rake' + +module Rake + + # Base class for Task Libraries. + class TaskLib + include Cloneable + + # Make a symbol by pasting two strings together. + # + # NOTE: DEPRECATED! This method is kinda stupid. I don't know why + # I didn't just use string interpolation. But now other task + # libraries depend on this so I can't remove it without breaking + # other people's code. So for now it stays for backwards + # compatibility. BUT DON'T USE IT. + def paste(a,b) # :nodoc: + (a.to_s + b.to_s).intern + end + end + +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/testtask.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/testtask.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/testtask.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/testtask.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,161 @@ +#!/usr/bin/env ruby + +# Define a task library for running unit tests. + +require 'rake' +require 'rake/tasklib' + +module Rake + + # Create a task that runs a set of tests. + # + # Example: + # + # Rake::TestTask.new do |t| + # t.libs << "test" + # t.test_files = FileList['test/test*.rb'] + # t.verbose = true + # end + # + # If rake is invoked with a "TEST=filename" command line option, + # then the list of test files will be overridden to include only the + # filename specified on the command line. This provides an easy way + # to run just one test. + # + # If rake is invoked with a "TESTOPTS=options" command line option, + # then the given options are passed to the test process after a + # '--'. This allows Test::Unit options to be passed to the test + # suite. + # + # Examples: + # + # rake test # run tests normally + # rake test TEST=just_one_file.rb # run just one test file. + # rake test TESTOPTS="-v" # run in verbose mode + # rake test TESTOPTS="--runner=fox" # use the fox test runner + # + class TestTask < TaskLib + + # Name of test task. (default is :test) + attr_accessor :name + + # List of directories to added to $LOAD_PATH before running the + # tests. (default is 'lib') + attr_accessor :libs + + # True if verbose test output desired. (default is false) + attr_accessor :verbose + + # Test options passed to the test suite. An explicit + # TESTOPTS=opts on the command line will override this. (default + # is NONE) + attr_accessor :options + + # Request that the tests be run with the warning flag set. + # E.g. warning=true implies "ruby -w" used to run the tests. + attr_accessor :warning + + # Glob pattern to match test files. (default is 'test/test*.rb') + attr_accessor :pattern + + # Style of test loader to use. Options are: + # + # * :rake -- Rake provided test loading script (default). + # * :testrb -- Ruby provided test loading script. + # * :direct -- Load tests using command line loader. + # + attr_accessor :loader + + # Array of commandline options to pass to ruby when running test loader. + attr_accessor :ruby_opts + + # Explicitly define the list of test files to be included in a + # test. +list+ is expected to be an array of file names (a + # FileList is acceptable). If both +pattern+ and +test_files+ are + # used, then the list of test files is the union of the two. + def test_files=(list) + @test_files = list + end + + # Create a testing task. + def initialize(name=:test) + @name = name + @libs = ["lib"] + @pattern = nil + @options = nil + @test_files = nil + @verbose = false + @warning = false + @loader = :rake + @ruby_opts = [] + yield self if block_given? + @pattern = 'test/test*.rb' if @pattern.nil? && @test_files.nil? + define + end + + # Create the tasks defined by this task lib. + def define + lib_path = @libs.join(File::PATH_SEPARATOR) + desc "Run tests" + (@name==:test ? "" : " for #{@name}") + task @name do + run_code = '' + RakeFileUtils.verbose(@verbose) do + run_code = + case @loader + when :direct + "-e 'ARGV.each{|f| load f}'" + when :testrb + "-S testrb #{fix}" + when :rake + rake_loader + end + @ruby_opts.unshift( "-I\"#{lib_path}\"" ) + @ruby_opts.unshift( "-w" ) if @warning + ruby @ruby_opts.join(" ") + + " \"#{run_code}\" " + + file_list.collect { |fn| "\"#{fn}\"" }.join(' ') + + " #{option_list}" + end + end + self + end + + def option_list # :nodoc: + ENV['TESTOPTS'] || @options || "" + end + + def file_list # :nodoc: + if ENV['TEST'] + FileList[ ENV['TEST'] ] + else + result = [] + result += @test_files.to_a if @test_files + result += FileList[ @pattern ].to_a if @pattern + FileList[result] + end + end + + def fix # :nodoc: + case RUBY_VERSION + when '1.8.2' + find_file 'rake/ruby182_test_unit_fix' + else + nil + end || '' + end + + def rake_loader # :nodoc: + find_file('rake/rake_test_loader') or + fail "unable to find rake test loader" + end + + def find_file(fn) # :nodoc: + $LOAD_PATH.each do |path| + file_path = File.join(path, "#{fn}.rb") + return file_path if File.exist? file_path + end + nil + end + + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/win32.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/win32.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/win32.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake/win32.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,55 @@ + +module Rake + require 'rake/alt_system' + + # Win 32 interface methods for Rake. Windows specific functionality + # will be placed here to collect that knowledge in one spot. + module Win32 + + # Error indicating a problem in locating the home directory on a + # Win32 system. + class Win32HomeError < RuntimeError + end + + class << self + # True if running on a windows system. + def windows? + AltSystem::WINDOWS + end + + # Run a command line on windows. + def rake_system(*cmd) + AltSystem.system(*cmd) + end + + # The standard directory containing system wide rake files on + # Win 32 systems. Try the following environment variables (in + # order): + # + # * HOME + # * HOMEDRIVE + HOMEPATH + # * APPDATA + # * USERPROFILE + # + # If the above are not defined, the return nil. + def win32_system_dir #:nodoc: + win32_shared_path = ENV['HOME'] + if win32_shared_path.nil? && ENV['HOMEDRIVE'] && ENV['HOMEPATH'] + win32_shared_path = ENV['HOMEDRIVE'] + ENV['HOMEPATH'] + end + + win32_shared_path ||= ENV['APPDATA'] + win32_shared_path ||= ENV['USERPROFILE'] + raise Win32HomeError, "Unable to determine home path environment variable." if + win32_shared_path.nil? or win32_shared_path.empty? + normalize(File.join(win32_shared_path, 'Rake')) + end + + # Normalize a win32 path so that the slashes are all forward slashes. + def normalize(path) + path.gsub(/\\/, '/') + end + + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake.rb mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake.rb --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/lib/rake.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,2563 @@ +#!/usr/bin/env ruby + +#-- + +# Copyright 2003, 2004, 2005, 2006, 2007, 2008 by Jim Weirich (jim@weirichhouse.org) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +#++ +# +# = Rake -- Ruby Make +# +# This is the main file for the Rake application. Normally it is referenced +# as a library via a require statement, but it can be distributed +# independently as an application. + +RAKEVERSION = '0.8.7.0.2.4' + +require 'rbconfig' +require 'fileutils' +require 'singleton' +require 'monitor' +require 'optparse' +require 'ostruct' + +require 'rake/win32' + +$trace = false + +###################################################################### +# Rake extensions to Module. +# +class Module + # Check for an existing method in the current class before extending. IF + # the method already exists, then a warning is printed and the extension is + # not added. Otherwise the block is yielded and any definitions in the + # block will take effect. + # + # Usage: + # + # class String + # rake_extension("xyz") do + # def xyz + # ... + # end + # end + # end + # + def rake_extension(method) + if method_defined?(method) + $stderr.puts "WARNING: Possible conflict with Rake extension: #{self}##{method} already exists" + else + yield + end + end +end # module Module + + +###################################################################### +# User defined methods to be added to String. +# +class String + rake_extension("ext") do + # Replace the file extension with +newext+. If there is no extension on + # the string, append the new extension to the end. If the new extension + # is not given, or is the empty string, remove any existing extension. + # + # +ext+ is a user added method for the String class. + def ext(newext='') + return self.dup if ['.', '..'].include? self + if newext != '' + newext = (newext =~ /^\./) ? newext : ("." + newext) + end + self.chomp(File.extname(self)) << newext + end + end + + rake_extension("pathmap") do + # Explode a path into individual components. Used by +pathmap+. + def pathmap_explode + head, tail = File.split(self) + return [self] if head == self + return [tail] if head == '.' || tail == '/' + return [head, tail] if head == '/' + return head.pathmap_explode + [tail] + end + protected :pathmap_explode + + # Extract a partial path from the path. Include +n+ directories from the + # front end (left hand side) if +n+ is positive. Include |+n+| + # directories from the back end (right hand side) if +n+ is negative. + def pathmap_partial(n) + dirs = File.dirname(self).pathmap_explode + partial_dirs = + if n > 0 + dirs[0...n] + elsif n < 0 + dirs.reverse[0...-n].reverse + else + "." + end + File.join(partial_dirs) + end + protected :pathmap_partial + + # Preform the pathmap replacement operations on the given path. The + # patterns take the form 'pat1,rep1;pat2,rep2...'. + def pathmap_replace(patterns, &block) + result = self + patterns.split(';').each do |pair| + pattern, replacement = pair.split(',') + pattern = Regexp.new(pattern) + if replacement == '*' && block_given? + result = result.sub(pattern, &block) + elsif replacement + result = result.sub(pattern, replacement) + else + result = result.sub(pattern, '') + end + end + result + end + protected :pathmap_replace + + # Map the path according to the given specification. The specification + # controls the details of the mapping. The following special patterns are + # recognized: + # + # * <b>%p</b> -- The complete path. + # * <b>%f</b> -- The base file name of the path, with its file extension, + # but without any directories. + # * <b>%n</b> -- The file name of the path without its file extension. + # * <b>%d</b> -- The directory list of the path. + # * <b>%x</b> -- The file extension of the path. An empty string if there + # is no extension. + # * <b>%X</b> -- Everything *but* the file extension. + # * <b>%s</b> -- The alternate file separater if defined, otherwise use + # the standard file separator. + # * <b>%%</b> -- A percent sign. + # + # The %d specifier can also have a numeric prefix (e.g. '%2d'). If the + # number is positive, only return (up to) +n+ directories in the path, + # starting from the left hand side. If +n+ is negative, return (up to) + # |+n+| directories from the right hand side of the path. + # + # Examples: + # + # 'a/b/c/d/file.txt'.pathmap("%2d") => 'a/b' + # 'a/b/c/d/file.txt'.pathmap("%-2d") => 'c/d' + # + # Also the %d, %p, %f, %n, %x, and %X operators can take a + # pattern/replacement argument to perform simple string substititions on a + # particular part of the path. The pattern and replacement are speparated + # by a comma and are enclosed by curly braces. The replacement spec comes + # after the % character but before the operator letter. (e.g. + # "%{old,new}d"). Muliple replacement specs should be separated by + # semi-colons (e.g. "%{old,new;src,bin}d"). + # + # Regular expressions may be used for the pattern, and back refs may be + # used in the replacement text. Curly braces, commas and semi-colons are + # excluded from both the pattern and replacement text (let's keep parsing + # reasonable). + # + # For example: + # + # "src/org/onestepback/proj/A.java".pathmap("%{^src,bin}X.class") + # + # returns: + # + # "bin/org/onestepback/proj/A.class" + # + # If the replacement text is '*', then a block may be provided to perform + # some arbitrary calculation for the replacement. + # + # For example: + # + # "/path/to/file.TXT".pathmap("%X%{.*,*}x") { |ext| + # ext.downcase + # } + # + # Returns: + # + # "/path/to/file.txt" + # + def pathmap(spec=nil, &block) + return self if spec.nil? + result = '' + spec.scan(/%\{[^}]*\}-?\d*[sdpfnxX%]|%-?\d+d|%.|[^%]+/) do |frag| + case frag + when '%f' + result << File.basename(self) + when '%n' + result << File.basename(self).ext + when '%d' + result << File.dirname(self) + when '%x' + result << File.extname(self) + when '%X' + result << self.ext + when '%p' + result << self + when '%s' + result << (File::ALT_SEPARATOR || File::SEPARATOR) + when '%-' + # do nothing + when '%%' + result << "%" + when /%(-?\d+)d/ + result << pathmap_partial($1.to_i) + when /^%\{([^}]*)\}(\d*[dpfnxX])/ + patterns, operator = $1, $2 + result << pathmap('%' + operator).pathmap_replace(patterns, &block) + when /^%/ + fail ArgumentError, "Unknown pathmap specifier #{frag} in '#{spec}'" + else + result << frag + end + end + result + end + end +end # class String + +############################################################################## +module Rake + + # Errors ----------------------------------------------------------- + + # Error indicating an ill-formed task declaration. + class TaskArgumentError < ArgumentError + end + + # Error indicating a recursion overflow error in task selection. + class RuleRecursionOverflowError < StandardError + def initialize(*args) + super + @targets = [] + end + + def add_target(target) + @targets << target + end + + def message + super + ": [" + @targets.reverse.join(' => ') + "]" + end + end + + # -------------------------------------------------------------------------- + # Rake module singleton methods. + # + class << self + # Current Rake Application + def application + @application ||= Rake::Application.new + end + + # Set the current Rake application object. + def application=(app) + @application = app + end + + # Return the original directory where the Rake application was started. + def original_dir + application.original_dir + end + + end + + #################################################################### + # Mixin for creating easily cloned objects. + # + module Cloneable + # Clone an object by making a new object and setting all the instance + # variables to the same values. + def dup + sibling = self.class.new + instance_variables.each do |ivar| + value = self.instance_variable_get(ivar) + new_value = value.clone rescue value + sibling.instance_variable_set(ivar, new_value) + end + sibling.taint if tainted? + sibling + end + + def clone + sibling = dup + sibling.freeze if frozen? + sibling + end + end + + #################################################################### + # Exit status class for times the system just gives us a nil. + class PseudoStatus + attr_reader :exitstatus + def initialize(code=0) + @exitstatus = code + end + def to_i + @exitstatus << 8 + end + def >>(n) + to_i >> n + end + def stopped? + false + end + def exited? + true + end + end + + #################################################################### + # TaskAguments manage the arguments passed to a task. + # + class TaskArguments + include Enumerable + + attr_reader :names + + # Create a TaskArgument object with a list of named arguments + # (given by :names) and a set of associated values (given by + # :values). :parent is the parent argument object. + def initialize(names, values, parent=nil) + @names = names + @parent = parent + @hash = {} + names.each_with_index { |name, i| + @hash[name.to_sym] = values[i] unless values[i].nil? + } + end + + # Create a new argument scope using the prerequisite argument + # names. + def new_scope(names) + values = names.collect { |n| self[n] } + self.class.new(names, values, self) + end + + # Find an argument value by name or index. + def [](index) + lookup(index.to_sym) + end + + # Specify a hash of default values for task arguments. Use the + # defaults only if there is no specific value for the given + # argument. + def with_defaults(defaults) + @hash = defaults.merge(@hash) + end + + def each(&block) + @hash.each(&block) + end + + def method_missing(sym, *args, &block) + lookup(sym.to_sym) + end + + def to_hash + @hash + end + + def to_s + @hash.inspect + end + + def inspect + to_s + end + + protected + + def lookup(name) + if @hash.has_key?(name) + @hash[name] + elsif ENV.has_key?(name.to_s) + ENV[name.to_s] + elsif ENV.has_key?(name.to_s.upcase) + ENV[name.to_s.upcase] + elsif @parent + @parent.lookup(name) + end + end + end + + EMPTY_TASK_ARGS = TaskArguments.new([], []) + + #################################################################### + # InvocationChain tracks the chain of task invocations to detect + # circular dependencies. + class InvocationChain + attr_reader :value # :nodoc: + + def initialize(value, tail) + @value = value + @tail = tail + end + + def member?(obj) + @value == obj || @tail.member?(obj) + end + + def append(value) + if member?(value) + fail RuntimeError, "Circular dependency detected: #{to_s} => #{value}" + end + self.class.new(value, self) + end + + def to_s + "#{prefix}#{@value}" + end + + def self.append(value, chain) + chain.append(value) + end + + private + + def prefix + "#{@tail.to_s} => " + end + + class EmptyInvocationChain + def member?(obj) + false + end + def append(value) + InvocationChain.new(value, self) + end + def to_s + "TOP" + end + end + + EMPTY = EmptyInvocationChain.new + + end # class InvocationChain + +end # module Rake + +module Rake + + ########################################################################### + # A Task is the basic unit of work in a Rakefile. Tasks have associated + # actions (possibly more than one) and a list of prerequisites. When + # invoked, a task will first ensure that all of its prerequisites have an + # opportunity to run and then it will execute its own actions. + # + # Tasks are not usually created directly using the new method, but rather + # use the +file+ and +task+ convenience methods. + # + class Task + # List of prerequisites for a task. + attr_reader :prerequisites + + # List of actions attached to a task. + attr_reader :actions + + # Application owning this task. + attr_accessor :application + + # Comment for this task. Restricted to a single line of no more than 50 + # characters. + attr_reader :comment + + # Full text of the (possibly multi-line) comment. + attr_reader :full_comment + + # Array of nested namespaces names used for task lookup by this task. + attr_reader :scope + + # Return task name + def to_s + name + end + + def inspect + "<#{self.class} #{name} => [#{prerequisites.join(', ')}]>" + end + + # List of sources for task. + attr_writer :sources + def sources + @sources ||= [] + end + + # First source from a rule (nil if no sources) + def source + @sources.first if defined?(@sources) + end + + # Create a task named +task_name+ with no actions or prerequisites. Use + # +enhance+ to add actions and prerequisites. + def initialize(task_name, app) + @name = task_name.to_s + @prerequisites = [] + @actions = [] + @already_invoked = false + @full_comment = nil + @comment = nil + @lock = Monitor.new + @application = app + @scope = app.current_scope + @arg_names = nil + end + + # Enhance a task with prerequisites or actions. Returns self. + def enhance(deps=nil, &block) + @prerequisites |= deps if deps + @actions << block if block_given? + self + end + + # Name of the task, including any namespace qualifiers. + def name + @name.to_s + end + + # Name of task with argument list description. + def name_with_args # :nodoc: + if arg_description + "#{name}#{arg_description}" + else + name + end + end + + # Argument description (nil if none). + def arg_description # :nodoc: + @arg_names ? "[#{(arg_names || []).join(',')}]" : nil + end + + # Name of arguments for this task. + def arg_names + @arg_names || [] + end + + # Reenable the task, allowing its tasks to be executed if the task + # is invoked again. + def reenable + @already_invoked = false + end + + # Clear the existing prerequisites and actions of a rake task. + def clear + clear_prerequisites + clear_actions + self + end + + # Clear the existing prerequisites of a rake task. + def clear_prerequisites + prerequisites.clear + self + end + + # Clear the existing actions on a rake task. + def clear_actions + actions.clear + self + end + + def invoke_serial(*args) # :nodoc: + task_args = TaskArguments.new(arg_names, args) + invoke_with_call_chain(task_args, InvocationChain::EMPTY) + end + + # Invoke the task if it is needed. Prerequites are invoked first. + def invoke(*args) + if application.options.threads == 1 + invoke_serial(*args) + else + invoke_parallel(*args) + end + end + + # Same as invoke, but explicitly pass a call chain to detect + # circular dependencies. + def invoke_with_call_chain(task_args, invocation_chain) # :nodoc: + new_chain = InvocationChain.append(self, invocation_chain) + if application.options.threads == 1 + @lock.synchronize do + return unless prepare_invoke + invoke_prerequisites(task_args, new_chain) + execute(task_args) if needed? + end + else + return unless prepare_invoke + invoke_with_call_chain_collector(task_args, new_chain, invocation_chain) + end + end + protected :invoke_with_call_chain + + def prepare_invoke # :nodoc: + if application.options.randomize + @prerequisites = @prerequisites.sort_by { rand } + end + if application.options.trace + puts "** Invoke #{name} #{format_trace_flags}" + end + return if @already_invoked + @already_invoked = true + end + + # Invoke all the prerequisites of a task. + def invoke_prerequisites(task_args, invocation_chain) # :nodoc: + @prerequisites.each { |n| + invoke_prerequisite(n, task_args, invocation_chain) + } + end + + def invoke_prerequisite(prereq_name, task_args, invocation_chain) #:nodoc: + prereq = application[prereq_name, @scope] + prereq_args = task_args.new_scope(prereq.arg_names) + prereq.invoke_with_call_chain(prereq_args, invocation_chain) + prereq + end + + # Format the trace flags for display. + def format_trace_flags + flags = [] + flags << "first_time" unless @already_invoked + flags << "not_needed" unless needed? + flags.empty? ? "" : "(" + flags.join(", ") + ")" + end + private :format_trace_flags + + # Execute the actions associated with this task. + def execute(args=nil) + args ||= EMPTY_TASK_ARGS + if application.options.dryrun + puts "** Execute (dry run) #{name}" + return + end + if application.options.trace + puts "** Execute #{name}" + end + application.enhance_with_matching_rule(name) if @actions.empty? + @actions.each do |act| + case act.arity + when 1 + act.call(self) + else + act.call(self, args) + end + end + end + + # Is this task needed? + def needed? + true + end + + # Timestamp for this task. Basic tasks return the current time for their + # time stamp. Other tasks can be more sophisticated. + def timestamp + @prerequisites.collect { |p| application[p].timestamp }.max || Time.now + end + + # Add a description to the task. The description can consist of an option + # argument list (enclosed brackets) and an optional comment. + def add_description(description) + return if ! description + comment = description.strip + add_comment(comment) if comment && ! comment.empty? + end + + # Writing to the comment attribute is the same as adding a description. + def comment=(description) + add_description(description) + end + + # Add a comment to the task. If a comment alread exists, separate + # the new comment with " / ". + def add_comment(comment) + if @full_comment + @full_comment << " / " + else + @full_comment = '' + end + @full_comment << comment + if @full_comment =~ /\A([^.]+?\.)( |$)/ + @comment = $1 + else + @comment = @full_comment + end + end + private :add_comment + + # Set the names of the arguments for this task. +args+ should be + # an array of symbols, one for each argument name. + def set_arg_names(args) + @arg_names = args.map { |a| a.to_sym } + end + + # Return a string describing the internal state of a task. Useful for + # debugging. + def investigation + result = "------------------------------\n" + result << "Investigating #{name}\n" + result << "class: #{self.class}\n" + result << "task needed: #{needed?}\n" + result << "timestamp: #{timestamp}\n" + result << "pre-requisites: \n" + prereqs = @prerequisites.collect {|name| application[name]} + prereqs.sort! {|a,b| a.timestamp <=> b.timestamp} + prereqs.each do |p| + result << "--#{p.name} (#{p.timestamp})\n" + end + latest_prereq = @prerequisites.collect{|n| application[n].timestamp}.max + result << "latest-prerequisite time: #{latest_prereq}\n" + result << "................................\n\n" + return result + end + + # ---------------------------------------------------------------- + # Rake Module Methods + # + class << self + + # Clear the task list. This cause rake to immediately forget all the + # tasks that have been assigned. (Normally used in the unit tests.) + def clear + Rake.application.clear + end + + # List of all defined tasks. + def tasks + Rake.application.tasks + end + + # Return a task with the given name. If the task is not currently + # known, try to synthesize one from the defined rules. If no rules are + # found, but an existing file matches the task name, assume it is a file + # task with no dependencies or actions. + def [](task_name) + Rake.application[task_name] + end + + # TRUE if the task name is already defined. + def task_defined?(task_name) + Rake.application.lookup(task_name) != nil + end + + # Define a task given +args+ and an option block. If a rule with the + # given name already exists, the prerequisites and actions are added to + # the existing task. Returns the defined task. + def define_task(*args, &block) + Rake.application.define_task(self, *args, &block) + end + + # Define a rule for synthesizing tasks. + def create_rule(*args, &block) + Rake.application.create_rule(*args, &block) + end + + # Apply the scope to the task name according to the rules for + # this kind of task. Generic tasks will accept the scope as + # part of the name. + def scope_name(scope, task_name) + (scope + [task_name]).join(':') + end + + end # class << Rake::Task + end # class Rake::Task + + + ########################################################################### + # A FileTask is a task that includes time based dependencies. If any of a + # FileTask's prerequisites have a timestamp that is later than the file + # represented by this task, then the file must be rebuilt (using the + # supplied actions). + # + class FileTask < Task + + # Is this file task needed? Yes if it doesn't exist, or if its time stamp + # is out of date. + def needed? + ! File.exist?(name) || out_of_date?(timestamp) + end + + # Time stamp for file task. + def timestamp + if File.exist?(name) + File.mtime(name.to_s) + else + Rake::EARLY + end + end + + private + + # Are there any prerequisites with a later time than the given time stamp? + def out_of_date?(stamp) + @prerequisites.any? { |n| application[n].timestamp > stamp} + end + + # ---------------------------------------------------------------- + # Task class methods. + # + class << self + # Apply the scope to the task name according to the rules for this kind + # of task. File based tasks ignore the scope when creating the name. + def scope_name(scope, task_name) + task_name + end + end + end # class Rake::FileTask + + ########################################################################### + # A FileCreationTask is a file task that when used as a dependency will be + # needed if and only if the file has not been created. Once created, it is + # not re-triggered if any of its dependencies are newer, nor does trigger + # any rebuilds of tasks that depend on it whenever it is updated. + # + class FileCreationTask < FileTask + # Is this file task needed? Yes if it doesn't exist. + def needed? + ! File.exist?(name) + end + + # Time stamp for file creation task. This time stamp is earlier + # than any other time stamp. + def timestamp + Rake::EARLY + end + end + + ########################################################################### + # Same as a regular task, but the immediate prerequisites are done in + # parallel using Ruby threads. + # + class MultiTask < Task + private + def invoke_prerequisites(args, invocation_chain) + threads = @prerequisites.collect { |p| + Thread.new(p) { |r| application[r].invoke_with_call_chain(args, invocation_chain) } + } + threads.each { |t| t.join } + end + end +end # module Rake + +## ########################################################################### +# Task Definition Functions ... + +# Declare a basic task. +# +# Example: +# task :clobber => [:clean] do +# rm_rf "html" +# end +# +def task(*args, &block) + Rake::Task.define_task(*args, &block) +end + + +# Declare a file task. +# +# Example: +# file "config.cfg" => ["config.template"] do +# open("config.cfg", "w") do |outfile| +# open("config.template") do |infile| +# while line = infile.gets +# outfile.puts line +# end +# end +# end +# end +# +def file(*args, &block) + Rake::FileTask.define_task(*args, &block) +end + +# Declare a file creation task. +# (Mainly used for the directory command). +def file_create(args, &block) + Rake::FileCreationTask.define_task(args, &block) +end + +# Declare a set of files tasks to create the given directories on demand. +# +# Example: +# directory "testdata/doc" +# +def directory(dir) + Rake.each_dir_parent(dir) do |d| + file_create d do |t| + mkdir_p t.name if ! File.exist?(t.name) + end + end +end + +# Declare a task that performs its prerequisites in parallel. Multitasks does +# *not* guarantee that its prerequisites will execute in any given order +# (which is obvious when you think about it) +# +# Example: +# multitask :deploy => [:deploy_gem, :deploy_rdoc] +# +def multitask(args, &block) + Rake::MultiTask.define_task(args, &block) +end + +# Create a new rake namespace and use it for evaluating the given block. +# Returns a NameSpace object that can be used to lookup tasks defined in the +# namespace. +# +# E.g. +# +# ns = namespace "nested" do +# task :run +# end +# task_run = ns[:run] # find :run in the given namespace. +# +def namespace(name=nil, &block) + Rake.application.in_namespace(name, &block) +end + +# Declare a rule for auto-tasks. +# +# Example: +# rule '.o' => '.c' do |t| +# sh %{cc -o #{t.name} #{t.source}} +# end +# +def rule(*args, &block) + Rake::Task.create_rule(*args, &block) +end + +# Describe the next rake task. +# +# Example: +# desc "Run the Unit Tests" +# task :test => [:build] +# runtests +# end +# +def desc(description) + Rake.application.last_description = description +end + +# Import the partial Rakefiles +fn+. Imported files are loaded _after_ the +# current file is completely loaded. This allows the import statement to +# appear anywhere in the importing file, and yet allowing the imported files +# to depend on objects defined in the importing file. +# +# A common use of the import statement is to include files containing +# dependency declarations. +# +# See also the --rakelibdir command line option. +# +# Example: +# import ".depend", "my_rules" +# +def import(*fns) + fns.each do |fn| + Rake.application.add_import(fn) + end +end + +############################################################################# +# This a FileUtils extension that defines several additional commands to be +# added to the FileUtils utility functions. +# +module FileUtils + RUBY_EXT = ((Config::CONFIG['ruby_install_name'] =~ /\.(com|cmd|exe|bat|rb|sh)$/) ? + "" : + Config::CONFIG['EXEEXT']) + + RUBY = File.join( + Config::CONFIG['bindir'], + Config::CONFIG['ruby_install_name'] + RUBY_EXT). + sub(/.*\s.*/m, '"\&"') + + OPT_TABLE['sh'] = %w(noop verbose) + OPT_TABLE['ruby'] = %w(noop verbose) + + # Run the system command +cmd+. If multiple arguments are given the command + # is not run with the shell (same semantics as Kernel::exec and + # Kernel::system). + # + # Example: + # sh %{ls -ltr} + # + # sh 'ls', 'file with spaces' + # + # # check exit status after command runs + # sh %{grep pattern file} do |ok, res| + # if ! ok + # puts "pattern not found (status = #{res.exitstatus})" + # end + # end + # + def sh(*cmd, &block) + options = (Hash === cmd.last) ? cmd.pop : {} + unless block_given? + show_command = cmd.join(" ") + show_command = show_command[0,42] + "..." unless $trace + # TODO code application logic heref show_command.length > 45 + block = lambda { |ok, status| + ok or fail "Command failed with status (#{status.exitstatus}): [#{show_command}]" + } + end + if RakeFileUtils.verbose_flag == :default + options[:verbose] = true + else + options[:verbose] ||= RakeFileUtils.verbose_flag + end + options[:noop] ||= RakeFileUtils.nowrite_flag + rake_check_options options, :noop, :verbose + rake_output_message cmd.join(" ") if options[:verbose] + unless options[:noop] + res = rake_system(*cmd) + status = $? + status = PseudoStatus.new(1) if !res && status.nil? + block.call(res, status) + end + end + + def rake_system(*cmd) + Rake::AltSystem.system(*cmd) + end + private :rake_system + + # Run a Ruby interpreter with the given arguments. + # + # Example: + # ruby %{-pe '$_.upcase!' <README} + # + def ruby(*args,&block) + options = (Hash === args.last) ? args.pop : {} + if args.length > 1 then + sh(*([RUBY] + args + [options]), &block) + else + sh("#{RUBY} #{args.first}", options, &block) + end + end + + LN_SUPPORTED = [true] + + # Attempt to do a normal file link, but fall back to a copy if the link + # fails. + def safe_ln(*args) + unless LN_SUPPORTED[0] + cp(*args) + else + begin + ln(*args) + rescue StandardError, NotImplementedError => ex + LN_SUPPORTED[0] = false + cp(*args) + end + end + end + + # Split a file path into individual directory names. + # + # Example: + # split_all("a/b/c") => ['a', 'b', 'c'] + # + def split_all(path) + head, tail = File.split(path) + return [tail] if head == '.' || tail == '/' + return [head, tail] if head == '/' + return split_all(head) + [tail] + end +end + +############################################################################# +# RakeFileUtils provides a custom version of the FileUtils methods that +# respond to the <tt>verbose</tt> and <tt>nowrite</tt> commands. +# +module RakeFileUtils + include FileUtils + + class << self + attr_accessor :verbose_flag, :nowrite_flag + end + RakeFileUtils.verbose_flag = :default + RakeFileUtils.nowrite_flag = false + + $fileutils_verbose = true + $fileutils_nowrite = false + + FileUtils::OPT_TABLE.each do |name, opts| + default_options = [] + if opts.include?(:verbose) || opts.include?("verbose") + default_options << ':verbose => RakeFileUtils.verbose_flag' + end + if opts.include?(:noop) || opts.include?("noop") + default_options << ':noop => RakeFileUtils.nowrite_flag' + end + + next if default_options.empty? + module_eval(<<-EOS, __FILE__, __LINE__ + 1) + def #{name}( *args, &block ) + super( + *rake_merge_option(args, + #{default_options.join(', ')} + ), &block) + end + EOS + end + + # Get/set the verbose flag controlling output from the FileUtils utilities. + # If verbose is true, then the utility method is echoed to standard output. + # + # Examples: + # verbose # return the current value of the verbose flag + # verbose(v) # set the verbose flag to _v_. + # verbose(v) { code } # Execute code with the verbose flag set temporarily to _v_. + # # Return to the original value when code is done. + def verbose(value=nil) + oldvalue = RakeFileUtils.verbose_flag + RakeFileUtils.verbose_flag = value unless value.nil? + if block_given? + begin + yield + ensure + RakeFileUtils.verbose_flag = oldvalue + end + end + RakeFileUtils.verbose_flag + end + + # Get/set the nowrite flag controlling output from the FileUtils utilities. + # If verbose is true, then the utility method is echoed to standard output. + # + # Examples: + # nowrite # return the current value of the nowrite flag + # nowrite(v) # set the nowrite flag to _v_. + # nowrite(v) { code } # Execute code with the nowrite flag set temporarily to _v_. + # # Return to the original value when code is done. + def nowrite(value=nil) + oldvalue = RakeFileUtils.nowrite_flag + RakeFileUtils.nowrite_flag = value unless value.nil? + if block_given? + begin + yield + ensure + RakeFileUtils.nowrite_flag = oldvalue + end + end + oldvalue + end + + # Use this function to prevent protentially destructive ruby code from + # running when the :nowrite flag is set. + # + # Example: + # + # when_writing("Building Project") do + # project.build + # end + # + # The following code will build the project under normal conditions. If the + # nowrite(true) flag is set, then the example will print: + # DRYRUN: Building Project + # instead of actually building the project. + # + def when_writing(msg=nil) + if RakeFileUtils.nowrite_flag + puts "DRYRUN: #{msg}" if msg + else + yield + end + end + + # Merge the given options with the default values. + def rake_merge_option(args, defaults) + if Hash === args.last + defaults.update(args.last) + args.pop + end + args.push defaults + args + end + private :rake_merge_option + + # Send the message to the default rake output (which is $stderr). + def rake_output_message(message) + $stderr.puts(message) + end + private :rake_output_message + + # Check that the options do not contain options not listed in +optdecl+. An + # ArgumentError exception is thrown if non-declared options are found. + def rake_check_options(options, *optdecl) + h = options.dup + optdecl.each do |name| + h.delete name + end + raise ArgumentError, "no such option: #{h.keys.join(' ')}" unless h.empty? + end + private :rake_check_options + + extend self +end + +############################################################################# +# Include the FileUtils file manipulation functions in the top level module, +# but mark them private so that they don't unintentionally define methods on +# other objects. + +include RakeFileUtils +private(*FileUtils.instance_methods(false)) +private(*RakeFileUtils.instance_methods(false)) + +###################################################################### +module Rake + + ########################################################################### + # A FileList is essentially an array with a few helper methods defined to + # make file manipulation a bit easier. + # + # FileLists are lazy. When given a list of glob patterns for possible files + # to be included in the file list, instead of searching the file structures + # to find the files, a FileList holds the pattern for latter use. + # + # This allows us to define a number of FileList to match any number of + # files, but only search out the actual files when then FileList itself is + # actually used. The key is that the first time an element of the + # FileList/Array is requested, the pending patterns are resolved into a real + # list of file names. + # + class FileList + + include Cloneable + + # == Method Delegation + # + # The lazy evaluation magic of FileLists happens by implementing all the + # array specific methods to call +resolve+ before delegating the heavy + # lifting to an embedded array object (@items). + # + # In addition, there are two kinds of delegation calls. The regular kind + # delegates to the @items array and returns the result directly. Well, + # almost directly. It checks if the returned value is the @items object + # itself, and if so will return the FileList object instead. + # + # The second kind of delegation call is used in methods that normally + # return a new Array object. We want to capture the return value of these + # methods and wrap them in a new FileList object. We enumerate these + # methods in the +SPECIAL_RETURN+ list below. + + # List of array methods (that are not in +Object+) that need to be + # delegated. + ARRAY_METHODS = (Array.instance_methods - Object.instance_methods).map { |n| n.to_s } + + # List of additional methods that must be delegated. + MUST_DEFINE = %w[to_a inspect] + + # List of methods that should not be delegated here (we define special + # versions of them explicitly below). + MUST_NOT_DEFINE = %w[to_a to_ary partition *] + + # List of delegated methods that return new array values which need + # wrapping. + SPECIAL_RETURN = %w[ + map collect sort sort_by select find_all reject grep + compact flatten uniq values_at + + - & | + ] + + DELEGATING_METHODS = (ARRAY_METHODS + MUST_DEFINE - MUST_NOT_DEFINE).collect{ |s| s.to_s }.sort.uniq + + # Now do the delegation. + DELEGATING_METHODS.each_with_index do |sym, i| + if SPECIAL_RETURN.include?(sym) + ln = __LINE__+1 + class_eval %{ + def #{sym}(*args, &block) + resolve + result = @items.send(:#{sym}, *args, &block) + FileList.new.import(result) + end + }, __FILE__, ln + else + ln = __LINE__+1 + class_eval %{ + def #{sym}(*args, &block) + resolve + result = @items.send(:#{sym}, *args, &block) + result.object_id == @items.object_id ? self : result + end + }, __FILE__, ln + end + end + + # Create a file list from the globbable patterns given. If you wish to + # perform multiple includes or excludes at object build time, use the + # "yield self" pattern. + # + # Example: + # file_list = FileList.new('lib/**/*.rb', 'test/test*.rb') + # + # pkg_files = FileList.new('lib/**/*') do |fl| + # fl.exclude(/\bCVS\b/) + # end + # + def initialize(*patterns) + @pending_add = [] + @pending = false + @exclude_patterns = DEFAULT_IGNORE_PATTERNS.dup + @exclude_procs = DEFAULT_IGNORE_PROCS.dup + @exclude_re = nil + @items = [] + patterns.each { |pattern| include(pattern) } + yield self if block_given? + end + + # Add file names defined by glob patterns to the file list. If an array + # is given, add each element of the array. + # + # Example: + # file_list.include("*.java", "*.cfg") + # file_list.include %w( math.c lib.h *.o ) + # + def include(*filenames) + # TODO: check for pending + filenames.each do |fn| + if fn.respond_to? :to_ary + include(*fn.to_ary) + else + @pending_add << fn + end + end + @pending = true + self + end + alias :add :include + + # Register a list of file name patterns that should be excluded from the + # list. Patterns may be regular expressions, glob patterns or regular + # strings. In addition, a block given to exclude will remove entries that + # return true when given to the block. + # + # Note that glob patterns are expanded against the file system. If a file + # is explicitly added to a file list, but does not exist in the file + # system, then an glob pattern in the exclude list will not exclude the + # file. + # + # Examples: + # FileList['a.c', 'b.c'].exclude("a.c") => ['b.c'] + # FileList['a.c', 'b.c'].exclude(/^a/) => ['b.c'] + # + # If "a.c" is a file, then ... + # FileList['a.c', 'b.c'].exclude("a.*") => ['b.c'] + # + # If "a.c" is not a file, then ... + # FileList['a.c', 'b.c'].exclude("a.*") => ['a.c', 'b.c'] + # + def exclude(*patterns, &block) + patterns.each do |pat| + @exclude_patterns << pat + end + if block_given? + @exclude_procs << block + end + resolve_exclude if ! @pending + self + end + + + # Clear all the exclude patterns so that we exclude nothing. + def clear_exclude + @exclude_patterns = [] + @exclude_procs = [] + calculate_exclude_regexp if ! @pending + self + end + + # Define equality. + def ==(array) + to_ary == array + end + + # Return the internal array object. + def to_a + resolve + @items + end + + # Return the internal array object. + def to_ary + to_a + end + + # Lie about our class. + def is_a?(klass) + klass == Array || super(klass) + end + alias kind_of? is_a? + + # Redefine * to return either a string or a new file list. + def *(other) + result = @items * other + case result + when Array + FileList.new.import(result) + else + result + end + end + + # Resolve all the pending adds now. + def resolve + if @pending + @pending = false + @pending_add.each do |fn| resolve_add(fn) end + @pending_add = [] + resolve_exclude + end + self + end + + def calculate_exclude_regexp + ignores = [] + @exclude_patterns.each do |pat| + case pat + when Regexp + ignores << pat + when /[*?]/ + Dir[pat].each do |p| ignores << p end + else + ignores << Regexp.quote(pat) + end + end + if ignores.empty? + @exclude_re = /^$/ + else + re_str = ignores.collect { |p| "(" + p.to_s + ")" }.join("|") + @exclude_re = Regexp.new(re_str) + end + end + + def resolve_add(fn) + case fn + when %r{[*?\[\{]} + add_matching(fn) + else + self << fn + end + end + private :resolve_add + + def resolve_exclude + calculate_exclude_regexp + reject! { |fn| exclude?(fn) } + self + end + private :resolve_exclude + + # Return a new FileList with the results of running +sub+ against each + # element of the oringal list. + # + # Example: + # FileList['a.c', 'b.c'].sub(/\.c$/, '.o') => ['a.o', 'b.o'] + # + def sub(pat, rep) + inject(FileList.new) { |res, fn| res << fn.sub(pat,rep) } + end + + # Return a new FileList with the results of running +gsub+ against each + # element of the original list. + # + # Example: + # FileList['lib/test/file', 'x/y'].gsub(/\//, "\\") + # => ['lib\\test\\file', 'x\\y'] + # + def gsub(pat, rep) + inject(FileList.new) { |res, fn| res << fn.gsub(pat,rep) } + end + + # Same as +sub+ except that the oringal file list is modified. + def sub!(pat, rep) + each_with_index { |fn, i| self[i] = fn.sub(pat,rep) } + self + end + + # Same as +gsub+ except that the original file list is modified. + def gsub!(pat, rep) + each_with_index { |fn, i| self[i] = fn.gsub(pat,rep) } + self + end + + # Apply the pathmap spec to each of the included file names, returning a + # new file list with the modified paths. (See String#pathmap for + # details.) + def pathmap(spec=nil) + collect { |fn| fn.pathmap(spec) } + end + + # Return a new FileList with <tt>String#ext</tt> method applied + # to each member of the array. + # + # This method is a shortcut for: + # + # array.collect { |item| item.ext(newext) } + # + # +ext+ is a user added method for the Array class. + def ext(newext='') + collect { |fn| fn.ext(newext) } + end + + + # Grep each of the files in the filelist using the given pattern. If a + # block is given, call the block on each matching line, passing the file + # name, line number, and the matching line of text. If no block is given, + # a standard emac style file:linenumber:line message will be printed to + # standard out. + def egrep(pattern, *options) + each do |fn| + open(fn, "rb", *options) do |inf| + count = 0 + inf.each do |line| + count += 1 + if pattern.match(line) + if block_given? + yield fn, count, line + else + puts "#{fn}:#{count}:#{line}" + end + end + end + end + end + end + + # Return a new file list that only contains file names from the current + # file list that exist on the file system. + def existing + select { |fn| File.exist?(fn) } + end + + # Modify the current file list so that it contains only file name that + # exist on the file system. + def existing! + resolve + @items = @items.select { |fn| File.exist?(fn) } + self + end + + # FileList version of partition. Needed because the nested arrays should + # be FileLists in this version. + def partition(&block) # :nodoc: + resolve + result = @items.partition(&block) + [ + FileList.new.import(result[0]), + FileList.new.import(result[1]), + ] + end + + # Convert a FileList to a string by joining all elements with a space. + def to_s + resolve + self.join(' ') + end + + # Add matching glob patterns. + def add_matching(pattern) + Dir[pattern].each do |fn| + self << fn unless exclude?(fn) + end + end + private :add_matching + + # Should the given file name be excluded? + def exclude?(fn) + calculate_exclude_regexp unless @exclude_re + fn =~ @exclude_re || @exclude_procs.any? { |p| p.call(fn) } + end + + DEFAULT_IGNORE_PATTERNS = [ + /(^|[\/\\])CVS([\/\\]|$)/, + /(^|[\/\\])\.svn([\/\\]|$)/, + /\.bak$/, + /~$/ + ] + DEFAULT_IGNORE_PROCS = [ + proc { |fn| fn =~ /(^|[\/\\])core$/ && ! File.directory?(fn) } + ] +# @exclude_patterns = DEFAULT_IGNORE_PATTERNS.dup + + def import(array) + @items = array + self + end + + class << self + # Create a new file list including the files listed. Similar to: + # + # FileList.new(*args) + def [](*args) + new(*args) + end + end + end # FileList +end + +module Rake + class << self + + # Yield each file or directory component. + def each_dir_parent(dir) # :nodoc: + old_length = nil + while dir != '.' && dir.length != old_length + yield(dir) + old_length = dir.length + dir = File.dirname(dir) + end + end + end +end # module Rake + +# Alias FileList to be available at the top level. +FileList = Rake::FileList + +############################################################################# +module Rake + + # Default Rakefile loader used by +import+. + class DefaultLoader + def load(fn) + Kernel.load(File.expand_path(fn)) + end + end + + # EarlyTime is a fake timestamp that occurs _before_ any other time value. + class EarlyTime + include Comparable + include Singleton + + def <=>(other) + -1 + end + + def to_s + "<EARLY TIME>" + end + end + + EARLY = EarlyTime.instance +end # module Rake + +############################################################################# +# Extensions to time to allow comparisons with an early time class. +# +class Time + alias rake_original_time_compare :<=> + def <=>(other) + if Rake::EarlyTime === other + - other.<=>(self) + else + rake_original_time_compare(other) + end + end +end # class Time + +module Rake + + #################################################################### + # The NameSpace class will lookup task names in the the scope + # defined by a +namespace+ command. + # + class NameSpace + + # Create a namespace lookup object using the given task manager + # and the list of scopes. + def initialize(task_manager, scope_list) + @task_manager = task_manager + @scope = scope_list.dup + end + + # Lookup a task named +name+ in the namespace. + def [](name) + @task_manager.lookup(name, @scope) + end + + # Return the list of tasks defined in this and nested namespaces. + def tasks + @task_manager.tasks_in_scope(@scope) + end + end # NameSpace + + + #################################################################### + # The TaskManager module is a mixin for managing tasks. + module TaskManager + # Track the last comment made in the Rakefile. + attr_accessor :last_description + alias :last_comment :last_description # Backwards compatibility + + def initialize + super + @tasks = Hash.new + @rules = Array.new + @scope = Array.new + @last_description = nil + end + + def create_rule(*args, &block) + pattern, arg_names, deps = resolve_args(args) + pattern = Regexp.new(Regexp.quote(pattern) + '$') if String === pattern + @rules << [pattern, deps, block] + end + + def define_task(task_class, *args, &block) + task_name, arg_names, deps = resolve_args(args) + task_name = task_class.scope_name(@scope, task_name) + deps = [deps] unless deps.respond_to?(:to_ary) + deps = deps.collect {|d| d.to_s } + task = intern(task_class, task_name) + task.set_arg_names(arg_names) unless arg_names.empty? + task.add_description(@last_description) + @last_description = nil + task.enhance(deps, &block) + task + end + + # Lookup a task. Return an existing task if found, otherwise + # create a task of the current type. + def intern(task_class, task_name) + @tasks[task_name.to_s] ||= task_class.new(task_name, self) + end + + # Find a matching task for +task_name+. + def [](task_name, scopes=nil) + task_name = task_name.to_s + self.lookup(task_name, scopes) or + enhance_with_matching_rule(task_name) or + synthesize_file_task(task_name) or + fail "Don't know how to build task '#{task_name}'" + end + + def synthesize_file_task(task_name) + return nil unless File.exist?(task_name) + define_task(Rake::FileTask, task_name) + end + + # Resolve the arguments for a task/rule. Returns a triplet of + # [task_name, arg_name_list, prerequisites]. + def resolve_args(args) + if args.last.is_a?(Hash) + deps = args.pop + resolve_args_with_dependencies(args, deps) + else + resolve_args_without_dependencies(args) + end + end + + # Resolve task arguments for a task or rule when there are no + # dependencies declared. + # + # The patterns recognized by this argument resolving function are: + # + # task :t + # task :t, [:a] + # task :t, :a (deprecated) + # + def resolve_args_without_dependencies(args) + task_name = args.shift + if args.size == 1 && args.first.respond_to?(:to_ary) + arg_names = args.first.to_ary + else + arg_names = args + end + [task_name, arg_names, []] + end + private :resolve_args_without_dependencies + + # Resolve task arguments for a task or rule when there are + # dependencies declared. + # + # The patterns recognized by this argument resolving function are: + # + # task :t => [:d] + # task :t, [a] => [:d] + # task :t, :needs => [:d] (deprecated) + # task :t, :a, :needs => [:d] (deprecated) + # + def resolve_args_with_dependencies(args, hash) # :nodoc: + fail "Task Argument Error" if hash.size != 1 + key, value = hash.map { |k, v| [k,v] }.first + if args.empty? + task_name = key + arg_names = [] + deps = value + elsif key == :needs + task_name = args.shift + arg_names = args + deps = value + else + task_name = args.shift + arg_names = key + deps = value + end + deps = [deps] unless deps.respond_to?(:to_ary) + [task_name, arg_names, deps] + end + private :resolve_args_with_dependencies + + # If a rule can be found that matches the task name, enhance the + # task with the prerequisites and actions from the rule. Set the + # source attribute of the task appropriately for the rule. Return + # the enhanced task or nil of no rule was found. + def enhance_with_matching_rule(task_name, level=0) + fail Rake::RuleRecursionOverflowError, + "Rule Recursion Too Deep" if level >= 16 + @rules.each do |pattern, extensions, block| + if md = pattern.match(task_name) + task = attempt_rule(task_name, extensions, block, level) + return task if task + end + end + nil + rescue Rake::RuleRecursionOverflowError => ex + ex.add_target(task_name) + fail ex + end + + # List of all defined tasks in this application. + def tasks + @tasks.values.sort_by { |t| t.name } + end + + # List of all the tasks defined in the given scope (and its + # sub-scopes). + def tasks_in_scope(scope) + prefix = scope.join(":") + tasks.select { |t| + /^#{prefix}:/ =~ t.name + } + end + + # Clear all tasks in this application. + def clear + @tasks.clear + @rules.clear + end + + # Lookup a task, using scope and the scope hints in the task name. + # This method performs straight lookups without trying to + # synthesize file tasks or rules. Special scope names (e.g. '^') + # are recognized. If no scope argument is supplied, use the + # current scope. Return nil if the task cannot be found. + def lookup(task_name, initial_scope=nil) + initial_scope ||= @scope + task_name = task_name.to_s + if task_name =~ /^rake:/ + scopes = [] + task_name = task_name.sub(/^rake:/, '') + elsif task_name =~ /^(\^+)/ + scopes = initial_scope[0, initial_scope.size - $1.size] + task_name = task_name.sub(/^(\^+)/, '') + else + scopes = initial_scope + end + lookup_in_scope(task_name, scopes) + end + + # Lookup the task name + def lookup_in_scope(name, scope) + n = scope.size + while n >= 0 + tn = (scope[0,n] + [name]).join(':') + task = @tasks[tn] + return task if task + n -= 1 + end + nil + end + private :lookup_in_scope + + # Return the list of scope names currently active in the task + # manager. + def current_scope + @scope.dup + end + + # Evaluate the block in a nested namespace named +name+. Create + # an anonymous namespace if +name+ is nil. + def in_namespace(name) + name ||= generate_name + @scope.push(name) + ns = NameSpace.new(self, @scope) + yield(ns) + ns + ensure + @scope.pop + end + + private + + # Generate an anonymous namespace name. + def generate_name + @seed ||= 0 + @seed += 1 + "_anon_#{@seed}" + end + + def trace_rule(level, message) + puts "#{" "*level}#{message}" if Rake.application.options.trace_rules + end + + # Attempt to create a rule given the list of prerequisites. + def attempt_rule(task_name, extensions, block, level) + sources = make_sources(task_name, extensions) + prereqs = sources.collect { |source| + trace_rule level, "Attempting Rule #{task_name} => #{source}" + if File.exist?(source) || Rake::Task.task_defined?(source) + trace_rule level, "(#{task_name} => #{source} ... EXIST)" + source + elsif parent = enhance_with_matching_rule(source, level+1) + trace_rule level, "(#{task_name} => #{source} ... ENHANCE)" + parent.name + else + trace_rule level, "(#{task_name} => #{source} ... FAIL)" + return nil + end + } + task = FileTask.define_task({task_name => prereqs}, &block) + task.sources = prereqs + task + end + + # Make a list of sources from the list of file name extensions / + # translation procs. + def make_sources(task_name, extensions) + extensions.collect { |ext| + case ext + when /%/ + task_name.pathmap(ext) + when %r{/} + ext + when /^\./ + task_name.ext(ext) + when String + ext + when Proc + if ext.arity == 1 + ext.call(task_name) + else + ext.call + end + else + fail "Don't know how to handle rule dependent: #{ext.inspect}" + end + }.flatten + end + + end # TaskManager + + # + # Lazily pull in the parallelizing code + # + class Options < OpenStruct # :nodoc: + attr_reader :threads + + def initialize + super + @threads = 1 + end + + def threads=(n) + if n > 1 and require('rake/parallel') + Task.module_eval { include Parallel::TaskMixin } + Application.module_eval { include Parallel::ApplicationMixin } + end + @threads = n + end + end + + ###################################################################### + # Rake main application object. When invoking +rake+ from the + # command line, a Rake::Application object is created and run. + # + class Application + include TaskManager + + # The name of the application (typically 'rake') + attr_reader :name + + # The original directory where rake was invoked. + attr_reader :original_dir + + # Name of the actual rakefile used. + attr_reader :rakefile + + # List of the top level task names (task names from the command line). + attr_reader :top_level_tasks + + DEFAULT_RAKEFILES = ['rakefile', 'Rakefile', 'rakefile.rb', 'Rakefile.rb'].freeze + + # Initialize a Rake::Application object. + def initialize + super + @name = 'rake' + @rakefiles = DEFAULT_RAKEFILES.dup + @rakefile = nil + @pending_imports = [] + @imported = [] + @loaders = {} + @default_loader = Rake::DefaultLoader.new + @original_dir = Dir.pwd + @top_level_tasks = [] + add_loader('rb', DefaultLoader.new) + add_loader('rf', DefaultLoader.new) + add_loader('rake', DefaultLoader.new) + @tty_output = STDOUT.tty? + end + + # Run the Rake application. The run method performs the following three steps: + # + # * Initialize the command line options (+init+). + # * Define the tasks (+load_rakefile+). + # * Run the top level tasks (+run_tasks+). + # + # If you wish to build a custom rake command, you should call +init+ on your + # application. The define any tasks. Finally, call +top_level+ to run your top + # level tasks. + def run + standard_exception_handling do + init + load_rakefile + top_level + end + end + + # Initialize the command line parameters and app name. + def init(app_name='rake') + standard_exception_handling do + @name = app_name + handle_options + collect_tasks + end + end + + # Find the rakefile and then load it and any pending imports. + def load_rakefile + standard_exception_handling do + raw_load_rakefile + end + end + + # Run the top level tasks of a Rake application. + def top_level + standard_exception_handling do + if options.show_tasks + display_tasks_and_comments + elsif options.show_prereqs + display_prerequisites + else + top_level_tasks.each { |task_name| invoke_task(task_name) } + end + end + end + + # Add a loader to handle imported files ending in the extension + # +ext+. + def add_loader(ext, loader) + ext = ".#{ext}" unless ext =~ /^\./ + @loaders[ext] = loader + end + + # Application options from the command line + def options + @options ||= Options.new + end + + # private ---------------------------------------------------------------- + + def invoke_task(task_string) + name, args = parse_task_string(task_string) + t = self[name] + t.invoke(*args) + end + + def parse_task_string(string) + if string =~ /^([^\[]+)(\[(.*)\])$/ + name = $1 + args = $3.split(/\s*,\s*/) + else + name = string + args = [] + end + [name, args] + end + + # Provide standard execption handling for the given block. + def standard_exception_handling + begin + yield + rescue SystemExit => ex + # Exit silently with current status + raise + rescue OptionParser::InvalidOption => ex + # Exit silently + exit(false) + rescue Exception => ex + # Exit with error message + $stderr.puts "#{name} aborted!" + $stderr.puts ex.message + if options.trace + $stderr.puts ex.backtrace.join("\n") + else + $stderr.puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || "" + $stderr.puts "(See full trace by running task with --trace)" + end + exit(false) + end + end + + # True if one of the files in RAKEFILES is in the current directory. + # If a match is found, it is copied into @rakefile. + def have_rakefile + @rakefiles.each do |fn| + if File.exist?(fn) + others = Dir.glob(fn, File::FNM_CASEFOLD) + return others.size == 1 ? others.first : fn + elsif fn == '' + return fn + end + end + return nil + end + + # True if we are outputting to TTY, false otherwise + def tty_output? + @tty_output + end + + # Override the detected TTY output state (mostly for testing) + def tty_output=( tty_output_state ) + @tty_output = tty_output_state + end + + # We will truncate output if we are outputting to a TTY or if we've been + # given an explicit column width to honor + def truncate_output? + tty_output? || ENV['RAKE_COLUMNS'] + end + + # Display the tasks and comments. + def display_tasks_and_comments + displayable_tasks = tasks.select { |t| + t.comment && t.name =~ options.show_task_pattern + } + if options.full_description + displayable_tasks.each do |t| + puts "#{name} #{t.name_with_args}" + t.full_comment.split("\n").each do |line| + puts " #{line}" + end + puts + end + else + width = displayable_tasks.collect { |t| t.name_with_args.length }.max || 10 + max_column = truncate_output? ? terminal_width - name.size - width - 7 : nil + displayable_tasks.each do |t| + printf "#{name} %-#{width}s # %s\n", + t.name_with_args, max_column ? truncate(t.comment, max_column) : t.comment + end + end + end + + def terminal_width + if ENV['RAKE_COLUMNS'] + result = ENV['RAKE_COLUMNS'].to_i + else + result = unix? ? dynamic_width : 80 + end + (result < 10) ? 80 : result + rescue + 80 + end + + # Calculate the dynamic width of the + def dynamic_width + @dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput) + end + + def dynamic_width_stty + %x{stty size 2>/dev/null}.split[1].to_i + end + + def dynamic_width_tput + %x{tput cols 2>/dev/null}.to_i + end + + def unix? + RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i + end + + def windows? + Win32.windows? + end + + def truncate(string, width) + if string.length <= width + string + else + ( string[0, width-3] || "" ) + "..." + end + end + + # Display the tasks and prerequisites + def display_prerequisites + tasks.each do |t| + puts "#{name} #{t.name}" + t.prerequisites.each { |pre| puts " #{pre}" } + end + end + + # A list of all the standard options used in rake, suitable for + # passing to OptionParser. + def standard_rake_options + [ + ['--classic-namespace', '-C', "Put Task and FileTask in the top level namespace", + lambda { |value| + require 'rake/classic_namespace' + options.classic_namespace = true + } + ], + ['--describe', '-D [PATTERN]', "Describe the tasks (matching optional PATTERN), then exit.", + lambda { |value| + options.show_tasks = true + options.full_description = true + options.show_task_pattern = Regexp.new(value || '') + } + ], + ['--dry-run', '-n', "Do a dry run without executing actions.", + lambda { |value| + verbose(true) + nowrite(true) + options.dryrun = true + options.trace = true + } + ], + ['--execute', '-e CODE', "Execute some Ruby code and exit.", + lambda { |value| + eval(value) + exit + } + ], + ['--execute-print', '-p CODE', "Execute some Ruby code, print the result, then exit.", + lambda { |value| + puts eval(value) + exit + } + ], + ['--execute-continue', '-E CODE', + "Execute some Ruby code, then continue with normal task processing.", + lambda { |value| eval(value) } + ], + ['--threads', '-j N', "Run up to N independent tasks simultaneously in separate threads.", + lambda { |value| options.threads = value.to_i } + ], + ['--libdir', '-I LIBDIR', "Include LIBDIR in the search path for required modules.", + lambda { |value| $:.push(value) } + ], + ['--prereqs', '-P', "Display the tasks and dependencies, then exit.", + lambda { |value| options.show_prereqs = true } + ], + ['--quiet', '-q', "Do not log messages to standard output.", + lambda { |value| verbose(false) } + ], + ['--rakefile', '-f [FILE]', "Use FILE as the rakefile.", + lambda { |value| + value ||= '' + @rakefiles.clear + @rakefiles << value + } + ], + ['--rakelibdir', '--rakelib', '-R RAKELIBDIR', + "Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')", + lambda { |value| options.rakelib = value.split(':') } + ], + ['--randomize[=SEED]', "Randomize the order of sibling prerequisites.", + lambda { |value| + options.randomize = true + MultiTask.class_eval { remove_method(:invoke_prerequisites) } + srand(value.hash) if value + } + ], + ['--require', '-r MODULE', "Require MODULE before executing rakefile.", + lambda { |value| + begin + require value + rescue LoadError => ex + begin + rake_require value + rescue LoadError => ex2 + raise ex + end + end + } + ], + ['--rules', "Trace the rules resolution.", + lambda { |value| options.trace_rules = true } + ], + ['--no-search', '--nosearch', '-N', "Do not search parent directories for the Rakefile.", + lambda { |value| options.nosearch = true } + ], + ['--silent', '-s', "Like --quiet, but also suppresses the 'in directory' announcement.", + lambda { |value| + verbose(false) + options.silent = true + } + ], + ['--system', '-g', + "Using system wide (global) rakefiles (usually '~/.rake/*.rake').", + lambda { |value| options.load_system = true } + ], + ['--no-system', '--nosystem', '-G', + "Use standard project Rakefile search paths, ignore system wide rakefiles.", + lambda { |value| options.ignore_system = true } + ], + ['--tasks', '-T [PATTERN]', "Display the tasks (matching optional PATTERN) with descriptions, then exit.", + lambda { |value| + options.show_tasks = true + options.show_task_pattern = Regexp.new(value || '') + options.full_description = false + } + ], + ['--trace', '-t', "Turn on invoke/execute tracing, enable full backtrace.", + lambda { |value| + options.trace = true + verbose(true) + } + ], + ['--verbose', '-v', "Log message to standard output.", + lambda { |value| verbose(true) } + ], + ['--version', '-V', "Display the program version.", + lambda { |value| + puts "rake, version #{RAKEVERSION}" + exit + } + ] + ] + end + + # Read and handle the command line options. + def handle_options + options.rakelib = ['rakelib'] + + OptionParser.new do |opts| + opts.banner = "rake [-f rakefile] {options} targets..." + opts.separator "" + opts.separator "Options are ..." + + opts.on_tail("-h", "--help", "-H", "Display this help message.") do + puts opts + exit + end + + standard_rake_options.each { |args| opts.on(*args) } + end.parse! + + # If class namespaces are requested, set the global options + # according to the values in the options structure. + if options.classic_namespace + $show_tasks = options.show_tasks + $show_prereqs = options.show_prereqs + $trace = options.trace + $dryrun = options.dryrun + $silent = options.silent + end + end + + # Similar to the regular Ruby +require+ command, but will check + # for *.rake files in addition to *.rb files. + def rake_require(file_name, paths=$LOAD_PATH, loaded=$") + return false if loaded.include?(file_name) + paths.each do |path| + fn = file_name + ".rake" + full_path = File.join(path, fn) + if File.exist?(full_path) + load full_path + loaded << fn + return true + end + end + fail LoadError, "Can't find #{file_name}" + end + + def find_rakefile_location + here = Dir.pwd + while ! (fn = have_rakefile) + Dir.chdir("..") + if Dir.pwd == here || options.nosearch + return nil + end + here = Dir.pwd + end + [fn, here] + ensure + Dir.chdir(Rake.original_dir) + end + + def raw_load_rakefile # :nodoc: + rakefile, location = find_rakefile_location + if (! options.ignore_system) && + (options.load_system || rakefile.nil?) && + system_dir && File.directory?(system_dir) + puts "(in #{Dir.pwd})" unless options.silent + glob("#{system_dir}/*.rake") do |name| + add_import name + end + else + fail "No Rakefile found (looking for: #{@rakefiles.join(', ')})" if + rakefile.nil? + @rakefile = rakefile + Dir.chdir(location) + puts "(in #{Dir.pwd})" unless options.silent + $rakefile = @rakefile if options.classic_namespace + load File.expand_path(@rakefile) if @rakefile && @rakefile != '' + options.rakelib.each do |rlib| + glob("#{rlib}/*.rake") do |name| + add_import name + end + end + end + load_imports + end + + def glob(path, &block) + Dir[path.gsub("\\", '/')].each(&block) + end + private :glob + + # The directory path containing the system wide rakefiles. + def system_dir + @system_dir ||= + begin + if ENV['RAKE_SYSTEM'] + ENV['RAKE_SYSTEM'] + else + standard_system_dir + end + end + end + + # The standard directory containing system wide rake files. + if Win32.windows? + def standard_system_dir #:nodoc: + Win32.win32_system_dir + end + else + def standard_system_dir #:nodoc: + File.join(File.expand_path('~'), '.rake') + end + end + private :standard_system_dir + + # Collect the list of tasks on the command line. If no tasks are + # given, return a list containing only the default task. + # Environmental assignments are processed at this time as well. + def collect_tasks + @top_level_tasks = [] + ARGV.each do |arg| + if arg =~ /^(\w+)=(.*)$/ + ENV[$1] = $2 + else + @top_level_tasks << arg unless arg =~ /^-/ + end + end + @top_level_tasks.push("default") if @top_level_tasks.size == 0 + end + + # Add a file to the list of files to be imported. + def add_import(fn) + @pending_imports << fn + end + + # Load the pending list of imported files. + def load_imports + while fn = @pending_imports.shift + next if @imported.member?(fn) + if fn_task = lookup(fn) + fn_task.invoke + end + ext = File.extname(fn) + loader = @loaders[ext] || @default_loader + loader.load(fn) + @imported << fn + end + end + + # Warn about deprecated use of top level constant names. + def const_warning(const_name) + @const_warning ||= false + if ! @const_warning + $stderr.puts %{WARNING: Deprecated reference to top-level constant '#{const_name}' } + + %{found at: #{rakefile_location}} # ' + $stderr.puts %{ Use --classic-namespace on rake command} + $stderr.puts %{ or 'require "rake/classic_namespace"' in Rakefile} + end + @const_warning = true + end + + def rakefile_location + begin + fail + rescue RuntimeError => ex + ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || "" + end + end + end +end + + +class Module + # Rename the original handler to make it available. + alias :rake_original_const_missing :const_missing + + # Check for deprecated uses of top level (i.e. in Object) uses of + # Rake class names. If someone tries to reference the constant + # name, display a warning and return the proper object. Using the + # --classic-namespace command line option will define these + # constants in Object and avoid this handler. + def const_missing(const_name) + case const_name + when :Task + Rake.application.const_warning(const_name) + Rake::Task + when :FileTask + Rake.application.const_warning(const_name) + Rake::FileTask + when :FileCreationTask + Rake.application.const_warning(const_name) + Rake::FileCreationTask + when :RakeApp + Rake.application.const_warning(const_name) + Rake::Application + else + rake_original_const_missing(const_name) + end + end +end diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/MIT-LICENSE mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/MIT-LICENSE --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/MIT-LICENSE 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/MIT-LICENSE 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,21 @@ +Copyright (c) 2003, 2004 Jim Weirich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff -Nru mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/README mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/README --- mkvtoolnix-4.0.0/rake.d/vendor/drake-0.8.7.0.2.4/README 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/rake.d/vendor/drake-0.8.7.0.2.4/README 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,254 @@ += DRAKE -- Distributed Rake + +A branch of Rake supporting automatic parallelizing of tasks. + +== Synopsis + +Run up to three tasks in parallel: + + % drake -j3 + +or equivalently, + + % drake --threads 3 + +== Installation + + % gem install drake + +== Notes + +See parallel.rdoc. + +== Links + +* Download: http://rubyforge.org/frs/?group_id=6530 +* Documentation: http://drake.rubyforge.org +* Rubyforge home: http://rubyforge.org/projects/drake +* Repository: http://github.com/quix/rake + +== Author + +* James M. Lawrence <quixoticsycophant@gmail.com> + +== License + +Copyright (c) 2003, 2004 Jim Weirich + +Copyright (c) 2008 James M. Lawrence + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + += RAKE -- Ruby Make -- <em>master branch</em> + +Supporting Rake version: 0.8.6 + +This package contains Rake, a simple ruby build program with +capabilities similar to make. + +Rake has the following features: + +* Rakefiles (rake's version of Makefiles) are completely defined in + standard Ruby syntax. No XML files to edit. No quirky Makefile + syntax to worry about (is that a tab or a space?) + +* Users can specify tasks with prerequisites. + +* Rake supports rule patterns to synthesize implicit tasks. + +* Flexible FileLists that act like arrays but know about manipulating + file names and paths. + +* A library of prepackaged tasks to make building rakefiles easier. For example, + tasks for building tarballs, gems and RDoc output are provided. + +* Supports parallel execution of tasks. + + +== Installation + +=== Gem Installation + +Download and install rake with the following. + + gem install rake + +=== Normal Installation + +You can download the source tarball of the latest version of Rake from + +* http://rubyforge.org/project/showfiles.php?group_id=50 + +Extract the tarball and run + + % ruby install.rb + +from its distribution directory. + +== Usage + +=== Simple Example + +First, you must write a "Rakefile" file which contains the build rules. Here's +a simple example: + + task :default => [:test] + + task :test do + ruby "test/unittest.rb" + end + +This Rakefile has two tasks: + +* A task named "test", which - upon invocation - will run a unit test file in + Ruby. +* A task named "default". This task does nothing by itself, but it has exactly + one dependency, namely the "test" task. Invoking the "default" task will + cause Rake to invoke the "test" task as well. + +Running the "rake" command without any options will cause it to run the +"default" task in the Rakefile: + + % ls + Rakefile test/ + % rake + (in /home/some_user/Projects/rake) + ruby test/unittest.rb + ....unit test output here... + +Type "rake --help" for all available options. + + +=== More Information + +* For details on Rake's command-line invocation, read + doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html] +* For details on writing Rakefiles, see + doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html]. +* For the original announcement of Rake, see + doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html]. +* For a glossary of terms, see + doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html]. + + +== Development + +=== Source Repository + +Rake is currently hosted at github. The github web page is +http://github.com/jimweirich/rake. The public git clone URL is + +* git://github.com/jimweirich/rake.git + +=== Running the Rake Test Suite + +If you wish to run the unit and functional tests that come with Rake: + +* Install the 'session' gem in order to run the functional tests. +* CD into the top project directory of rake. +* Type one of the following: + + rake # If you have a version of rake installed + ruby -Ilib bin/rake # If you do not have a version of rake installed. + +=== Issues and Bug Reports + +Bugs, features requests and other issues can be logged at + +* http://onestepback.org/redmine/projects/show/rake + +You will need an account to before you can post issues. Register at +http://onestepback.org/redmine/account/register. Or you can send me +an email (at jim dot weirich at gmail dot com) + + +== Online Resources + +=== Rake References + +* Rake Documentation Home: http://docs.rubyrake.org +* Rake Project Page: http://rubyforge.org/projects/rake +* Rake API Documents: http://rake.rubyforge.org +* Rake Source Code Repo: http://github.com/jimweirich/rake +* Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git + +=== Presentations and Articles about Rake + +* Jim Weirich's 2003 RubyConf presentation: http://onestepback.org/articles/buildingwithrake/ +* Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html + +== Other Make Reinvisionings ... + +Rake is a late entry in the make replacement field. Here are links to +other projects with similar (and not so similar) goals. + +* http://directory.fsf.org/bras.html -- Bras, one of earliest + implementations of "make in a scripting language". +* http://www.a-a-p.org -- Make in Python +* http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make +* http://ant.apache.org -- The Ant project +* http://ppt.perl.org/commands/make/index.html -- Make from the Perl + Power Tools implementation. +* http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System +* http://make.rubyforge.org -- Rant, another Ruby make tool. + +== Credits + +[<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake. + +[<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support. + +[<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch. + +== License + +Rake is available under an MIT-style license. + +:include: MIT-LICENSE + +== Support + +The Rake homepage is http://rake.rubyforge.org. You can find the Rake +RubyForge page at http://rubyforge.org/projects/rake. + +Feel free to submit commits or feature requests. If you send a patch, +remember to update the corresponding unit tests. If fact, I prefer +new feature to be submitted in the form of new unit tests. + +For other information, feel free to ask on the ruby-talk mailing list +(which is mirrored to comp.lang.ruby) or contact +jim dot weirich at gmail.com. + +--- + += Other stuff + +Author:: Jim Weirich <jim.weirich@gmail.com> +Requires:: Ruby 1.8.0 or later +License:: Copyright 2003-2008 by Jim Weirich. + Released under an MIT-style license. See the LICENSE file + included in the distribution. + +== Warranty + +This software is provided "as is" and without any express or +implied warranties, including, without limitation, the implied +warranties of merchantibility and fitness for a particular +purpose. diff -Nru mkvtoolnix-4.0.0/Rakefile mkvtoolnix-4.5.0+dfsg/Rakefile --- mkvtoolnix-4.0.0/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,575 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +# Change to base directory before doing anything +if FileUtils.pwd != File.dirname(__FILE__) + new_dir = File.absolute_path(File.dirname(__FILE__)) + puts "Entering directory `#{new_dir}'" + Dir.chdir new_dir +end + +# Set number of threads to use if it is unset and we're running with +# drake +if Rake.application.options.respond_to?(:threads) && [nil, 0, 1].include?(Rake.application.options.threads) && !ENV['DRAKETHREADS'].nil? + Rake.application.options.threads = ENV['DRAKETHREADS'].to_i +end + +# Ruby 1.9.x introduce "require_relative" for local requires. 1.9.2 +# removes "." from $: and forces us to use "require_relative". 1.8.x +# does not know "require_relative" yet though. +begin + require_relative() +rescue NoMethodError + def require_relative *args + require *args + end +rescue Exception +end + +require "pp" + +require_relative "rake.d/extensions" +require_relative "rake.d/config" +require_relative "rake.d/helpers" +require_relative "rake.d/target" +require_relative "rake.d/application" +require_relative "rake.d/library" + +def setup_globals + $programs = %w{mkvmerge mkvinfo mkvextract mkvpropedit} + $programs << "mmg" if c?(:USE_WXWIDGETS) + $tools = %w{base64tool diracparser ebml_validator vc1parser} + $mmg_bin = c(:MMG_BIN) + $mmg_bin = "mmg" if $mmg_bin.empty? + + $application_subdirs = { "mmg" => "mmg/" } + $applications = $programs.collect { |name| "src/#{$application_subdirs[name]}#{name}" + c(:EXEEXT) } + $manpages = $programs.collect { |name| "doc/man/#{name}.1" } + + $system_includes = "-I. -Ilib -Ilib/avilib-0.6.10 -Ilib/utf8-cpp/source -Isrc" + $system_libdirs = "-Llib/avilib-0.6.10 -Llib/librmff -Lsrc/common -Lsrc/input -Lsrc/output -Lsrc/mpegparser" + + $source_directories = %w{lib/avilib-0.6.10 lib/librmff src src/input src/output src/common src/common/chapters src/common/strings src/common/tags src/common/xml + src/mmg src/mmg/header_editor src/mmg/options src/mmg/tabs src/extract src/propedit src/merge src/info src/mpegparser} + $all_sources = $source_directories.collect { |dir| FileList[ "#{dir}/*.c", "#{dir}/*.cpp" ].to_a }.flatten + $all_headers = $source_directories.collect { |dir| FileList[ "#{dir}/*.h", ].to_a }.flatten + $all_objects = $all_sources.collect { |file| file.ext('o') } + + $top_srcdir = c(:top_srcdir) + $dependency_dir = "#{$top_srcdir}/rake.d/dependecy.d" + + $languages = { + :applications => c(:TRANSLATIONS).split(/\s+/), + :manpages => c(:MANPAGES_TRANSLATIONS).split(/\s+/), + :guides => c(:GUIDE_TRANSLATIONS).split(/\s+/), + } + + $translations = { + :applications => $languages[:applications].collect { |language| "po/#{language}.mo" }, + :guides => $languages[:guides].collect { |language| "doc/guide/#{language}/mkvmerge-gui.hhk" }, + :manpages => !c?(:PO4A_WORKS) ? [] : $languages[:manpages].collect { |language| $manpages.collect { |manpage| manpage.gsub(/man\//, "man/#{language}/") } }.flatten, + } + + $available_languages = { + :applications => FileList[ "#{$top_srcdir }/po/*.po" ].collect { |name| File.basename name, '.po' }, + :manpages => FileList[ "#{$top_srcdir }/doc/man/po4a/po/*.po" ].collect { |name| File.basename name, '.po' }, + :guides => FileList[ "#{$top_srcdir }/doc/guide/*/mkvmerge-gui.html" ].collect { |name| File.basename File.dirname(name) }, + } + + $build_tools ||= c?(:TOOLS) + + cflags_common = "-Wall -Wno-comment #{c(:OPTIMIZATION_CFLAGS)} -D_FILE_OFFSET_BITS=64 #{c(:EXTRA_CFLAGS)} #{c(:DEBUG_CFLAGS)} #{c(:PROFILING_CFLAGS)} #{c(:MATROSKA_CFLAGS)} #{c(:EBML_CFLAGS)} #{c(:USER_CPPFLAGS)} -DPACKAGE=\\\"#{c(:PACKAGE)}\\\" -DVERSION=\\\"#{c(:VERSION)}\\\" -DMTX_LOCALE_DIR=\\\"#{c(:localedir)}\\\" -DMTX_PKG_DATA_DIR=\\\"#{c(:pkgdatadir)}\\\" -DMTX_DOC_DIR=\\\"#{c(:docdir)}\\\"" + ldflags_extra = c?(:MINGW) ? '' : "-Wl,--enable-auto-import" + $flags = { + :cflags => "#{cflags_common} #{c(:USER_CFLAGS)}", + :cxxflags => "#{cflags_common} #{c(:WXWIDGETS_CFLAGS)} #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} #{c(:CURL_CFLAGS)} #{c(:USER_CXXFLAGS)}", + :cppflags => "#{c(:USER_CPPFLAGS)}", + :ldflags => "#{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} #{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}", + } +end + +def define_default_task + desc "Build everything" + + # The applications themselves + targets = $applications.clone + + # Build the stuff in the 'src/tools' directory only if requested + targets << "apps:tools" if $build_tools + + # The tags file -- but only if it exists already + targets << "TAGS" if File.exist? "TAGS" + + # Build man pages and translations? + targets += [ "manpages", "translations:manpages" ] if c?(:XSLTPROC_WORKS) + + # Build translations for the programs + targets << "translations:applications" + + # The GUI help + targets << "translations:guides" + + task :default => targets do + puts "Done. Enjoy :)" + end +end + +# main +read_config +adjust_config +setup_globals +import_dependencies + +# Default task +define_default_task + +desc "Build all applications" +task :apps => $applications + +# Store compiler block for re-use +cxx_compiler = lambda do |t| + cxxflags = case + when !c?(:LIBMTXCOMMONDLL) then '' + when /src\/common/.match(t.name) then c(:CXXFLAGS_SRC_COMMON) + else c(:CXXFLAGS_NO_SRC_COMMON) + end + + # t.sources is empty for a 'file' task (common_pch.h.o). + sources = t.sources.empty? ? [ t.prerequisites.first ] : t.sources + + runq " CXX #{sources.first}", "#{c(:CXX)} #{$flags[:cxxflags]} #{$system_includes} #{cxxflags} -c -MMD -o #{t.name} #{sources.join(" ")}", :allow_failure => true + handle_deps t.name, last_exit_code +end + +# Precompiled headers +if c?(:USE_PRECOMPILED_HEADERS) + $all_objects.each { |name| file name => "src/common/common.h.gch" } + file "src/common/common.h.gch" => "src/common/common.h", &cxx_compiler +end + +# Pattern rules +rule '.o' => '.cpp', &cxx_compiler + +rule '.o' => '.c' do |t| + runq " CC #{t.source}", "#{c(:CC)} #{$flags[:cflags]} #{$system_includes} -c -MMD -o #{t.name} #{t.sources.join(" ")}", :allow_failure => true + handle_deps t.name, last_exit_code +end + +rule '.o' => '.rc' do |t| + runq " WINDRES #{t.source}", "#{c(:WINDRES)} #{c(:WXWIDGETS_INCLUDES)} -Isrc/mmg -o #{t.name} #{t.sources.join(" ")}" +end + +rule '.mo' => '.po' do |t| + runq " MSGFMT #{t.source}", "msgfmt -o #{t.name} #{t.sources.join(" ")}" +end + +# HTML help book stuff +rule '.hhk' => '.hhc' do |t| + runq " GREP #{t.source}", "#{c(:GREP)} -v 'name=\"ID\"' #{t.sources.join(" ")} > #{t.name}" +end + +# man pages from DocBook XML +if c?(:XSLTPROC_WORKS) + rule '.1' => '.xml' do |t| + runq "XSLTPROC #{t.source}", "#{c(:XSLTPROC)} #{c(:XSLTPROC_FLAGS)} -o #{t.name} #{c(:DOCBOOK_MANPAGES_STYLESHEET)} #{t.sources.join(" ")}" + end + + $manpages.each do |manpage| + file manpage => manpage.ext('xml') + $available_languages[:manpages].each do |language| + localized_manpage = manpage.gsub(/.*\//, "doc/man/#{language}/") + file localized_manpage => localized_manpage.ext('xml') + end + end +end + +# Qt files +rule '.h' => '.ui' do |t| + runq " UIC #{t.source}", "#{c(:UIC)} #{t.sources.join(" ")} > #{t.name}" +end + +# Rake does not support rules like '.moc.cpp' => '.h'. Therefore +# Target creats 'file' entries for all .moc.cpp entries submitted via +# Target#sources. +$moc_compiler = lambda do |t| + runq " MOC #{t.prerequisites.first}", "#{c(:MOC)} #{c(:QT_CFLAGS)} #{t.prerequisites.join(" ")} > #{t.name}" +end + +# Tag files +desc "Create tags file for Emacs" +task :tags => "TAGS" + +file "TAGS" => $all_sources do |t| + runq ' ETAGS', "#{c(:ETAGS)} -o #{t.name} #{t.prerequisites.join(" ")}" +end + +task :manpages => $manpages + +# Translations for the programs +namespace :translations do + desc "Create a template for translating the programs" + task :pot => "po/mkvtoolnix.pot" + file "po/mkvtoolnix.pot" => $all_sources + $all_headers do |t| + runq 'XGETTEXT', <<-COMMAND + xgettext --keyword=YT --keyword=Y --keyword=Z --keyword=TIP --default-domain=mkvtoolnix --from-code=UTF-8 -s --omit-header -o #{t.name} #{t.prerequisites.join(" ")} + COMMAND + end + + desc "Verify format strings in translations" + task "verify-format-strings" do + files = $available_languages[:applications].collect { |language| "po/#{language}.po" }.join(' ') + runq 'VERIFY', <<-COMMAND + ./src/scripts/verify_format_srings_in_translations.rb #{files} + COMMAND + end + + [ :applications, :manpages, :guides ].each { |type| task type => $translations[type] } + + $available_languages[:manpages].each do |language| + $manpages.each do |manpage| + name = manpage.gsub(/man\//, "man/#{language}/") + file name => [ name.ext('xml'), "doc/man/po4a/po/#{language}.po" ] + file name.ext('xml') => [ manpage.ext('.xml'), "doc/man/po4a/po/#{language}.po" ] do |t| + runq " PO4A #{manpage.ext('.xml')} (#{language})", "#{c(:PO4A_TRANSLATE)} #{c(:PO4A_TRANSLATE_FLAGS)} -m #{manpage.ext('.xml')} -p doc/man/po4a/po/#{language}.po -l #{t.name}" + end + end + end + + desc "Update all translation files" + task :update => [ "translations:update:applications", "translations:update:manpages" ] + + namespace :update do + desc "Update the program's translation files" + task :applications => [ "po/mkvtoolnix.pot", ] + $available_languages[:applications].collect { |language| "translations:update:applications:#{language}" } + + namespace :applications do + $available_languages[:applications].each do |language| + task language => "po/mkvtoolnix.pot" do |t| + po = "po/#{language}.po" + tmp_file = "#{po}.new" + runq "MSGMERGE #{po}", "msgmerge -q -s --no-wrap #{po} po/mkvtoolnix.pot > #{tmp_file}", :allow_failure => true + + exit_code = last_exit_code + if 0 != exit_code + File.unlink tmp_file + exit exit_code + end + + if %w{es nl ru uk zh_CN zh_TW}.include? language + adjust_to_poedit_style tmp_file, po + else + FileUtils.mv tmp_file, po + end + end + end + end + + desc "Update the man pages' translation files" + task :manpages do + runq " PO4A doc/man/po4a/po4a.cfg", "#{c(:PO4A)} #{c(:PO4A_FLAGS)} --msgmerge-opt=--no-wrap doc/man/po4a/po4a.cfg" + %w{nl zh_CN}.each do |language| + name = "doc/man/po4a/po/#{language}.po" + FileUtils.cp name, "#{name}.tmp" + adjust_to_poedit_style "#{name}.tmp", name + end + end + end + + [ :stats, :statistics ].each_with_index do |name, idx| + desc "Generate statistics about translation coverage" if 0 == idx + task name do + FileList["po/*.po", "doc/man/po4a/po/*.po"].each do |name| + command = "msgfmt --statistics -o /dev/null #{name} 2>&1" + if ENV["V"].to_bool + runq " MSGFMT #{name}", command, :allow_failure => true + else + puts "#{name} : " + `#{command}`.split(/\n/).first + end + end + end + end +end + +# HTMLO generation for the man pages +targets = ([ 'en' ] + $languages[:manpages]).collect do |language| + dir = language == 'en' ? '' : "/#{language}" + FileList[ "doc/man#{dir}/*.xml" ].collect { |name| "man2html:#{language}:#{File.basename(name, '.xml')}" } +end.flatten + +%w{manpages-html man2html}.each_with_index do |task_name, idx| + desc "Create HTML files for the man pages" if 0 == idx + task task_name => targets +end + +namespace :man2html do + ([ 'en' ] + $languages[:manpages]).collect do |language| + namespace language do + dir = language == 'en' ? '' : "/#{language}" + FileList[ "doc/man#{dir}/*.xml" ].each do |name| + task File.basename(name, '.xml') => %w{manpages translations:manpages} do + runq "XSLTPROC #{name}", "xsltproc --nonet -o #{name.ext('html')} /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl #{name}" + end + end + end + end +end + +# Installation tasks +desc "Install all applications and support files" +targets = [ "install:programs", "install:manpages", "install:translations:manpages", "install:translations:applications", "install:translations:guides" ] +targets << "install:shared" if c?(:USE_WXWIDGETS) +task :install => targets + +namespace :install do + application_name_mapper = lambda do |name| + base = File.basename name + base == "mmg" ? $mmg_bin : base + end + + task :programs => $applications do + install_dir :bindir + $applications.each { |application| install_program "#{c(:bindir)}/#{application_name_mapper[application]}", application } + end + + task :shared do + install_dir :desktopdir, :mimepackagesdir + install_data :desktopdir, FileList[ "#{$top_srcdir}/share/desktop/*.desktop" ] + install_data :mimepackagesdir, FileList[ "#{$top_srcdir}/share/mime/*.xml" ] + + FileList[ "#{$top_srcdir}/share/icons/*" ].collect { |dir| File.basename dir }.select { |dir| dir != "windows" }.each do |dir| + install_dir "#{c(:icondir)}/#{dir}/apps" + install_data "#{c(:icondir)}/#{dir}/apps/", FileList[ "#{$top_srcdir}/share/icons/#{dir}/*.png" ] + end + end + + man_page_name_mapper = lambda do |name| + base = File.basename name + base == "mmg.1" ? "#{$mmg_bin}.1" : base + end + + task :manpages => $manpages do + install_dir :man1dir + $manpages.each { |manpage| install_data "#{c(:man1dir)}/#{man_page_name_mapper[manpage]}", manpage } + end + + namespace :translations do + task :applications do + install_dir $languages[:applications].collect { |language| "#{c(:localedir)}/#{language}/LC_MESSAGES" } + $languages[:applications].each do |language| + install_data "#{c(:localedir)}/#{language}/LC_MESSAGES/mkvtoolnix.mo", "po/#{language}.mo" + end + end + + task :manpages do + install_dir $languages[:manpages].collect { |language| "#{c(:mandir)}/#{language}/man1" } + $languages[:manpages].each do |language| + $manpages.each { |manpage| install_data "#{c(:mandir)}/#{language}/man1/#{man_page_name_mapper[manpage]}", manpage.sub(/man\//, "man/#{language}/") } + end + end + + task :guides do + install_dir :docdir, $languages[:guides].collect { |language| "#{c(:docdir)}/guide/#{language}/images" } + + $languages[:guides].each do |language| + install_data "#{c(:docdir)}/guide/#{language}/", FileList[ "#{$top_srcdir}/doc/guide/#{language}/mkvmerge-gui.*" ] + install_data "#{c(:docdir)}/guide/#{language}/images/", FileList[ "#{$top_srcdir}/doc/guide/#{language}/images/*.gif" ] + end + end + end +end + +# Cleaning tasks +desc "Remove all compiled files" +task :clean do + tools = $tools.collect { |name| "src/tools/#{name}" }.join " " + run <<-SHELL, :allow_failure => true + rm -f *.o */*.o */*/*.o */lib*.a */*/lib*.a */*/*.gch po/*.mo + */*.exe */*/*.exe */*/*.dll */*/*.dll.a doc/guide/*/*.hhk + src/info/ui/*.h src/info/*.moc.cpp src/common/*/*.o + src/mmg/*/*.o #{$applications.join(" ")} #{tools} + lib/libebml/src/*.o lib/libmatroska/src/*.o + lib/libebml/src/lib*.a lib/libmatroska/src/lib*.a + SHELL +end + +namespace :clean do + desc "Remove all compiled and generated files ('tarball' clean)" + task :dist => :clean do + run "rm -f config.h config.log config.cache build-config Makefile */Makefile */*/Makefile TAGS", :allow_failure => true + run "rm -rf #{$dependency_dir}", :allow_failure => true + end + + desc "Remove all compiled and generated files ('git' clean)" + task :maintainer => "clean:dist" do + run "rm -f configure config.h.in", :allow_failure => true + end + + desc "Remove all compiled libraries" + task :libs do + run "rm -f */lib*.a */*/lib*.a */*/*.dll */*/*.dll.a", :allow_failure => true + end + + [:apps, :applications, :exe].each_with_index do |name, idx| + desc "Remove all compiled applications" if 0 == idx + task name do + run "rm -f #{$applications.join(" ")} */*.exe */*/*.exe", :allow_failure => true + end + end + + %w{manpages-html man2html}.each do |name| + task name do + run "rm -f doc/man/*.html doc/man/*/*.html" + end + end +end + +# +# avilib-0.6.10 +# librmff +# spyder's MPEG parser +# src/common +# src/input +# src/output +# + +[ { :name => 'avi', :dir => 'lib/avilib-0.6.10' }, + { :name => 'rmff', :dir => 'lib/librmff' }, + { :name => 'mpegparser', :dir => 'src/mpegparser' }, + { :name => 'mtxcommon', :dir => [ 'src/common', 'src/common/chapters', 'src/common/strings', 'src/common/tags', 'src/common/xml' ] }, + { :name => 'mtxinput', :dir => 'src/input' }, + { :name => 'mtxoutput', :dir => 'src/output' }, + { :name => 'ebml', :dir => 'lib/libebml/src' }, + { :name => 'matroska', :dir => 'lib/libmatroska/src' }, +].each do |lib| + Library. + new("#{[ lib[:dir] ].flatten.first}/lib#{lib[:name]}"). + sources([ lib[:dir] ].flatten, :type => :dir). + build_dll(lib[:name] == 'mtxcommon'). + libraries(:iconv, :z, :compression, :matroska, :ebml, :expat, :rpcrt4). + create +end + +# +# mkvmerge +# + +Application.new("src/mkvmerge"). + description("Build the mkvmerge executable"). + aliases(:mkvmerge). + sources("src/merge", :type => :dir). + sources("src/merge/resources.o", :if => c?(:MINGW)). + libraries(:mtxinput, :mtxoutput, :mtxcommon, :magic, :matroska, :ebml, :avi, :rmff, :mpegparser, :flac, :vorbis, :ogg, :z, :compression, :expat, :iconv, :intl, :curl, + :boost_regex, :boost_filesystem, :boost_system). + create + +# +# mkvinfo +# + +$mkvinfo_ui_files = FileList["src/info/ui/*.ui"].to_a +file "src/info/qt_ui.o" => $mkvinfo_ui_files + +Application.new("src/mkvinfo"). + description("Build the mkvinfo executable"). + aliases(:mkvinfo). + sources(FileList["src/info/*.cpp"].exclude("src/info/qt_ui.cpp", "src/info/wxwidgets_ui.cpp")). + sources("src/info/resources.o", :if => c?(:MINGW)). + libraries(:mtxcommon, :magic, :matroska, :ebml, :expat, :intl, :iconv, :curl, :boost_regex, :boost_filesystem, :boost_system). + only_if(c?(:USE_QT)). + sources("src/info/qt_ui.cpp", "src/info/qt_ui.moc.cpp", "src/info/rightclick_tree_widget.moc.cpp", $mkvinfo_ui_files). + libraries(:qt). + only_if(!c?(:USE_QT) && c?(:USE_WXWIDGETS)). + sources("src/info/wxwidgets_ui.cpp"). + libraries(:wxwidgets). + create + +# +# mkvextract +# + +Application.new("src/mkvextract"). + description("Build the mkvpropedit executable"). + aliases(:mkvextract). + sources("src/extract", :type => :dir). + sources("src/extract/resources.o", :if => c?(:MINGW)). + libraries(:mtxcommon, :magic, :matroska, :ebml, :avi, :rmff, :vorbis, :ogg, :z, :compression, :expat, :iconv, :intl, :curl, + :boost_regex, :boost_filesystem, :boost_system). + create + +# +# mkvpropedit +# + +Application.new("src/mkvpropedit"). + description("Build the mkvpropedit executable"). + aliases(:mkvpropedit). + sources("src/propedit", :type => :dir). + sources("src/propedit/resources.o", :if => c?(:MINGW)). + libraries(:mtxcommon, :magic, :matroska, :ebml, :avi, :rmff, :vorbis, :ogg, :z, :compression, :expat, :iconv, :intl, :curl, + :boost_regex, :boost_filesystem, :boost_system). + create + +# +# mmg +# + +if c?(:USE_WXWIDGETS) + Application.new("src/mmg/mmg"). + description("Build the mmg executable"). + aliases(:mmg). + sources("src/mmg", "src/mmg/header_editor", "src/mmg/options", "src/mmg/tabs", :type => :dir). + sources("src/mmg/mmg-resources.o", :if => c?(:MINGW)). + libraries(:mtxcommon, :magic, :matroska, :ebml, :avi, :rmff, :vorbis, :ogg, :z, :compression, :expat, :iconv, :intl, :wxwidgets, :curl, + :boost_regex, :boost_filesystem, :boost_system). + libraries(:ole32, :shell32, "-mwindows", :if => c?(:MINGW)). + create +end + +# +# Applications in src/tools +# +if $build_tools + namespace :apps do + task :tools => $tools.collect { |name| "apps:tools:#{name}" } + end + + # + # tools: base64tool + # + Application.new("src/tools/base64tool"). + description("Build the base64tool executable"). + aliases("tools:base64tool"). + sources("src/tools/base64tool.cpp"). + libraries(:mtxcommon, :magic, :matroska, :ebml, :expat, :iconv, :intl, :boost_regex, :curl). + create + + # + # tools: diracparser + # + Application.new("src/tools/diracparser"). + description("Build the diracparser executable"). + aliases("tools:diracparser"). + sources("src/tools/diracparser.cpp"). + libraries(:mtxcommon, :magic, :matroska, :ebml, :expat, :iconv, :intl, :boost_regex, :curl). + create + + # + # tools: ebml_validator + # + Application.new("src/tools/ebml_validator"). + description("Build the ebml_validator executable"). + aliases("tools:ebml_validator"). + sources("src/tools/ebml_validator.cpp", "src/tools/element_info.cpp"). + libraries(:mtxcommon, :magic, :matroska, :ebml, :expat, :iconv, :intl, :boost_regex, :curl). + create + + # + # tools: vc1parser + # + Application.new("src/tools/vc1parser"). + description("Build the vc1parser executable"). + aliases("tools:vc1parser"). + sources("src/tools/vc1parser.cpp"). + libraries(:mtxcommon, :magic, :matroska, :ebml, :expat, :iconv, :intl, :boost_regex, :curl). + create +end diff -Nru mkvtoolnix-4.0.0/README mkvtoolnix-4.5.0+dfsg/README --- mkvtoolnix-4.0.0/README 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/README 2011-01-31 20:34:09.000000000 +0000 @@ -1,4 +1,4 @@ -MKVToolNix 4.0.0 +MKVToolNix 4.5.0 ================ Table of contents @@ -69,6 +69,17 @@ - Several of Boost's libraries: "format", "RegEx", "filesystem", "system", "foreach" ( http://www.boost.org/ ) +You also need the "rake" or "drake" build program or at least the +programming language Ruby and the "rubygems" package. MKVToolNix comes +bundled with its own copy of "drake" in case you cannot install it +yourself. If you want to install it yourself I suggest you use the +"drake" version because it will be able to use all available CPU cores +for parallel builds. + +Installing "drake" is simple. As root run the following command: + +gem install drake + 2.2. Optional components Other libraries are optional and only limit the features that are @@ -86,11 +97,12 @@ aforementioned zlib is what every program supports. - libMagic from the "file" package ( http://www.darwinsys.com/file/ ) for automatic content type detection +- libcurl ( http://curl.haxx.se/ ) for online update checks 2.3. Building libmatroska and libebml -Start with the two libraries. Either get libebml 0.8.0 from -http://dl.matroska.org/downloads/libebml/ and libmatroska 0.9.0 from +Start with the two libraries. Either get libebml 1.0.0 from +http://dl.matroska.org/downloads/libebml/ and libmatroska 1.0.0 from http://dl.matroska.org/downloads/libmatroska/ or a fresh copy from the Subversion repository: @@ -141,7 +153,22 @@ --with-extra-includes=/where/i/put/libebml\;/where/i/put/libmatroska \ --with-extra-libs=/where/i/put/libebml/make/linux\;/where/i/put/libmatroska/make/linux -Now run "make" and, as "root", "make install". +Now run "rake" and, as "root", "rake install". If you don't have +"rake" installed yourself then use the version bundled with +MKVToolNix: "./rake.d/bin/drake" and "./rake.d/bin/drake install". + +If you want to use all available CPU cores for building then you have +to use "drake" instead of "rake". "drake" knows the parameter "-j" +much like "make" does. You can also set the environment varibale +DRAKETHREADS to a number and the build process will automatically use +that number of threads for a parallel build: + +./drake -j4 + +or + +export DRAKETHREADS=4 +./drake 2.5. Notes for compilation on (Open)Solaris @@ -154,9 +181,6 @@ --with-extra-includes=/where/i/put/libebml\;/where/i/put/libmatroska \ --with-extra-libs=/where/i/put/libebml/make/linux\;/where/i/put/libmatroska/make/linux -Also make sure to call the GNU "make" utility instead of Sun's: - -gmake WARNING_CFLAGS= diff -Nru mkvtoolnix-4.0.0/README.Windows.txt mkvtoolnix-4.5.0+dfsg/README.Windows.txt --- mkvtoolnix-4.0.0/README.Windows.txt 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/README.Windows.txt 2011-01-31 20:34:09.000000000 +0000 @@ -17,6 +17,7 @@ boost expat +libcurl libebml libmatroska libogg @@ -188,18 +189,18 @@ http://dl.matroska.org/downloads/libmatroska/ cd $HOME/mingw/src - wget http://dl.matroska.org/downloads/libebml/libebml-0.8.0.tar.bz2 \ - http://dl.matroska.org/downloads/libmatroska/libmatroska-0.9.0.tar.bz2 - bunzip2 < libebml-0.8.0.tar.bz2 | tar xf - - bunzip2 < libmatroska-0.9.0.tar.bz2 | tar xf - + wget http://dl.matroska.org/downloads/libebml/libebml-1.0.0.tar.bz2 \ + http://dl.matroska.org/downloads/libmatroska/libmatroska-1.0.0.tar.bz2 + bunzip2 < libebml-1.0.0.tar.bz2 | tar xf - + bunzip2 < libmatroska-1.0.0.tar.bz2 | tar xf - - cd libebml-0.8.0/make/linux + cd libebml-1.0.0/make/linux perl -pi -e 's/error/info/' Makefile make CXX=i586-mingw32msvc-g++ AR="i586-mingw32msvc-ar rcvu" RANLIB=i586-mingw32msvc-ranlib SHARED=no staticlib cp libebml.a $HOME/mingw/lib/ cp -R ../../ebml $HOME/mingw/include/ebml - cd ../../../libmatroska-0.9.0/make/linux + cd ../../../libmatroska-1.0.0/make/linux perl -pi -e 's/error/info/' Makefile export CXXFLAGS=-I$HOME/mingw/include export LDFLAGS=-L$HOME/mingw/lib @@ -391,7 +392,23 @@ $_' include/bzlib.h cp -R . $HOME/mingw -2.3.12. mkvtoolnix itself +2.3.12. libcurl (optional) + +Get the source code from http://curl.haxx.se/latest.cgi?curl=tar.bz2 + + cd $HOME/mingw/src + wget http://curl.linux-mirror.org/download/curl-7.21.3.tar.bz2 + tar xjf curl-7.21.3.tar.bz2 + cd curl-7.21.3 + ./configure \ + --host=i586-mingw32msvc \ + --prefix=$HOME/mingw \ + --with-zlib=$HOME/mingw \ + --enable-ipv6 + make + make install + +2.3.13. mkvtoolnix itself Change back into the mkvtoolnix source code directory and execute the following commands: diff -Nru mkvtoolnix-4.0.0/share/desktop/mkvinfo.desktop mkvtoolnix-4.5.0+dfsg/share/desktop/mkvinfo.desktop --- mkvtoolnix-4.0.0/share/desktop/mkvinfo.desktop 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/desktop/mkvinfo.desktop 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +[Desktop Entry] +Type=Application +Name=mkvinfo +GenericName=Show information about MKV files +GenericName[de]=Informationen über MKV-Dateien anzeigen +GenericName[es]=Mostrar información sobre ficheros MKV +GenericName[zh_TW]=顯示 MKV 檔資訊 +Icon=mkvinfo +Exec=mkvinfo -g +Terminal=false +MimeType=video/x-matroska;audio/x-matroska; +Categories=AudioVideo;AudioVideoEditing; +InitialPreference=-1 diff -Nru mkvtoolnix-4.0.0/share/desktop/mkvmergeGUI.desktop mkvtoolnix-4.5.0+dfsg/share/desktop/mkvmergeGUI.desktop --- mkvtoolnix-4.0.0/share/desktop/mkvmergeGUI.desktop 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/desktop/mkvmergeGUI.desktop 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,14 @@ +[Desktop Entry] +Type=Application +Name=mkvmerge GUI +GenericName=MKV files creator +GenericName[de]=MKV-Dateien erstellen +GenericName[es]=Creador de ficheros MKV +GenericName[fr]=Créateur de fichiers MKV +GenericName[zh_TW]=MKV 檔製作軟體 +Icon=mkvmergeGUI +Exec=mmg +Terminal=false +MimeType=application/x-mmg-settings;video/x-matroska;audio/x-matroska; +Categories=GNOME;AudioVideo;AudioVideoEditing; +InitialPreference=-5 Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/32x32/mkvinfo.png and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvinfo.png differ diff -Nru mkvtoolnix-4.0.0/share/icons/32x32/mkvinfo.xpm mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvinfo.xpm --- mkvtoolnix-4.0.0/share/icons/32x32/mkvinfo.xpm 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvinfo.xpm 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,271 @@ +/* XPM */ +static const char * mkvinfo_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 233 2", +" c #242472", +". c #505050", +"X c #585857", +"o c #5D5D5C", +"O c #65635F", +"+ c #646463", +"@ c #696766", +"# c #6C6B6A", +"$ c #706F6E", +"% c #70706E", +"& c #737271", +"* c #7A7976", +"= c #7C7B7A", +"- c #A60606", +"; c #B00303", +": c #BF0000", +"> c #A51211", +", c #C00101", +"< c #C00A0A", +"1 c #C21E1D", +"2 c #C2201F", +"3 c #C43937", +"4 c #C53B39", +"5 c #AC6566", +"6 c #C64744", +"7 c #83817E", +"8 c #1E1E98", +"9 c #0101A4", +"0 c #0D0DA5", +"q c #1515A7", +"w c #1A1AA8", +"e c #201FA9", +"r c #403EAE", +"t c #2C4780", +"y c #234688", +"u c #23498D", +"i c #2F4F8F", +"p c #304981", +"a c #38548E", +"s c #2C5192", +"d c #2E5698", +"f c #345E9E", +"g c #174CAC", +"h c #1A53B4", +"j c #4A5D84", +"k c #535284", +"l c #415E97", +"z c #56678A", +"x c #4D6494", +"c c #546C9C", +"v c #5E7097", +"b c #666484", +"n c #696784", +"m c #7E7D87", +"M c #6D7992", +"N c #6F7C98", +"B c #4645AF", +"V c #4B49AD", +"C c #4C4BB0", +"Z c #5453B1", +"A c #5A59B2", +"S c #4C78AF", +"D c #557BAC", +"F c #4B77B1", +"G c #577CB1", +"H c #677AA1", +"J c #7674AC", +"K c #6866B4", +"L c #6C6AB6", +"P c #2C5AC6", +"I c #2B64C6", +"U c #2662C9", +"Y c #2865C8", +"T c #2E6BC8", +"R c #3461C7", +"E c #4A6DC7", +"W c #4B75C9", +"Q c #7D7CC5", +"! c #7D869B", +"~ c #508BAC", +"^ c #5E81B4", +"/ c #5486BA", +"( c #5C87B9", +") c #7A89A7", +"_ c #659CA7", +"` c #6E9BA4", +"' c #729CA3", +"] c #6184B5", +"[ c #648BBB", +"{ c #4D83C0", +"} c #4E89CE", +"| c #5F93C4", +" . c #6994C1", +".. c #6295C8", +"X. c #659CCB", +"o. c #689ECC", +"O. c #6BA0CE", +"+. c #76A7CF", +"@. c #77A8CD", +"#. c #7EB7C2", +"$. c #7EBBC8", +"%. c #6BA7D9", +"&. c #6DACDF", +"*. c #72ACD7", +"=. c #78AFDD", +"-. c #77C5D7", +";. c #838382", +":. c #8A8986", +">. c #86858C", +",. c #8C8B8C", +"<. c #908E8C", +"1. c #93918E", +"2. c #828A9D", +"3. c #918F90", +"4. c #959493", +"5. c #989794", +"6. c #9B9A96", +"7. c #919499", +"8. c #9C9B9A", +"9. c #A09E9C", +"0. c #868FA2", +"q. c #8992A8", +"w. c #8F9EBA", +"e. c #9EA0A2", +"r. c #9BA4B9", +"t. c #A3A3A2", +"y. c #A8A7A4", +"u. c #AAA8A5", +"i. c #ACACAB", +"p. c #B0AFAD", +"a. c #ABADB0", +"s. c #AEB0B1", +"d. c #B5B4B3", +"f. c #B8B7B5", +"g. c #B9B9B6", +"h. c #B8B6BE", +"j. c #BBBBBA", +"k. c #C68681", +"l. c #E3ACAA", +"z. c #E4B6B4", +"x. c #C3C1BF", +"c. c #8282C5", +"v. c #9391C8", +"b. c #8EA4C6", +"n. c #98A8C3", +"m. c #85AFD7", +"M. c #8FB0D7", +"N. c #81B3D9", +"B. c #81B8DE", +"V. c #88BCDE", +"C. c #A6A4CC", +"Z. c #BDBDC7", +"A. c #B0BBCE", +"S. c #ADACD9", +"D. c #A9BAD2", +"F. c #A0BED8", +"G. c #BAB8D7", +"H. c #86C9DA", +"J. c #88CDDF", +"K. c #95D2DF", +"L. c #BFC1C2", +"P. c #B6C4D7", +"I. c #B2C3D9", +"U. c #85C2E3", +"Y. c #8AC5E4", +"T. c #92C3E2", +"R. c #93CCE7", +"E. c #9CCBE6", +"W. c #91CCEA", +"Q. c #93D1E6", +"!. c #96D3EE", +"~. c #9BD3EC", +"^. c #99D7F0", +"/. c #9DDAF2", +"(. c #A1C6E4", +"). c #A1CEE9", +"_. c #A2DCE7", +"`. c #A0D7EF", +"'. c #B8DDEA", +"]. c #A2DBF1", +"[. c #9DE7F9", +"{. c #A5E3F6", +"}. c #ABE4F6", +"|. c #A8E6F8", +" X c #A7EBFA", +".X c #ACEDFC", +"XX c #B4ECF7", +"oX c #B2EEFB", +"OX c #BAEDFB", +"+X c #B6F0FD", +"@X c #BBF2FD", +"#X c #C4C3C3", +"$X c #C8C7C5", +"%X c #C9C8C6", +"&X c #C3C4CB", +"*X c #CBCBCA", +"=X c #D0CFCC", +"-X c #D3D1CE", +";X c #CACAD3", +":X c #CECDDE", +">X c #CED1D2", +",X c #D4D4D3", +"<X c #D8D7D4", +"1X c #DBD9D6", +"2X c #D7D8D8", +"3X c #DDDDDC", +"4X c #E6C6C4", +"5X c #E7CFCC", +"6X c #E0DFDE", +"7X c #ECDEDB", +"8X c #E2E0DD", +"9X c #F2E0DE", +"0X c #DCDAE1", +"qX c #C2E7F6", +"wX c #C4EAF4", +"eX c #C0ECF9", +"rX c #C5F3FD", +"tX c #CBF4FD", +"yX c #D3F6FD", +"uX c #DBF9FE", +"iX c #E4E4E3", +"pX c #E9E8E7", +"aX c #E7E8E9", +"sX c #EBECEB", +"dX c #F3E9E8", +"fX c #F1F0EE", +"gX c #ECECF0", +"hX c #EFF1F2", +"jX c #F4F4F4", +"kX c #F8F7F6", +"lX c #F8F8F7", +"zX c #F7F8F8", +"xX c #FFFFFF", +/* pixels */ +"xXxXxXxXxXxXxXxXxXzXzXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX", +"xXxXxXxXxXzXsXiX<X&X%X,X8XsXzXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX", +"xXxXxXxXaX,Xj.! j j a o M a.=XsXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX", +"xXxXxX3Xx.0.p u ] ....[ s t M g.3XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX", +"xXxX3Xd.N y G +.~.R.R.).@.D u z y.;.#XxXxXxXxXxXxXxXxXxXxXxXxXxX", +"xXkXp.2.y [ V.`.qX].Q.'.~.T. .u M y.6.# sXz.l.4XxXxXxXxXxXxXxXxX", +"xX%X8.a S E.~.}.eXH.J.OX}.`.).( i 7.*X9X4 , , , 6 7X6X1X1XsXxXxX", +"xXy.! d N.~./.}.J.-.[.[.}.`.!.V.f M y.3 , , , , : 6 kXpX,Xi.7 $X", +"aX5.v F W.!.{.}.$. X X.XoX|.^.W./ x 1.; , : , , : < dXxXxXxXiXo ", +"2X4.c | !.{..XK._.+X+X+XoX.X{.U.{ l ,.- , : , , , , 5XxXxXxXxX@ ", +",X1.c o.^.|..X#.+X@X@X@X@X}.&.T h x ,.> , : , , , 1 xXxXxXxXiXo ", +"8X4.H ../.|.OX` tXtXtXtXXXT U Y h c >.5 , : : : < k.*XxXxXxX= = ", +"zX6.q.{ /.}.OX' tXyXyXwXW P P Y g ) b V k.4 2 4 z.xX+ xXxX8.@ iX", +"xXi.t.^ U.}.@X' yXuXuXm.P I } %.F r.k 9 q C K C Q xXf.f.9.@ 6XxX", +"xX3X6.r...!.oX' yXuXuXE R B.{.X.w.6.8XC.0 9 9 9 w jXsX7 # iXxXxX", +"xXxXd.y.n.O.!._ rXyX'.R =.].*.b.f.j.xXxXv.9 9 9 w h.% * pXxXxXxX", +"xXxXxX4.p.A.N.~ R.}.Y.Y H.=.D.d.t.sX2X#XiXe 9 Z ,.+ u.f.f.xXxXxX", +"xXxX=XlXs.t.%XP.F.(.T.M.I.&Xu.s.#Xy.>XaX&XJ 0.$ 5 iXxX,X6.xXxXxX", +"xXd.jXxXxX2Xy.t.i.f.d.a.y.4.*XxX3X. = >XgXd.# 0.P sXxXxX;.xXxXxX", +"*X$XxXxXxXxXxXsX@ i.#Xn o o # 3XjX;.o & #XgXZ.8 C xXxXxX& xXxXxX", +"= kXxXxXxXxXxXxXiX7 xX$ o o o & y.% X + # a.hX;X&XxXxXsX1.xXxXxX", +"+ =XxXxXxXxXxXxXxX:.*X+ o o o o 5.,XxX>.# + e.aX6X,XxX%Xt.xXxXxX", +"= @ j.<XpXlX8X<X$Xy.7 O o o o m 0X:Xc.q & # 7.iXaX,X5.=XxXxXxX", +"sX8.@ o + + + + $ ;.j.<.' 5 t.G.L B r A S.e.= % ,.2XaX<.xXxXxXxX", +"xXxXxX1X1X<X1XlXxXxXxX,X# sXxXxXxXxXxXxXzXxXd.;.= ;.*XsX,XzXxXxX", +"xXxXxXxXxXxXxXxXxXxXxXxX1XO 1XxXxXxXxXxXxXxXxX#X3.>.= L.sX>XsXxX", +"xXxXxXxXxXxXxXxXxXxXxXxXxXpX7 <.aXxXxXxXxXxXxXxX8.:.7.7 d.iX,XaX", +"xXxXxXxXxXxXxXxXxXxXxXxXxXxXxX#X$ * d.-X1X-Xp.@ 4.2Xt.t.;.i.iX%X", +"xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXsXf.6.5.6.j.fXzXxXiXy.a.3.t.3X", +"xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXaXd.7.g.xX", +"xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXsX$XxXxX", +"xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX" +}; Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/32x32/mkvmergeGUI.png and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvmergeGUI.png differ diff -Nru mkvtoolnix-4.0.0/share/icons/32x32/mkvmergeGUI.xpm mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvmergeGUI.xpm --- mkvtoolnix-4.0.0/share/icons/32x32/mkvmergeGUI.xpm 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/icons/32x32/mkvmergeGUI.xpm 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,297 @@ +/* XPM */ +static const char * mkvmergeGUI_xpm[] = { +"32 32 262 2", +" c None", +". c #FFFFFF", +"+ c #EAE9E8", +"@ c #A5A4A3", +"# c #706E6A", +"$ c #73706C", +"% c #74716D", +"& c #878683", +"* c #C3C2C0", +"= c #9C9A96", +"- c #6C6A66", +"; c #C7C6C3", +"> c #DFDDDB", +", c #A1A09E", +"' c #EBEAE8", +") c #E5C2BF", +"! c #E3ACAA", +"~ c #E6C6C4", +"{ c #8B8986", +"] c #9F9D9A", +"^ c #F2E0DE", +"/ c #C53937", +"( c #C00303", +"_ c #C00000", +": c #C00404", +"< c #C64744", +"[ c #ECDEDB", +"} c #DFDDDA", +"| c #DBDAD6", +"1 c #D9D8D5", +"2 c #EEEEEC", +"3 c #B1B0AE", +"4 c #9A9894", +"5 c #C43A38", +"6 c #C34A48", +"7 c #F8F7F6", +"8 c #E7E6E4", +"9 c #D5D4D1", +"0 c #AEADAA", +"a c #82817E", +"b c #C8C7C5", +"c c #F5F4F3", +"d c #676562", +"e c #E6C9C6", +"f c #C00A0A", +"g c #F3E9E8", +"h c #E2E2E0", +"i c #606060", +"j c #AFAEAC", +"k c #B9B8B6", +"l c #D8D6E2", +"m c #A2A2D7", +"n c #716FB9", +"o c #CA9FA8", +"p c #E7CFCC", +"q c #676766", +"r c #F3F2F1", +"s c #E6E6EF", +"t c #5E5CB6", +"u c #0B0BA5", +"v c #0000A4", +"w c #8B7CAE", +"x c #C10F0E", +"y c #C21E1D", +"z c #E4E4E3", +"A c #5D5D5D", +"B c #6E6B68", +"C c #DEDEED", +"D c #2726AA", +"E c #3232AC", +"F c #C47374", +"G c #C00202", +"H c #C00606", +"I c #C68681", +"J c #CDCCCB", +"K c #7D7C79", +"L c #7C7A78", +"M c #EEEDF0", +"N c #3130AB", +"O c #4D4BAF", +"P c #BF8288", +"Q c #C53A38", +"R c #C2201F", +"S c #C53E3C", +"T c #E4B6B4", +"U c #666460", +"V c #9E9D9B", +"W c #686867", +"X c #E6E6E4", +"Y c #74726E", +"Z c #8887C7", +"` c #0505A4", +" . c #4C4BB0", +".. c #A8A7D8", +"+. c #BDBCDC", +"@. c #4D4CB0", +"#. c #0606A4", +"$. c #1515A7", +"%. c #5150B1", +"&. c #6866B4", +"*. c #7D7CC5", +"=. c #B7B6B4", +"-. c #A09E9C", +";. c #666665", +">. c #DFDFDE", +",. c #F8F8F7", +"'. c #2A29AA", +"). c #0C0BA5", +"!. c #A3A1CB", +"~. c #A6A4CC", +"{. c #0D0DA6", +"]. c #1918A8", +"^. c #F3F2F3", +"/. c #6C6B6A", +"(. c #ECEBE8", +"_. c #6E6C68", +":. c #D7D6E0", +"<. c #0A09A4", +"[. c #8E8CC8", +"}. c #9391C8", +"|. c #1C1BA8", +"1. c #B8B6BE", +"2. c #70706E", +"3. c #7C7B78", +"4. c #D8D7D4", +"5. c #767571", +"6. c #EFEEEC", +"7. c #CBC9DE", +"8. c #1E1EA8", +"9. c #EEEEF0", +"0. c #201FA9", +"a. c #0504A4", +"b. c #5756B0", +"c. c #8A888E", +"d. c #646464", +"e. c #AAA8A6", +"f. c #BABAB7", +"g. c #B8B8B6", +"h. c #D0CFCC", +"i. c #AEADAB", +"j. c #BBBAB8", +"k. c #D2D0DF", +"l. c #4E4DB0", +"m. c #7D7AB8", +"n. c #86849F", +"o. c #6F6E6D", +"p. c #7C7B79", +"q. c #E5E4E3", +"r. c #D7D5D2", +"s. c #979696", +"t. c #B6B5B2", +"u. c #ECECEA", +"v. c #73726E", +"w. c #6968B5", +"x. c #D6D4D1", +"y. c #CECCCA", +"z. c #87859F", +"A. c #4A48AF", +"B. c #ECECF0", +"C. c #848381", +"D. c #CCCBC9", +"E. c #C6C6C4", +"F. c #82807E", +"G. c #E5E5E4", +"H. c #8280A3", +"I. c #5C5C5C", +"J. c #6A6969", +"K. c #E0DFDE", +"L. c #CAC9C7", +"M. c #7D7C7A", +"N. c #706F6E", +"O. c #8A879A", +"P. c #4E4CAF", +"Q. c #5452B2", +"R. c #767470", +"S. c #E1E1E0", +"T. c #83827F", +"U. c #737270", +"V. c #71706F", +"W. c #7A7977", +"X. c #C3C3C1", +"Y. c #B8B7DA", +"Z. c #0909A5", +"`. c #1010A6", +" + c #DCDCED", +".+ c #929190", +"++ c #656464", +"@+ c #8B8A87", +"#+ c #CFCDCA", +"$+ c #9B9A99", +"%+ c #D2D1CE", +"&+ c #DBDBED", +"*+ c #201FA8", +"=+ c #0A0AA5", +"-+ c #A19FCB", +";+ c #C9C8C6", +">+ c #A2A2A0", +",+ c #6A6968", +"'+ c #BCBCBA", +")+ c #D7D6D3", +"!+ c #FBFBFA", +"~+ c #E2E0DD", +"{+ c #D8D6D4", +"]+ c #A8A7A4", +"^+ c #84827F", +"/+ c #5F5F5F", +"(+ c #7E7D87", +"_+ c #DCDAE1", +":+ c #CECDDE", +"<+ c #8282C6", +"[+ c #1414A7", +"}+ c #969694", +"|+ c #ECEBE9", +"1+ c #9C9B99", +"2+ c #5E5E5E", +"3+ c #636261", +"4+ c #646463", +"5+ c #626262", +"6+ c #666664", +"7+ c #706F6D", +"8+ c #868481", +"9+ c #B9B9B8", +"0+ c #918F90", +"a+ c #92908E", +"b+ c #7E7D7A", +"c+ c #A6A4A2", +"d+ c #BAB8D7", +"e+ c #6C6AB6", +"f+ c #4645AF", +"g+ c #403EAE", +"h+ c #5A59B3", +"i+ c #ADACD9", +"j+ c #676561", +"k+ c #DCDAD6", +"l+ c #DCDAD7", +"m+ c #D6D6D6", +"n+ c #A8A6A3", +"o+ c #B0B0AE", +"p+ c #DADAD8", +"q+ c #65635F", +"r+ c #DEDEDC", +"s+ c #DBDBDB", +"t+ c #706F6C", +"u+ c #E9E8E7", +"v+ c #8F8E8B", +"w+ c #C0BFBC", +"x+ c #666461", +"y+ c #C6C4C2", +"z+ c #6F6D69", +"A+ c #7A7976", +"B+ c #B4B2B0", +"C+ c #D4D2CF", +"D+ c #D3D1CE", +"E+ c #B0AEAD", +"F+ c #6B6966", +"G+ c #93918E", +"H+ c #ECEBEA", +"I+ c #B8B7B5", +"J+ c #959494", +"K+ c #9B9A9A", +"L+ c #BDBCB9", +"M+ c #F1F0EE", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . + @ # $ % # & * . . . . . . . . . . . . . ", +". . . . . . . . . . = - ; . . . . > , - ' ) ! ~ . . . . . . . . ", +". . . . . . . . . { ] . . . . . . . . ^ / ( _ : < [ } | 1 2 . . ", +". . . . . . . . 3 4 . . . . . . . . . 5 _ _ _ _ _ 6 7 8 9 0 a b ", +". . . . . . . c d . . . . . . . . . e : _ _ _ _ _ f g . . . h i ", +". . . . . . . j k . . . . . . l m n o _ _ _ _ _ _ : p . . . . q ", +". . . . . . . # r . . . . s t u v v w x _ _ _ _ _ y . . . . z A ", +". . . . . . . B . . . . C D v v v v E F : _ _ G H I J . . . K L ", +". . . . . . . # . . . M N v v v v v v O P Q R S T . U . . V W X ", +". . . . . . . Y . . . Z v ` ...+...@.#.$.%.&. .*.. =.=.-.;.>.. ", +". . . . . ,.. # . . . '.).!.. . . . . ~.{.v v v ].^.2 a /.h . . ", +". . . . (.r . _.. . :.<.[.. . . . . . . }.v v v |.1.2.3.+ . . . ", +". . . 4.. . . 5.6.. 7.8.9.. . . . . . . ^.0.a.b.c.d.e.f.g.. . . ", +". . h.. . . . i.j.. k.l.. . . . . . . . . m.n.o.p.q.. r.s.. . . ", +". t.r . . . . u.v.. . w.2 x.r . . . . . y.L 2.z.A.B.. . C.. . . ", +"D.E.. . . . . . F.G.. H.;.I.J.K.. . L.M.N.O.P.#.Q.. . . R.. . . ", +"p.,.. . . . . . S.T.. N.I.I.I.U.e.V.W.X.Y.Z.v `. +. . 6..+. . . ", +"++h.. . . . . . . @+#+++I.I.I.i $+%+. &+*+v =+-+. . . ;+>+. . . ", +"M.,+'+)+' !+~+{+;+]+^+/+I.I.I.(+_+:+<+[+v '.+.. . . . }+h.. . . ", +"|+1+q 2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+9.. . . . . j+. . . . ", +". . . k+4.4.l+,.. . . m+_.u.. . . . . . . . . . . . n+o+. . . . ", +". . . . . . . . . . . . p+q+r+. . . . . . . . . . s+t+. . . . . ", +". . . . . . . . . . . . . u+F.v+' . . . . . . . w+x+u.. . . . . ", +". . . . . . . . . . . . . . . y+z+A+B+C+k+D+E+F+G+. . . . . . . ", +". . . . . . . . . . . . . . . . . H+I+$+J+K+L+M+. . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/64x64/mkvinfo.png and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvinfo.png differ diff -Nru mkvtoolnix-4.0.0/share/icons/64x64/mkvinfo.xpm mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvinfo.xpm --- mkvtoolnix-4.0.0/share/icons/64x64/mkvinfo.xpm 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvinfo.xpm 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,320 @@ +/* XPM */ +static const char * mkvinfo_xpm[] = { +/* columns rows colors chars-per-pixel */ +"64 64 250 2", +" c #282726", +". c #282826", +"X c #302F2D", +"o c #32312F", +"O c #3A3937", +"+ c #41403D", +"@ c #15155D", +"# c #0F0F6E", +"$ c #1B366E", +"% c #183779", +"& c #2F3B6F", +"* c #2C406B", +"= c #3A496A", +"- c #444442", +"; c #4B4947", +": c #504E4B", +"> c #54524F", +", c #555554", +"< c #5A5957", +"1 c #5C5C5C", +"2 c #615F5C", +"3 c #64625E", +"4 c #444A6D", +"5 c #455474", +"6 c #595C73", +"7 c #5F687A", +"8 c #626262", +"9 c #6B6965", +"0 c #676868", +"q c #6C6B6B", +"w c #71716E", +"e c #6A6B74", +"r c #747373", +"t c #7B7976", +"y c #777578", +"u c #7C7C7C", +"i c #930A0A", +"p c #A00101", +"a c #BF0101", +"s c #B10C0C", +"d c #942E2C", +"f c #C00000", +"g c #C00C0C", +"h c #C21615", +"j c #C01D1C", +"k c #C32523", +"l c #C33634", +"z c #C5403D", +"x c #817E7B", +"c c #9F7571", +"v c #C64744", +"b c #C75956", +"n c #C9615E", +"m c #CA736F", +"M c #85837D", +"N c #03039C", +"B c #14149C", +"V c #1A3D84", +"C c #143B89", +"Z c #0101A4", +"A c #0C0CA5", +"S c #1414A7", +"D c #1B1AA8", +"F c #2827AA", +"G c #302FAB", +"H c #3736A9", +"J c #1C4087", +"K c #1E438A", +"L c #154296", +"P c #22458B", +"I c #25478B", +"U c #2B4C8D", +"Y c #324D83", +"T c #294D91", +"R c #2E5395", +"E c #355795", +"W c #2D698C", +"Q c #3C629D", +"! c #2153AD", +"~ c #2357B1", +"^ c #3A65A5", +"/ c #2760BF", +"( c #4F5D8C", +") c #4B7882", +"_ c #536A98", +"` c #737985", +"' c #6E7493", +"] c #4948B0", +"[ c #5A58B2", +"{ c #605EA3", +"} c #466BA3", +"| c #4B74AA", +" . c #5474A8", +".. c #5776A9", +"X. c #4C7CB5", +"o. c #6975A2", +"O. c #7876B7", +"+. c #2C5BC6", +"@. c #3156C4", +"#. c #2662C5", +"$. c #2661C9", +"%. c #2A65C8", +"&. c #3666C7", +"*. c #3874CB", +"=. c #4B71C8", +"-. c #4378CB", +";. c #538895", +":. c #798297", +">. c #588BA8", +",. c #5582B5", +"<. c #5A86B8", +"1. c #699CA8", +"2. c #6E8CB5", +"3. c #6589B8", +"4. c #7694BD", +"5. c #59A7BA", +"6. c #75A5AF", +"7. c #6BA8B6", +"8. c #598DC5", +"9. c #528CCB", +"0. c #6799C7", +"q. c #789BC8", +"w. c #6997D1", +"e. c #6CA4C4", +"r. c #73A4CD", +"t. c #70ADD1", +"y. c #76AAD5", +"u. c #6CB2D1", +"i. c #7AB7D8", +"p. c #7BB4DB", +"a. c #7CC7D9", +"s. c #848483", +"d. c #888682", +"f. c #8C8985", +"g. c #86878A", +"h. c #8B8B8B", +"j. c #918E89", +"k. c #93918E", +"l. c #848A97", +"z. c #949494", +"x. c #989691", +"c. c #9B9995", +"v. c #95979A", +"b. c #9C9C9B", +"n. c #A19E99", +"m. c #A4A29D", +"M. c #A8A59E", +"N. c #868FAA", +"B. c #9B9BA4", +"V. c #8987BA", +"C. c #8B98B6", +"Z. c #9B98BC", +"A. c #A19EBF", +"S. c #95AAB6", +"D. c #A4A4A4", +"F. c #ACAAA4", +"G. c #A3A5A9", +"H. c #A7A8A8", +"J. c #ACACAC", +"K. c #B1AEA7", +"L. c #B2AFA9", +"P. c #B4B1AC", +"I. c #B9B6AF", +"U. c #ABA9BA", +"Y. c #AFB2B6", +"T. c #B4B4B4", +"R. c #BAB7B1", +"E. c #BCB9B3", +"W. c #B7B7B9", +"Q. c #BCBCBC", +"!. c #CD8C87", +"~. c #CE9993", +"^. c #D0A59E", +"/. c #CCACA5", +"(. c #C3BEB9", +"). c #C5C3BD", +"_. c #839CC6", +"`. c #8DB0C8", +"'. c #89B7D8", +"]. c #83BCDC", +"[. c #93B7D6", +"{. c #ADAAC1", +"}. c #A8B2CD", +"|. c #B9B8C4", +" X c #85BEE2", +".X c #C1BDC4", +"XX c #93C6CF", +"oX c #8AC5D9", +"OX c #97C9DB", +"+X c #BFC1C2", +"@X c #A7C6D7", +"#X c #87C1E4", +"$X c #8BC5E6", +"%X c #8CC8E5", +"&X c #8FCAE9", +"*X c #97C9E6", +"=X c #92CDEA", +"-X c #8FD2EE", +";X c #9BD9E6", +":X c #95D2ED", +">X c #9BD5EE", +",X c #98D8F1", +"<X c #9DD9F1", +"1X c #A0CFEA", +"2X c #B8CBE4", +"3X c #A3D4ED", +"4X c #AAD9EA", +"5X c #B3DBEA", +"6X c #A2DDF3", +"7X c #9AE7FA", +"8X c #A5E3F6", +"9X c #A9E4F6", +"0X c #A5E6F8", +"qX c #ABE6F8", +"wX c #A4EAFB", +"eX c #ACECFB", +"rX c #B3E2F3", +"tX c #BCE6F6", +"yX c #B3ECFB", +"uX c #BBEEFB", +"iX c #B5F1FD", +"pX c #BBF2FD", +"aX c #C3C3C4", +"sX c #C9C9C8", +"dX c #CBCBCB", +"fX c #D2D0CF", +"gX c #CACCD1", +"hX c #CED1D2", +"jX c #CBD1DF", +"kX c #D3D4D4", +"lX c #D5DADC", +"zX c #D8D8D8", +"xX c #DBDBDB", +"cX c #E3E1DE", +"vX c #C9D4E4", +"bX c #DBDDE1", +"nX c #DDE2E3", +"mX c #C5ECF9", +"MX c #C5F2FC", +"NX c #CCF4FD", +"BX c #D3F6FE", +"VX c #D7F8FE", +"CX c #DBF9FE", +"ZX c #E4E4E4", +"AX c #E5E9EA", +"SX c #ECECED", +"DX c #F0EFED", +"FX c #E5F7FA", +"GX c #F3F3F3", +"HX c #FFFFFF", +/* pixels */ +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXDXDXGXGXGXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXAXxXzXhXfXkXhXkXkXzXxXAXGXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXGXzXsXfXxXxXxXkXfXsXkXzXzXxXhXfXzXGXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXkXaXsXxXkXP.g.7 5 = = 4 5 ` v.).zXkXaXzXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXSXaXaXxXdXv.5 $ $ % K P I I % % $ & e K.kXaXaXDXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXZXW.aXkXF.5 $ V P E 3.4.<.<.4.3.} I P % & ` +XaXW.AXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXZXY.Q.dX:.$ V E } ^ q.[.[.0.e.[.[.`.| } } P % 6 F.+XJ.cXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXAXJ.T.).' % U } ..X.q.OXOX$X X X%XoX[.r.<.3. .E V 5 B.T.b.m.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXGXY.J.E.` % U .3.4.y.%X*X>X3X&X:X>X3X*Xi.e...| } E V 5 m.Y.r o 8 m.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXaXB.Y.l.V U | <.0.].=X4XtXtXtX-X-XrX5X5XOXoX*Xr.<.} R V _ D.D.f.9 O + f.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXxXb.F.D.Y K ^ ,.y.*X=X:XrXtXuXtX-Xa.OX5X5XrX>X3X4X[.3.} I * l.D.b.ZXcXf.> F.HX~.m b b m ^.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXT.v.H.' V E X.'.1X3X=X6XtXmXMXmXa.5.5XNXmXuX<X>X4X>X[.0.} K ( D.b.T.HXHXHX~.l g f a a a g v /.HXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXZXz.v.G.U T | y.*X3X1X>X6XuXtXyXoX5.a.8XrXqXtX8X<X4X4X*X'.X.R K :.b.z.ZXHX!.h f f f f f f a a k ~.cX(.E.I.P.K.P.E.HXHXHXHXHX", +"HXHX|.h.B.:.V Q 8.*X*X4X>X6XqX9X7Xa.5.a.7X7X7X7X8X9X6X>X>X>X*Xw.} K _ b.h.+X~.s f f f f f f f f a a j /.SXDXcXE.P.m.d.y M m.HXHX", +"HXHXD.k.G._ P | y.*X=X:X>X6XqXqX7X7.a.7X7X7XwXwXeXeX6X<X:X:X&X].<.R T B.z.D.l a f f f f f f f f a a a n HXHXHXHXHXHXHXE.s.1 w K.", +"HXSXz.h.G.U R 3.#X$X:X<X6X8XeXiXa.7.wXwXwXwXwXeXeXyX9X8X<X:X&X$Xe.Q K N.n.x s f f f f f f f f f a a a s HXHXHXHXHXHXHXHXHXf.1 8 ", +"HXkXd.z.C.I ^ y.$X&X:X<X8XqXeX4X7.XXeXeXeXeXiXiXpXeXeX0X6X<X=X&Xp.| K o.x.x p f f f f f f f f f a a f h ^.HXHXHXHXHXHXHXHXHX8 1 ", +"HXsXs.c.N.J | ].%X:X7X0XeXeXeXoXXXiXiXiXiXiXiXiXiXeXeXeXwX7X>X&X X<.P o.n.x i f f f f f f f f f f f f g ~.HXHXHXHXHXHXHXHXHXt 1 ", +"HXQ.u b.N.K <.#X%X>X8XeXeXeXiX7.XXiXpXpXiXpXpXiXiXiXeXeXqX0X].0.9./ C _ n.x i f f f f f f f f f f f f g ^.HXHXHXHXHXHXHXHXHXq 1 ", +"HXQ.x c.N.K 8.#X&X,X0XwXeXeX;X7.8XpXpXpXpXpXpXpXyXyXiXeX7Xi.*.%.~ ~ C .n.` i f f a f f f f f f f f f j HXHXHXHXHXHXHXHXHXHX8 1 ", +"HX+Xx c.C.K 8.$X-X;X0XeXeXeXXX6.pXpXpXpXpXpXpXpXpXyXiX%Xw.9.#.#.#.~ C o.D.s.d f f f f f f f a f f f f b HXHXHXHXHXHXHXHXHXk.1 1 ", +"HXsX:.x.S.I 3.%X-X;X4XeXiXpX1.1.MXNXNXNXNXNXNXMXMXuXu.%.$.$.#.#.#.~ C 2.n.y c g a f f f f f a g f f j /.DXHXHXHXHXHXHXHXE.2 1 y ", +"HXxXd.z.Y.R ,.#X;X;X0XyXyXpX;.S.NXNXNXNXNXNXNXNXMXy.%.$.$.$.$.#.#.! V C.n.7 B.m g a f f f f f a f h ~.(.- HXHXHXHXHXHXHXt 1 2 I.", +"HXSXj.h.W. .^ ].=X>X9XyXuXuX) S.NXNXBXBXBXNXBXNX'.+.+.+.$.$.$.#.~ ! R T.z.4 H (.!.k f f f f a a l ^.HXHX- x HXHXHXHXHXf.1 1 c.HX", +"HXGXb.h.F.C.R p.$X>X8XeXuXuX) XXNXBXVXVXVXVXBX@X=.+.+.+.$.$.#.#.~ L .W.g.# N H A.(.!.b z z b ~.HXHXHXHXn.X HXHXHXHXk.1 1 f.HXHX", +"HXHXQ.g.v.|.E 8.$X=X6XeXiXpX) +XNXBXVXCXCXVXNXw.+.+.+.$.#.%.-.9.9.I A.J.` # Z Z A ] V.|..X.X{.V.[ HXHXHXHX- M HXHXz.1 1 x HXHXHX", +"HXHXAXh.v.R.C.^ X=X<XqXyXiX) XXVXVXCXCXCXCX}.=.@.+.+.%.w.p.:X$XX. .aXc.e { S Z Z Z Z Z A S Z Z Z Z.HXHXHXx., HXf.1 1 M HXHXHXHX", +"HXHXGXJ.h.D.sX} 8.$X:X8XyXyXW XXNXVXCXCXFXCXq.@.+.+.-.'.9X>X=Xy.E |.P.h.G.GX{.G Z Z Z Z Z Z Z Z Z ] HXHXHXHXE.M 1 1 f.HXHXHXHXHX", +"HXHXHXZXh.b.Y.|.^ y.=X%X9XyX;.S.NXVXVXFXCXCX=.@.@.-.oXeX<X=X X^ `.sXv.h.ZXHXHX.XH Z Z Z Z Z Z Z Z D gXHXHXE.q 1 1 x.HXHXHXHXHXHX", +"HXHXHXHXQ.h.G.Q.}.} e.=X>X9X>.6.MXNXVXVXCX@X*.+.&.oXeX6X:X$XX.4.zXD.v.aXHXHXHXHX{.D Z Z Z Z Z Z Z A A.HXM.8 1 8 F.HXHXHXHXHXHXHX", +"HXHXHXHXGXb.z.J.sX}.X.y.=X<X1.1.pXpXMXNXNX[.&.+.w.eX6X=X#XX._.xXJ.G.|.cXHXHXHXHXHXO.Z Z Z Z Z Z A [ W.s.1 2 w E.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXAXz.v.P.aXgX8.e.#Xe.;.9XyXyXpXuXp.%.*.].>X=Xy.<.}.xXT.D.G.AXSXSXsXH.ZXHXgXF Z Z Z Z F Z.F.q 1 1 k.HXw M HXHXHXHXHXHXHX", +"HXHXHXHXHXHXx.j.b.T..XlX[.0.0.W t.<X<X0X8Xy.+.-.%Xp.w.r.vXkXT.B.s.T.nXAXkX.XfXJ.xXHX[ Z Z S O.Q.M 1 < w P.HXHXt 1 HXHXHXHXHXHXHX", +"HXHXHXHXHXm.HXZXv.k.T.Q.fXbX2X4.0.y.p.i.p.8.&.8.y.[.vXxXsXT.z.z.H.L.Q.sXkXSXSXzXJ.kXV.Z ] U.n.8 1 2 x.HXHXHXHXn.O HXHXHXHXHXHXHX", +"HXHXHXHXc.HXHXHXSXY.g.D.Q..XfXxXnXvX2X2X2X2XvXjXxXzXsXQ.D.g.L.GXHXJ.b.g.T.bXSXSXcXT.B.U.F.w 1 1 u I.HXHXHXHXHXE. HXHXHXHXHXHXHX", +"HXHXHXz.sXHXHXHXHXHXkXv.h.D.T.|.sXsXkXfXkXfXgXsX.XT.B.h.b.xXGXHXHXAXq , q J.lXAXGXAXT.r 1 1 q m.U.] U.HXHXHXHXHX HXHXHXHXHXHXHX", +"HXHXc.M.HXHXHXHXHXHXHXGXzXD.g.h.` b.D.H.D.H.B.g.j.w 9 j.).HXHXHXHXb.+ 1 2 e D.kXnXGXSXQ.w c.U.[ A F HXHXHXHXHXHX ).HXHXHXHXHXHX", +"HXI.t HXHXHXHXHXHXHXHXHXHXGXAXkX9 . v.z.v.v.6 4 9 < 1 1 2 h.HXHXHXzX0 , 0 2 0 b.dXnXDXGXsX' B N Z O.HXHXHXHXHXHX E.HXHXHXHXHXHX", +"HXt m.HXHXHXHXHXHXHXHXHXHXHXHXHXHXo k.GXGXGXW.6 1 1 1 1 1 1 x HXHXHXnX0 < q 2 8 v.sXbXSXGXzX{ N D |.HXHXHXHXHXHX. ).HXHXHXHXHXHX", +"K.1 cXHXHXHXHXHXHXHXHXHXHXHXHXHXHXM + HXHXHXk.1 1 1 < 1 1 1 1 n.HX(.k.8 O 1 r 8 1 h.aXlXAXHXxX' o.HXHXHXHXHXHXHX HXHXHXHXHXHXHX", +"s.1 HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXO f.HXHXw 1 1 1 1 1 1 1 1 q u 0 2 2 w , 1 y 8 1 s.W.hXAXGXAXJ.xXHXHXHXHXHXE. HXHXHXHXHXHXHX", +"w 1 E.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXz.o E.HXq 1 1 1 1 1 1 1 1 1 1 q k.I.HXSXt < t 9 , t T.kXAXGXSXT.sXHXHXHXHXm.X HXHXHXHXHXHXHX", +"q 1 M HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX3 x HXw 1 1 1 1 1 1 1 1 q M.HXHXHXHXHXSX4 1 :.w , r J.sXbXHXGXQ.sXHXHXHXx , HXHXHXHXHXHXHX", +"u 1 1 k.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXE.F.m.q 1 1 1 1 1 2 < 2 n.HXHXHXHXHXU.] N @ 1 d.y , q D.sXlXGXGXsX).HXHX: M HXHXHXHXHXHXHX", +"I.8 1 1 q d.M.I.E.DXHXDXsXI.P.F.c.g.y q 2 1 1 1 1 1 1 1 1 < 6 A.|.|.{.V.] S Z Z N @ 1 h.` 1 0 b..XxXSXHXsXQ.xX R.HXHXHXHXHXHXHX", +"HXK.q 1 1 1 1 1 8 q q q q 3 8 1 < 1 1 2 q t k.M.u 2 1 1 2 x N.[ G F S Z Z Z Z S H O.y 1 k.s.8 8 z.|.kXSXHXfXg.O HXHXHXHXHXHXHXHX", +"HXHXHXm.t q 8 1 2 1 1 1 2 2 9 w t f.n.I.HXHXm.7 R.L.n.n.I.HXHXHX|.A.V.O.O.V.{.{.HXHXHXD.8 k.h.q 8 k.W.gXAXHXcXj.AXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXE.P.K.K.K.K.P.E.cXHXHXHXHXHXHXHXHX1 : ).HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXT.8 z.z.r 8 h.T.gXZXHXZXW.ZXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX< - P.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXQ.8 z.v.u 9 s.J.aXxXGXAXW.xXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX9 O m.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXsXq c.b.s.q x H.aXzXGXSXQ.kXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXM o t HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXkXr c.D.g.r u b.).zXSXDXaXsXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXM.+ ; F.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXbXu v.H.z.y t c.Q.kXSXGXsXsXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXt o 2 F.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXL.; + c.J.b.:.t v.E.dXZXSXsXW.HX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXP.3 o , x.cXHXHXHXHXHXHXHXHXHXHXP.9 X 9 GXz.v.T.b.g.t z.T.dXZXSXsXW.", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXI.t O o > t n.K.P.I.K.c.w ; X 1 F.HXHXGXb.b.W.D.k.` h.J.sXZXAXW.", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXK.M < O o X . + 3 j.).HXHXHXHXHXHXD.b.T.F.v.s.h.H.sXQ.xX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXJ.b.Q.J.b.h.h.v.kXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXT.n.aXT.B.w Q.HXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXQ.D.T.w E.HXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXsXr T.HXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXSXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX" +}; Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/64x64/mkvmergeGUI.png and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvmergeGUI.png differ diff -Nru mkvtoolnix-4.0.0/share/icons/64x64/mkvmergeGUI.xpm mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvmergeGUI.xpm --- mkvtoolnix-4.0.0/share/icons/64x64/mkvmergeGUI.xpm 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/icons/64x64/mkvmergeGUI.xpm 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,288 @@ +/* XPM */ +static const char *mkvmergeGUI_xpm[] = { +/* columns rows colors chars-per-pixel */ +"64 64 218 2", +" c #242322", +". c #282826", +"X c #2D2C2B", +"o c #302F2D", +"O c #32312F", +"+ c #343331", +"@ c #383735", +"# c #3A3937", +"$ c #3D3C3A", +"% c #41403D", +"& c #454442", +"* c #4B4947", +"= c #4D4C49", +"- c #504E4B", +"; c #54524F", +": c #555350", +"> c #595754", +", c #5C5B57", +"< c #5B5B5B", +"1 c #5D5B59", +"2 c #5F5D59", +"3 c gray36", +"4 c #5C5C5D", +"5 c #5D5D5D", +"6 c gray37", +"7 c #5C5B70", +"8 c #615F5C", +"9 c #64625E", +"0 c #606060", +"q c gray38", +"w c #626261", +"e c #646361", +"r c #646463", +"t c #646464", +"y c #676664", +"u c #6B6965", +"i c #6B6A67", +"p c #696968", +"a c #6A6A69", +"s c #6B6B6A", +"d c #6C6B6A", +"f c #6F6D69", +"g c #6F6E6D", +"h c #636175", +"j c #706E6A", +"k c #70706E", +"l c #72716F", +"z c #75736F", +"x c #777570", +"c c #777674", +"v c #797672", +"b c #7A7873", +"n c #797876", +"m c #7C7A75", +"M c #7E7B76", +"N c #7B7A78", +"B c #7C7B79", +"V c #7D7C7A", +"C c #0101A3", +"Z c #0202A3", +"A c #0000A4", +"S c #0505A4", +"D c #0707A4", +"F c #0B0BA5", +"G c #0F0EA5", +"H c #1211A5", +"J c #1515A7", +"K c #1918A7", +"L c #1C1BA8", +"P c #2322A9", +"I c #2727AA", +"U c #2D2CAA", +"Y c #302FAB", +"T c #3433AB", +"R c #3C3BAD", +"E c #4241AE", +"W c #4948B0", +"Q c #504EB1", +"! c #5C5AA5", +"~ c #5352B1", +"^ c #5856B2", +"/ c #5D5BB3", +"( c #6664B4", +") c #6967B6", +"_ c #6A68B5", +"` c #706EB6", +"' c #7572B7", +"] c #7976B8", +"[ c #7B79B8", +"{ c #7D7AB9", +"} c #7F7DB9", +"| c #BF0101", +" . c #817E7A", +".. c #807F7C", +"X. c #C00000", +"o. c #C10706", +"O. c #C00A0A", +"+. c #C00D0D", +"@. c #C21413", +"#. c #C11817", +"$. c #C11C1B", +"%. c #C01E1D", +"&. c #C32523", +"*. c #C43634", +"=. c #C5403D", +"-. c #C64744", +";. c #C75956", +":. c #C9615E", +">. c #C96E6A", +",. c #CB706B", +"<. c #CB7672", +"1. c #CB7D78", +"2. c #807EB9", +"3. c #83807B", +"4. c #82817E", +"5. c #85837D", +"6. c #87847F", +"7. c #CC827D", +"8. c #858481", +"9. c #888681", +"0. c #888784", +"q. c #8A8885", +"w. c #8D8A85", +"e. c #8D8B88", +"r. c #918E89", +"t. c #92908B", +"y. c #93918E", +"u. c #95938F", +"i. c #96948E", +"p. c #969490", +"a. c #989691", +"s. c #9B9995", +"d. c #9C9994", +"f. c #9D9A95", +"g. c #9E9C96", +"h. c #9F9D99", +"j. c #8381BA", +"k. c #8A87BA", +"l. c #8E8BBB", +"z. c #908DAD", +"x. c #918FBC", +"c. c #9390BB", +"v. c #9290BD", +"b. c #9491BD", +"n. c #9794BE", +"m. c #9996BD", +"M. c #9F9CB7", +"N. c #9C9ABE", +"B. c #A19E98", +"V. c #A19EBF", +"C. c #A2A09A", +"Z. c #A3A19C", +"A. c #A5A29D", +"S. c #A6A49E", +"D. c #A8A59E", +"F. c #A9A7A1", +"G. c #ABA8A2", +"H. c #ACA9A2", +"J. c #ACA9A4", +"K. c #ADAAA5", +"L. c #AFABA5", +"P. c #AFACA5", +"I. c #A5A2BE", +"U. c #AFABBB", +"Y. c #B1AEA7", +"T. c #B1AEA8", +"R. c #B2AFA9", +"E. c #B2AFAA", +"W. c #B1AEBA", +"Q. c #B3B1AB", +"!. c #B4B1AA", +"~. c #B4B1AE", +"^. c #B5B2AC", +"/. c #B6B3AD", +"(. c #B8B4AD", +"). c #B8B4AE", +"_. c #B9B6AF", +"`. c #BAB7B0", +"'. c #B9B6B6", +"]. c #BAB3BF", +"[. c #BAB7BA", +"{. c #BBB8B1", +"}. c #BCB8B1", +"|. c #BCB9B2", +" X c #BDBAB3", +".X c #BEBAB3", +"XX c #BEBBB4", +"oX c #A7A4C1", +"OX c #A9A6C0", +"+X c #ADAAC1", +"@X c #B1AEC2", +"#X c #B4B1C2", +"$X c #B8B4C3", +"%X c #B9B6C3", +"&X c #BDB7C0", +"*X c #BDB9C4", +"=X c #CD8984", +"-X c #CE938E", +";X c #CD9791", +":X c #CE9A94", +">X c #CFA19B", +",X c #D0A59E", +"<X c #C3A9A3", +"1X c #CFA7A1", +"2X c #CEB0A9", +"3X c #C1BEB7", +"4X c #C7B8B9", +"5X c #CCBBB8", +"6X c #D1AFA9", +"7X c #C1BDC4", +"8X c #C6C3BD", +"9X c #CECBC6", +"0X c #CECCC6", +"qX c #CECBD0", +"wX c #D8D5D0", +"eX c #E3E1DE", +"rX c #F0EFED", +"tX c gray100", +/* pixels */ +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXD.9.j u u u m p.^.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXF.8 + $ : f . .x 9 * + + y S.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.; + f L.tXtXtXtXtXtXtXtXwXA.u @ % w.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXw.o u |.tXtXtXtXtXtXtXtXtXtXtXtXtXeXw.; P.tX:X>.;.;.<.,XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXx + d.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX:X*.O.| | | | +.-.6XtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX .+ H.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX7.@.| X.X.X.X.X.| | &.;XeX3X|._.^.R.^.|.tXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXg.O D.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX:X#.| X.X.X.X.X.X.X.X.| %.<XrXrXeX|.Q.C.0.c ..A.tXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrX@ w.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX*.| X.X.X.X.X.X.X.X.X.X.| :.tXtXtXtXtXtXtX|.8.6 k R.", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXz - tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX,X+.X.X.X.X.X.X.X.X.X.X.X.| %.tXtXtXtXtXtXtXtXtXw.4 t ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXwXX G.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX7.| X.X.X.X.X.X.X.X.X.X.X.X.O.1XtXtXtXtXtXtXtXtXtXt < ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX .- tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXqX%XtX,.| X.X.X.X.X.X.X.X.X.X.X.X.o.:XtXtXtXtXtXtXtXtXtXc < ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX$ i.tXtXtXtXtXtXtXtXtXtXtXtXtXqXc.^ T P K v.1.X.X.X.X.X.X.X.X.X.X.X.X.X.O.,XtXtXtXtXtXtXtXtXtXk < ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtX_.X 9XtXtXtXtXtXtXtXtXtXtXtXqX] I S C A A C ( ,Xo.X.X.X.X.X.X.X.X.X.X.X.X.%.tXtXtXtXtXtXtXtXtXtX0 < ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXr.* tXtXtXtXtXtXtXtXtXtXtXN.Y C C A A A A C Y 4X*.X.X.X.X.X.X.X.X.X.X.X.X.;.tXtXtXtXtXtXtXtXtXy.< 6 ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXu f tXtXtXtXtXtXtXtXtXtX} H C A A A A A A A F x.;X+.| X.X.X.X.X.| o.X.| $.2XrXtXtXtXtXtXtXtX.X0 < n ", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtX* r.tXtXtXtXtXtXtXtXtX[ F A A A A A A A A A C U ].<.+.| X.X.X.X.X.| | #.-X|.& tXtXtXtXtXtXtXn 3 0 `.", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtX@ S.tXtXtXtXtXtXtXtXx.G A A A A A A A A A A A C E &X=X&.o.X.X.| | | *.,XtXtX& 3.tXtXtXtXtXq.< 6 d.tX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXO Y.tXtXtXtXtXtXtX%XP C A A A A C C C C C C A A C T V.5X=X;.=.=.:.;XtXtXtXtXB.X tXtXtXtXy.< 6 q.tXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtX+ _.tXtXtXtXtXtXtX/ C A A C C H R ( [ [ ( R H A C C F W k.#X7X7X+X} / tXtXtXtX& 9.tXtXu.4 6 ..tXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXo ^.tXtXtXtXtXtX@XJ A A C H ( %XtXtXtXtXtXtX%X_ J C A A C S G G S A S b.tXtXtXa.: tXw.6 6 ..tXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXO H.tXtXtXtXtXtX` C A A U oXtXtXtXtXtXtXtXtXtXtX+XY C A A A A A A A C W tXtXtXtX|...< 6 w.tXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXeXtXtX& d.tXtXtXtXtXtXT C C U %XtXtXtXtXtXtXtXtXtXtXtXtX*XT A A A A A A A A K qXtXtX|.k 3 6 a.tXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtX9XtXtXtX, .tXtXtXtXtX%XK C J +XtXtXtXtXtXtXtXtXtXtXtXtXtXtX@XL C A A A A A C F V.tXA.0 6 0 G.tXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtX3XrXtXtXtXtXb 8 tXtXtXtXtXI.F C ' tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX} C A A A C C S / [.8.6 6 x |.tXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtX^.tXtXtXtXtXtXg.% tXtXtXtXtXm.S L *XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXqXP A A A C U N.H.s < 6 u.tXj 6.tXtXtXtXtXtXtX", +"tXtXtXtXtXtXL.tXtXtXtXtXtXtX9XX XXtXtXtXtXb.S ~ tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX/ A C H ' [.5.3 < k ^.tXtXm 3 tXtXtXtXtXtXtX", +"tXtXtXtXtXS.tXtXtXtXtXtXtXtXtX$ p.tXtXtXtXN.F } tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXk.D W U.g.t < 0 p.tXtXtXtXB.# tXtXtXtXtXtXtX", +"tXtXtXtXs.tXtXtXtXtXtXtXtXtXtXm > tXtXtXtX+XJ m.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX*XI.H.z 6 3 B `.tXtXtXtXtX|. tXtXtXtXtXtXtX", +"tXtXtXp.0XtXtXtXtXtXtXtXtXtXtX!.o 9XtXtXtXtXI N.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX(.N 6 < k G.I.W #XtXtXtXtXtX tXtXtXtXtXtXtX", +"tXtXh.S.tXtXtXtXtXtXtXtXtXtXtXtX& q.tXtXtXtX~ l.tX|.F.L.0XtXtXtXtXtXtXtXtXtXtXtX(...q < s g.U.~ F U tXtXtXtXtXtX. 8XtXtXtXtXtXtX", +"tX`.n tXtXtXtXtXtXtXtXtXtXtXtXtXt.% tXtXtXtXn.! ..0 < 6 0 e.tXtXtXtXtXtXtXtX^...q < u d.U._ J C A ' tXtXtXtXtXtX. 3XtXtXtXtXtXtX", +"tXn C.tXtXtXtXtXtXtXtXtXtXtXtXtXtX+ a.tXtXtX[.7 < 4 6 < 4 6 .tXtXtXtXtXL.B 0 6 s a.U.` L C C C L *XtXtXtXtXtXtX. 8XtXtXtXtXtXtX", +"R.< eXtXtXtXtXtXtXtXtXtXtXtXtXtXtX9.& tXtXtXu.6 6 < < < 6 < 3 A.tX3Xp.k 0 6 k h.tXI.P C C A A S ' tXtXtXtXtXtXtX tXtXtXtXtXtXtX", +"8.6 tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX# w.tXtXk < < < 6 < 6 < < g ..y 6 0 B L.tXtXtXR C A A A C R tXtXtXtXtXtXtXXX tXtXtXtXtXtXtX", +"g 6 |.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXa.+ |.tXs < < 6 < 6 < < < < 4 s r.`.tXtXtXtX_ S A A A C I #XtXtXtXtXtXtXtXS.O tXtXtXtXtXtXtX", +"s < 9.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX8 .tXg 6 < 6 < < < 6 6 s S.tXtXtXtXtXtX` G C A A C I OXtXtXtXtXtXtXtXtX .> tXtXtXtXtXtXtX", +"..3 6 t.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXXXL.C.s < < 6 < < 6 < 6 B.tXtXtXtXtX+XW D A A A S E #XtXtXtXtXtXtXtXtXtX- 9.tXtXtXtXtXtXtX", +"_.0 < < s 9.S._.XXrXtXrX0X`.^.J.d.q.c s 0 6 < < < 6 < 6 < < 7 M.%X%X+Xl.W J C A C C I [ tXtXtXtXtXtXtXtXtXtXeX. `.tXtXtXtXtXtXtX", +"tXY.g 6 < < < 0 r u s s s 0 q 4 < < 4 0 s B p.S.B 0 < < 6 ..z.^ T P J S S C S J R [ *XtXtXtXtXtXtXtXtXtXtXtXw.% tXtXtXtXtXtXtXtX", +"tXtXtXC.B s 0 6 6 6 < 6 6 0 s j B w.B._.tXtXS.h '.!.B.C._.tXtXtX%XV.k.' ' j.N.#XtXtXtXtXtXtXtXtXtXtXtXtXtXtX% w.tXtXtXtXtXtXtXtX", +"tXtXtXtXtXtX|.!.R.R.Y.R.^.|.eXtXtXtXtXtXtXtXtX3 - 8XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXi.O tXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX, & ^.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXwXO t.tXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXu # C.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX3 ; tXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX5.O m tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXk # wXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXD.% = F.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXf + !.tXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXv O 8 P.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.- % ^.tXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX^.9 O ; a.eXtXtXtXtXtXtXtXtXtXtX!.u o u tXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX`.m # + ; m B.Y.(._.Y.d.z * o 3 Y.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.6., $ o X . X % 9 r.8XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX" +}; Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/windows/mkvinfo.ico and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/windows/mkvinfo.ico differ Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/share/icons/windows/mkvmergeGUI.ico and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/share/icons/windows/mkvmergeGUI.ico differ diff -Nru mkvtoolnix-4.0.0/share/mime/mkvtoolnix.xml mkvtoolnix-4.5.0+dfsg/share/mime/mkvtoolnix.xml --- mkvtoolnix-4.0.0/share/mime/mkvtoolnix.xml 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/share/mime/mkvtoolnix.xml 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="application/x-mmg-settings"> + <comment>mkvmerge GUI settings</comment> + <comment xml:lang="de">Einstellungen für mkvmerge GUI</comment> + <comment xml:lang="es">ajustes de mkvmerge GUI</comment> + <glob pattern="*.mmg"/> + <magic> + <match type="string" offset="0" value="[mkvmergeGUI]"/> + </magic> + <sub-class-of type="text/plain"/> + </mime-type> +</mime-info> diff -Nru mkvtoolnix-4.0.0/src/common/ac3.cpp mkvtoolnix-4.5.0+dfsg/src/common/ac3.cpp --- mkvtoolnix-4.0.0/src/common/ac3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/ac3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -71,7 +71,7 @@ static bool parse_eac3_header_full(const unsigned char *buf, - int size, + size_t size, ac3_header_t &header, bool look_for_second_header) { if (!parse_eac3_header(buf, header)) @@ -80,7 +80,7 @@ if (!look_for_second_header) return true; - if (((header.bytes + 5) > size) || (0x0b != buf[header.bytes]) || (0x77 != buf[header.bytes + 1])) + if (((header.bytes + 5) > size) || (get_uint16_be(&buf[header.bytes]) != AC3_SYNC_WORD)) return false; ac3_header_t second_header; @@ -188,14 +188,17 @@ int find_ac3_header(const unsigned char *buf, - int size, + size_t size, ac3_header_t *ac3_header, bool look_for_second_header) { + if (8 > size) + return -1; + ac3_header_t header; - int i; + size_t i; - for (i = 0; (size - 7) > i; ++i) { - if ((0x0b != buf[i]) || (0x77 != buf[i + 1])) + for (i = 0; size > i + 7; ++i) { + if (get_uint16_be(&buf[i]) != AC3_SYNC_WORD) continue; header.bsid = (buf[i + 5] >> 3); @@ -221,8 +224,8 @@ int find_consecutive_ac3_headers(const unsigned char *buf, - int size, - int num) { + size_t size, + unsigned int num) { ac3_header_t ac3header, new_header; int pos = find_ac3_header(buf, size, &ac3header, true); @@ -234,14 +237,14 @@ if (1 == num) return pos; - int base = pos; + unsigned int base = pos; do { mxverb(4, boost::format("find_cons_ac3_h: starting with base at %1%\n") % base); - int offset = ac3header.bytes; - int i; + unsigned int offset = ac3header.bytes; + size_t i; for (i = 0; (num - 1) > i; ++i) { - if ((size - base - offset) < 4) + if (4 + base + offset > size) break; pos = find_ac3_header(&buf[base + offset], size - base - offset, &new_header, ac3header.has_dependent_frames); @@ -251,6 +254,8 @@ && (new_header.channels == ac3header.channels) && (new_header.sample_rate == ac3header.sample_rate)) { mxverb(4, boost::format("find_cons_ac3_h: found good header %1%\n") % i); + if ((offset + new_header.bytes) >= size) + break; offset += new_header.bytes; continue; } else @@ -260,7 +265,7 @@ break; } - if (i == (num - 1)) + if ((i + 1) == num) return base; ++base; @@ -321,7 +326,7 @@ bool verify_ac3_checksum(const unsigned char *buf, - int size) { + size_t size) { ac3_header_t ac3_header; if (0 != find_ac3_header(buf, size, &ac3_header, false)) diff -Nru mkvtoolnix-4.0.0/src/common/ac3.h mkvtoolnix-4.5.0+dfsg/src/common/ac3.h --- mkvtoolnix-4.0.0/src/common/ac3.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/ac3.h 2011-01-31 20:34:09.000000000 +0000 @@ -16,6 +16,8 @@ #include "common/os.h" +#define AC3_SYNC_WORD 0x0b77 + #define AC3_CHANNEL 0 #define AC3_MONO 1 #define AC3_STEREO 2 @@ -37,25 +39,25 @@ #define EAC3_FRAME_TYPE_RESERVED 3 struct ac3_header_t { - int sample_rate; - int bit_rate; - int channels; - int flags; - int bytes; - int bsid; - int samples; + unsigned int sample_rate; + unsigned int bit_rate; + unsigned int channels; + unsigned int flags; + unsigned int bytes; + unsigned int bsid; + unsigned int samples; - int frame_type; - int sub_stream_id; + unsigned int frame_type; + unsigned int sub_stream_id; bool has_dependent_frames; ac3_header_t(); }; -int MTX_DLL_API find_ac3_header(const unsigned char *buf, int size, ac3_header_t *ac3_header, bool look_for_second_header); -int MTX_DLL_API find_consecutive_ac3_headers(const unsigned char *buf, int size, int num); +int MTX_DLL_API find_ac3_header(const unsigned char *buf, size_t size, ac3_header_t *ac3_header, bool look_for_second_header); +int MTX_DLL_API find_consecutive_ac3_headers(const unsigned char *buf, size_t size, unsigned int num); bool MTX_DLL_API parse_ac3_header(const unsigned char *buf, ac3_header_t &header); -bool MTX_DLL_API verify_ac3_checksum(const unsigned char *buf, int size); +bool MTX_DLL_API verify_ac3_checksum(const unsigned char *buf, size_t size); #endif // __MTX_COMMON_AC3COMMON_H diff -Nru mkvtoolnix-4.0.0/src/common/base64.cpp mkvtoolnix-4.5.0+dfsg/src/common/base64.cpp --- mkvtoolnix-4.0.0/src/common/base64.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/base64.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -98,12 +98,12 @@ int base64_decode(const std::string &src, unsigned char *dst) { - int pos = 0; - int dst_pos = 0; - int pad = 0; + unsigned int pos = 0; + unsigned int dst_pos = 0; + unsigned int pad = 0; while (pos < src.size()) { unsigned char in[3]; - int in_pos = 0; + unsigned int in_pos = 0; while ((src.size() > pos) && (4 > in_pos)) { unsigned char c = (unsigned char)src[pos]; @@ -120,7 +120,7 @@ return -1; } - int values_idx; + unsigned int values_idx; unsigned char values[4]; for (values_idx = 0; values_idx < in_pos; values_idx++) { values[values_idx] = diff -Nru mkvtoolnix-4.0.0/src/common/bit_cursor.h mkvtoolnix-4.5.0+dfsg/src/common/bit_cursor.h --- mkvtoolnix-4.0.0/src/common/bit_cursor.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/bit_cursor.h 2011-01-31 20:34:09.000000000 +0000 @@ -99,7 +99,7 @@ uint64_t peek_bits(unsigned int n) { uint64_t r = 0; const unsigned char *tmp_byte_position = m_byte_position; - int tmp_bits_valid = m_bits_valid; + unsigned int tmp_bits_valid = m_bits_valid; while (0 < n) { if (tmp_byte_position >= m_end_of_data) @@ -140,7 +140,7 @@ } void set_bit_position(unsigned int pos) { - if (pos >= ((m_end_of_data - m_start_of_data) * 8)) { + if (pos >= (static_cast<unsigned int>(m_end_of_data - m_start_of_data) * 8)) { m_byte_position = m_end_of_data; m_out_of_data = true; @@ -218,7 +218,7 @@ } void set_bit_position(unsigned int pos) { - if (pos >= ((m_end_of_data - m_start_of_data) * 8)) { + if (pos >= (static_cast<unsigned int>(m_end_of_data - m_start_of_data) * 8)) { m_byte_position = m_end_of_data; m_out_of_data = true; @@ -230,10 +230,10 @@ } int get_bit_position() { - int i; - int pos = (m_byte_position - m_start_of_data) * 8; + unsigned int i; + unsigned int pos = (m_byte_position - m_start_of_data) * 8; for (i = 0; 8 > i; ++i) - if ((0x80 >> i) == m_mask) { + if ((0x80u >> i) == m_mask) { pos += i; break; } diff -Nru mkvtoolnix-4.0.0/src/common/bitvalue.cpp mkvtoolnix-4.5.0+dfsg/src/common/bitvalue.cpp --- mkvtoolnix-4.0.0/src/common/bitvalue.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/bitvalue.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -34,16 +34,16 @@ #define hextodec(c) (isdigit(c) ? ((c) - '0') : ((c) - 'a' + 10)) bitvalue_c::bitvalue_c(std::string s, - int allowed_bitlength) { - if ((allowed_bitlength != -1) && ((allowed_bitlength % 8) != 0)) + unsigned int allowed_bitlength) { + if ((allowed_bitlength != 0) && ((allowed_bitlength % 8) != 0)) throw error_c("wrong usage: invalid allowed_bitlength"); - int len = s.size(); + unsigned int len = s.size(); bool previous_was_space = true; s = downcase(s); std::string s2; - int i; + unsigned int i; for (i = 0; i < len; i++) { // Space or tab? if (isblanktab(s[i])) { @@ -78,7 +78,7 @@ len = s2.length(); if (((len % 2) != 0) || - ((allowed_bitlength != -1) && ((len * 4) < allowed_bitlength))) + ((allowed_bitlength != 0) && ((len * 4) < allowed_bitlength))) throw error_c(Y("Missing one hex digit")); m_value = memory_c::alloc(len / 2); @@ -110,7 +110,7 @@ } unsigned char -bitvalue_c::operator [](int index) +bitvalue_c::operator [](size_t index) const { assert((0 <= index) && (m_value->get_size() > index)); return m_value->get_buffer()[index]; diff -Nru mkvtoolnix-4.0.0/src/common/bitvalue.h mkvtoolnix-4.5.0+dfsg/src/common/bitvalue.h --- mkvtoolnix-4.0.0/src/common/bitvalue.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/bitvalue.h 2011-01-31 20:34:09.000000000 +0000 @@ -26,18 +26,18 @@ public: bitvalue_c(int size); bitvalue_c(const bitvalue_c &src); - bitvalue_c(std::string s, int allowed_bitlength = -1); + bitvalue_c(std::string s, unsigned int allowed_bitlength = 0); bitvalue_c(const EbmlBinary &elt); virtual ~bitvalue_c(); bitvalue_c &operator =(const bitvalue_c &src); bool operator ==(const bitvalue_c &cmp) const; - unsigned char operator [](int index) const; + unsigned char operator [](size_t index) const; inline bool empty() const { return 0 == m_value->get_size(); } - inline int size() const { + inline size_t size() const { return m_value->get_size() * 8; } void generate_random(); diff -Nru mkvtoolnix-4.0.0/src/common/byte_buffer.h mkvtoolnix-4.5.0+dfsg/src/common/byte_buffer.h --- mkvtoolnix-4.0.0/src/common/byte_buffer.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/byte_buffer.h 2011-01-31 20:34:09.000000000 +0000 @@ -64,6 +64,10 @@ size += new_size; }; + void add(memory_cptr &new_buffer) { + add(new_buffer->get_buffer(), new_buffer->get_size()); + } + void remove(int num) { if ((pos + num) > size) mxerror(Y("byte_buffer_c: (pos + num) > size. Should not have happened. Please file a bug report.\n")); diff -Nru mkvtoolnix-4.0.0/src/common/chapters/chapters.cpp mkvtoolnix-4.5.0+dfsg/src/common/chapters/chapters.cpp --- mkvtoolnix-4.0.0/src/common/chapters/chapters.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/chapters.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -525,7 +525,7 @@ if (dynamic_cast<EbmlMaster *>(e) != NULL) { EbmlMaster *m = static_cast<EbmlMaster *>(e); - int i; + size_t i; for (i = 0; i < m->ListSize(); i++) fix_mandatory_chapter_elements((*m)[i]); } @@ -569,18 +569,20 @@ , end(-1) { } - } *entries = new chapter_entry_t[m.ListSize()]; - int last_atom_at = -1; + } *entries = new chapter_entry_t[m.ListSize()]; + unsigned int last_atom_at = 0; + bool last_atom_found = false; // Determine whether or not an entry has to be removed. Also retrieve // the start and end timecodes. - int i; + size_t i; for (i = 0; m.ListSize() > i; ++i) { KaxChapterAtom *atom = dynamic_cast<KaxChapterAtom *>(m[i]); if (NULL == atom) continue; last_atom_at = i; + last_atom_found = true; entries[i].is_atom = true; KaxChapterTimeStart *cts = static_cast<KaxChapterTimeStart *>(atom->FindFirstElt(EBML_INFO(KaxChapterTimeStart), false)); @@ -595,7 +597,7 @@ } // We can return if we don't have a single atom to work with. - if (-1 == last_atom_at) + if (!last_atom_found) return; for (i = 0; m.ListSize() > i; ++i) { @@ -660,11 +662,14 @@ } // Now really delete those entries. - for (i = m.ListSize() - 1; 0 <= i; --i) + i = m.ListSize(); + while (0 < i) { + --i; if (entries[i].remove && !entries[i].spans) { delete m[i]; m.Remove(i); } + } delete []entries; } @@ -682,7 +687,7 @@ */ void merge_chapter_entries(EbmlMaster &master) { - int master_idx; + size_t master_idx; // Iterate over all children of the atomaster. for (master_idx = 0; master.ListSize() > master_idx; ++master_idx) { @@ -703,7 +708,7 @@ // Now iterate over all remaining atoms and find those with the same // UID. - int merge_idx = master_idx + 1; + size_t merge_idx = master_idx + 1; while (true) { KaxChapterAtom *merge_this = NULL; for (; master.ListSize() > merge_idx; ++merge_idx) { @@ -790,7 +795,7 @@ return NULL; // Remove the atoms that are outside of the requested range. - int master_idx; + size_t master_idx; for (master_idx = 0; chapters->ListSize() > master_idx; master_idx++) { EbmlMaster *work_master = dynamic_cast<KaxEditionEntry *>((*chapters)[master_idx]); if (NULL != work_master) @@ -807,8 +812,7 @@ continue; } - int num_atoms = 0; - int eentry_idx; + size_t num_atoms = 0, eentry_idx; for (eentry_idx = 0; eentry->ListSize() > eentry_idx; eentry_idx++) if (dynamic_cast<KaxChapterAtom *>((*eentry)[eentry_idx]) != NULL) num_atoms++; @@ -846,7 +850,7 @@ if (0 == uid) return FINDFIRST(&chapters, KaxEditionEntry); - int eentry_idx; + size_t eentry_idx; for (eentry_idx = 0; chapters.ListSize() > eentry_idx; eentry_idx++) { KaxEditionEntry *eentry = dynamic_cast<KaxEditionEntry *>(chapters[eentry_idx]); if (eentry == NULL) @@ -880,13 +884,13 @@ return FINDFIRST(eentry, KaxChapterAtom); } - int eentry_idx; + size_t eentry_idx; for (eentry_idx = 0; chapters.ListSize() > eentry_idx; eentry_idx++) { KaxEditionEntry *eentry = dynamic_cast<KaxEditionEntry *>(chapters[eentry_idx]); if (NULL == eentry) continue; - int atom_idx; + size_t atom_idx; for (atom_idx = 0; eentry->ListSize() > atom_idx; atom_idx++) { KaxChapterAtom *atom = dynamic_cast<KaxChapterAtom *>((*eentry)[atom_idx]); if (NULL == atom) @@ -918,7 +922,7 @@ void move_chapters_by_edition(KaxChapters &dst, KaxChapters &src) { - int src_idx; + size_t src_idx; for (src_idx = 0; src.ListSize() > src_idx; src_idx++) { EbmlMaster *m = dynamic_cast<EbmlMaster *>(src[src_idx]); if (NULL == m) @@ -936,7 +940,7 @@ dst.PushElement(*m); else { // Move all atoms from the old edition to the new one. - int master_idx; + size_t master_idx; for (master_idx = 0; m->ListSize() > master_idx; master_idx++) if (is_id((*m)[master_idx], KaxChapterAtom)) ee_dst->PushElement(*(*m)[master_idx]); @@ -967,7 +971,7 @@ void adjust_chapter_timecodes(EbmlMaster &master, int64_t offset) { - int master_idx; + size_t master_idx; for (master_idx = 0; master.ListSize() > master_idx; master_idx++) { if (!is_id(master[master_idx], KaxChapterAtom)) continue; @@ -993,7 +997,7 @@ static int count_chapter_atoms_recursively(EbmlMaster &master, int count) { - int master_idx; + size_t master_idx; for (master_idx = 0; master.ListSize() > master_idx; ++master_idx) if (is_id(master[master_idx], KaxChapterAtom)) @@ -1033,7 +1037,7 @@ if (0 == s_shared_edition_uid) s_shared_edition_uid = create_unique_uint32(UNIQUE_CHAPTER_IDS); - int idx; + size_t idx; for (idx = 0; chapters->ListSize() > idx; ++idx) { KaxEditionEntry *edition_entry = dynamic_cast<KaxEditionEntry *>((*chapters)[idx]); if (NULL == edition_entry) @@ -1042,3 +1046,29 @@ GetChildAs<KaxEditionUID, EbmlUInteger>(*edition_entry) = s_shared_edition_uid; } } + +void +align_chapter_edition_uids(KaxChapters &reference, + KaxChapters &modify) { + size_t reference_idx = 0, modify_idx = 0; + + while (1) { + KaxEditionEntry *ee_reference = NULL;; + while ((reference.ListSize() > reference_idx) && (NULL == (ee_reference = dynamic_cast<KaxEditionEntry *>(reference[reference_idx])))) + ++reference_idx; + + if (NULL == ee_reference) + return; + + KaxEditionEntry *ee_modify = NULL;; + while ((modify.ListSize() > modify_idx) && (NULL == (ee_modify = dynamic_cast<KaxEditionEntry *>(modify[modify_idx])))) + ++modify_idx; + + if (NULL == ee_modify) + return; + + GetChildAs<KaxEditionUID, EbmlUInteger>(*ee_modify) = GetChildAs<KaxEditionUID, EbmlUInteger>(*ee_reference); + ++reference_idx; + ++modify_idx; + } +} diff -Nru mkvtoolnix-4.0.0/src/common/chapters/chapters.h mkvtoolnix-4.5.0+dfsg/src/common/chapters/chapters.h --- mkvtoolnix-4.0.0/src/common/chapters/chapters.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/chapters.h 2011-01-31 20:34:09.000000000 +0000 @@ -79,5 +79,6 @@ int MTX_DLL_API count_chapter_atoms(EbmlMaster &master); void MTX_DLL_API align_chapter_edition_uids(KaxChapters *chapters); +void MTX_DLL_API align_chapter_edition_uids(KaxChapters &reference, KaxChapters &modify); #endif // __MTX_COMMON_CHAPTERS_H diff -Nru mkvtoolnix-4.0.0/src/common/chapters/cue_parser.cpp mkvtoolnix-4.5.0+dfsg/src/common/chapters/cue_parser.cpp --- mkvtoolnix-4.0.0/src/common/chapters/cue_parser.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/cue_parser.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -206,7 +206,7 @@ create_tag1(a.isrc, "ISRC"); create_tag1(a.flags, "CDAUDIO_TRACK_FLAGS"); - int i; + size_t i; for (i = 0; i < a.global_comment.size(); i++) create_tag1(a.global_comment[i], "COMMENT"); @@ -240,7 +240,7 @@ create_tag1(a.global_disc_id, "DISCID"); create_tag1(a.global_catalog, "CATALOG_NUMBER"); - int i; + size_t i; for (i = 0; i < a.global_rem.size(); i++) create_tag1(a.global_rem[i], "COMMENT"); @@ -256,8 +256,8 @@ return; KaxChapterAtom *atom = NULL; - int offset = a.index00_missing ? 1 : 0; - int i; + size_t offset = a.index00_missing ? 1 : 0; + size_t i; for (i = 0; i < a.start_indices.size(); i++) { atom = &GetFirstOrNextChild<KaxChapterAtom>(a.atom, atom); @@ -320,8 +320,8 @@ static std::string erase_colon(std::string &s, - int skip) { - int i = skip + 1; + size_t skip) { + size_t i = skip + 1; while ((s.length() > i) && (s[i] == ' ')) i++; @@ -390,11 +390,11 @@ a.title = get_quoted(line, 6); } else if (starts_with_case(line, "index ")) { - int index, min, sec, frames; + unsigned int index, min, sec, frames; line.erase(0, 6); strip(line); - if (sscanf(line.c_str(), "%d %d:%d:%d", &index, &min, &sec, &frames) < 4) + if (sscanf(line.c_str(), "%u %u:%u:%u", &index, &min, &sec, &frames) < 4) mxerror(boost::format(Y("Cue sheet parser: Invalid INDEX entry in line %1%.\n")) % a.line_num); bool index_ok = false; diff -Nru mkvtoolnix-4.0.0/src/common/chapters/Makefile.in mkvtoolnix-4.5.0+dfsg/src/common/chapters/Makefile.in --- mkvtoolnix-4.0.0/src/common/chapters/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/common/chapters/Rakefile mkvtoolnix-4.5.0+dfsg/src/common/chapters/Rakefile --- mkvtoolnix-4.0.0/src/common/chapters/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/common/chapters/writer.cpp mkvtoolnix-4.5.0+dfsg/src/common/chapters/writer.cpp --- mkvtoolnix-4.0.0/src/common/chapters/writer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/writer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -56,7 +56,7 @@ static void handle_name(int level, const std::string &name) { - int i; + size_t i; for (i = 0; s_chapter_start_times.size() > i; i++) { chapter_entry_c &e = s_chapter_start_times[i]; @@ -73,7 +73,7 @@ static void handle_start_time(int level, int64_t start_time) { - int i; + size_t i; for (i = 0; s_chapter_names.size() > i; i++) { chapter_entry_c &e = s_chapter_names[i]; @@ -92,7 +92,7 @@ static void write_chapter_display_simple(KaxChapterDisplay *display, int level) { - int i; + size_t i; for (i = 0; i < display->ListSize(); i++) { EbmlElement *e = (*display)[i]; @@ -108,7 +108,7 @@ static void write_chapter_track_simple(KaxChapterTrack *track, int level) { - int i; + size_t i; for (i = 0; i < track->ListSize(); i++) { EbmlElement *e = (*track)[i]; @@ -122,7 +122,7 @@ static void write_chapter_atom_simple(KaxChapterAtom *atom, int level) { - int i; + size_t i; for (i = 0; i < atom->ListSize(); i++) { EbmlElement *e = (*atom)[i]; @@ -150,12 +150,12 @@ s_chapter_names.clear(); s_chapter_entries.clear(); - int chapter_idx; + size_t chapter_idx; for (chapter_idx = 0; chapters->ListSize() > chapter_idx; chapter_idx++) { if (is_id((*chapters)[chapter_idx], KaxEditionEntry)) { KaxEditionEntry *edition = static_cast<KaxEditionEntry *>((*chapters)[chapter_idx]); - int edition_idx; + size_t edition_idx; for (edition_idx = 0; edition->ListSize() > edition_idx; edition_idx++) if (is_id((*edition)[edition_idx], KaxChapterAtom)) write_chapter_atom_simple(static_cast<KaxChapterAtom *>((*edition)[edition_idx]), 2); @@ -226,7 +226,7 @@ void write_chapters_xml(KaxChapters *chapters, mm_io_c *out) { - int i; + size_t i; for (i = 0; NULL != chapter_elements[i].name; i++) { chapter_elements[i].start_hook = NULL; diff -Nru mkvtoolnix-4.0.0/src/common/chapters/xml_parser.cpp mkvtoolnix-4.5.0+dfsg/src/common/chapters/xml_parser.cpp --- mkvtoolnix-4.0.0/src/common/chapters/xml_parser.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/chapters/xml_parser.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -36,8 +36,8 @@ end_edition_entry(void *pdata) { KaxEditionUID *euid = NULL; EbmlMaster *m = static_cast<EbmlMaster *>(xmlp_pelt); - int num = 0; - int i; + size_t num = 0; + size_t i; for (i = 0; i < m->ListSize(); i++) { if (is_id((*m)[i], KaxEditionUID)) diff -Nru mkvtoolnix-4.0.0/src/common/checksums.cpp mkvtoolnix-4.5.0+dfsg/src/common/checksums.cpp --- mkvtoolnix-4.0.0/src/common/checksums.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/checksums.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -84,7 +84,7 @@ int le, int bits, uint32_t poly, - int ctx_size) { + unsigned int ctx_size) { int i, j; uint32_t c; diff -Nru mkvtoolnix-4.0.0/src/common/checksums.h mkvtoolnix-4.5.0+dfsg/src/common/checksums.h --- mkvtoolnix-4.0.0/src/common/checksums.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/checksums.h 2011-01-31 20:34:09.000000000 +0000 @@ -27,7 +27,7 @@ CRC_MAX = CRC_32_IEEE_LE + 1, }; -int MTX_DLL_API crc_init(uint32_t *ctx, int le, int bits, uint32_t poly, int ctx_size); +int MTX_DLL_API crc_init(uint32_t *ctx, int le, int bits, uint32_t poly, unsigned int ctx_size); const uint32_t * MTX_DLL_API crc_get_table(crc_type_e crc_id); uint32_t crc_calc(const uint32_t *ctx, uint32_t start_crc, const unsigned char *buffer, size_t length); diff -Nru mkvtoolnix-4.0.0/src/common/cli_parser.cpp mkvtoolnix-4.5.0+dfsg/src/common/cli_parser.cpp --- mkvtoolnix-4.0.0/src/common/cli_parser.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/cli_parser.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -173,6 +173,7 @@ void cli_parser_c::add_common_options() { OPT("v|verbose", YT("Increase verbosity.")); + OPT("q|quiet", YT("Suppress status output.")); OPT("ui-language=<code>", YT("Force the translations for 'code' to be used.")); OPT("command-line-charset=<charset>", YT("Charset for strings on the command line")); OPT("output-charset=<cset>", YT("Output messages in this charset")); @@ -180,6 +181,7 @@ OPT("@file", YT("Reads additional command line options from the specified file (see man page).")); OPT("h|help", YT("Show this help.")); OPT("V|version", YT("Show version information.")); + OPT("check-for-updates", YT("Check online for the latest release.")); } #undef OPT diff -Nru mkvtoolnix-4.0.0/src/common/command_line.cpp mkvtoolnix-4.5.0+dfsg/src/common/command_line.cpp --- mkvtoolnix-4.0.0/src/common/command_line.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/command_line.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -20,6 +20,7 @@ #include "common/command_line.h" #include "common/mm_io.h" +#include "common/mm_write_cache_io.h" #include "common/strings/editing.h" #include "common/translation.h" #include "common/version.h" @@ -64,7 +65,7 @@ skip_next = true; continue; } - args.push_back(buffer); + args.push_back(unescape(buffer)); } delete mm_io; @@ -161,7 +162,7 @@ bool handle_common_cli_args(std::vector<std::string> &args, const std::string &redirect_output_short) { - int i = 0; + size_t i = 0; bool debug_options_found = false; while (args.size() > i) { @@ -202,7 +203,7 @@ mxerror(boost::format(Y("'%1%' is missing the file name.\n")) % args[i]); try { if (!stdio_redirected()) { - mm_file_io_c *file = new mm_file_io_c(args[i + 1], MODE_CREATE); + mm_io_c *file = mm_write_cache_io_c::open(args[i + 1], 128 * 1024); file->write_bom(g_stdio_charset); redirect_stdio(file); } @@ -243,7 +244,7 @@ ++i; } - // Last find the --help and --version arguments. + // Last find the --help, --version, --check-for-updates arguments. i = 0; while (args.size() > i) { if ((args[i] == "-V") || (args[i] == "--version")) { @@ -254,10 +255,26 @@ ++verbose; args.erase(args.begin() + i, args.begin() + i + 1); - } else if ((args[i] == "-h") || (args[i] == "-?") || - (args[i] == "--help")) + } else if ((args[i] == "-q") || (args[i] == "--quiet")) { + verbose = 0; + g_suppress_info = true; + args.erase(args.begin() + i, args.begin() + i + 1); + + } else if ((args[i] == "-h") || (args[i] == "-?") || (args[i] == "--help")) usage(); +#if defined(HAVE_CURL_EASY_H) + else if (args[i] == "--check-for-updates") { + mtx_release_version_t rel = get_latest_release_version(); + if (!rel.latest_source.valid) + mxerror(boost::format(Y("The update information could not be retrieved from %1%.\n")) % MTX_VERSION_CHECK_URL); + + mxinfo(boost::format("version_check_url=%1%\nrunning_version=%2%\navailable_version=%3%\ndownload_url=%4%\n") + % MTX_VERSION_CHECK_URL % rel.current_version.to_string() % rel.latest_source.to_string() % rel.source_download_url); + mxexit(rel.current_version < rel.latest_source ? 1 : 0); + } +#endif // defined(HAVE_CURL_EASY_H) + else ++i; } diff -Nru mkvtoolnix-4.0.0/src/common/common.cpp mkvtoolnix-4.5.0+dfsg/src/common/common.cpp --- mkvtoolnix-4.0.0/src/common/common.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/common.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -23,6 +23,7 @@ #include "common/mm_io.h" #include "common/random.h" +#include "common/stereo_mode.h" #include "common/strings/editing.h" #include "common/translation.h" #include "common/xml/element_mapping.h" @@ -34,7 +35,7 @@ // Global and static variables -int verbose = 1; +unsigned int verbose = 1; extern bool g_warning_issued; @@ -112,5 +113,7 @@ init_cc_stdio(); xml_element_map_init(); + + stereo_mode_c::init(); } diff -Nru mkvtoolnix-4.0.0/src/common/common.h mkvtoolnix-4.5.0+dfsg/src/common/common.h --- mkvtoolnix-4.0.0/src/common/common.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/common.h 2011-01-31 20:34:09.000000000 +0000 @@ -79,7 +79,7 @@ void MTX_DLL_API mxexit(int code = -1); void MTX_DLL_API set_process_priority(int priority); -extern int MTX_DLL_API verbose; +extern unsigned int MTX_DLL_API verbose; #define foreach BOOST_FOREACH #define reverse_foreach BOOST_REVERSE_FOREACH diff -Nru mkvtoolnix-4.0.0/src/common/compression.cpp mkvtoolnix-4.5.0+dfsg/src/common/compression.cpp --- mkvtoolnix-4.0.0/src/common/compression.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/compression.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -16,7 +16,10 @@ #include <matroska/KaxContentEncoding.h> #include <matroska/KaxTracks.h> +#include "common/ac3.h" #include "common/compression.h" +#include "common/dirac.h" +#include "common/dts.h" #include "common/ebml.h" #include "common/endian.h" #include "common/hacks.h" @@ -24,7 +27,7 @@ using namespace libmatroska; const char *compression_methods[] = { - "unspecified", "zlib", "bz2", "lzo", "header_removal", "mpeg4_p2", "none" + "unspecified", "zlib", "bz2", "lzo", "header_removal", "mpeg4_p2", "mpeg4_p10", "dirac", "dts", "ac3", "mp3", "analyze_header_removal", "none" }; static const int compression_method_map[] = { @@ -34,6 +37,12 @@ 2, // lzo1x 3, // header removal 3, // mpeg4_p2 is header removal + 3, // mpeg4_p10 is header removal + 3, // dirac is header removal + 3, // dts is header removal + 3, // ac3 is header removal + 3, // mp3 is header removal + 999999999, // analyze_header_removal 0 // none }; @@ -270,7 +279,7 @@ if (!m_bytes.is_set() || (0 == m_bytes->get_size())) return; - int size = m_bytes->get_size(); + size_t size = m_bytes->get_size(); if (buffer->get_size() < size) throw compression_error_c(boost::format(Y("Header removal compression not possible because the buffer contained %1% bytes " "which is less than the size of the headers that should be removed, %2%.")) % buffer->get_size() % size); @@ -280,19 +289,23 @@ if (memcmp(buffer_ptr, bytes_ptr, size)) { std::string b_buffer, b_bytes; - int i; + size_t i; for (i = 0; size > i; ++i) { - b_buffer += (boost::format(" %|1$02x|") % buffer_ptr[i]).str(); - b_bytes += (boost::format(" %|1$02x|") % bytes_ptr[i]).str(); + b_buffer += (boost::format(" %|1$02x|") % static_cast<unsigned int>(buffer_ptr[i])).str(); + b_bytes += (boost::format(" %|1$02x|") % static_cast<unsigned int>(bytes_ptr[i])).str(); } throw compression_error_c(boost::format(Y("Header removal compression not possible because the buffer did not start with the bytes that should be removed. " "Wanted bytes:%1%; found:%2%.")) % b_bytes % b_buffer); } - int new_size = buffer->get_size() - size; - memmove(buffer_ptr, buffer_ptr + size, new_size); - buffer->set_size(new_size); + size_t new_size = buffer->get_size() - size; + + if (buffer->is_free()) { + memmove(buffer_ptr, buffer_ptr + size, new_size); + buffer->set_size(new_size); + } else + buffer = clone_memory(buffer_ptr + size, new_size); } void @@ -300,15 +313,94 @@ compressor_c::set_track_headers(c_encoding); // Set compression parameters. - GetChild<KaxContentCompSettings>(GetChild<KaxContentCompression>(c_encoding)).SetBuffer(m_bytes->get_buffer(), m_bytes->get_size()); + GetChild<KaxContentCompSettings>(GetChild<KaxContentCompression>(c_encoding)).CopyBuffer(m_bytes->get_buffer(), m_bytes->get_size()); +} + +// ------------------------------------------------------------ + +analyze_header_removal_compressor_c::analyze_header_removal_compressor_c() + : compressor_c(COMPRESSION_ANALYZE_HEADER_REMOVAL) + , m_packet_counter(0) +{ +} + +analyze_header_removal_compressor_c::~analyze_header_removal_compressor_c() { + if (!m_bytes.is_set()) + mxinfo("Analysis failed: no packet encountered\n"); + + else if (m_bytes->get_size() == 0) + mxinfo("Analysis complete but no similarities found.\n"); + + else { + mxinfo(boost::format("Analysis complete. %1% identical byte(s) at the start of each of the %2% packet(s). Hex dump of the content:\n") % m_bytes->get_size() % m_packet_counter); + mxhexdump(0, m_bytes->get_buffer(), m_bytes->get_size()); + } +} + +void +analyze_header_removal_compressor_c::decompress(memory_cptr &buffer) { + mxerror("analyze_header_removal_compressor_c::decompress(): not supported\n"); +} + +void +analyze_header_removal_compressor_c::compress(memory_cptr &buffer) { + ++m_packet_counter; + + if (!m_bytes.is_set()) { + m_bytes = memory_cptr(buffer->clone()); + return; + } + + unsigned char *current = buffer->get_buffer(); + unsigned char *saved = m_bytes->get_buffer(); + size_t i, new_size = 0; + + for (i = 0; i < std::min(buffer->get_size(), m_bytes->get_size()); ++i, ++new_size) + if (current[i] != saved[i]) + break; + + m_bytes->set_size(new_size); +} + +void +analyze_header_removal_compressor_c::set_track_headers(KaxContentEncoding &c_encoding) { } +// ------------------------------------------------------------ + mpeg4_p2_compressor_c::mpeg4_p2_compressor_c() { - if (!hack_engaged(ENGAGE_NATIVE_MPEG4)) - mxerror(Y("The MPEG-4 part 2 compression only works with native MPEG-4. However, native MPEG-4 mode has not been selected with '--engage native_mpeg4'.\n")); + memory_cptr bytes = memory_c::alloc(3); + put_uint24_be(bytes->get_buffer(), 0x000001); + set_bytes(bytes); +} + +mpeg4_p10_compressor_c::mpeg4_p10_compressor_c() { + memory_cptr bytes = memory_c::alloc(1); + bytes->get_buffer()[0] = 0; + set_bytes(bytes); +} + +dirac_compressor_c::dirac_compressor_c() { + memory_cptr bytes = memory_c::alloc(4); + put_uint32_be(bytes->get_buffer(), DIRAC_SYNC_WORD); + set_bytes(bytes); +} +dts_compressor_c::dts_compressor_c() { memory_cptr bytes = memory_c::alloc(4); - put_uint32_be(bytes->get_buffer(), 0x000001b6); + put_uint32_be(bytes->get_buffer(), DTS_HEADER_MAGIC); + set_bytes(bytes); +} + +ac3_compressor_c::ac3_compressor_c() { + memory_cptr bytes = memory_c::alloc(2); + put_uint16_be(bytes->get_buffer(), AC3_SYNC_WORD); + set_bytes(bytes); +} + +mp3_compressor_c::mp3_compressor_c() { + memory_cptr bytes = memory_c::alloc(1); + bytes->get_buffer()[0] = 0xff; set_bytes(bytes); } @@ -358,6 +450,24 @@ if (!strcasecmp(method, compression_methods[COMPRESSION_MPEG4_P2])) return compressor_ptr(new mpeg4_p2_compressor_c()); + if (!strcasecmp(method, compression_methods[COMPRESSION_MPEG4_P10])) + return compressor_ptr(new mpeg4_p10_compressor_c()); + + if (!strcasecmp(method, compression_methods[COMPRESSION_DIRAC])) + return compressor_ptr(new dirac_compressor_c()); + + if (!strcasecmp(method, compression_methods[COMPRESSION_DTS])) + return compressor_ptr(new dts_compressor_c()); + + if (!strcasecmp(method, compression_methods[COMPRESSION_AC3])) + return compressor_ptr(new ac3_compressor_c()); + + if (!strcasecmp(method, compression_methods[COMPRESSION_MP3])) + return compressor_ptr(new mp3_compressor_c()); + + if (!strcasecmp(method, compression_methods[COMPRESSION_ANALYZE_HEADER_REMOVAL])) + return compressor_ptr(new analyze_header_removal_compressor_c()); + if (!strcasecmp(method, "none")) return compressor_ptr(new compressor_c(COMPRESSION_NONE)); @@ -403,7 +513,7 @@ int tid = kt_get_number(ktentry); - int kcenc_idx; + size_t kcenc_idx; for (kcenc_idx = 0; kcenc_idx < kcencodings->ListSize(); kcenc_idx++) { KaxContentEncoding *kcenc = dynamic_cast<KaxContentEncoding *>((*kcencodings)[kcenc_idx]); if (NULL == kcenc) diff -Nru mkvtoolnix-4.0.0/src/common/compression.h mkvtoolnix-4.5.0+dfsg/src/common/compression.h --- mkvtoolnix-4.0.0/src/common/compression.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/compression.h 2011-01-31 20:34:09.000000000 +0000 @@ -32,6 +32,12 @@ COMPRESSION_LZO, COMPRESSION_HEADER_REMOVAL, COMPRESSION_MPEG4_P2, + COMPRESSION_MPEG4_P10, + COMPRESSION_DIRAC, + COMPRESSION_DTS, + COMPRESSION_AC3, + COMPRESSION_MP3, + COMPRESSION_ANALYZE_HEADER_REMOVAL, COMPRESSION_NONE, COMPRESSION_NUM = COMPRESSION_NONE }; @@ -140,11 +146,51 @@ virtual void set_track_headers(KaxContentEncoding &c_encoding); }; +class MTX_DLL_API analyze_header_removal_compressor_c: public compressor_c { +protected: + memory_cptr m_bytes; + unsigned int m_packet_counter; + +public: + analyze_header_removal_compressor_c(); + virtual ~analyze_header_removal_compressor_c(); + + virtual void decompress(memory_cptr &buffer); + virtual void compress(memory_cptr &buffer); + + virtual void set_track_headers(KaxContentEncoding &c_encoding); +}; + class MTX_DLL_API mpeg4_p2_compressor_c: public header_removal_compressor_c { public: mpeg4_p2_compressor_c(); }; +class MTX_DLL_API mpeg4_p10_compressor_c: public header_removal_compressor_c { +public: + mpeg4_p10_compressor_c(); +}; + +class MTX_DLL_API dirac_compressor_c: public header_removal_compressor_c { +public: + dirac_compressor_c(); +}; + +class MTX_DLL_API dts_compressor_c: public header_removal_compressor_c { +public: + dts_compressor_c(); +}; + +class MTX_DLL_API ac3_compressor_c: public header_removal_compressor_c { +public: + ac3_compressor_c(); +}; + +class MTX_DLL_API mp3_compressor_c: public header_removal_compressor_c { +public: + mp3_compressor_c(); +}; + // ------------------------------------------------------------------ enum content_encoding_scope_e { diff -Nru mkvtoolnix-4.0.0/src/common/curl.cpp mkvtoolnix-4.5.0+dfsg/src/common/curl.cpp --- mkvtoolnix-4.0.0/src/common/curl.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/curl.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,53 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + even easier interface to CURL + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#if defined(HAVE_CURL_EASY_H) + +# include "common/curl.h" + +# include <curl/easy.h> + +static size_t +curl_write_data_cb(void *buffer, + size_t size, + size_t nmemb, + void *user_data) { + std::string *s = static_cast<std::string *>(user_data); + *s += std::string(static_cast<char *>(buffer), size * nmemb); + return size * nmemb; +} + +CURLcode +retrieve_via_curl(const std::string &url, + std::string &data, + int connect_timeout) { + curl_global_init(CURL_GLOBAL_ALL); + CURL *handle = curl_easy_init(); + + curl_easy_setopt(handle, CURLOPT_VERBOSE, 0); + curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 1); + curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, connect_timeout); + curl_easy_setopt(handle, CURLOPT_URL, url.c_str()); + curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, curl_write_data_cb); + curl_easy_setopt(handle, CURLOPT_WRITEDATA, &data); + + CURLcode result = curl_easy_perform(handle); + + curl_easy_cleanup(handle); + + return result; +} + +#endif // defined(HAVE_CURL_EASY_H) diff -Nru mkvtoolnix-4.0.0/src/common/curl.h mkvtoolnix-4.5.0+dfsg/src/common/curl.h --- mkvtoolnix-4.0.0/src/common/curl.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/curl.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,31 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + even easier interface to CURL + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __MTX_COMMON_CURL_H +# define __MTX_COMMON_CURL_H + +# include "common/common_pch.h" + +# if defined(HAVE_CURL_EASY_H) + +# if defined(SYS_WINDOWS) +# include <ws2tcpip.h> +# endif // defined(SYS_WINDOWS) +# include <curl/curl.h> +# include <string> + +CURLcode retrieve_via_curl(const std::string &url, std::string &data, int connect_timeout = 10); + +# endif // defined(HAVE_CURL_EASY_H) + +#endif // __MTX_COMMON_CURL_H diff -Nru mkvtoolnix-4.0.0/src/common/debugging.cpp mkvtoolnix-4.5.0+dfsg/src/common/debugging.cpp --- mkvtoolnix-4.0.0/src/common/debugging.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/debugging.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -61,4 +61,9 @@ const char *value = getenv("MKVTOOLNIX_DEBUG"); if (NULL != value) request_debugging(value); + else { + value = getenv("MTX_DEBUG"); + if (NULL != value) + request_debugging(value); + } } diff -Nru mkvtoolnix-4.0.0/src/common/dirac.cpp mkvtoolnix-4.5.0+dfsg/src/common/dirac.cpp --- mkvtoolnix-4.0.0/src/common/dirac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/dirac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -217,10 +217,11 @@ void dirac::es_parser_c::add_bytes(unsigned char *buffer, - int size) { + size_t size) { memory_slice_cursor_c cursor; - int previous_pos = -1; + bool previous_found = false; + size_t previous_pos = 0; int64_t previous_stream_pos = m_stream_pos; if (m_unparsed_buffer.is_set() && (0 != m_unparsed_buffer->get_size())) @@ -232,9 +233,10 @@ while (1) { if (DIRAC_SYNC_WORD == marker) { - if (-1 == previous_pos) { - previous_pos = cursor.get_position() - 4; - m_stream_pos = previous_stream_pos + previous_pos; + if (!previous_found) { + previous_found = true; + previous_pos = cursor.get_position() - 4; + m_stream_pos = previous_stream_pos + previous_pos; if (!cursor.char_available()) break; @@ -270,10 +272,7 @@ } } - if (-1 == previous_pos) - previous_pos = 0; - - int new_size = cursor.get_size() - previous_pos; + unsigned int new_size = cursor.get_size() - previous_pos; if (0 != new_size) { memory_cptr new_unparsed_buffer = memory_c::alloc(new_size); cursor.copy(new_unparsed_buffer->get_buffer(), previous_pos, new_size); diff -Nru mkvtoolnix-4.0.0/src/common/dirac.h mkvtoolnix-4.5.0+dfsg/src/common/dirac.h --- mkvtoolnix-4.0.0/src/common/dirac.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/dirac.h 2011-01-31 20:34:09.000000000 +0000 @@ -99,7 +99,7 @@ es_parser_c(); virtual ~es_parser_c(); - virtual void add_bytes(unsigned char *buf, int size); + virtual void add_bytes(unsigned char *buf, size_t size); virtual void add_bytes(memory_cptr &buf) { add_bytes(buf->get_buffer(), buf->get_size()); }; diff -Nru mkvtoolnix-4.0.0/src/common/dts.cpp mkvtoolnix-4.5.0+dfsg/src/common/dts.cpp --- mkvtoolnix-4.0.0/src/common/dts.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/dts.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -21,9 +21,6 @@ #include "common/dts.h" #include "common/endian.h" -#define DTS_HEADER_MAGIC 0x7ffe8001 -#define DTS_HD_HEADER_MAGIC 0x64582025 - // --------------------------------------------------------------------------- struct channel_arrangement { @@ -82,24 +79,39 @@ }; int +find_dts_sync_word(const unsigned char *buf, + unsigned int size) { + if (4 > size) + // not enough data for one header + return -1; + + unsigned int offset = 0; + uint32_t sync_word = get_uint32_be(buf); + while ((DTS_HEADER_MAGIC != sync_word) && ((offset + 4) < size)) { + sync_word = (sync_word << 8) | buf[offset + 4]; + ++offset; + } + + if (DTS_HEADER_MAGIC != sync_word) + // no header found + return -1; + + return offset; +} + +int find_dts_header_internal(const unsigned char *buf, unsigned int size, struct dts_header_s *dts_header, bool allow_no_hd_search) { - unsigned int size_to_search = size - 15; if (size_to_search > size) { // not enough data for one header return -1; } - int offset; - for (offset = 0; offset < size_to_search; ++offset) - // sync words appear aligned in the bit stream - if (get_uint32_be(buf + offset) == DTS_HEADER_MAGIC) - break; - - if (offset >= size_to_search) + int offset = find_dts_sync_word(buf, size); + if (0 > offset) // no header found return -1; @@ -241,7 +253,7 @@ dts_header->hd_type = dts_header_t::DTSHD_NONE; dts_header->hd_part_size = 0; - int hd_offset = offset + dts_header->frame_byte_size; + size_t hd_offset = offset + dts_header->frame_byte_size; if ((hd_offset + 9) > size) return allow_no_hd_search ? offset : -1; diff -Nru mkvtoolnix-4.0.0/src/common/dts.h mkvtoolnix-4.5.0+dfsg/src/common/dts.h --- mkvtoolnix-4.0.0/src/common/dts.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/dts.h 2011-01-31 20:34:09.000000000 +0000 @@ -15,6 +15,9 @@ #ifndef __MTX_COMMON_DTSCOMMON_H #define __MTX_COMMON_DTSCOMMON_H +#define DTS_HEADER_MAGIC 0x7ffe8001 +#define DTS_HD_HEADER_MAGIC 0x64582025 + static const int64_t max_dts_packet_size = 15384; /* The following code looks a little odd as it was written in C++ @@ -149,6 +152,7 @@ } dts_header_t; +int MTX_DLL_API find_dts_sync_word(const unsigned char *buf, unsigned int size); int MTX_DLL_API find_dts_header(const unsigned char *buf, unsigned int size, struct dts_header_s *dts_header, bool allow_no_hd_search = false); void MTX_DLL_API print_dts_header(const struct dts_header_s *dts_header); diff -Nru mkvtoolnix-4.0.0/src/common/ebml.cpp mkvtoolnix-4.5.0+dfsg/src/common/ebml.cpp --- mkvtoolnix-4.0.0/src/common/ebml.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/ebml.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -97,15 +97,15 @@ for (src = 0; src < slen; dlen++) { clen = utf8_byte_length(c[src]); if (clen < 0) - mxerror(Y("cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser.")); + break; src += clen; } new_string = (wchar_t *)safemalloc((dlen + 1) * sizeof(wchar_t)); for (src = 0, dst = 0; src < slen; dst++) { clen = utf8_byte_length(c[src]); - if ((src + clen) > slen) - mxerror(Y("cstrutf8_to_UTFstring: Invalid UTF-8 sequence encountered. Please contact moritz@bunkus.org and request that he implements a better UTF-8 parser.")); + if ((clen < 0) || ((src + clen) > slen)) + break; if (clen == 1) new_string[dst] = c[src]; @@ -252,7 +252,7 @@ create_ebml_element(const EbmlCallbacks &callbacks, const EbmlId &id) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(callbacks); - int i; + size_t i; // if (id == EbmlId(*parent)) // return empty_ebml_master(&parent->Generic().Create()); @@ -280,7 +280,7 @@ const EbmlId &id) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(base); const EbmlCallbacks *result; - int i; + size_t i; if (EBML_INFO_ID(base) == id) return &base; @@ -305,7 +305,7 @@ const char *debug_name) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(base); const EbmlCallbacks *result; - int i; + size_t i; if (!strcmp(debug_name, EBML_INFO_NAME(base))) return &base; @@ -330,7 +330,7 @@ const EbmlId &id) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(base); const EbmlCallbacks *result; - int i; + size_t i; for (i = 0; i < EBML_CTX_SIZE(context); i++) if (id == EBML_CTX_IDX_ID(context,i)) @@ -352,7 +352,7 @@ const EbmlId &id) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(base); const EbmlSemantic *result; - int i; + size_t i; for (i = 0; i < EBML_CTX_SIZE(context); i++) if (id == EBML_CTX_IDX_ID(context,i)) @@ -371,14 +371,12 @@ EbmlMaster * sort_ebml_master(EbmlMaster *m) { - int first_element, first_master, i; - EbmlElement *e; - if (m == NULL) return m; - first_element = -1; - first_master = -1; + int first_element = -1; + int first_master = -1; + size_t i; for (i = 0; i < m->ListSize(); i++) { if ((dynamic_cast<EbmlMaster *>((*m)[i]) != NULL) && (first_master == -1)) @@ -394,14 +392,14 @@ return m; while (first_element != -1) { - e = (*m)[first_element]; + EbmlElement *e = (*m)[first_element]; m->Remove(first_element); m->InsertElement(*e, first_master); first_master++; - for (first_element++; first_element < m->ListSize(); first_element++) + for (first_element++; first_element < static_cast<int>(m->ListSize()); first_element++) if (dynamic_cast<EbmlMaster *>((*m)[first_element]) == NULL) break; - if (first_element >= m->ListSize()) + if (first_element >= static_cast<int>(m->ListSize())) first_element = -1; } @@ -573,7 +571,7 @@ EbmlElement * find_ebml_element_by_id(EbmlMaster *master, const EbmlId &id) { - int i; + size_t i; for (i = 0; master->ListSize() > i; ++i) if (EbmlId(*((*master)[i])) == id) return (*master)[i]; diff -Nru mkvtoolnix-4.0.0/src/common/endian.cpp mkvtoolnix-4.5.0+dfsg/src/common/endian.cpp --- mkvtoolnix-4.0.0/src/common/endian.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/endian.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -95,6 +95,18 @@ } void +put_uint24_le(void *buf, + uint32_t value) { + unsigned char *tmp; + + tmp = (unsigned char *) buf; + + tmp[0] = value & 0xff; + tmp[1] = (value >>= 8) & 0xff; + tmp[2] = (value >>= 8) & 0xff; +} + +void put_uint32_le(void *buf, uint32_t value) { unsigned char *tmp; @@ -136,6 +148,18 @@ } void +put_uint24_be(void *buf, + uint32_t value) { + unsigned char *tmp; + + tmp = (unsigned char *) buf; + + tmp[2] = value & 0xff; + tmp[1] = (value >>= 8) & 0xff; + tmp[0] = (value >>= 8) & 0xff; +} + +void put_uint32_be(void *buf, uint32_t value) { unsigned char *tmp; diff -Nru mkvtoolnix-4.0.0/src/common/endian.h mkvtoolnix-4.5.0+dfsg/src/common/endian.h --- mkvtoolnix-4.0.0/src/common/endian.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/endian.h 2011-01-31 20:34:09.000000000 +0000 @@ -28,9 +28,11 @@ uint64_t MTX_DLL_API get_uint64_be(const void *buf); uint64_t MTX_DLL_API get_uint_be(const void *buf, int max_bytes); void MTX_DLL_API put_uint16_le(void *buf, uint16_t value); +void MTX_DLL_API put_uint24_le(void *buf, uint32_t value); void MTX_DLL_API put_uint32_le(void *buf, uint32_t value); void MTX_DLL_API put_uint64_le(void *buf, uint64_t value); void MTX_DLL_API put_uint16_be(void *buf, uint16_t value); +void MTX_DLL_API put_uint24_be(void *buf, uint32_t value); void MTX_DLL_API put_uint32_be(void *buf, uint32_t value); void MTX_DLL_API put_uint64_be(void *buf, uint64_t value); diff -Nru mkvtoolnix-4.0.0/src/common/extern_data.cpp mkvtoolnix-4.5.0+dfsg/src/common/extern_data.cpp --- mkvtoolnix-4.0.0/src/common/extern_data.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/extern_data.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -2612,11 +2612,11 @@ static std::string guess_mime_type_by_ext(std::string ext) { std::vector<std::string> extensions; - int i, j; + size_t i, j; /* chop off basename */ i = ext.rfind('.'); - if (i < 0) + if (std::string::npos == i) return ""; ext.erase(0, i + 1); ext = downcase(ext); @@ -2640,13 +2640,13 @@ const std::string &file_name) { try { mm_file_io_c file(file_name); - int64_t file_size = file.get_size(); - int buffer_size = 0; - memory_cptr buf = memory_c::alloc(1024 * 1024); - int i; + uint64_t file_size = file.get_size(); + size_t buffer_size = 0; + memory_cptr buf = memory_c::alloc(1024 * 1024); + size_t i; for (i = 1; 3 >= i; ++i) { - int64_t bytes_to_read = std::min(file_size - buffer_size, (int64_t)1024 * 1024); + uint64_t bytes_to_read = std::min(file_size - buffer_size, static_cast<uint64_t>(1024 * 1024)); if (0 == bytes_to_read) break; diff -Nru mkvtoolnix-4.0.0/src/common/file_types.cpp mkvtoolnix-4.5.0+dfsg/src/common/file_types.cpp --- mkvtoolnix-4.0.0/src/common/file_types.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/file_types.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,57 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + File type enum + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include "common/file_types.h" + +static std::vector<file_type_t> s_supported_file_types; + +std::vector<file_type_t> & +file_type_t::get_supported() { + if (!s_supported_file_types.empty()) + return s_supported_file_types; + + s_supported_file_types.push_back(file_type_t(Y("A/52 (aka AC3)"), "ac3")); + s_supported_file_types.push_back(file_type_t(Y("AAC (Advanced Audio Coding)"), "aac m4a mp4")); + s_supported_file_types.push_back(file_type_t(Y("AVC/h.264 elementary streams"), "264 avc h264 x264")); + s_supported_file_types.push_back(file_type_t(Y("AVI (Audio/Video Interleaved)"), "avi")); + s_supported_file_types.push_back(file_type_t(Y("Dirac"), "drc")); + s_supported_file_types.push_back(file_type_t(Y("Dolby TrueHD"), "thd thd+ac3 truehd true-hd")); + s_supported_file_types.push_back(file_type_t(Y("DTS/DTS-HD (Digital Theater System)"), "dts dtshd dts-hd")); +#if defined(HAVE_FLAC_FORMAT_H) + s_supported_file_types.push_back(file_type_t(Y("FLAC (Free Lossless Audio Codec)"), "flac ogg")); +#endif + s_supported_file_types.push_back(file_type_t(Y("IVF with VP8 video files"), "ivf")); + s_supported_file_types.push_back(file_type_t(Y("MP4 audio/video files"), "mp4 m4v")); + s_supported_file_types.push_back(file_type_t(Y("MPEG audio files"), "mp2 mp3")); + s_supported_file_types.push_back(file_type_t(Y("MPEG program streams"), "mpg mpeg m2v evo evob vob")); + s_supported_file_types.push_back(file_type_t(Y("MPEG video elementary streams"), "m1v m2v")); + s_supported_file_types.push_back(file_type_t(Y("Matroska audio/video files"), "mka mks mkv mk3d webm webmv webma")); + s_supported_file_types.push_back(file_type_t(Y("PGS/SUP subtitles"), "sup")); + s_supported_file_types.push_back(file_type_t(Y("QuickTime audio/video files"), "mov")); + s_supported_file_types.push_back(file_type_t(Y("Ogg/OGM audio/video files"), "ogg ogm")); + s_supported_file_types.push_back(file_type_t(Y("RealMedia audio/video files"), "ra ram rm rmvb rv")); + s_supported_file_types.push_back(file_type_t(Y("SRT text subtitles"), "srt")); + s_supported_file_types.push_back(file_type_t(Y("SSA/ASS text subtitles"), "ass ssa")); + s_supported_file_types.push_back(file_type_t(Y("TTA (The lossless True Audio codec)"), "tta")); + s_supported_file_types.push_back(file_type_t(Y("USF text subtitles"), "usf xml")); + s_supported_file_types.push_back(file_type_t(Y("VC1 elementary streams"), "vc1")); + s_supported_file_types.push_back(file_type_t(Y("VobButtons"), "btn")); + s_supported_file_types.push_back(file_type_t(Y("VobSub subtitles"), "idx")); + s_supported_file_types.push_back(file_type_t(Y("WAVE (uncompressed PCM audio)"), "wav")); + s_supported_file_types.push_back(file_type_t(Y("WAVPACK v4 audio"), "wv")); + s_supported_file_types.push_back(file_type_t(Y("WebM audio/video files"), "webm webmv webma")); + + return s_supported_file_types; +} diff -Nru mkvtoolnix-4.0.0/src/common/file_types.h mkvtoolnix-4.5.0+dfsg/src/common/file_types.h --- mkvtoolnix-4.0.0/src/common/file_types.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/file_types.h 2011-01-31 20:34:09.000000000 +0000 @@ -14,6 +14,9 @@ #ifndef __MTX_COMMON_FILE_TYPES_H #define __MTX_COMMON_FILE_TYPES_H +#include <string> +#include <vector> + /* file types */ enum file_type_e { FILE_TYPE_IS_UNKNOWN = 0, @@ -37,6 +40,7 @@ FILE_TYPE_MPEG_PS, FILE_TYPE_MPEG_TS, FILE_TYPE_OGM, + FILE_TYPE_PGSSUP, FILE_TYPE_QTMP4, FILE_TYPE_REAL, FILE_TYPE_SRT, @@ -52,4 +56,16 @@ FILE_TYPE_MAX = FILE_TYPE_WAVPACK4 }; +struct file_type_t { + std::string title, extensions; + + file_type_t(const std::string &p_title, const std::string &p_extensions) + : title(p_title) + , extensions(p_extensions) + { + } + + static std::vector<file_type_t> &get_supported(); +}; + #endif // __MTX_COMMON_FILE_TYPES_H diff -Nru mkvtoolnix-4.0.0/src/common/hacks.cpp mkvtoolnix-4.5.0+dfsg/src/common/hacks.cpp --- mkvtoolnix-4.0.0/src/common/hacks.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/hacks.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -53,7 +53,7 @@ void engage_hacks(const std::string &hacks) { std::vector<std::string> engage_args = split(hacks, ","); - int aidx, hidx; + size_t aidx, hidx; for (aidx = 0; engage_args.size() > aidx; aidx++) if (engage_args[aidx] == "list") { diff -Nru mkvtoolnix-4.0.0/src/common/id3.cpp mkvtoolnix-4.5.0+dfsg/src/common/id3.cpp --- mkvtoolnix-4.0.0/src/common/id3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/id3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -18,7 +18,6 @@ int skip_id3v2_tag(mm_io_c &io) { unsigned char buffer[10]; - int tag_size; io.setFilePointer(0, seek_beginning); if (io.read(buffer, 10) != 10) { @@ -34,9 +33,8 @@ return 0; } - tag_size = (buffer[6] << 21) | (buffer[7] << 14) | (buffer[8] << 7) | - buffer[9]; - tag_size += 10; // tag header + size_t tag_size = (buffer[6] << 21) | (buffer[7] << 14) | (buffer[8] << 7) | buffer[9]; + tag_size += 10; // tag header if ((buffer[5] & 0x10) != 0) tag_size += 10; // footer present diff -Nru mkvtoolnix-4.0.0/src/common/iso639.cpp mkvtoolnix-4.5.0+dfsg/src/common/iso639.cpp --- mkvtoolnix-4.0.0/src/common/iso639.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/iso639.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -20,519 +20,492 @@ #include "common/strings/utf8.h" const iso639_language_t iso639_languages[] = { - { "Abkhazian", "abk", "ab", NULL }, - { "Achinese", "ace", NULL, NULL }, - { "Acoli", "ach", NULL, NULL }, - { "Adangme", "ada", NULL, NULL }, - { "Adyghe; Adygei", "ady", NULL, NULL }, - { "Afar", "aar", "aa", NULL }, - { "Afrihili", "afh", NULL, NULL }, - { "Afrikaans", "afr", "af", NULL }, - { "Afro-Asiatic (Other)", "afa", NULL, NULL }, - { "Ainu", "ain", NULL, NULL }, - { "Akan", "aka", "ak", NULL }, - { "Akkadian", "akk", NULL, NULL }, - { "Albanian", "alb", "sq", "sqi" }, - { "Aleut", "ale", NULL, NULL }, - { "Algonquian languages", "alg", NULL, NULL }, - { "Altaic (Other)", "tut", NULL, NULL }, - { "Amharic", "amh", "am", NULL }, - { "Angika", "anp", NULL, NULL }, - { "Apache languages", "apa", NULL, NULL }, - { "Arabic", "ara", "ar", NULL }, - { "Aragonese", "arg", "an", NULL }, - { "Aramaic", "arc", NULL, NULL }, - { "Arapaho", "arp", NULL, NULL }, - { "Araucanian", "arn", NULL, NULL }, - { "Arawak", "arw", NULL, NULL }, - { "Armenian", "arm", "hy", "hye" }, - { "Aromanian; Arumanian; Macedo-Romanian", "rup", NULL, NULL }, - { "Artificial (Other)", "art", NULL, NULL }, - { "Assamese", "asm", "as", NULL }, - { "Asturian; Bable", "ast", NULL, NULL }, - { "Athapascan languages", "ath", NULL, NULL }, - { "Australian languages", "aus", NULL, NULL }, - { "Austronesian (Other)", "map", NULL, NULL }, - { "Avaric", "ava", "av", NULL }, - { "Avestan", "ave", "ae", NULL }, - { "Awadhi", "awa", NULL, NULL }, - { "Aymara", "aym", "ay", NULL }, - { "Azerbaijani", "aze", "az", NULL }, - { "Bable; Asturian", "ast", NULL, NULL }, - { "Balinese", "ban", NULL, NULL }, - { "Baltic (Other)", "bat", NULL, NULL }, - { "Baluchi", "bal", NULL, NULL }, - { "Bambara", "bam", "bm", NULL }, - { "Bamileke languages", "bai", NULL, NULL }, - { "Banda", "bad", NULL, NULL }, - { "Bantu (Other)", "bnt", NULL, NULL }, - { "Basa", "bas", NULL, NULL }, - { "Bashkir", "bak", "ba", NULL }, - { "Basque", "baq", "eu", "eus" }, - { "Batak (Indonesia)", "btk", NULL, NULL }, - { "Beja", "bej", NULL, NULL }, - { "Belarusian", "bel", "be", NULL }, - { "Bemba", "bem", NULL, NULL }, - { "Bengali", "ben", "bn", NULL }, - { "Berber (Other)", "ber", NULL, NULL }, - { "Bhojpuri", "bho", NULL, NULL }, - { "Bihari", "bih", "bh", NULL }, - { "Bikol", "bik", NULL, NULL }, - { "Bini", "bin", NULL, NULL }, - { "Bislama", "bis", "bi", NULL }, - { "Blin; Bilin", "byn", NULL, NULL }, - { "Blissymbols; Blissymbolics; Bliss", "zbl", NULL, NULL }, - { "Bokmål, Norwegian; Norwegian Bokmål", "nob", "nb", NULL }, - { "Bosnian", "bos", "bs", NULL }, - { "Braj", "bra", NULL, NULL }, - { "Breton", "bre", "br", NULL }, - { "Buginese", "bug", NULL, NULL }, - { "Bulgarian", "bul", "bg", NULL }, - { "Buriat", "bua", NULL, NULL }, - { "Burmese", "bur", "my", "mya" }, - { "Caddo", "cad", NULL, NULL }, - { "Carib", "car", NULL, NULL }, - { "Castilian", "spa", "es", NULL }, - { "Catalan", "cat", "ca", NULL }, - { "Caucasian (Other)", "cau", NULL, NULL }, - { "Cebuano", "ceb", NULL, NULL }, - { "Celtic (Other)", "cel", NULL, NULL }, - { "Central American Indian (Other)", "cai", NULL, NULL }, - { "Chagatai", "chg", NULL, NULL }, - { "Chamic languages", "cmc", NULL, NULL }, - { "Chamorro", "cha", "ch", NULL }, - { "Chechen", "che", "ce", NULL }, - { "Cherokee", "chr", NULL, NULL }, - { "Chewa; Chichewa; Nyanja", "nya", "ny", NULL }, - { "Cheyenne", "chy", NULL, NULL }, - { "Chibcha", "chb", NULL, NULL }, - { "Chichewa; Chewa; Nyanja", "nya", "ny", NULL }, - { "Chinese", "chi", "zh", "zho" }, - { "Chinook jargon", "chn", NULL, NULL }, - { "Chipewyan", "chp", NULL, NULL }, - { "Choctaw", "cho", NULL, NULL }, - { "Chuang; Zhuang", "zha", "za", NULL }, - { "Church Slavic; Old Church Slavonic", "chu", "cu", NULL }, - { "Church Slavic; Old Church Slavonic", "chu", "cu", NULL }, - { "Church Slavonic; Old Bulgarian; Church Slavic", "chu", "cu", NULL }, - { "Chuukese", "chk", NULL, NULL }, - { "Chuvash", "chv", "cv", NULL }, - { "Classical Newari; Classical Nepal Bhasa", "nwc", NULL, NULL }, - { "Classical Syriac", "syc", NULL, NULL }, - { "Coptic", "cop", NULL, NULL }, - { "Cornish", "cor", "kw", NULL }, - { "Corsican", "cos", "co", NULL }, - { "Cree", "cre", "cr", NULL }, - { "Creek", "mus", NULL, NULL }, - { "Creoles and pidgins (Other)", "crp", NULL, NULL }, - { "Creoles and pidgins", "cpe", NULL, NULL }, - { "Creoles and pidgins", "cpf", NULL, NULL }, - { "Creoles and pidgins", "cpp", NULL, NULL }, - { "Crimean Tatar; Crimean Turkish", "crh", NULL, NULL }, - { "Croatian; hrvatski", "hrv", "hr", NULL }, - { "Cushitic (Other)", "cus", NULL, NULL }, - { "Czech", "cze", "cs", "ces" }, - { "Dakota", "dak", NULL, NULL }, - { "Danish", "dan", "da", NULL }, - { "Dargwa", "dar", NULL, NULL }, - { "Dayak", "day", NULL, NULL }, - { "Delaware", "del", NULL, NULL }, - { "Dinka", "din", NULL, NULL }, - { "Divehi", "div", "dv", NULL }, - { "Dogri", "doi", NULL, NULL }, - { "Dogrib", "dgr", NULL, NULL }, - { "Dravidian (Other)", "dra", NULL, NULL }, - { "Duala", "dua", NULL, NULL }, - { "Dutch, Middle (ca. 1050-1350)", "dum", NULL, NULL }, - { "Dutch; Flemish", "dut", "nl", "nld" }, - { "Dyula", "dyu", NULL, NULL }, - { "Dzongkha", "dzo", "dz", NULL }, - { "Eastern Frisian", "frs", NULL, NULL }, - { "Efik", "efi", NULL, NULL }, - { "Egyptian (Ancient)", "egy", NULL, NULL }, - { "Ekajuk", "eka", NULL, NULL }, - { "Elamite", "elx", NULL, NULL }, - { "English", "eng", "en", NULL }, - { "English, Middle (1100-1500)", "enm", NULL, NULL }, - { "English, Old (ca.450-1100)", "ang", NULL, NULL }, - { "Erzya", "myv", NULL, NULL }, - { "Esperanto", "epo", "eo", NULL }, - { "Estonian", "est", "et", NULL }, - { "Ewe", "ewe", "ee", NULL }, - { "Ewondo", "ewo", NULL, NULL }, - { "Fang", "fan", NULL, NULL }, - { "Fanti", "fat", NULL, NULL }, - { "Faroese", "fao", "fo", NULL }, - { "Fijian", "fij", "fj", NULL }, - { "Filipino; Pilipino", "fil", NULL, NULL }, - { "Finnish", "fin", "fi", NULL }, - { "Finno-Ugrian (Other)", "fiu", NULL, NULL }, - { "Fon", "fon", NULL, NULL }, - { "French", "fre", "fr", "fra" }, - { "French, Middle (ca.1400-1600)", "frm", NULL, NULL }, - { "French, Old (842-ca.1400)", "fro", NULL, NULL }, - { "Frisian", "fry", "fy", NULL }, - { "Friulian", "fur", NULL, NULL }, - { "Fulah", "ful", "ff", NULL }, - { "Ga", "gaa", NULL, NULL }, - { "Gaelic; Scottish Gaelic", "gla", "gd", "gdh" }, - { "Gallegan", "glg", "gl", NULL }, - { "Ganda", "lug", "lg", NULL }, - { "Gayo", "gay", NULL, NULL }, - { "Gbaya", "gba", NULL, NULL }, - { "Geez", "gez", NULL, NULL }, - { "Georgian", "geo", "ka", "kat" }, - { "German", "ger", "de", "deu" }, - { "German, Low; Saxon, Low; Low German; Low Saxon", "nds", NULL, NULL }, - { "German, Middle High (ca.1050-1500)", "gmh", NULL, NULL }, - { "German, Old High (ca.750-1050)", "goh", NULL, NULL }, - { "Germanic (Other)", "gem", NULL, NULL }, - { "Gikuyu; Kikuyu", "kik", "ki", NULL }, - { "Gilbertese", "gil", NULL, NULL }, - { "Gondi", "gon", NULL, NULL }, - { "Gorontalo", "gor", NULL, NULL }, - { "Gothic", "got", NULL, NULL }, - { "Grebo", "grb", NULL, NULL }, - { "Greek", "gre", "el", "ell" }, - { "Greek, Ancient (to 1453)", "grc", NULL, NULL }, - { "Greenlandic; Kalaallisut", "kal", "kl", NULL }, - { "Guarani", "grn", "gn", NULL }, - { "Gujarati", "guj", "gu", NULL }, - { "GwichŽin", "gwi", NULL, NULL }, - { "Haida", "hai", NULL, NULL }, - { "Haitian; Haitian Creole", "hat", NULL, NULL }, - { "Hausa", "hau", "ha", NULL }, - { "Hawaiian", "haw", NULL, NULL }, - { "Hebrew", "heb", "he", NULL }, - { "Hebrew", "heb", "iw", NULL }, - { "Herero", "her", "hz", NULL }, - { "Hiligaynon", "hil", NULL, NULL }, - { "Himachali", "him", NULL, NULL }, - { "Hindi", "hin", "hi", NULL }, - { "Hiri Motu", "hmo", "ho", NULL }, - { "Hittite", "hit", NULL, NULL }, - { "Hmong", "hmn", NULL, NULL }, - { "Hungarian", "hun", "hu", NULL }, - { "Hupa", "hup", NULL, NULL }, - { "Iban", "iba", NULL, NULL }, - { "Icelandic", "ice", "is", "isl" }, - { "Ido", "ido", "io", NULL }, - { "Igbo", "ibo", "ig", NULL }, - { "Ijo", "ijo", NULL, NULL }, - { "Iloko", "ilo", NULL, NULL }, - { "Inari Sami", "smn", NULL, NULL }, - { "Indic (Other)", "inc", NULL, NULL }, - { "Indo-European (Other)", "ine", NULL, NULL }, - { "Indonesian", "ind", "id", NULL }, - { "Ingush", "inh", NULL, NULL }, - { "Interlingua (International", "ina", "ia", NULL }, - { "Interlingue", "ile", "ie", NULL }, - { "Inuktitut", "iku", "iu", NULL }, - { "Inupiaq", "ipk", "ik", NULL }, - { "Iranian (Other)", "ira", NULL, NULL }, - { "Irish", "gle", "ga", "iri" }, - { "Irish, Middle (900-1200)", "mga", NULL, NULL }, - { "Irish, Old (to 900)", "sga", NULL, NULL }, - { "Iroquoian languages", "iro", NULL, NULL }, - { "Italian", "ita", "it", NULL }, - { "Japanese", "jpn", "ja", NULL }, - { "Javanese", "jav", "jv", NULL }, - { "Judeo-Arabic", "jrb", NULL, NULL }, - { "Judeo-Persian", "jpr", NULL, NULL }, - { "Kabardian", "kbd", NULL, NULL }, - { "Kabyle", "kab", NULL, NULL }, - { "Kachin", "kac", NULL, NULL }, - { "Kalaallisut; Greenlandic", "kal", "kl", NULL }, - { "Kalmyk; Oirat", "xal", NULL, NULL }, - { "Kamba", "kam", NULL, NULL }, - { "Kannada", "kan", "kn", NULL }, - { "Kanuri", "kau", "kr", NULL }, - { "Kara-Kalpak", "kaa", NULL, NULL }, - { "Karachay-Balkar", "krc", NULL, NULL }, - { "Karelian", "krl", NULL, NULL }, - { "Karen", "kar", NULL, NULL }, - { "Kashmiri", "kas", "ks", NULL }, - { "Kashubian", "csb", NULL, NULL }, - { "Kawi", "kaw", NULL, NULL }, - { "Kazakh", "kaz", "kk", NULL }, - { "Khasi", "kha", NULL, NULL }, - { "Khmer", "khm", "km", NULL }, - { "Khoisan (Other)", "khi", NULL, NULL }, - { "Khotanese", "kho", NULL, NULL }, - { "Kikuyu; Gikuyu", "kik", "ki", NULL }, - { "Kimbundu", "kmb", NULL, NULL }, - { "Kinyarwanda", "kin", "rw", NULL }, - { "Kirghiz", "kir", "ky", NULL }, - { "Klingon; tlhlngan-Hol", "tlh", NULL, NULL }, - { "Komi", "kom", "kv", NULL }, - { "Kongo", "kon", "kg", NULL }, - { "Konkani", "kok", NULL, NULL }, - { "Korean", "kor", "ko", NULL }, - { "Kosraean", "kos", NULL, NULL }, - { "Kpelle", "kpe", NULL, NULL }, - { "Kru", "kro", NULL, NULL }, - { "Kuanyama; Kwanyama", "kua", "kj", NULL }, - { "Kumyk", "kum", NULL, NULL }, - { "Kurdish", "kur", "ku", NULL }, - { "Kurukh", "kru", NULL, NULL }, - { "Kutenai", "kut", NULL, NULL }, - { "Kwanyama, Kuanyama", "kua", "kj", NULL }, - { "Ladino", "lad", NULL, NULL }, - { "Lahnda", "lah", NULL, NULL }, - { "Lamba", "lam", NULL, NULL }, - { "Lao", "lao", "lo", NULL }, - { "Latin", "lat", "la", NULL }, - { "Latvian", "lav", "lv", NULL }, - { "Letzeburgesch; Luxembourgish", "ltz", "lb", NULL }, - { "Lezghian", "lez", NULL, NULL }, - { "Limburgan; Limburger; Limburgish", "lim", "li", NULL }, - { "Limburger; Limburgan; Limburgish", "lim", "li", NULL }, - { "Limburgish; Limburger; Limburgan", "lim", "li", NULL }, - { "Lingala", "lin", "ln", NULL }, - { "Lithuanian", "lit", "lt", NULL }, - { "Lojban", "jbo", NULL, NULL }, - { "Low German; Low Saxon; German, Low; Saxon, Low", "nds", NULL, NULL }, - { "Low Saxon; Low German; Saxon, Low; German, Low", "nds", NULL, NULL }, - { "Lower Sorbian", "dsb", NULL, NULL }, - { "Lozi", "loz", NULL, NULL }, - { "Luba-Katanga", "lub", "lu", NULL }, - { "Luba-Lulua", "lua", NULL, NULL }, - { "Luiseno", "lui", NULL, NULL }, - { "Lule Sami", "smj", NULL, NULL }, - { "Lunda", "lun", NULL, NULL }, - { "Luo (Kenya and Tanzania)", "luo", NULL, NULL }, - { "Lushai", "lus", NULL, NULL }, - { "Luxembourgish; Letzeburgesch", "ltz", "lb", NULL }, - { "Macedonian", "mac", "mk", "mkd" }, - { "Madurese", "mad", NULL, NULL }, - { "Magahi", "mag", NULL, NULL }, - { "Maithili", "mai", NULL, NULL }, - { "Makasar", "mak", NULL, NULL }, - { "Malagasy", "mlg", "mg", NULL }, - { "Malay", "may", "ms", "msa" }, - { "Malayalam", "mal", "ml", NULL }, - { "Maltese", "mlt", "mt", NULL }, - { "Manchu", "mnc", NULL, NULL }, - { "Mandar", "mdr", NULL, NULL }, - { "Mandingo", "man", NULL, NULL }, - { "Manipuri", "mni", NULL, NULL }, - { "Manobo languages", "mno", NULL, NULL }, - { "Manx", "glv", "gv", NULL }, - { "Maori", "mao", "mi", "mri" }, - { "Marathi", "mar", "mr", NULL }, - { "Mari", "chm", NULL, NULL }, - { "Marshallese", "mah", "mh", NULL }, - { "Marwari", "mwr", NULL, NULL }, - { "Masai", "mas", NULL, NULL }, - { "Mayan languages", "myn", NULL, NULL }, - { "Mende", "men", NULL, NULL }, - { "Micmac", "mic", NULL, NULL }, - { "Minangkabau", "min", NULL, NULL }, - { "Mirandese", "mwl", NULL, NULL }, - { "Miscellaneous languages", "mis", NULL, NULL }, - { "Mohawk", "moh", NULL, NULL }, - { "Moksha", "mdf", NULL, NULL }, - { "Moldavian", "mol", "mo", NULL }, - { "Mon-Khmer (Other)", "mkh", NULL, NULL }, - { "Mongo", "lol", NULL, NULL }, - { "Mongolian", "mon", "mn", NULL }, - { "Mossi", "mos", NULL, NULL }, - { "Multiple languages", "mul", NULL, NULL }, - { "Munda languages", "mun", NULL, NULL }, - { "N'Ko", "nqo", NULL, NULL }, - { "Nahuatl", "nah", NULL, NULL }, - { "Nauru", "nau", "na", NULL }, - { "Navaho, Navajo", "nav", "nv", NULL }, - { "Navajo; Navaho", "nav", "nv", NULL }, - { "Ndebele, North", "nde", "nd", NULL }, - { "Ndebele, South", "nbl", "nr", NULL }, - { "Ndonga", "ndo", "ng", NULL }, - { "Neapolitan", "nap", NULL, NULL }, - { "Nepali", "nep", "ne", NULL }, - { "Newari", "new", NULL, NULL }, - { "Nias", "nia", NULL, NULL }, - { "Niger-Kordofanian (Other)", "nic", NULL, NULL }, - { "Nilo-Saharan (Other)", "ssa", NULL, NULL }, - { "Niuean", "niu", NULL, NULL }, - { "Nogai", "nog", NULL, NULL }, - { "Norse, Old", "non", NULL, NULL }, - { "North American Indian (Other)", "nai", NULL, NULL }, - { "North Ndebele", "nde", "nd", NULL }, - { "Northern Frisian", "frr", NULL, NULL }, - { "Northern Sami", "sme", "se", NULL }, - { "Norwegian Bokmål; Bokmål, Norwegian", "nob", "nb", NULL }, - { "Norwegian Nynorsk; Nynorsk, Norwegian", "nno", "nn", NULL }, - { "Norwegian", "nor", "no", NULL }, - { "Nubian languages", "nub", NULL, NULL }, - { "Nyamwezi", "nym", NULL, NULL }, - { "Nyanja; Chichewa; Chewa", "nya", "ny", NULL }, - { "Nyankole", "nyn", NULL, NULL }, - { "Nynorsk, Norwegian; Norwegian Nynorsk", "nno", "nn", NULL }, - { "Nyoro", "nyo", NULL, NULL }, - { "Nzima", "nzi", NULL, NULL }, - { "Occitan (post 1500)", "oci", "oc", NULL }, - { "Ojibwa", "oji", "oj", NULL }, - { "Old Bulgarian; Old Slavonic; Church Slavonic", "chu", "cu", NULL }, - { "Old Church Slavonic; Old Slavonic", "chu", "cu", NULL }, - { "Old Slavonic; Church Slavonic; Old Bulgarian", "chu", "cu", NULL }, - { "Oriya", "ori", "or", NULL }, - { "Oromo", "orm", "om", NULL }, - { "Osage", "osa", NULL, NULL }, - { "Ossetian; Ossetic", "oss", "os", NULL }, - { "Ossetic; Ossetian", "oss", "os", NULL }, - { "Otomian languages", "oto", NULL, NULL }, - { "Pahlavi", "pal", NULL, NULL }, - { "Palauan", "pau", NULL, NULL }, - { "Pali", "pli", "pi", NULL }, - { "Pampanga", "pam", NULL, NULL }, - { "Pangasinan", "pag", NULL, NULL }, - { "Panjabi", "pan", "pa", NULL }, - { "Papiamento", "pap", NULL, NULL }, - { "Papuan (Other)", "paa", NULL, NULL }, - { "Persian", "per", "fa", "fas" }, - { "Persian, Old (ca.600-400 B.C.)", "peo", NULL, NULL }, - { "Philippine (Other)", "phi", NULL, NULL }, - { "Phoenician", "phn", NULL, NULL }, - { "Pohnpeian", "pon", NULL, NULL }, - { "Polish", "pol", "pl", NULL }, - { "Portuguese", "por", "pt", NULL }, - { "Prakrit languages", "pra", NULL, NULL }, - { "Provençal, Old (to 1500)", "pro", NULL, NULL }, - { "Provençal; Occitan (post 1500)", "oci", "oc", NULL }, - { "Pushto", "pus", "ps", NULL }, - { "Quechua", "que", "qu", NULL }, - { "Raeto-Romance", "roh", "rm", NULL }, - { "Rajasthani", "raj", NULL, NULL }, - { "Rapanui", "rap", NULL, NULL }, - { "Rarotongan", "rar", NULL, NULL }, - { "Romance (Other)", "roa", NULL, NULL }, - { "Romanian", "rum", "ro", "ron" }, - { "Romany", "rom", NULL, NULL }, - { "Rundi", "run", "rn", NULL }, - { "Russian", "rus", "ru", NULL }, - { "Salishan languages", "sal", NULL, NULL }, - { "Samaritan Aramaic", "sam", NULL, NULL }, - { "Sami languages (Other)", "smi", NULL, NULL }, - { "Samoan", "smo", "sm", NULL }, - { "Sandawe", "sad", NULL, NULL }, - { "Sango", "sag", "sg", NULL }, - { "Sanskrit", "san", "sa", NULL }, - { "Santali", "sat", NULL, NULL }, - { "Sardinian", "srd", "sc", NULL }, - { "Sasak", "sas", NULL, NULL }, - { "Saxon, Low; German, Low; Low Saxon; Low German", "nds", NULL, NULL }, - { "Scots", "sco", NULL, NULL }, - { "Scottish Gaelic; Gaelic", "gla", "gd", NULL }, - { "Selkup", "sel", NULL, NULL }, - { "Semitic (Other)", "sem", NULL, NULL }, - { "Serbian", "srp", "sr", NULL }, - { "Serer", "srr", NULL, NULL }, - { "Shan", "shn", NULL, NULL }, - { "Shona", "sna", "sn", NULL }, - { "Sichuan Yi", "iii", "ii", NULL }, - { "Sicilian", "scn", NULL, NULL }, - { "Sidamo", "sid", NULL, NULL }, - { "Sign languages", "sgn", NULL, NULL }, - { "Siksika", "bla", NULL, NULL }, - { "Sindhi", "snd", "sd", NULL }, - { "Sinhalese", "sin", "si", NULL }, - { "Sino-Tibetan (Other)", "sit", NULL, NULL }, - { "Siouan languages", "sio", NULL, NULL }, - { "Skolt Sami", "sms", NULL, NULL }, - { "Slave (Athapascan)", "den", NULL, NULL }, - { "Slavic (Other)", "sla", NULL, NULL }, - { "Slovak", "slo", "sk", "slk" }, - { "Slovenian", "slv", "sl", NULL }, - { "Sogdian", "sog", NULL, NULL }, - { "Somali", "som", "so", NULL }, - { "Songhai", "son", NULL, NULL }, - { "Soninke", "snk", NULL, NULL }, - { "Sorbian languages", "wen", NULL, NULL }, - { "Sotho, Northern", "nso", NULL, NULL }, - { "Sotho, Southern", "sot", "st", NULL }, - { "South American Indian (Other)", "sai", NULL, NULL }, - { "South Ndebele", "nbl", "nr", NULL }, - { "Southern Altai", "alt", NULL, NULL }, - { "Southern Sami", "sma", NULL, NULL }, - { "Spanish", "spa", "es", NULL }, - { "Sranan Tongo", "srn", NULL, NULL }, - { "Sukuma", "suk", NULL, NULL }, - { "Sumerian", "sux", NULL, NULL }, - { "Sundanese", "sun", "su", NULL }, - { "Susu", "sus", NULL, NULL }, - { "Swahili", "swa", "sw", NULL }, - { "Swati", "ssw", "ss", NULL }, - { "Swedish", "swe", "sv", NULL }, - { "Swiss German; Alemannic; Alsatian", "gsw", NULL, NULL }, - { "Syriac", "syr", NULL, NULL }, - { "Tagalog", "tgl", "tl", NULL }, - { "Tahitian", "tah", "ty", NULL }, - { "Tai (Other)", "tai", NULL, NULL }, - { "Tajik", "tgk", "tg", NULL }, - { "Tamashek", "tmh", NULL, NULL }, - { "Tamil", "tam", "ta", NULL }, - { "Tatar", "tat", "tt", NULL }, - { "Telugu", "tel", "te", NULL }, - { "Tereno", "ter", NULL, NULL }, - { "Tetum", "tet", NULL, NULL }, - { "Thai", "tha", "th", NULL }, - { "Tibetan", "tib", "bo", "bod" }, - { "Tigre", "tig", NULL, NULL }, - { "Tigrinya", "tir", "ti", NULL }, - { "Timne", "tem", NULL, NULL }, - { "Tiv", "tiv", NULL, NULL }, - { "Tlingit", "tli", NULL, NULL }, - { "Tok Pisin", "tpi", NULL, NULL }, - { "Tokelau", "tkl", NULL, NULL }, - { "Tonga (Nyasa)", "tog", NULL, NULL }, - { "Tonga (Tonga Islands)", "ton", "to", NULL }, - { "Tsimshian", "tsi", NULL, NULL }, - { "Tsonga", "tso", "ts", NULL }, - { "Tswana", "tsn", "tn", NULL }, - { "Tumbuka", "tum", NULL, NULL }, - { "Tupi languages", "tup", NULL, NULL }, - { "Turkish", "tur", "tr", NULL }, - { "Turkish, Ottoman (1500-1928)", "ota", NULL, NULL }, - { "Turkmen", "tuk", "tk", NULL }, - { "Tuvalu", "tvl", NULL, NULL }, - { "Tuvinian", "tyv", NULL, NULL }, - { "Twi", "twi", "tw", NULL }, - { "Udmurt", "udm", NULL, NULL }, - { "Ugaritic", "uga", NULL, NULL }, - { "Uighur", "uig", "ug", NULL }, - { "Ukrainian", "ukr", "uk", NULL }, - { "Umbundu", "umb", NULL, NULL }, - { "Undetermined", "und", NULL, NULL }, - { "Upper Sorbian", "hsb", NULL, NULL }, - { "Urdu", "urd", "ur", NULL }, - { "Uzbek", "uzb", "uz", NULL }, - { "Vai", "vai", NULL, NULL }, - { "Venda", "ven", "ve", NULL }, - { "Vietnamese", "vie", "vi", NULL }, - { "Volapük", "vol", "vo", NULL }, - { "Votic", "vot", NULL, NULL }, - { "Wakashan languages", "wak", NULL, NULL }, - { "Walamo", "wal", NULL, NULL }, - { "Walloon", "wln", "wa", NULL }, - { "Waray", "war", NULL, NULL }, - { "Washo", "was", NULL, NULL }, - { "Welsh", "wel", "cy", "cym" }, - { "Wolof", "wol", "wo", NULL }, - { "Xhosa", "xho", "xh", NULL }, - { "Yakut", "sah", NULL, NULL }, - { "Yao", "yao", NULL, NULL }, - { "Yapese", "yap", NULL, NULL }, - { "Yiddish", "yid", "yi", NULL }, - { "Yoruba", "yor", "yo", NULL }, - { "Yupik languages", "ypk", NULL, NULL }, - { "Zande", "znd", NULL, NULL }, - { "Zapotec", "zap", NULL, NULL }, - { "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki", "zza", NULL, NULL }, - { "Zenaga", "zen", NULL, NULL }, - { "Zhuang; Chuang", "zha", "za", NULL }, - { "Zulu", "zul", "zu", NULL }, - { "Zuni", "zun", NULL, NULL }, - { NULL, NULL, NULL, NULL }, + { "Abkhazian", "abk", "ab", NULL }, + { "Achinese", "ace", NULL, NULL }, + { "Acoli", "ach", NULL, NULL }, + { "Adangme", "ada", NULL, NULL }, + { "Adyghe; Adygei", "ady", NULL, NULL }, + { "Afar", "aar", "aa", NULL }, + { "Afrihili", "afh", NULL, NULL }, + { "Afrikaans", "afr", "af", NULL }, + { "Afro-Asiatic languages", "afa", NULL, NULL }, + { "Ainu", "ain", NULL, NULL }, + { "Akan", "aka", "ak", NULL }, + { "Akkadian", "akk", NULL, NULL }, + { "Albanian", "alb", "sq", "sqi" }, + { "Aleut", "ale", NULL, NULL }, + { "Algonquian languages", "alg", NULL, NULL }, + { "Altaic languages", "tut", NULL, NULL }, + { "Amharic", "amh", "am", NULL }, + { "Angika", "anp", NULL, NULL }, + { "Apache languages", "apa", NULL, NULL }, + { "Arabic", "ara", "ar", NULL }, + { "Aragonese", "arg", "an", NULL }, + { "Arapaho", "arp", NULL, NULL }, + { "Arawak", "arw", NULL, NULL }, + { "Armenian", "arm", "hy", "hye" }, + { "Aromanian; Arumanian; Macedo-Romanian", "rup", NULL, NULL }, + { "Artificial languages", "art", NULL, NULL }, + { "Assamese", "asm", "as", NULL }, + { "Asturian; Bable; Leonese; Asturleonese", "ast", NULL, NULL }, + { "Athapascan languages", "ath", NULL, NULL }, + { "Australian languages", "aus", NULL, NULL }, + { "Austronesian languages", "map", NULL, NULL }, + { "Avaric", "ava", "av", NULL }, + { "Avestan", "ave", "ae", NULL }, + { "Awadhi", "awa", NULL, NULL }, + { "Aymara", "aym", "ay", NULL }, + { "Azerbaijani", "aze", "az", NULL }, + { "Balinese", "ban", NULL, NULL }, + { "Baltic languages", "bat", NULL, NULL }, + { "Baluchi", "bal", NULL, NULL }, + { "Bambara", "bam", "bm", NULL }, + { "Bamileke languages", "bai", NULL, NULL }, + { "Banda languages", "bad", NULL, NULL }, + { "Bantu (Other)", "bnt", NULL, NULL }, + { "Basa", "bas", NULL, NULL }, + { "Bashkir", "bak", "ba", NULL }, + { "Basque", "baq", "eu", "eus" }, + { "Batak languages", "btk", NULL, NULL }, + { "Beja; Bedawiyet", "bej", NULL, NULL }, + { "Belarusian", "bel", "be", NULL }, + { "Bemba", "bem", NULL, NULL }, + { "Bengali", "ben", "bn", NULL }, + { "Berber languages", "ber", NULL, NULL }, + { "Bhojpuri", "bho", NULL, NULL }, + { "Bihari languages", "bih", "bh", NULL }, + { "Bikol", "bik", NULL, NULL }, + { "Bini; Edo", "bin", NULL, NULL }, + { "Bislama", "bis", "bi", NULL }, + { "Blin; Bilin", "byn", NULL, NULL }, + { "Blissymbols; Blissymbolics; Bliss", "zbl", NULL, NULL }, + { "Bokmål, Norwegian; Norwegian Bokmål", "nob", "nb", NULL }, + { "Bosnian", "bos", "bs", NULL }, + { "Braj", "bra", NULL, NULL }, + { "Breton", "bre", "br", NULL }, + { "Buginese", "bug", NULL, NULL }, + { "Bulgarian", "bul", "bg", NULL }, + { "Buriat", "bua", NULL, NULL }, + { "Burmese", "bur", "my", "mya" }, + { "Caddo", "cad", NULL, NULL }, + { "Castilian", "spa", "es", NULL }, + { "Catalan; Valencian", "cat", "ca", NULL }, + { "Caucasian languages", "cau", NULL, NULL }, + { "Cebuano", "ceb", NULL, NULL }, + { "Celtic languages", "cel", NULL, NULL }, + { "Central American Indian languages", "cai", NULL, NULL }, + { "Central Khmer", "khm", "km", NULL }, + { "Chagatai", "chg", NULL, NULL }, + { "Chamic languages", "cmc", NULL, NULL }, + { "Chamorro", "cha", "ch", NULL }, + { "Chechen", "che", "ce", NULL }, + { "Cherokee", "chr", NULL, NULL }, + { "Cheyenne", "chy", NULL, NULL }, + { "Chibcha", "chb", NULL, NULL }, + { "Chichewa; Chewa; Nyanja", "nya", "ny", NULL }, + { "Chinese", "chi", "zh", "zho" }, + { "Chinook jargon", "chn", NULL, NULL }, + { "Chipewyan; Dene Suline", "chp", NULL, NULL }, + { "Choctaw", "cho", NULL, NULL }, + { "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic", "chu", "cu", NULL }, + { "Chuukese", "chk", NULL, NULL }, + { "Chuvash", "chv", "cv", NULL }, + { "Classical Newari; Old Newari; Classical Nepal Bhasa", "nwc", NULL, NULL }, + { "Classical Syriac", "syc", NULL, NULL }, + { "Coptic", "cop", NULL, NULL }, + { "Cornish", "cor", "kw", NULL }, + { "Corsican", "cos", "co", NULL }, + { "Cree", "cre", "cr", NULL }, + { "Creek", "mus", NULL, NULL }, + { "Creoles and pidgins", "crp", NULL, NULL }, + { "Creoles and pidgins, English based", "cpe", NULL, NULL }, + { "Creoles and pidgins, French-based", "cpf", NULL, NULL }, + { "Creoles and pidgins, Portuguese-based", "cpp", NULL, NULL }, + { "Crimean Tatar; Crimean Turkish", "crh", NULL, NULL }, + { "Croatian", "hrv", "hr", NULL }, + { "Cushitic languages", "cus", NULL, NULL }, + { "Czech", "cze", "cs", "ces" }, + { "Dakota", "dak", NULL, NULL }, + { "Danish", "dan", "da", NULL }, + { "Dargwa", "dar", NULL, NULL }, + { "Delaware", "del", NULL, NULL }, + { "Dinka", "din", NULL, NULL }, + { "Divehi; Dhivehi; Maldivian", "div", "dv", NULL }, + { "Dogri", "doi", NULL, NULL }, + { "Dogrib", "dgr", NULL, NULL }, + { "Dravidian languages", "dra", NULL, NULL }, + { "Duala", "dua", NULL, NULL }, + { "Dutch, Middle (ca.1050-1350)", "dum", NULL, NULL }, + { "Dutch; Flemish", "dut", "nl", "nld" }, + { "Dyula", "dyu", NULL, NULL }, + { "Dzongkha", "dzo", "dz", NULL }, + { "Eastern Frisian", "frs", NULL, NULL }, + { "Efik", "efi", NULL, NULL }, + { "Egyptian (Ancient)", "egy", NULL, NULL }, + { "Ekajuk", "eka", NULL, NULL }, + { "Elamite", "elx", NULL, NULL }, + { "English", "eng", "en", NULL }, + { "English, Middle (1100-1500)", "enm", NULL, NULL }, + { "English, Old (ca.450-1100)", "ang", NULL, NULL }, + { "Erzya", "myv", NULL, NULL }, + { "Esperanto", "epo", "eo", NULL }, + { "Estonian", "est", "et", NULL }, + { "Ewe", "ewe", "ee", NULL }, + { "Ewondo", "ewo", NULL, NULL }, + { "Fang", "fan", NULL, NULL }, + { "Fanti", "fat", NULL, NULL }, + { "Faroese", "fao", "fo", NULL }, + { "Fijian", "fij", "fj", NULL }, + { "Filipino; Pilipino", "fil", NULL, NULL }, + { "Finnish", "fin", "fi", NULL }, + { "Finno-Ugrian languages", "fiu", NULL, NULL }, + { "Fon", "fon", NULL, NULL }, + { "French", "fre", "fr", "fra" }, + { "French, Middle (ca.1400-1600)", "frm", NULL, NULL }, + { "French, Old (842-ca.1400)", "fro", NULL, NULL }, + { "Friulian", "fur", NULL, NULL }, + { "Fulah", "ful", "ff", NULL }, + { "Ga", "gaa", NULL, NULL }, + { "Gaelic; Scottish Gaelic", "gla", "gd", NULL }, + { "Galibi Carib", "car", NULL, NULL }, + { "Galician", "glg", "gl", NULL }, + { "Ganda", "lug", "lg", NULL }, + { "Gayo", "gay", NULL, NULL }, + { "Gbaya", "gba", NULL, NULL }, + { "Geez", "gez", NULL, NULL }, + { "Georgian", "geo", "ka", "kat" }, + { "German", "ger", "de", "deu" }, + { "German, Middle High (ca.1050-1500)", "gmh", NULL, NULL }, + { "German, Old High (ca.750-1050)", "goh", NULL, NULL }, + { "Germanic languages", "gem", NULL, NULL }, + { "Gilbertese", "gil", NULL, NULL }, + { "Gondi", "gon", NULL, NULL }, + { "Gorontalo", "gor", NULL, NULL }, + { "Gothic", "got", NULL, NULL }, + { "Grebo", "grb", NULL, NULL }, + { "Greek, Ancient (to 1453)", "grc", NULL, NULL }, + { "Greek, Modern (1453-)", "gre", "el", "ell" }, + { "Guarani", "grn", "gn", NULL }, + { "Gujarati", "guj", "gu", NULL }, + { "Gwich'in", "gwi", NULL, NULL }, + { "Haida", "hai", NULL, NULL }, + { "Haitian; Haitian Creole", "hat", "ht", NULL }, + { "Hausa", "hau", "ha", NULL }, + { "Hawaiian", "haw", NULL, NULL }, + { "Hebrew", "heb", "he", NULL }, + { "Herero", "her", "hz", NULL }, + { "Hiligaynon", "hil", NULL, NULL }, + { "Himachali languages; Western Pahari languages", "him", NULL, NULL }, + { "Hindi", "hin", "hi", NULL }, + { "Hiri Motu", "hmo", "ho", NULL }, + { "Hittite", "hit", NULL, NULL }, + { "Hmong; Mong", "hmn", NULL, NULL }, + { "Hungarian", "hun", "hu", NULL }, + { "Hupa", "hup", NULL, NULL }, + { "Iban", "iba", NULL, NULL }, + { "Icelandic", "ice", "is", "isl" }, + { "Ido", "ido", "io", NULL }, + { "Igbo", "ibo", "ig", NULL }, + { "Ijo languages", "ijo", NULL, NULL }, + { "Iloko", "ilo", NULL, NULL }, + { "Inari Sami", "smn", NULL, NULL }, + { "Indic languages", "inc", NULL, NULL }, + { "Indo-European languages", "ine", NULL, NULL }, + { "Indonesian", "ind", "id", NULL }, + { "Ingush", "inh", NULL, NULL }, + { "Interlingua (International Auxiliary Language Association)", "ina", "ia", NULL }, + { "Interlingue; Occidental", "ile", "ie", NULL }, + { "Inuktitut", "iku", "iu", NULL }, + { "Inupiaq", "ipk", "ik", NULL }, + { "Iranian languages", "ira", NULL, NULL }, + { "Irish", "gle", "ga", NULL }, + { "Irish, Middle (900-1200)", "mga", NULL, NULL }, + { "Irish, Old (to 900)", "sga", NULL, NULL }, + { "Iroquoian languages", "iro", NULL, NULL }, + { "Italian", "ita", "it", NULL }, + { "Japanese", "jpn", "ja", NULL }, + { "Javanese", "jav", "jv", NULL }, + { "Judeo-Arabic", "jrb", NULL, NULL }, + { "Judeo-Persian", "jpr", NULL, NULL }, + { "Kabardian", "kbd", NULL, NULL }, + { "Kabyle", "kab", NULL, NULL }, + { "Kachin; Jingpho", "kac", NULL, NULL }, + { "Kalaallisut; Greenlandic", "kal", "kl", NULL }, + { "Kalmyk; Oirat", "xal", NULL, NULL }, + { "Kamba", "kam", NULL, NULL }, + { "Kannada", "kan", "kn", NULL }, + { "Kanuri", "kau", "kr", NULL }, + { "Kara-Kalpak", "kaa", NULL, NULL }, + { "Karachay-Balkar", "krc", NULL, NULL }, + { "Karelian", "krl", NULL, NULL }, + { "Karen languages", "kar", NULL, NULL }, + { "Kashmiri", "kas", "ks", NULL }, + { "Kashubian", "csb", NULL, NULL }, + { "Kawi", "kaw", NULL, NULL }, + { "Kazakh", "kaz", "kk", NULL }, + { "Khasi", "kha", NULL, NULL }, + { "Khoisan languages", "khi", NULL, NULL }, + { "Khotanese; Sakan", "kho", NULL, NULL }, + { "Kikuyu; Gikuyu", "kik", "ki", NULL }, + { "Kimbundu", "kmb", NULL, NULL }, + { "Kinyarwanda", "kin", "rw", NULL }, + { "Kirghiz; Kyrgyz", "kir", "ky", NULL }, + { "Klingon; tlhIngan-Hol", "tlh", NULL, NULL }, + { "Komi", "kom", "kv", NULL }, + { "Kongo", "kon", "kg", NULL }, + { "Konkani", "kok", NULL, NULL }, + { "Korean", "kor", "ko", NULL }, + { "Kosraean", "kos", NULL, NULL }, + { "Kpelle", "kpe", NULL, NULL }, + { "Kru languages", "kro", NULL, NULL }, + { "Kuanyama; Kwanyama", "kua", "kj", NULL }, + { "Kumyk", "kum", NULL, NULL }, + { "Kurdish", "kur", "ku", NULL }, + { "Kurukh", "kru", NULL, NULL }, + { "Kutenai", "kut", NULL, NULL }, + { "Ladino", "lad", NULL, NULL }, + { "Lahnda", "lah", NULL, NULL }, + { "Lamba", "lam", NULL, NULL }, + { "Land Dayak languages", "day", NULL, NULL }, + { "Lao", "lao", "lo", NULL }, + { "Latin", "lat", "la", NULL }, + { "Latvian", "lav", "lv", NULL }, + { "Lezghian", "lez", NULL, NULL }, + { "Limburgan; Limburger; Limburgish", "lim", "li", NULL }, + { "Lingala", "lin", "ln", NULL }, + { "Lithuanian", "lit", "lt", NULL }, + { "Lojban", "jbo", NULL, NULL }, + { "Low German; Low Saxon; German, Low; Saxon, Low", "nds", NULL, NULL }, + { "Lower Sorbian", "dsb", NULL, NULL }, + { "Lozi", "loz", NULL, NULL }, + { "Luba-Katanga", "lub", "lu", NULL }, + { "Luba-Lulua", "lua", NULL, NULL }, + { "Luiseno", "lui", NULL, NULL }, + { "Lule Sami", "smj", NULL, NULL }, + { "Lunda", "lun", NULL, NULL }, + { "Luo (Kenya and Tanzania)", "luo", NULL, NULL }, + { "Lushai", "lus", NULL, NULL }, + { "Luxembourgish; Letzeburgesch", "ltz", "lb", NULL }, + { "Macedonian", "mac", "mk", "mkd" }, + { "Madurese", "mad", NULL, NULL }, + { "Magahi", "mag", NULL, NULL }, + { "Maithili", "mai", NULL, NULL }, + { "Makasar", "mak", NULL, NULL }, + { "Malagasy", "mlg", "mg", NULL }, + { "Malay", "may", "ms", "msa" }, + { "Malayalam", "mal", "ml", NULL }, + { "Maltese", "mlt", "mt", NULL }, + { "Manchu", "mnc", NULL, NULL }, + { "Mandar", "mdr", NULL, NULL }, + { "Mandingo", "man", NULL, NULL }, + { "Manipuri", "mni", NULL, NULL }, + { "Manobo languages", "mno", NULL, NULL }, + { "Manx", "glv", "gv", NULL }, + { "Maori", "mao", "mi", "mri" }, + { "Mapudungun; Mapuche", "arn", NULL, NULL }, + { "Marathi", "mar", "mr", NULL }, + { "Mari", "chm", NULL, NULL }, + { "Marshallese", "mah", "mh", NULL }, + { "Marwari", "mwr", NULL, NULL }, + { "Masai", "mas", NULL, NULL }, + { "Mayan languages", "myn", NULL, NULL }, + { "Mende", "men", NULL, NULL }, + { "Mi'kmaq; Micmac", "mic", NULL, NULL }, + { "Minangkabau", "min", NULL, NULL }, + { "Mirandese", "mwl", NULL, NULL }, + { "Mohawk", "moh", NULL, NULL }, + { "Moksha", "mdf", NULL, NULL }, + { "Mon-Khmer languages", "mkh", NULL, NULL }, + { "Mongo", "lol", NULL, NULL }, + { "Mongolian", "mon", "mn", NULL }, + { "Mossi", "mos", NULL, NULL }, + { "Multiple languages", "mul", NULL, NULL }, + { "Munda languages", "mun", NULL, NULL }, + { "N'Ko", "nqo", NULL, NULL }, + { "Nahuatl languages", "nah", NULL, NULL }, + { "Nauru", "nau", "na", NULL }, + { "Navajo; Navaho", "nav", "nv", NULL }, + { "Ndebele, North; North Ndebele", "nde", "nd", NULL }, + { "Ndebele, South; South Ndebele", "nbl", "nr", NULL }, + { "Ndonga", "ndo", "ng", NULL }, + { "Neapolitan", "nap", NULL, NULL }, + { "Nepal Bhasa; Newari", "new", NULL, NULL }, + { "Nepali", "nep", "ne", NULL }, + { "Nias", "nia", NULL, NULL }, + { "Niger-Kordofanian languages", "nic", NULL, NULL }, + { "Nilo-Saharan languages", "ssa", NULL, NULL }, + { "Niuean", "niu", NULL, NULL }, + { "No linguistic content; Not applicable", "zxx", NULL, NULL }, + { "Nogai", "nog", NULL, NULL }, + { "Norse, Old", "non", NULL, NULL }, + { "North American Indian languages", "nai", NULL, NULL }, + { "Northern Frisian", "frr", NULL, NULL }, + { "Northern Sami", "sme", "se", NULL }, + { "Norwegian Nynorsk; Nynorsk, Norwegian", "nno", "nn", NULL }, + { "Norwegian", "nor", "no", NULL }, + { "Nubian languages", "nub", NULL, NULL }, + { "Nyamwezi", "nym", NULL, NULL }, + { "Nyankole", "nyn", NULL, NULL }, + { "Nyoro", "nyo", NULL, NULL }, + { "Nzima", "nzi", NULL, NULL }, + { "Occitan (post 1500)", "oci", "oc", NULL }, + { "Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)", "arc", NULL, NULL }, + { "Ojibwa", "oji", "oj", NULL }, + { "Oriya", "ori", "or", NULL }, + { "Oromo", "orm", "om", NULL }, + { "Osage", "osa", NULL, NULL }, + { "Ossetian; Ossetic", "oss", "os", NULL }, + { "Otomian languages", "oto", NULL, NULL }, + { "Pahlavi", "pal", NULL, NULL }, + { "Palauan", "pau", NULL, NULL }, + { "Pali", "pli", "pi", NULL }, + { "Pampanga; Kapampangan", "pam", NULL, NULL }, + { "Pangasinan", "pag", NULL, NULL }, + { "Panjabi; Punjabi", "pan", "pa", NULL }, + { "Papiamento", "pap", NULL, NULL }, + { "Papuan languages", "paa", NULL, NULL }, + { "Pedi; Sepedi; Northern Sotho", "nso", NULL, NULL }, + { "Persian", "per", "fa", "fas" }, + { "Persian, Old (ca.600-400 B.C.)", "peo", NULL, NULL }, + { "Philippine languages", "phi", NULL, NULL }, + { "Phoenician", "phn", NULL, NULL }, + { "Pohnpeian", "pon", NULL, NULL }, + { "Polish", "pol", "pl", NULL }, + { "Portuguese", "por", "pt", NULL }, + { "Prakrit languages", "pra", NULL, NULL }, + { "Provençal, Old (to 1500);Occitan, Old (to 1500)", "pro", NULL, NULL }, + { "Pushto; Pashto", "pus", "ps", NULL }, + { "Quechua", "que", "qu", NULL }, + { "Rajasthani", "raj", NULL, NULL }, + { "Rapanui", "rap", NULL, NULL }, + { "Rarotongan; Cook Islands Maori", "rar", NULL, NULL }, + { "Romance languages", "roa", NULL, NULL }, + { "Romanian; Moldavian; Moldovan", "rum", "ro", "ron" }, + { "Romansh", "roh", "rm", NULL }, + { "Romany", "rom", NULL, NULL }, + { "Rundi", "run", "rn", NULL }, + { "Russian", "rus", "ru", NULL }, + { "Salishan languages", "sal", NULL, NULL }, + { "Samaritan Aramaic", "sam", NULL, NULL }, + { "Sami languages", "smi", NULL, NULL }, + { "Samoan", "smo", "sm", NULL }, + { "Sandawe", "sad", NULL, NULL }, + { "Sango", "sag", "sg", NULL }, + { "Sanskrit", "san", "sa", NULL }, + { "Santali", "sat", NULL, NULL }, + { "Sardinian", "srd", "sc", NULL }, + { "Sasak", "sas", NULL, NULL }, + { "Scots", "sco", NULL, NULL }, + { "Selkup", "sel", NULL, NULL }, + { "Semitic languages", "sem", NULL, NULL }, + { "Serbian", "srp", "sr", NULL }, + { "Serer", "srr", NULL, NULL }, + { "Shan", "shn", NULL, NULL }, + { "Shona", "sna", "sn", NULL }, + { "Sichuan Yi; Nuosu", "iii", "ii", NULL }, + { "Sicilian", "scn", NULL, NULL }, + { "Sidamo", "sid", NULL, NULL }, + { "Sign Languages", "sgn", NULL, NULL }, + { "Siksika", "bla", NULL, NULL }, + { "Sindhi", "snd", "sd", NULL }, + { "Sinhala; Sinhalese", "sin", "si", NULL }, + { "Sino-Tibetan languages", "sit", NULL, NULL }, + { "Siouan languages", "sio", NULL, NULL }, + { "Skolt Sami", "sms", NULL, NULL }, + { "Slave (Athapascan)", "den", NULL, NULL }, + { "Slavic languages", "sla", NULL, NULL }, + { "Slovak", "slo", "sk", "slk" }, + { "Slovenian", "slv", "sl", NULL }, + { "Sogdian", "sog", NULL, NULL }, + { "Somali", "som", "so", NULL }, + { "Songhai languages", "son", NULL, NULL }, + { "Soninke", "snk", NULL, NULL }, + { "Sorbian languages", "wen", NULL, NULL }, + { "Sotho, Southern", "sot", "st", NULL }, + { "South American Indian (Other)", "sai", NULL, NULL }, + { "Southern Altai", "alt", NULL, NULL }, + { "Southern Sami", "sma", NULL, NULL }, + { "Spanish", "spa", "es", NULL }, + { "Sranan Tongo", "srn", NULL, NULL }, + { "Sukuma", "suk", NULL, NULL }, + { "Sumerian", "sux", NULL, NULL }, + { "Sundanese", "sun", "su", NULL }, + { "Susu", "sus", NULL, NULL }, + { "Swahili", "swa", "sw", NULL }, + { "Swati", "ssw", "ss", NULL }, + { "Swedish", "swe", "sv", NULL }, + { "Swiss German; Alemannic; Alsatian", "gsw", NULL, NULL }, + { "Syriac", "syr", NULL, NULL }, + { "Tagalog", "tgl", "tl", NULL }, + { "Tahitian", "tah", "ty", NULL }, + { "Tai languages", "tai", NULL, NULL }, + { "Tajik", "tgk", "tg", NULL }, + { "Tamashek", "tmh", NULL, NULL }, + { "Tamil", "tam", "ta", NULL }, + { "Tatar", "tat", "tt", NULL }, + { "Telugu", "tel", "te", NULL }, + { "Tereno", "ter", NULL, NULL }, + { "Tetum", "tet", NULL, NULL }, + { "Thai", "tha", "th", NULL }, + { "Tibetan", "tib", "bo", "bod" }, + { "Tigre", "tig", NULL, NULL }, + { "Tigrinya", "tir", "ti", NULL }, + { "Timne", "tem", NULL, NULL }, + { "Tiv", "tiv", NULL, NULL }, + { "Tlingit", "tli", NULL, NULL }, + { "Tok Pisin", "tpi", NULL, NULL }, + { "Tokelau", "tkl", NULL, NULL }, + { "Tonga (Nyasa)", "tog", NULL, NULL }, + { "Tonga (Tonga Islands)", "ton", "to", NULL }, + { "Tsimshian", "tsi", NULL, NULL }, + { "Tsonga", "tso", "ts", NULL }, + { "Tswana", "tsn", "tn", NULL }, + { "Tumbuka", "tum", NULL, NULL }, + { "Tupi languages", "tup", NULL, NULL }, + { "Turkish", "tur", "tr", NULL }, + { "Turkish, Ottoman (1500-1928)", "ota", NULL, NULL }, + { "Turkmen", "tuk", "tk", NULL }, + { "Tuvalu", "tvl", NULL, NULL }, + { "Tuvinian", "tyv", NULL, NULL }, + { "Twi", "twi", "tw", NULL }, + { "Udmurt", "udm", NULL, NULL }, + { "Ugaritic", "uga", NULL, NULL }, + { "Uighur; Uyghur", "uig", "ug", NULL }, + { "Ukrainian", "ukr", "uk", NULL }, + { "Umbundu", "umb", NULL, NULL }, + { "Uncoded languages", "mis", NULL, NULL }, + { "Undetermined", "und", NULL, NULL }, + { "Upper Sorbian", "hsb", NULL, NULL }, + { "Urdu", "urd", "ur", NULL }, + { "Uzbek", "uzb", "uz", NULL }, + { "Vai", "vai", NULL, NULL }, + { "Venda", "ven", "ve", NULL }, + { "Vietnamese", "vie", "vi", NULL }, + { "Volapük", "vol", "vo", NULL }, + { "Votic", "vot", NULL, NULL }, + { "Wakashan languages", "wak", NULL, NULL }, + { "Walamo", "wal", NULL, NULL }, + { "Walloon", "wln", "wa", NULL }, + { "Waray", "war", NULL, NULL }, + { "Washo", "was", NULL, NULL }, + { "Welsh", "wel", "cy", "cym" }, + { "Western Frisian", "fry", "fy", NULL }, + { "Wolof", "wol", "wo", NULL }, + { "Xhosa", "xho", "xh", NULL }, + { "Yakut", "sah", NULL, NULL }, + { "Yao", "yao", NULL, NULL }, + { "Yapese", "yap", NULL, NULL }, + { "Yiddish", "yid", "yi", NULL }, + { "Yoruba", "yor", "yo", NULL }, + { "Yupik languages", "ypk", NULL, NULL }, + { "Zande languages", "znd", NULL, NULL }, + { "Zapotec", "zap", NULL, NULL }, + { "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki", "zza", NULL, NULL }, + { "Zenaga", "zen", NULL, NULL }, + { "Zhuang; Chuang", "zha", "za", NULL }, + { "Zulu", "zul", "zu", NULL }, + { "Zuni", "zun", NULL, NULL }, + { NULL, NULL, NULL, NULL }, }; bool @@ -636,7 +609,7 @@ int map_to_iso639_2_code(const char *s, bool allow_short_english_name) { - int i, j, len; + size_t i; std::vector<std::string> names; for (i = 0; NULL != iso639_languages[i].iso639_2_code; ++i) @@ -648,6 +621,7 @@ for (i = 0; NULL != iso639_languages[i].iso639_2_code; ++i) { names = split(iso639_languages[i].english_name, ";"); strip(names); + size_t j; for (j = 0; names.size() > j; ++j) if (!strcasecmp(s, names[j].c_str())) return i; @@ -656,10 +630,11 @@ if (!allow_short_english_name) return -1; - len = strlen(s); + size_t len = strlen(s); for (i = 0; NULL != iso639_languages[i].iso639_2_code; ++i) { names = split(iso639_languages[i].english_name, ";"); strip(names); + size_t j; for (j = 0; names.size() > j; ++j) if (!strncasecmp(s, names[j].c_str(), len)) return i; diff -Nru mkvtoolnix-4.0.0/src/common/kax_analyzer.cpp mkvtoolnix-4.5.0+dfsg/src/common/kax_analyzer.cpp --- mkvtoolnix-4.0.0/src/common/kax_analyzer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/kax_analyzer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -78,8 +78,27 @@ } kax_analyzer_c::~kax_analyzer_c() { - if (m_close_file) + close_file(); +} + +void +kax_analyzer_c::close_file() { + if (m_close_file) { delete m_file; + m_file = NULL; + + delete m_stream; + m_stream = NULL; + } +} + +void +kax_analyzer_c::reopen_file(const open_mode mode) { + if (NULL != m_file) + return; + + m_file = new mm_file_io_c(m_file_name, mode); + m_stream = new EbmlStream(*m_file); } void @@ -94,7 +113,7 @@ void kax_analyzer_c::debug_dump_elements() { - int i; + size_t i; for (i = 0; i < m_data.size(); i++) log_debug_message(boost::format("%1%: %2%\n") % i % m_data[i]->to_string()); } @@ -111,8 +130,8 @@ void kax_analyzer_c::validate_data_structures(const std::string &hook_name) { bool gap_debugging = analyzer_debugging_requested("gaps"); - int i; - bool ok = true; + bool ok = true; + size_t i; for (i = 0; m_data.size() -1 > i; i++) { if ((m_data[i]->m_pos + m_data[i]->m_size) > m_data[i + 1]->m_pos) { @@ -135,17 +154,17 @@ kax_analyzer_c actual_content(m_file); actual_content.process(); - int num_items = std::max(m_data.size(), actual_content.m_data.size()); - bool ok = m_data.size() == actual_content.m_data.size(); - int max_info_len = 0; + unsigned int num_items = std::max(m_data.size(), actual_content.m_data.size()); + bool ok = m_data.size() == actual_content.m_data.size(); + size_t max_info_len = 0; std::vector<std::string> info_this, info_actual, info_markings; - int i; + size_t i; for (i = 0; num_items > i; ++i) { info_this.push_back( m_data.size() > i ? m_data[i]->to_string() : empty_string); info_actual.push_back(actual_content.m_data.size() > i ? actual_content.m_data[i]->to_string() : empty_string); - max_info_len = std::max(max_info_len, static_cast<int>(info_this.back().length())); + max_info_len = std::max(max_info_len, info_this.back().length()); bool row_is_identical = info_this.back() == info_actual.back(); ok &= row_is_identical; @@ -185,12 +204,11 @@ const open_mode mode) { bool parse_fully = parse_mode_full == parse_mode; - if (NULL == m_file) - try { - m_file = new mm_file_io_c(m_file_name, mode); - } catch (...) { - return false; - } + try { + reopen_file(mode); + } catch (...) { + return false; + } int64_t file_size = m_file->get_size(); show_progress_start(file_size); @@ -272,6 +290,8 @@ EbmlElement * kax_analyzer_c::read_element(kax_analyzer_data_c *element_data) { + reopen_file(); + EbmlStream es(*m_file); m_file->setFilePointer(element_data->m_pos); @@ -302,6 +322,8 @@ kax_analyzer_c::update_element_result_e kax_analyzer_c::update_element(EbmlElement *e, bool write_defaults) { + reopen_file(); + fix_mandatory_elements(e); try { @@ -324,6 +346,8 @@ kax_analyzer_c::update_element_result_e kax_analyzer_c::remove_elements(EbmlId id) { + reopen_file(); + try { call_and_validate({}, "remove_elements_0"); call_and_validate(overwrite_all_instances(id), "remove_elements_1"); @@ -398,7 +422,7 @@ space. */ bool -kax_analyzer_c::handle_void_elements(int data_idx) { +kax_analyzer_c::handle_void_elements(size_t data_idx) { // Is the element at the end of the file? If so truncate the file // and remove the element from the m_data structure if that was // requested. Then we're done. @@ -411,7 +435,7 @@ } // Are the following elements EbmlVoid elements? - int end_idx = data_idx + 1; + size_t end_idx = data_idx + 1; while ((m_data.size() > end_idx) && (m_data[end_idx]->m_id == EBML_ID(EbmlVoid))) ++end_idx; @@ -445,6 +469,51 @@ if (NULL == e) return false; + // However, this might not work if the element's size was already + // eight bytes long. + if (8 == e->GetSizeLength()) { + // In this case try doing the same with the previous + // element. The whole element has be moved one byte to the back. + delete e; + + e = read_element(m_data[data_idx]); + if (NULL == e) + return false; + + counted_ptr<EbmlElement> af_e(e); + + // Again the test for maximum size length. + if (8 == e->GetSizeLength()) + return false; + + // Copy the content one byte to the back. + unsigned int id_length = EBML_ID_LENGTH(static_cast<const EbmlId &>(*e)); + uint64_t content_pos = m_data[data_idx]->m_pos + id_length + e->GetSizeLength(); + uint64_t content_size = m_data[data_idx + 1]->m_pos - content_pos - 1; + memory_cptr buffer = memory_c::alloc(content_size); + + m_file->setFilePointer(content_pos); + if (m_file->read(buffer, content_size) != content_size) + return false; + + m_file->setFilePointer(content_pos + 1); + if (m_file->write(buffer) != content_size) + return false; + + // Prepare the new codec size and write it. + binary head[8]; // Class D + 64 bits coded size + int coded_size = CodedSizeLength(content_size, e->GetSizeLength() + 1, true); + CodedValueLength(content_size, coded_size, head); + m_file->setFilePointer(m_data[data_idx]->m_pos + id_length); + if (m_file->write(head, coded_size) != static_cast<unsigned int>(coded_size)) + return false; + + // Update internal structures. + m_data[data_idx]->m_size += 1; + + return true; + } + binary head[4 + 8]; // Class D + 64 bits coded size unsigned int head_size = EBML_ID_LENGTH(static_cast<const EbmlId &>(*e)); EbmlId(*e).Fill(head); @@ -507,7 +576,7 @@ */ void kax_analyzer_c::remove_from_meta_seeks(EbmlId id) { - int data_idx; + size_t data_idx; for (data_idx = 0; m_data.size() > data_idx; ++data_idx) { // We only have to do work on SeekHead elements. Skip the others. @@ -525,7 +594,7 @@ // Iterate over its children and delete the ones we're looking for. bool modified = false; - int sh_idx = 0; + size_t sh_idx = 0; while (seek_head->ListSize() > sh_idx) { if (EbmlId(*(*seek_head)[sh_idx]) != EBML_ID(KaxSeek)) { ++sh_idx; @@ -581,7 +650,7 @@ */ void kax_analyzer_c::overwrite_all_instances(EbmlId id) { - int data_idx; + size_t data_idx; for (data_idx = 0; m_data.size() > data_idx; ++data_idx) { // We only have to do work on specific elements. Skip the others. @@ -604,7 +673,7 @@ */ void kax_analyzer_c::merge_void_elements() { - int start_idx = 0; + size_t start_idx = 0; while (m_data.size() > start_idx) { // We only have to do work on EbmlVoid elements. Skip the others. @@ -615,8 +684,8 @@ // Found an EbmlVoid element. See how many consecutive EbmlVoid elements // there are at this position and calculate the combined size. - int end_idx = start_idx + 1; - int new_size = m_data[start_idx]->m_size; + size_t end_idx = start_idx + 1; + size_t new_size = m_data[start_idx]->m_size; while ((m_data.size() > end_idx) && (m_data[end_idx]->m_id == EBML_ID(EbmlVoid))) { new_size += m_data[end_idx]->m_size; ++end_idx; @@ -681,9 +750,9 @@ kax_analyzer_c::write_element(EbmlElement *e, bool write_defaults) { e->UpdateSize(write_defaults); - int element_size = e->ElementSize(write_defaults); + int64_t element_size = e->ElementSize(write_defaults); - int data_idx; + size_t data_idx; for (data_idx = 0; m_data.size() > data_idx; ++data_idx) { // We're only interested in EbmlVoid elements. Skip the others. if (m_data[data_idx]->m_id != EBML_ID(EbmlVoid)) @@ -732,7 +801,8 @@ */ void kax_analyzer_c::add_to_meta_seek(EbmlElement *e) { - int data_idx, first_seek_head_idx = -1; + size_t data_idx; + int first_seek_head_idx = -1; for (data_idx = 0; m_data.size() > data_idx; ++data_idx) { // We only have to do work on SeekHead elements. Skip the others. @@ -743,8 +813,8 @@ // merge_void_elemens() guarantees that there is no EbmlVoid element // at the end of the m_file and that all consecutive EbmlVoid elements // have been merged into a single element. - int available_space = m_data[data_idx]->m_size; - bool void_present = false; + size_t available_space = m_data[data_idx]->m_size; + bool void_present = false; if (((data_idx + 1) < m_data.size()) && (m_data[data_idx + 1]->m_id == EBML_ID(EbmlVoid))) { available_space += m_data[data_idx + 1]->m_size; void_present = true; @@ -849,7 +919,7 @@ continue; // Skip the element if it doesn't offer enough space for the seek head. - if (m_data[data_idx]->m_size < new_seek_head->ElementSize(true)) + if (m_data[data_idx]->m_size < static_cast<int64_t>(new_seek_head->ElementSize(true))) continue; // We've found a suitable spot. Write the seek head. @@ -878,9 +948,11 @@ EbmlMaster * kax_analyzer_c::read_all(const EbmlCallbacks &callbacks) { + reopen_file(); + EbmlMaster *master = NULL; EbmlStream es(*m_file); - int i; + size_t i; for (i = 0; m_data.size() > i; ++i) { kax_analyzer_data_c &data = *m_data[i].get_object(); @@ -939,7 +1011,7 @@ } void -kax_analyzer_c::read_meta_seek(int64_t pos, +kax_analyzer_c::read_meta_seek(uint64_t pos, std::map<int64_t, bool> &positions_found) { if (m_meta_seeks_by_position[pos]) return; @@ -990,7 +1062,7 @@ } void -kax_analyzer_c::fix_element_sizes(int64_t file_size) { +kax_analyzer_c::fix_element_sizes(uint64_t file_size) { unsigned int i; for (i = 0; m_data.size() > i; ++i) if (-1 == m_data[i]->m_size) diff -Nru mkvtoolnix-4.0.0/src/common/kax_analyzer.h mkvtoolnix-4.5.0+dfsg/src/common/kax_analyzer.h --- mkvtoolnix-4.0.0/src/common/kax_analyzer.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/kax_analyzer.h 2011-01-31 20:34:09.000000000 +0000 @@ -30,15 +30,16 @@ class kax_analyzer_data_c { public: EbmlId m_id; - int64_t m_pos, m_size; + uint64_t m_pos; + int64_t m_size; public: // Static functions - static kax_analyzer_data_cptr create(const EbmlId id, int64_t pos, int64_t size) { + static kax_analyzer_data_cptr create(const EbmlId id, uint64_t pos, int64_t size) { return kax_analyzer_data_cptr(new kax_analyzer_data_c(id, pos, size)); } public: - kax_analyzer_data_c(const EbmlId id, int64_t pos, int64_t size) + kax_analyzer_data_c(const EbmlId id, uint64_t pos, int64_t size) : m_id(id) , m_pos(pos) , m_size(size) @@ -128,6 +129,9 @@ mxexit(1); } + virtual void close_file(); + virtual void reopen_file(const open_mode = MODE_WRITE); + protected: virtual void _log_debug_message(const std::string &message); @@ -138,7 +142,7 @@ virtual void add_to_meta_seek(EbmlElement *e); virtual void adjust_segment_size(); - virtual bool handle_void_elements(int data_idx); + virtual bool handle_void_elements(size_t data_idx); virtual bool analyzer_debugging_requested(const std::string §ion); virtual void debug_dump_elements(); @@ -147,8 +151,8 @@ virtual void verify_data_structures_against_file(const std::string &hook_name); virtual void read_all_meta_seeks(); - virtual void read_meta_seek(int64_t pos, std::map<int64_t, bool> &positions_found); - virtual void fix_element_sizes(int64_t file_size); + virtual void read_meta_seek(uint64_t pos, std::map<int64_t, bool> &positions_found); + virtual void fix_element_sizes(uint64_t file_size); }; typedef counted_ptr<kax_analyzer_c> kax_analyzer_cptr; diff -Nru mkvtoolnix-4.0.0/src/common/kax_file.cpp mkvtoolnix-4.5.0+dfsg/src/common/kax_file.cpp --- mkvtoolnix-4.0.0/src/common/kax_file.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/kax_file.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -18,6 +18,7 @@ #include <ebml/EbmlVoid.h> #include "common/ebml.h" +#include "common/fs_sys_helpers.h" #include "common/kax_file.h" kax_file_c::kax_file_c(mm_io_cptr &in) @@ -117,7 +118,6 @@ EbmlElement *l2 = NULL; l1->Read(*m_es.get_object(), EBML_INFO_CONTEXT(*callbacks), upper_lvl_el, l2, true); - delete l2; unsigned long element_size = get_element_size(l1); if (m_debug_resync) @@ -130,7 +130,7 @@ bool kax_file_c::is_level1_element_id(vint_c id) const { const EbmlSemanticContext &context = EBML_CLASS_CONTEXT(KaxSegment); - for (int segment_idx = 0; EBML_CTX_SIZE(context) > segment_idx; ++segment_idx) + for (size_t segment_idx = 0; EBML_CTX_SIZE(context) > segment_idx; ++segment_idx) if (EBML_ID_VALUE(EBML_CTX_IDX_ID(context,segment_idx)) == id.m_value) return true; @@ -160,18 +160,31 @@ m_resync_start_pos = m_in->getFilePointer(); uint32_t actual_id = m_in->read_uint32_be(); + int64_t start_time = get_current_time_millis(); + + mxinfo(boost::format(Y("%1%: Error in the Matroska file structure at position %2%. Resyncing to the next level 1 element.\n")) + % m_in->get_file_name() % m_resync_start_pos); + + if (m_debug_resync) + mxinfo(boost::format("kax_file::resync_to_level1_element(): starting at %1% potential ID %|2$08x|\n") % m_resync_start_pos % actual_id); while (m_in->getFilePointer() < m_file_size) { + int64_t now = get_current_time_millis(); + if ((now - start_time) >= 10000) { + mxinfo(boost::format("Still resyncing at position %1%.\n") % m_in->getFilePointer()); + start_time = now; + } + actual_id = (actual_id << 8) | m_in->read_uint8(); if ( ((0 != wanted_id) && (wanted_id != actual_id)) || ((0 == wanted_id) && !is_level1_element_id(vint_c(actual_id, 4)))) continue; - int64_t current_start_pos = m_in->getFilePointer() - 4; - int64_t element_pos = current_start_pos; - unsigned int num_headers = 1; - bool valid_unknown_size = false; + uint64_t current_start_pos = m_in->getFilePointer() - 4; + uint64_t element_pos = current_start_pos; + unsigned int num_headers = 1; + bool valid_unknown_size = false; if (m_debug_resync) mxinfo(boost::format("kax_file::resync_to_level1_element(): byte-for-byte search, found level 1 ID %|2$x| at %1%\n") % current_start_pos % actual_id); @@ -211,6 +224,7 @@ } if ((4 == num_headers) || valid_unknown_size) { + mxinfo(boost::format(Y("Resyncing successful at position %1%.\n")) % current_start_pos); m_in->setFilePointer(current_start_pos, seek_beginning); return read_next_level1_element(wanted_id); } @@ -218,6 +232,8 @@ m_in->setFilePointer(current_start_pos + 4, seek_beginning); } + mxinfo(Y("Resync failed: no valid Matroska level 1 element found.\n")); + return NULL; } diff -Nru mkvtoolnix-4.0.0/src/common/kax_file.h mkvtoolnix-4.5.0+dfsg/src/common/kax_file.h --- mkvtoolnix-4.0.0/src/common/kax_file.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/kax_file.h 2011-01-31 20:34:09.000000000 +0000 @@ -29,7 +29,7 @@ protected: mm_io_cptr m_in; bool m_resynced; - int64_t m_resync_start_pos, m_file_size; + uint64_t m_resync_start_pos, m_file_size; counted_ptr<EbmlStream> m_es; bool m_debug_read_next, m_debug_resync; diff -Nru mkvtoolnix-4.0.0/src/common/Makefile.in mkvtoolnix-4.5.0+dfsg/src/common/Makefile.in --- mkvtoolnix-4.0.0/src/common/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/common/math.cpp mkvtoolnix-4.5.0+dfsg/src/common/math.cpp --- mkvtoolnix-4.0.0/src/common/math.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/math.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,8 +17,8 @@ uint32_t round_to_nearest_pow2(uint32_t value) { - int64_t best_value = 0; - int64_t test_value = 1; + uint64_t best_value = 0; + uint64_t test_value = 1; while (0x80000000ul >= test_value) { if (iabs(value - test_value) < iabs(value - best_value)) diff -Nru mkvtoolnix-4.0.0/src/common/matroska.h mkvtoolnix-4.5.0+dfsg/src/common/matroska.h --- mkvtoolnix-4.0.0/src/common/matroska.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/matroska.h 2011-01-31 20:34:09.000000000 +0000 @@ -30,6 +30,7 @@ #define MKV_A_AC3 "A_AC3" #define MKV_A_EAC3 "A_EAC3" #define MKV_A_DTS "A_DTS" +#define MKV_A_MP2 "A_MPEG/L2" #define MKV_A_MP3 "A_MPEG/L3" #define MKV_A_PCM "A_PCM/INT/LIT" #define MKV_A_PCM_BE "A_PCM/INT/BIG" diff -Nru mkvtoolnix-4.0.0/src/common/memory.cpp mkvtoolnix-4.5.0+dfsg/src/common/memory.cpp --- mkvtoolnix-4.0.0/src/common/memory.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/memory.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,7 +17,7 @@ #include "common/error.h" void -memory_c::resize(int new_size) throw() { +memory_c::resize(size_t new_size) throw() { if (!its_counter) its_counter = new counter(NULL, 0, false); @@ -36,8 +36,7 @@ memory_cptr lace_memory_xiph(const std::vector<memory_cptr> &blocks) { - int i; - int size = 1; + size_t i, size = 1; for (i = 0; (blocks.size() - 1) > i; ++i) size += blocks[i]->get_size() / 255 + 1 + blocks[i]->get_size(); size += blocks.back()->get_size(); @@ -45,8 +44,8 @@ memory_cptr mem = memory_c::alloc(size); unsigned char *buffer = mem->get_buffer(); - buffer[0] = blocks.size() - 1; - int offset = 1; + buffer[0] = blocks.size() - 1; + size_t offset = 1; for (i = 0; (blocks.size() - 1) > i; ++i) { int n; for (n = blocks[i]->get_size(); n >= 255; n -= 255) { @@ -73,9 +72,9 @@ std::vector<int> sizes; unsigned char *ptr = buffer->get_buffer(); unsigned char *end = buffer->get_buffer() + buffer->get_size(); - int last_size = buffer->get_size(); - int num_blocks = ptr[0] + 1; - int i; + size_t last_size = buffer->get_size(); + size_t num_blocks = ptr[0] + 1; + size_t i; ++ptr; for (i = 0; (num_blocks - 1) > i; ++i) { diff -Nru mkvtoolnix-4.0.0/src/common/memory.h mkvtoolnix-4.5.0+dfsg/src/common/memory.h --- mkvtoolnix-4.0.0/src/common/memory.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/memory.h 2011-01-31 20:34:09.000000000 +0000 @@ -59,7 +59,7 @@ typedef unsigned char X; explicit memory_c(void *p = NULL, - int s = 0, + size_t s = 0, bool f = false) // allocate a new counter : its_counter(NULL) { @@ -87,16 +87,16 @@ return its_counter ? its_counter->ptr + its_counter->offset : NULL; } - int get_size() const throw() { + size_t get_size() const throw() { return its_counter ? its_counter->size - its_counter->offset: 0; } - void set_size(int new_size) throw() { + void set_size(size_t new_size) throw() { if (its_counter) its_counter->size = new_size; } - void set_offset(unsigned new_offset) { + void set_offset(size_t new_offset) { if (!its_counter || (new_offset > its_counter->size)) throw false; its_counter->offset = new_offset; @@ -114,6 +114,10 @@ return new memory_c(static_cast<unsigned char *>(safememdup(get_buffer(), get_size())), get_size(), true); } + bool is_free() const { + return its_counter && its_counter->is_free; + } + void grab() { if (!its_counter || its_counter->is_free) return; @@ -129,22 +133,39 @@ its_counter->is_free = false; } - void resize(int new_size) throw(); + void resize(size_t new_size) throw(); + + operator const unsigned char *() const { + return its_counter ? its_counter->ptr : NULL; + } + + operator const void *() const { + return its_counter ? its_counter->ptr : NULL; + } + + operator unsigned char *() const { + return its_counter ? its_counter->ptr : NULL; + } + + operator void *() const { + return its_counter ? its_counter->ptr : NULL; + } public: - static memory_cptr alloc(int size) { + static memory_cptr alloc(size_t size) { return memory_cptr(new memory_c(static_cast<unsigned char *>(safemalloc(size)), size, true)); }; private: struct counter { X *ptr; - int size; + size_t size; bool is_free; - unsigned count, offset; + unsigned count; + size_t offset; counter(X *p = NULL, - int s = 0, + size_t s = 0, bool f = false, unsigned c = 1) : ptr(p) @@ -175,7 +196,7 @@ class MTX_DLL_API memory_slice_cursor_c { protected: - int m_pos, m_pos_in_slice, m_size; + size_t m_pos, m_pos_in_slice, m_size; std::deque<memory_cptr> m_slices; std::deque<memory_cptr>::iterator m_slice; @@ -199,13 +220,20 @@ if (slice->get_size() == 0) return; - m_slices.push_back(slice); - m_size += slice->get_size(); - if (m_slice == m_slices.end()) + if (m_slices.end() == m_slice) { + m_slices.push_back(slice); m_slice = m_slices.begin(); + + } else { + size_t pos = std::distance(m_slices.begin(), m_slice); + m_slices.push_back(slice); + m_slice = m_slices.begin() + pos; + } + + m_size += slice->get_size(); } - void add_slice(unsigned char *buffer, int size) { + void add_slice(unsigned char *buffer, size_t size) { if (0 == size) return; @@ -234,15 +262,15 @@ return m_pos < m_size; }; - inline int get_remaining_size() { + inline size_t get_remaining_size() { return m_size - m_pos; }; - inline int get_size() { + inline size_t get_size() { return m_size; }; - inline int get_position() { + inline size_t get_position() { return m_pos; }; @@ -256,7 +284,7 @@ m_slice = m_slices.begin(); }; - void copy(unsigned char *dest, int start, int size) { + void copy(unsigned char *dest, size_t start, size_t size) { assert((start + size) <= m_size); std::deque<memory_cptr>::iterator curr = m_slices.begin(); @@ -270,7 +298,7 @@ offset = start - offset; while (0 < size) { - int num_bytes = (*curr)->get_size() - offset; + size_t num_bytes = (*curr)->get_size() - offset; if (num_bytes > size) num_bytes = size; @@ -287,7 +315,7 @@ inline memory_cptr clone_memory(const void *buffer, - int size) { + size_t size) { return memory_cptr(new memory_c(static_cast<unsigned char *>(safememdup(buffer, size)), size, true)); } @@ -298,10 +326,10 @@ struct buffer_t { unsigned char *m_buffer; - int m_size; + size_t m_size; buffer_t(); - buffer_t(unsigned char *buffer, int m_size); + buffer_t(unsigned char *buffer, size_t m_size); ~buffer_t(); }; diff -Nru mkvtoolnix-4.0.0/src/common/mm_io.cpp mkvtoolnix-4.5.0+dfsg/src/common/mm_io.cpp --- mkvtoolnix-4.0.0/src/common/mm_io.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_io.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -330,7 +330,7 @@ // The file name is the last element -- remove it. parts.pop_back(); - for (int i = 0; parts.size() > i; ++i) { + for (size_t i = 0; parts.size() > i; ++i) { // Ignore empty path components. if (parts[i].empty()) continue; @@ -560,7 +560,7 @@ if (-1 == offset) offset = buffer->get_size(); - if (buffer->get_size() <= (size + offset)) + if (buffer->get_size() <= (size + static_cast<size_t>(offset))) buffer->resize(size + offset); if (read(buffer->get_buffer() + offset, size) != size) @@ -630,12 +630,12 @@ return _write(buffer, size); } -uint32_t +size_t mm_io_c::write(const memory_cptr &buffer, - int size, - int offset) { - if (-1 == size) - size = buffer->get_size(); + size_t size, + size_t offset) { + size = std::min(buffer->get_size() - offset, size); + if (write(buffer->get_buffer() + offset, size) != size) throw mm_io_eof_error_c(); return size; @@ -643,9 +643,7 @@ void mm_io_c::skip(int64 num_bytes) { - int64_t pos; - - pos = getFilePointer(); + uint64_t pos = getFilePointer(); setFilePointer(pos + num_bytes); if ((pos + num_bytes) != getFilePointer()) throw error_c(Y("end-of-file")); @@ -678,7 +676,7 @@ static const unsigned char utf32le_bom[4] = {0xff, 0xfe, 0x00, 0x00}; static const unsigned char utf32be_bom[4] = {0x00, 0x00, 0xff, 0xfe}; const unsigned char *bom; - int bom_len; + unsigned int bom_len; if (charset.empty()) return false; @@ -859,7 +857,7 @@ : seek_end == mode ? mem_size - offset : pos + offset; - if ((0 <= new_pos) && (mem_size >= new_pos)) + if ((0 <= new_pos) && (static_cast<int64_t>(mem_size) >= new_pos)) pos = new_pos; else throw mm_io_seek_error_c(); @@ -868,7 +866,7 @@ uint32 mm_mem_io_c::_read(void *buffer, size_t size) { - int64_t rbytes = (pos + size) >= mem_size ? mem_size - pos : size; + size_t rbytes = std::min(size, mem_size - pos); if (read_only) memcpy(buffer, &ro_mem[pos], rbytes); else @@ -940,8 +938,11 @@ bool _delete_in) : mm_proxy_io_c(_in, _delete_in) , byte_order(BO_NONE) - , bom_len(0) { - + , bom_len(0) + , uses_carriage_returns(false) + , uses_newlines(false) + , eol_style_detected(false) +{ _in->setFilePointer(0, seek_beginning); unsigned char buffer[4]; @@ -956,6 +957,38 @@ _in->setFilePointer(bom_len, seek_beginning); } +void +mm_text_io_c::detect_eol_style() { + if (eol_style_detected) + return; + + + eol_style_detected = true; + bool found_cr_or_nl = false; + + save_pos(); + + while (1) { + char utf8char[9]; + size_t len = read_next_char(utf8char); + if (0 == len) + break; + + if ((1 == len) && ('\r' == utf8char[0])) { + found_cr_or_nl = true; + uses_carriage_returns = true; + + } else if ((1 == len) && ('\n' == utf8char[0])) { + found_cr_or_nl = true; + uses_newlines = true; + + } else if (found_cr_or_nl) + break; + } + + restore_pos(); +} + bool mm_text_io_c::detect_byte_order_marker(const unsigned char *buffer, unsigned int size, @@ -998,12 +1031,11 @@ int mm_text_io_c::read_next_char(char *buffer) { unsigned char stream[6]; - int i; if (byte_order == BO_NONE) return read(buffer, 1); - int size = 0; + size_t size = 0; if (byte_order == BO_UTF8) { if (read(stream, 1) != 1) return 0; @@ -1014,9 +1046,9 @@ : ((stream[0] & 0xf8) == 0xf0) ? 4 : ((stream[0] & 0xfc) == 0xf8) ? 5 : ((stream[0] & 0xfe) == 0xfc) ? 6 - : -1; + : 99; - if (-1 == size) + if (99 == size) mxerror(boost::format(Y("mm_text_io_c::read_next_char(): Invalid UTF-8 char. First byte: 0x%|1$02x|")) % (unsigned int)stream[0]); if ((1 < size) && (read(&stream[1], size - 1) != (size - 1))) @@ -1035,6 +1067,7 @@ return 0; unsigned long data = 0; + size_t i; if ((byte_order == BO_UTF16_LE) || (byte_order == BO_UTF32_LE)) for (i = 0; i < size; i++) { data <<= 8; @@ -1074,6 +1107,9 @@ if (eof()) throw error_c(Y("end-of-file")); + if (!eol_style_detected) + detect_eol_style(); + std::string s; char utf8char[9]; bool previous_was_carriage_return = false; @@ -1086,7 +1122,7 @@ return s; if ((1 == len) && (utf8char[0] == '\r')) { - if (previous_was_carriage_return) { + if (previous_was_carriage_return && !uses_newlines) { setFilePointer(-1, seek_current); return s; } @@ -1095,7 +1131,7 @@ continue; } - if ((1 == len) && (utf8char[0] == '\n')) + if ((1 == len) && (utf8char[0] == '\n') && (!uses_carriage_returns || previous_was_carriage_return)) return s; if (previous_was_carriage_return) { diff -Nru mkvtoolnix-4.0.0/src/common/mm_io.h mkvtoolnix-4.5.0+dfsg/src/common/mm_io.h --- mkvtoolnix-4.0.0/src/common/mm_io.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_io.h 2011-01-31 20:34:09.000000000 +0000 @@ -90,7 +90,7 @@ virtual int write_uint64_be(uint64_t value); virtual void skip(int64 numbytes); virtual size_t write(const void *buffer, size_t size); - virtual uint32_t write(const memory_cptr &buffer, int size = -1, int offset = 0); + virtual size_t write(const memory_cptr &buffer, size_t size = UINT_MAX, size_t offset = 0); virtual bool eof() = 0; virtual void flush() { } @@ -249,7 +249,7 @@ class MTX_DLL_API mm_mem_io_c: public mm_io_c { protected: - int64_t pos, mem_size, allocated, increase; + size_t pos, mem_size, allocated, increase; unsigned char *mem; const unsigned char *ro_mem; bool free_mem, read_only; @@ -286,6 +286,7 @@ protected: byte_order_e byte_order; unsigned int bom_len; + bool uses_carriage_returns, uses_newlines, eol_style_detected; public: mm_text_io_c(mm_io_c *_in, bool _delete_in = true); @@ -298,6 +299,9 @@ byte_order = new_byte_order; } +protected: + virtual void detect_eol_style(); + public: static bool has_byte_order_marker(const std::string &string); static bool detect_byte_order_marker(const unsigned char *buffer, unsigned int size, byte_order_e &byte_order, unsigned int &bom_length); diff -Nru mkvtoolnix-4.0.0/src/common/mm_multi_file_io.cpp mkvtoolnix-4.5.0+dfsg/src/common/mm_multi_file_io.cpp --- mkvtoolnix-4.0.0/src/common/mm_multi_file_io.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_multi_file_io.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -67,12 +67,12 @@ : seek_end == mode ? m_total_size - offset : m_current_pos + offset; - if ((0 > new_pos) || (m_total_size < new_pos)) + if ((0 > new_pos) || (static_cast<int64_t>(m_total_size) < new_pos)) throw mm_io_seek_error_c(); m_current_file = 0; foreach(const mm_multi_file_io_c::file_t &file, m_files) { - if ((file.m_global_start + file.m_size) < new_pos) { + if ((file.m_global_start + file.m_size) < static_cast<uint64_t>(new_pos)) { ++m_current_file; continue; } @@ -181,23 +181,25 @@ }; mm_multi_file_io_cptr -mm_multi_file_io_c::open_multi(const std::string &display_file_name) { +mm_multi_file_io_c::open_multi(const std::string &display_file_name, + bool single_only) { bfs::path first_file_name(bfs::system_complete(bfs::path(display_file_name))); std::string base_name = bfs::basename(first_file_name); std::string extension = downcase(bfs::extension(first_file_name)); boost::regex file_name_re("(.+?)(\\d+)", boost::regex::perl); boost::smatch matches; - if (!boost::regex_match(base_name, matches, file_name_re)) { + if (!boost::regex_match(base_name, matches, file_name_re) || single_only) { std::vector<bfs::path> file_names; file_names.push_back(first_file_name); return mm_multi_file_io_cptr(new mm_multi_file_io_c(file_names, display_file_name)); } - base_name = downcase(matches[1].str()); int start_number = 1; parse_int(matches[2].str(), start_number); + base_name = downcase(matches[1].str()); + std::vector<path_sorter_t> paths; paths.push_back(path_sorter_t(first_file_name, start_number)); diff -Nru mkvtoolnix-4.0.0/src/common/mm_multi_file_io.h mkvtoolnix-4.5.0+dfsg/src/common/mm_multi_file_io.h --- mkvtoolnix-4.0.0/src/common/mm_multi_file_io.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_multi_file_io.h 2011-01-31 20:34:09.000000000 +0000 @@ -58,7 +58,7 @@ virtual void create_verbose_identification_info(std::vector<std::string> &verbose_info); virtual void display_other_file_info(); - static mm_multi_file_io_cptr open_multi(const std::string &display_file_name); + static mm_multi_file_io_cptr open_multi(const std::string &display_file_name, bool single_only = false); protected: virtual uint32 _read(void *buffer, size_t size); diff -Nru mkvtoolnix-4.0.0/src/common/mm_write_cache_io.cpp mkvtoolnix-4.5.0+dfsg/src/common/mm_write_cache_io.cpp --- mkvtoolnix-4.0.0/src/common/mm_write_cache_io.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_write_cache_io.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,109 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + IO callback class definitions + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include "common/mm_write_cache_io.h" + +mm_write_cache_io_c::mm_write_cache_io_c(mm_io_c *p_out, + size_t cache_size, + bool p_delete_out) + : mm_proxy_io_c(p_out, p_delete_out) + , m_af_cache(memory_c::alloc(cache_size)) + , m_cache_pos(0) + , m_cache_size(cache_size) + , m_cache(m_af_cache->get_buffer()) +{ +} + +mm_write_cache_io_c::~mm_write_cache_io_c() { + close(); +} + +mm_write_cache_io_c * +mm_write_cache_io_c::open(const std::string &file_name, + size_t cache_size) { + return new mm_write_cache_io_c(new mm_file_io_c(file_name, MODE_CREATE), cache_size); +} + +uint64 +mm_write_cache_io_c::getFilePointer() { + return mm_proxy_io_c::getFilePointer() + m_cache_pos; +} + +void +mm_write_cache_io_c::setFilePointer(int64 offset, + seek_mode mode) { + int64_t new_pos + = seek_beginning == mode ? offset + : seek_end == mode ? get_size() - offset + : getFilePointer() + offset; + + if (new_pos == static_cast<int64_t>(getFilePointer())) + return; + + flush_cache(); + mm_proxy_io_c::setFilePointer(offset, mode); +} + +void +mm_write_cache_io_c::flush() { + flush_cache(); + mm_proxy_io_c::flush(); +} + +void +mm_write_cache_io_c::close() { + flush_cache(); + mm_proxy_io_c::close(); +} + +uint32 +mm_write_cache_io_c::_read(void *buffer, + size_t size) { + throw mm_io_error_c("read-for-write-only-file"); + return 0; +} + +size_t +mm_write_cache_io_c::_write(const void *buffer, + size_t size) { + size_t bytes_written = size; + size_t buffer_offset = 0; + + while (0 != size) { + size_t bytes_to_write = std::min(size, m_cache_size - m_cache_pos); + memcpy(m_cache + m_cache_pos, static_cast<const unsigned char *>(buffer) + buffer_offset, bytes_to_write); + buffer_offset += bytes_to_write; + m_cache_pos += bytes_to_write; + size -= bytes_to_write; + + if (m_cache_pos == m_cache_size) + flush_cache(); + } + + return bytes_written; +} + +void +mm_write_cache_io_c::flush_cache() { + if (0 == m_cache_pos) + return; + + size_t bytes_written = mm_proxy_io_c::_write(m_cache, m_cache_pos); + mxverb(2, boost::format("mm_write_cache_io_c::flush_cache(): requested %1% written %2%\n") % m_cache_pos % bytes_written); + if (bytes_written != m_cache_pos) + throw mm_io_error_c((boost::format("write-error: requested %1%, written %2%") % m_cache_pos % bytes_written).str()); + + m_cache_pos = 0; +} diff -Nru mkvtoolnix-4.0.0/src/common/mm_write_cache_io.h mkvtoolnix-4.5.0+dfsg/src/common/mm_write_cache_io.h --- mkvtoolnix-4.0.0/src/common/mm_write_cache_io.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mm_write_cache_io.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,45 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + IO callback class definitions + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __MTX_COMMON_MM_WRITE_CACHE_IO_H +#define __MTX_COMMON_MM_WRITE_CACHE_IO_H + +#include "common/common_pch.h" + +#include "common/mm_io.h" + +class MTX_DLL_API mm_write_cache_io_c: public mm_proxy_io_c { +protected: + memory_cptr m_af_cache; + size_t m_cache_pos, m_cache_size; + unsigned char *m_cache; + +public: + mm_write_cache_io_c(mm_io_c *p_out, size_t cache_size, bool p_delete_out = true); + virtual ~mm_write_cache_io_c(); + + virtual uint64 getFilePointer(); + virtual void setFilePointer(int64 offset, seek_mode mode = seek_beginning); + virtual void flush(); + virtual void close(); + + static mm_write_cache_io_c *open(const std::string &file_name, size_t cache_size); + +protected: + virtual uint32 _read(void *buffer, size_t size); + virtual size_t _write(const void *buffer, size_t size); + virtual void flush_cache(); +}; +typedef counted_ptr<mm_write_cache_io_c> mm_write_cache_io_cptr; + +#endif // __MTX_COMMON_MM_WRITE_CACHED_FILE_IO_H diff -Nru mkvtoolnix-4.0.0/src/common/mp3.cpp mkvtoolnix-4.5.0+dfsg/src/common/mp3.cpp --- mkvtoolnix-4.0.0/src/common/mp3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mp3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -191,69 +191,46 @@ } if ((buf[0] == 'T') && (buf[1] == 'A') && (buf[2] == 'G')) { - h->is_tag = true; + h->is_tag = true; h->framesize = 128; return; } for (i = 0, header = 0; i < 4; i++) { header <<= 8; - header |= buf[i]; + header |= buf[i]; } - h->is_tag = false; h->version = (header >> 19) & 3; + h->layer = 4 - ((header >> 17) & 3); + if (h->version == 1) mxerror("Invalid MP3 header value for the version.\n"); - if (h->version == 0) - h->version = 3; // Well... 2.5 actually - else if (h->version == 3) - h->version = 1; - - h->layer = 4 - ((header >> 17) & 3); if (h->layer == 4) mxerror("Invalid MP3 header value for the layer.\n"); - h->protection = ((header >> 16) & 1) ^ 1; - - h->bitrate_index = (header >> 12) & 15; - if (h->version == 1) // MPEG-1 - h->bitrate = mp3_bitrates_mpeg1[h->layer - 1][h->bitrate_index]; - else // MPEG-2 or MPEG-2.5 - h->bitrate = mp3_bitrates_mpeg2[h->layer - 1][h->bitrate_index]; - - h->sampling_frequency = - mp3_sampling_freqs[h->version - 1][(header >> 10) & 3]; - - h->padding = (header >> 9) & 1; - h->is_private = (header >> 8) & 1; - - h->channel_mode = (header >> 6) & 3; - if (h->channel_mode == 3) - h->channels = 1; - else - h->channels = 2; - - h->mode_extension = (header >> 4) & 3; - h->copyright = (header >> 3) & 1; - h->original = (header >> 2) & 1; - h->emphasis = header & 3; - - if (h->layer == 3) { - if (h->version == 1) - h->framesize = 144000 * h->bitrate / h->sampling_frequency + h->padding; - else - h->framesize = 72000 * h->bitrate / h->sampling_frequency + h->padding; - - } else if (h->layer == 2) + h->is_tag = false; + h->version = 0 == h->version ? 3 : 3 == h->version ? 1 : h->version; + h->protection = ((header >> 16) & 1) ^ 1; + h->bitrate_index = (header >> 12) & 15; + h->bitrate = 1 == h->version ? mp3_bitrates_mpeg1[h->layer - 1][h->bitrate_index] : mp3_bitrates_mpeg2[h->layer - 1][h->bitrate_index]; + h->sampling_frequency = mp3_sampling_freqs[h->version - 1][(header >> 10) & 3]; + h->padding = (header >> 9) & 1; + h->is_private = (header >> 8) & 1; + h->channel_mode = (header >> 6) & 3; + h->channels = 3 == h->channel_mode ? 1 : 2; + h->mode_extension = (header >> 4) & 3; + h->copyright = (header >> 3) & 1; + h->original = (header >> 2) & 1; + h->emphasis = header & 3; + h->samples_per_channel = mp3_samples_per_channel[h->version - 1][h->layer - 1]; + + if (h->layer == 3) + h->framesize = (1 == h->version ? 144000 : 72000) * h->bitrate / h->sampling_frequency + h->padding; + else if (h->layer == 2) h->framesize = 144000 * h->bitrate / h->sampling_frequency + h->padding; - else - h->framesize = (12000 * h->bitrate / h->sampling_frequency + - h->padding) * 4; - - h->samples_per_channel = - mp3_samples_per_channel[h->version - 1][h->layer - 1]; + h->framesize = (12000 * h->bitrate / h->sampling_frequency + h->padding) * 4; } int @@ -289,10 +266,10 @@ pos = find_mp3_header(&buf[base + offset], size - base - offset); if (pos == 0) { decode_mp3_header(&buf[base + offset], &new_header); - if ((new_header.version == mp3header.version) && - (new_header.layer == mp3header.layer) && - (new_header.channels == mp3header.channels) && - (new_header.sampling_frequency == mp3header.sampling_frequency)) { + if ( (new_header.version == mp3header.version) + && (new_header.layer == mp3header.layer) + && (new_header.channels == mp3header.channels) + && (new_header.sampling_frequency == mp3header.sampling_frequency)) { mxverb(4, boost::format("find_cons_mp3_h: found good header %1%\n") % i); offset += new_header.framesize; continue; @@ -305,7 +282,7 @@ return base; base++; offset = 0; - pos = find_mp3_header(&buf[base], size - base); + pos = find_mp3_header(&buf[base], size - base); if (pos == -1) return -1; decode_mp3_header(&buf[base + pos], &mp3header); diff -Nru mkvtoolnix-4.0.0/src/common/mpeg4_p10.cpp mkvtoolnix-4.5.0+dfsg/src/common/mpeg4_p10.cpp --- mkvtoolnix-4.0.0/src/common/mpeg4_p10.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mpeg4_p10.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -139,6 +139,39 @@ } void +mpeg4::p10::slice_info_t::dump() { + mxinfo(boost::format("slice_info dump:\n" + " nalu_type: %1%\n" + " nal_ref_idc: %2%\n" + " type: %3%\n" + " pps_id: %4%\n" + " frame_num: %5%\n" + " field_pic_flag: %6%\n" + " bottom_field_flag: %7%\n" + " idr_pic_id: %8%\n" + " pic_order_cnt_lsb: %9%\n" + " delta_pic_order_cnt_bottom: %10%\n" + " delta_pic_order_cnt: %11%\n" + " first_mb_in_slice: %12%\n" + " sps: %13%\n" + " pps: %14%\n") + % static_cast<unsigned int>(nalu_type) + % static_cast<unsigned int>(nal_ref_idc) + % static_cast<unsigned int>(type) + % static_cast<unsigned int>(pps_id) + % frame_num + % field_pic_flag + % bottom_field_flag + % idr_pic_id + % pic_order_cnt_lsb + % delta_pic_order_cnt_bottom + % (delta_pic_order_cnt[0] << 8 | delta_pic_order_cnt[1]) + % first_mb_in_slice + % sps + % pps); +} + +void mpeg4::p10::nalu_to_rbsp(memory_cptr &buffer) { int pos, size = buffer->get_size(); mm_mem_io_c d(NULL, size, 100); @@ -396,7 +429,7 @@ */ bool mpeg4::p10::extract_par(uint8_t *&buffer, - int &buffer_size, + size_t &buffer_size, uint32_t &par_num, uint32_t &par_den) { try { @@ -410,14 +443,14 @@ avcc.read(nalu, 5); new_avcc.write(nalu); - int num_sps = avcc.read_uint8(); + unsigned int num_sps = avcc.read_uint8(); new_avcc.write_uint8(num_sps); num_sps &= 0x1f; mxverb(4, boost::format("mpeg4_p10_extract_par: num_sps %1%\n") % num_sps); - int sps; + unsigned int sps; for (sps = 0; sps < num_sps; sps++) { - int length = avcc.read_uint16_be(); + unsigned int length = avcc.read_uint16_be(); if ((length + avcc.getFilePointer()) >= buffer_size) length = buffer_size - avcc.getFilePointer(); avcc.read(nalu, length); @@ -478,11 +511,15 @@ memory_cptr mpeg4::p10::avcc_to_nalus(const unsigned char *buffer, - int size) { + size_t size) { try { if (6 > size) throw false; + uint32_t marker = get_uint32_be(buffer); + if (((marker & 0xffffff00) == 0x00000100) || (0x00000001 == marker)) + return clone_memory(buffer, size); + mm_mem_io_c mem(buffer, size); byte_buffer_c nalus(size * 2); @@ -490,17 +527,17 @@ throw false; mem.setFilePointer(4, seek_beginning); - int nal_size_size = 1 + (mem.read_uint8() & 3); + size_t nal_size_size = 1 + (mem.read_uint8() & 3); if (2 > nal_size_size) throw false; - int sps_or_pps; + size_t sps_or_pps; for (sps_or_pps = 0; 2 > sps_or_pps; ++sps_or_pps) { - int num = mem.read_uint8(); + unsigned int num = mem.read_uint8(); if (0 == sps_or_pps) num &= 0x1f; - int i; + size_t i; for (i = 0; num > i; ++i) { uint16_t element_size = mem.read_uint16_be(); memory_cptr copy_buffer = memory_c::alloc(element_size + 4); @@ -537,8 +574,11 @@ , m_ignore_nalu_size_length_errors(false) , m_discard_actual_frames(false) , m_num_slices_by_type(11, 0) - , m_debug_keyframe_detection(debugging_requested("avc_debug_keyframe_detection")) + , m_debug_keyframe_detection(debugging_requested("avc_keyframe_detection") || debugging_requested("avc_parser")) + , m_debug_nalu_types(debugging_requested("avc_nalu_types") || debugging_requested("avc_parser")) { + if (m_debug_nalu_types) + init_nalu_names(); } mpeg4::p10::avc_es_parser_c::~avc_es_parser_c() { @@ -648,21 +688,19 @@ void mpeg4::p10::avc_es_parser_c::write_nalu_size(unsigned char *buffer, - int size, - int nalu_size_length) { - int i; - - if (-1 == nalu_size_length) - nalu_size_length = m_nalu_size_length; + size_t size, + int this_nalu_size_length) { + unsigned int nalu_size_length = -1 == this_nalu_size_length ? m_nalu_size_length : this_nalu_size_length; if (!m_ignore_nalu_size_length_errors && (size >= ((uint64_t)1 << (nalu_size_length * 8)))) { - int required_bytes = nalu_size_length + 1; - while (size >= (1 << (required_bytes * 8))) + unsigned int required_bytes = nalu_size_length + 1; + while (size >= (1u << (required_bytes * 8))) ++required_bytes; throw nalu_size_length_error_c(required_bytes); } + unsigned int i; for (i = 0; i < nalu_size_length; i++) buffer[i] = (size >> (8 * (nalu_size_length - 1 - i))) & 0xff; } @@ -677,6 +715,9 @@ if ((NALU_TYPE_IDR_SLICE == ref.nalu_type) && (si.idr_pic_id != ref.idr_pic_id)) return true; + + if (NALU_TYPE_IDR_SLICE != ref.nalu_type) + return true; } if (si.frame_num != ref.frame_num) @@ -787,7 +828,7 @@ return; rbsp_to_nalu(nalu); - int i; + size_t i; for (i = 0; m_sps_info_list.size() > i; ++i) if (m_sps_info_list[i].id == sps_info.id) break; @@ -817,7 +858,7 @@ return; rbsp_to_nalu(nalu); - int i; + size_t i; for (i = 0; m_pps_info_list.size() > i; ++i) if (m_pps_info_list[i].id == pps_info.id) break; @@ -878,6 +919,9 @@ int type = *(nalu->get_buffer()) & 0x1f; + if (m_debug_nalu_types) + mxinfo(boost::format("NALU type 0x%|1$02x| (%2%) size %3%\n") % type % get_nalu_type_name(type) % nalu->get_size()); + switch (type) { case NALU_TYPE_SEQ_PARAM: flush_incomplete_frame(); @@ -931,7 +975,6 @@ slice_info_t &si) { try { bit_cursor_c r(buffer->get_buffer(), buffer->get_size()); - int sps_idx, pps_idx; memset(&si, 0, sizeof(si)); @@ -954,6 +997,7 @@ si.pps_id = geread(r); // pps_id + size_t pps_idx; for (pps_idx = 0; m_pps_info_list.size() > pps_idx; ++pps_idx) if (m_pps_info_list[pps_idx].id == si.pps_id) break; @@ -963,7 +1007,7 @@ } pps_info_t &pps = m_pps_info_list[pps_idx]; - + size_t sps_idx; for (sps_idx = 0; m_sps_info_list.size() > sps_idx; ++sps_idx) if (m_sps_info_list[sps_idx].id == pps.sps_id) break; @@ -1074,9 +1118,10 @@ if (0 == sps.pic_order_cnt_type) { j = 0; - int prev_pic_order_cnt_msb = 0; - int prev_pic_order_cnt_lsb = 0; - int pic_order_cnt_msb = -1; + unsigned int prev_pic_order_cnt_msb = 0; + unsigned int prev_pic_order_cnt_lsb = 0; + unsigned int pic_order_cnt_msb = 0; + bool first = true; while (m_frames.end() != i) { slice_info_t &si = i->m_si; @@ -1086,13 +1131,13 @@ return; } - if (-1 == pic_order_cnt_msb) - pic_order_cnt_msb = 0; + if (first) + first = false; - else if ((si.pic_order_cnt_lsb < prev_pic_order_cnt_lsb) && ((prev_pic_order_cnt_lsb - si.pic_order_cnt_lsb) >= (1 << (sps.log2_max_pic_order_cnt_lsb - 1)))) + else if ((si.pic_order_cnt_lsb < prev_pic_order_cnt_lsb) && ((prev_pic_order_cnt_lsb - si.pic_order_cnt_lsb) >= (1u << (sps.log2_max_pic_order_cnt_lsb - 1)))) pic_order_cnt_msb = prev_pic_order_cnt_msb + (1 << sps.log2_max_pic_order_cnt_lsb); - else if ((si.pic_order_cnt_lsb > prev_pic_order_cnt_lsb) && ((si.pic_order_cnt_lsb - prev_pic_order_cnt_lsb) > (1 << (sps.log2_max_pic_order_cnt_lsb - 1)))) + else if ((si.pic_order_cnt_lsb > prev_pic_order_cnt_lsb) && ((si.pic_order_cnt_lsb - prev_pic_order_cnt_lsb) > (1u << (sps.log2_max_pic_order_cnt_lsb - 1)))) pic_order_cnt_msb = prev_pic_order_cnt_msb - (1 << sps.log2_max_pic_order_cnt_lsb); else @@ -1116,8 +1161,8 @@ std::sort(poc.begin(), poc.end(), compare_poc_by_poc); - int num_frames = m_frames.size(); - int num_timecodes = m_timecodes.size(); + size_t num_frames = m_frames.size(); + size_t num_timecodes = m_timecodes.size(); for (j = 0; num_frames > j; ++j, ++t) { poc[j].timecode = *t; @@ -1230,3 +1275,28 @@ % calc_adler32(frame.m_data->get_buffer(), frame.m_data->get_size())); } } + +std::string +mpeg4::p10::avc_es_parser_c::get_nalu_type_name(int type) { + std::string name = m_nalu_names_by_type[type]; + if (name.empty()) + return "unknown"; + + return name; +} + +void +mpeg4::p10::avc_es_parser_c::init_nalu_names() { + m_nalu_names_by_type[NALU_TYPE_NON_IDR_SLICE] = "non IDR slice"; + m_nalu_names_by_type[NALU_TYPE_DP_A_SLICE] = "DP A slice"; + m_nalu_names_by_type[NALU_TYPE_DP_B_SLICE] = "DP B slice"; + m_nalu_names_by_type[NALU_TYPE_DP_C_SLICE] = "DP C slice"; + m_nalu_names_by_type[NALU_TYPE_IDR_SLICE] = "IDR slice"; + m_nalu_names_by_type[NALU_TYPE_SEI] = "SEI"; + m_nalu_names_by_type[NALU_TYPE_SEQ_PARAM] = "SEQ param"; + m_nalu_names_by_type[NALU_TYPE_PIC_PARAM] = "PIC param"; + m_nalu_names_by_type[NALU_TYPE_ACCESS_UNIT] = "access unit"; + m_nalu_names_by_type[NALU_TYPE_END_OF_SEQ] = "end of sequence"; + m_nalu_names_by_type[NALU_TYPE_END_OF_STREAM] = "end of stream"; + m_nalu_names_by_type[NALU_TYPE_FILLER_DATA] = "filler"; +} diff -Nru mkvtoolnix-4.0.0/src/common/mpeg4_p10.h mkvtoolnix-4.5.0+dfsg/src/common/mpeg4_p10.h --- mkvtoolnix-4.0.0/src/common/mpeg4_p10.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/mpeg4_p10.h 2011-01-31 20:34:09.000000000 +0000 @@ -51,31 +51,31 @@ namespace mpeg4 { namespace p10 { struct sps_info_t { - unsigned id; + unsigned int id; - unsigned profile_idc; - unsigned profile_compat; - unsigned level_idc; - unsigned log2_max_frame_num; - unsigned pic_order_cnt_type; - unsigned log2_max_pic_order_cnt_lsb; - int offset_for_non_ref_pic; - int offset_for_top_to_bottom_field; - unsigned num_ref_frames_in_pic_order_cnt_cycle; + unsigned int profile_idc; + unsigned int profile_compat; + unsigned int level_idc; + unsigned int log2_max_frame_num; + unsigned int pic_order_cnt_type; + unsigned int log2_max_pic_order_cnt_lsb; + unsigned int offset_for_non_ref_pic; + unsigned int offset_for_top_to_bottom_field; + unsigned int num_ref_frames_in_pic_order_cnt_cycle; bool delta_pic_order_always_zero_flag; bool frame_mbs_only; // vui: bool vui_present, ar_found; - unsigned par_num, par_den; + unsigned int par_num, par_den; // timing_info: bool timing_info_present; - unsigned num_units_in_tick, time_scale; + unsigned int num_units_in_tick, time_scale; bool fixed_frame_rate; - unsigned crop_left, crop_top, crop_right, crop_bottom; - unsigned width, height; + unsigned int crop_left, crop_top, crop_right, crop_bottom; + unsigned int width, height; uint32_t checksum; @@ -102,20 +102,22 @@ unsigned char nal_ref_idc; unsigned char type; unsigned char pps_id; - unsigned frame_num; + unsigned int frame_num; bool field_pic_flag, bottom_field_flag; - unsigned idr_pic_id; - unsigned pic_order_cnt_lsb; - int delta_pic_order_cnt_bottom; - int delta_pic_order_cnt[2]; - int first_mb_in_slice; + unsigned int idr_pic_id; + unsigned int pic_order_cnt_lsb; + unsigned int delta_pic_order_cnt_bottom; + unsigned int delta_pic_order_cnt[2]; + unsigned int first_mb_in_slice; - int sps; - int pps; + unsigned int sps; + unsigned int pps; slice_info_t() { memset(this, 0, sizeof(*this)); } + + void dump(); }; void MTX_DLL_API nalu_to_rbsp(memory_cptr &buffer); @@ -124,9 +126,9 @@ bool MTX_DLL_API parse_sps(memory_cptr &buffer, sps_info_t &sps, bool keep_ar_info = false); bool MTX_DLL_API parse_pps(memory_cptr &buffer, pps_info_t &pps); - bool MTX_DLL_API extract_par(uint8_t *&buffer, int &buffer_size, uint32_t &par_num, uint32_t &par_den); + bool MTX_DLL_API extract_par(uint8_t *&buffer, size_t &buffer_size, uint32_t &par_num, uint32_t &par_den); bool MTX_DLL_API is_avc_fourcc(const char *fourcc); - memory_cptr MTX_DLL_API avcc_to_nalus(const unsigned char *buffer, int size); + memory_cptr MTX_DLL_API avcc_to_nalus(const unsigned char *buffer, size_t size); struct avc_frame_t { memory_cptr m_data; @@ -210,7 +212,8 @@ bool m_ignore_nalu_size_length_errors, m_discard_actual_frames; std::vector<int> m_num_slices_by_type; - bool m_debug_keyframe_detection; + bool m_debug_keyframe_detection, m_debug_nalu_types; + std::map<int, std::string> m_nalu_names_by_type; public: avc_es_parser_c(); @@ -273,6 +276,10 @@ m_nalu_size_length = nalu_size_length; }; + int get_nalu_size_length() { + return m_nalu_size_length; + }; + void ignore_nalu_size_length_errors() { m_ignore_nalu_size_length_errors = true; }; @@ -285,6 +292,8 @@ void dump_info(); + std::string get_nalu_type_name(int type); + protected: bool parse_slice(memory_cptr &buffer, slice_info_t &si); void handle_sps_nalu(memory_cptr &nalu); @@ -296,8 +305,9 @@ bool flush_decision(slice_info_t &si, slice_info_t &ref); void flush_incomplete_frame(); void flush_unhandled_nalus(); - void write_nalu_size(unsigned char *buffer, int size, int nalu_size_length = -1); + void write_nalu_size(unsigned char *buffer, size_t size, int this_nalu_size_length = -1); memory_cptr create_nalu_with_size(const memory_cptr &src, bool add_extra_data = false); + void init_nalu_names(); }; typedef counted_ptr<avc_es_parser_c> avc_es_parser_cptr; }; diff -Nru mkvtoolnix-4.0.0/src/common/ogmstreams.h mkvtoolnix-4.5.0+dfsg/src/common/ogmstreams.h --- mkvtoolnix-4.0.0/src/common/ogmstreams.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/ogmstreams.h 2011-01-31 20:34:09.000000000 +0000 @@ -98,6 +98,20 @@ } sh; } stream_header; + +struct PACKED_STRUCTURE vp8_ogg_header_t { + uint8_t header_id; // VP8 Ogg header mapping ID 0x4f + uint32_t id; // VP8 Ogg mapping ID 0x56503830 ("VP80") + uint8_t header_type; // VP8 stream info header type 0x01 + uint8_t version_major; // Mapping major version + uint8_t version_minor; // Mapping minor version + uint16_t pixel_width; // Stored frame width + uint16_t pixel_height; // Stored frame height + uint8_t par_num[3]; // Pixel aspect ratio numerator + uint8_t par_den[3]; // Pixel aspect ratio denominator + uint32_t frame_rate_num; // Frame rate numerator + uint32_t frame_rate_den; // Frame rate denominator +}; #if defined(COMP_MSC) #pragma pack(pop) #endif diff -Nru mkvtoolnix-4.0.0/src/common/output.cpp mkvtoolnix-4.5.0+dfsg/src/common/output.cpp --- mkvtoolnix-4.0.0/src/common/output.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/output.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -32,6 +32,7 @@ using namespace libebml; +bool g_suppress_info = false; bool g_suppress_warnings = false; bool g_warning_issued = false; std::string g_stdio_charset; @@ -52,10 +53,13 @@ } void -mxmsg(int level, +mxmsg(unsigned int level, std::string message) { static bool s_saw_cr_after_nl = false; + if (g_suppress_info && (MXMSG_INFO == level)) + return; + if ('\n' == message[0]) { message.erase(0, 1); g_mm_stdio->puts("\n"); @@ -74,9 +78,12 @@ else if (level == MXMSG_DEBUG) g_mm_stdio->puts(g_cc_stdio->native(Y("Debug> "))); - int idx_cr = message.rfind('\r'); - if ((0 <= idx_cr) && (message.rfind('\n') < idx_cr)) - s_saw_cr_after_nl = true; + size_t idx_cr = message.rfind('\r'); + if (std::string::npos != idx_cr) { + size_t idx_nl = message.rfind('\n'); + if ((std::string::npos != idx_nl) && (idx_nl < idx_cr)) + s_saw_cr_after_nl = true; + } std::string output = g_cc_stdio->native(message); g_mm_stdio->puts(output); @@ -154,7 +161,7 @@ } void -mxverb_fn(int level, +mxverb_fn(unsigned int level, const std::string &file_name, const std::string &message) { if (verbose < level) @@ -164,7 +171,7 @@ } void -mxverb_tid(int level, +mxverb_tid(unsigned int level, const std::string &file_name, int64_t track_id, const std::string &message) { @@ -186,9 +193,9 @@ } void -mxhexdump(int level, +mxhexdump(unsigned int level, const void *buffer_to_dump, - int length) { + size_t length) { if (verbose < level) return; @@ -234,9 +241,9 @@ void dump_ebml_elements(EbmlElement *element, bool with_values, - int level) { + unsigned int level) { std::string indent_str, value_str; - int i; + size_t i; for (i = 1; i <= level; ++i) indent_str += " "; diff -Nru mkvtoolnix-4.0.0/src/common/output.h mkvtoolnix-4.5.0+dfsg/src/common/output.h --- mkvtoolnix-4.0.0/src/common/output.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/output.h 2011-01-31 20:34:09.000000000 +0000 @@ -26,7 +26,7 @@ using namespace libebml; class mm_io_c; -extern bool MTX_DLL_API g_suppress_warnings; +extern bool MTX_DLL_API g_suppress_info, g_suppress_warnings; extern std::string MTX_DLL_API g_stdio_charset; extern charset_converter_cptr MTX_DLL_API g_cc_stdio; extern counted_ptr<mm_io_c> MTX_DLL_API g_mm_stdio; @@ -37,9 +37,9 @@ void MTX_DLL_API init_cc_stdio(); void MTX_DLL_API set_cc_stdio(const std::string &charset); -void MTX_DLL_API mxmsg(int level, std::string message); +void MTX_DLL_API mxmsg(unsigned int level, std::string message); inline void -mxmsg(int level, +mxmsg(unsigned int level, const boost::format &message) { mxmsg(level, message.str()); } @@ -112,24 +112,24 @@ mxerror_tid(file_name, track_id, error.str()); } -void MTX_DLL_API mxverb_fn(int level, const std::string &file_name, const std::string &message); +void MTX_DLL_API mxverb_fn(unsigned int level, const std::string &file_name, const std::string &message); inline void -mxverb_fn(int level, +mxverb_fn(unsigned int level, const std::string &file_name, const boost::format &message) { mxverb_fn(level, file_name, message.str()); } -void MTX_DLL_API mxverb_tid(int level, const std::string &file_name, int64_t track_id, const std::string &message); +void MTX_DLL_API mxverb_tid(unsigned int level, const std::string &file_name, int64_t track_id, const std::string &message); inline void -mxverb_tid(int level, +mxverb_tid(unsigned int level, const std::string &file_name, int64_t track_id, const boost::format &message) { mxverb_tid(level, file_name, track_id, message.str()); } -void MTX_DLL_API mxhexdump(int level, const void *buffer_to_dump, int lenth); +void MTX_DLL_API mxhexdump(unsigned int level, const void *buffer_to_dump, size_t lenth); void MTX_DLL_API dump_ebml_elements(EbmlElement *element, bool with_values = false, int level = 0); diff -Nru mkvtoolnix-4.0.0/src/common/pgssup.h mkvtoolnix-4.5.0+dfsg/src/common/pgssup.h --- mkvtoolnix-4.0.0/src/common/pgssup.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/pgssup.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,27 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + definitions and helper functions for PGS/SUP subtitles + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __MTX_COMMON_PGSSUP_H +#define __MTX_COMMON_PGSSUP_H + +#include "common/os.h" + +#define PGSSUP_FILE_MAGIC 0x5047 // "PG" big endian +#define PGSSUP_PALETTE_SEGMENT 0x14 +#define PGSSUP_PICTURE_SEGMENT 0x15 +#define PGSSUP_PRESENTATION_SEGMENT 0x16 +#define PGSSUP_WINDOW_SEGMENT 0x17 +#define PGSSUP_DISPLAY_SEGMENT 0x80 + +#endif // __MTX_COMMON_PGSSUP_H + diff -Nru mkvtoolnix-4.0.0/src/common/Rakefile mkvtoolnix-4.5.0+dfsg/src/common/Rakefile --- mkvtoolnix-4.0.0/src/common/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/common/random.cpp mkvtoolnix-4.5.0+dfsg/src/common/random.cpp --- mkvtoolnix-4.0.0/src/common/random.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/random.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -32,7 +32,7 @@ void random_c::generate_bytes(void *destination, - int num_bytes) { + size_t num_bytes) { UUID uuid; if (!m_seeded) { @@ -64,7 +64,7 @@ m_tried_uuidcreate = true; } - int num_written = 0; + size_t num_written = 0; while (num_written < num_bytes) { if (m_use_uuidcreate) { RPC_STATUS status = UuidCreate(&uuid); @@ -92,9 +92,7 @@ void random_c::generate_bytes(void *destination, - int num_bytes) { - int i; - + size_t num_bytes) { try { if (!m_tried_dev_urandom) { m_tried_dev_urandom = true; @@ -113,6 +111,7 @@ m_seeded = true; } + unsigned int i; for (i = 0; i < num_bytes; ++i) ((unsigned char *)destination)[i] = (unsigned char)(256.0 * rand() / (RAND_MAX + 1.0)); } @@ -123,16 +122,16 @@ void random_c::test() { uint32_t ranges[16]; - const int num = 1000000; + const unsigned int num = 1000000; - int i; + unsigned int i; for (i = 0; 16 > i; ++i) ranges[i] = 0; for (i = 0; num > i; ++i) { uint32_t n = random_c::generate_32bits(); bool found = false; - int k; + unsigned int k; for (k = 1; 15 >= k; ++k) if (n < (k * 0x10000000)) { ++ranges[k - 1]; @@ -156,7 +155,7 @@ for (i = 0; num > i; i++) { uint32_t n = random_c::generate_32bits(); bool found = false; - int k; + unsigned int k; for (k = 1; 15 >= k; ++k) if (n < (k * 0x10000000)) { ++ranges[k - 1]; diff -Nru mkvtoolnix-4.0.0/src/common/random.h mkvtoolnix-4.5.0+dfsg/src/common/random.h --- mkvtoolnix-4.0.0/src/common/random.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/random.h 2011-01-31 20:34:09.000000000 +0000 @@ -31,7 +31,7 @@ #endif public: - static void generate_bytes(void *destination, int num_bytes); + static void generate_bytes(void *destination, size_t num_bytes); static uint8_t generate_8bits() { uint8_t b; diff -Nru mkvtoolnix-4.0.0/src/common/segment_tracks.cpp mkvtoolnix-4.5.0+dfsg/src/common/segment_tracks.cpp --- mkvtoolnix-4.0.0/src/common/segment_tracks.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/segment_tracks.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -49,7 +49,7 @@ GetChild<KaxContentEncodingScope>(encoding); GetChild<KaxContentEncodingType>(encoding); - int i; + size_t i; for (i = 0; encoding->ListSize() > i; ++i) { EbmlElement *e = (*encoding)[i]; @@ -60,7 +60,7 @@ static void fix_mandatory_content_encodings_elements(KaxContentEncodings *encodings) { - int i; + size_t i; for (i = 0; encodings->ListSize() > i; ++i) { EbmlElement *e = (*encodings)[i]; @@ -84,7 +84,7 @@ GetChild<KaxCodecID>(track_entry); GetChild<KaxCodecDecodeAll>(track_entry); - int i; + size_t i; for (i = 0; track_entry->ListSize() > i; ++i) { EbmlElement *e = (*track_entry)[i]; @@ -119,7 +119,7 @@ if (NULL == tracks) return; - int i; + size_t i; for (i = 0; tracks->ListSize() > i; ++i) { e = (*tracks)[i]; diff -Nru mkvtoolnix-4.0.0/src/common/stereo_mode.cpp mkvtoolnix-4.5.0+dfsg/src/common/stereo_mode.cpp --- mkvtoolnix-4.0.0/src/common/stereo_mode.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/stereo_mode.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,89 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + the stereo mode helper + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include "common/stereo_mode.h" + +#include <sstream> +#include <string> +#include <vector> + +std::vector<std::string> stereo_mode_c::s_modes, stereo_mode_c::s_translations; + +void +stereo_mode_c::init() { + s_modes.push_back("mono"); + s_modes.push_back("side_by_side_left_first"); + s_modes.push_back("top_bottom_right_first"); + s_modes.push_back("top_bottom_left_first"); + s_modes.push_back("checkboard_right_first"); + s_modes.push_back("checkboard_left_first"); + s_modes.push_back("row_interleaved_right_first"); + s_modes.push_back("row_interleaved_left_first"); + s_modes.push_back("column_interleaved_right_first"); + s_modes.push_back("column_interleaved_left_first"); + s_modes.push_back("anaglyph"); + s_modes.push_back("side_by_side_right_first"); +} + +void +stereo_mode_c::init_translations() { + if (!s_translations.empty()) + return; + + s_translations.push_back(Y("mono")); + s_translations.push_back(Y("side by side (left first)")); + s_translations.push_back(Y("top bottom (right first)")); + s_translations.push_back(Y("top bottom (left first)")); + s_translations.push_back(Y("checkboard (right first)")); + s_translations.push_back(Y("checkboard (left first)")); + s_translations.push_back(Y("row interleaved (right first)")); + s_translations.push_back(Y("row interleaved (left first)")); + s_translations.push_back(Y("column interleaved (right first)")); + s_translations.push_back(Y("column interleaved (left first)")); + s_translations.push_back(Y("anaglyph")); + s_translations.push_back(Y("side by side (right first)")); +} + +const std::string +stereo_mode_c::translate(unsigned int mode) { + init_translations(); + return mode < s_translations.size() ? s_translations[mode] : Y("unknown"); +} + +stereo_mode_c::mode +stereo_mode_c::parse_mode(const std::string &mode) { + unsigned int idx; + for (idx = 0; s_modes.size() > idx; ++idx) + if (s_modes[idx] == mode) + return static_cast<stereo_mode_c::mode>(idx); + return invalid; +} + +const std::string +stereo_mode_c::displayable_modes_list() { + std::stringstream keywords_str; + foreach(const std::string &keyword, s_modes) { + if (!keywords_str.str().empty()) + keywords_str << ", "; + keywords_str << "'" << keyword << "'"; + } + + return keywords_str.str(); +} + +bool +stereo_mode_c::valid_index(int idx) { + return (0 <= idx) && (static_cast<int>(s_modes.size()) > idx); +} diff -Nru mkvtoolnix-4.0.0/src/common/stereo_mode.h mkvtoolnix-4.5.0+dfsg/src/common/stereo_mode.h --- mkvtoolnix-4.0.0/src/common/stereo_mode.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/stereo_mode.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,54 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + class definition for the stereo mode helper + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __MTX_COMMON_STEREO_MODE_H +#define __MTX_COMMON_STEREO_MODE_H + +#include "common/common_pch.h" + +#include <string> + +class stereo_mode_c { +public: + static std::vector<std::string> s_modes, s_translations; + + enum mode { + invalid = -1, + unspecified = -1, + mono = 0, + side_by_side_left_first = 1, + top_bottom_right_first = 2, + top_bottom_left_first = 3, + checkboard_right_first = 4, + checkboard_left_first = 5, + row_interleaved_right_first = 6, + row_interleaved_left_first = 7, + column_interleaved_right_first = 8, + column_interleaved_left_first = 9, + anaglyph = 10, + side_by_side_right_first = 11, + }; + + static void init(); + static void init_translations(); + static const std::string translate(unsigned int mode); + static const std::string displayable_modes_list(); + static mode parse_mode(const std::string &str); + static bool valid_index(int index); + static unsigned int max_index() { + return 11; + }; +}; + +#endif // __MTX_COMMON_STEREO_MODE_H + diff -Nru mkvtoolnix-4.0.0/src/common/strings/editing.cpp mkvtoolnix-4.5.0+dfsg/src/common/strings/editing.cpp --- mkvtoolnix-4.0.0/src/common/strings/editing.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/editing.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -49,12 +49,11 @@ std::string join(const char *pattern, const std::vector<std::string> &strings) { - std::string dst; - int i; - if (strings.empty()) return ""; - dst = strings[0]; + + std::string dst = strings[0]; + size_t i; for (i = 1; i < strings.size(); i++) { dst += pattern; dst += strings[i]; @@ -103,7 +102,7 @@ void strip(std::vector<std::string> &v, bool newlines) { - int i; + size_t i; for (i = 0; i < v.size(); i++) strip(v[i], newlines); @@ -111,11 +110,8 @@ std::string & shrink_whitespace(std::string &s) { - int i; - bool previous_was_whitespace; - - i = 0; - previous_was_whitespace = false; + size_t i = 0; + bool previous_was_whitespace = false; while (s.length() > i) { if (!isblanktab(s[i])) { previous_was_whitespace = false; @@ -147,6 +143,8 @@ dst += "\\s"; else if (*src == ':') dst += "\\c"; + else if (*src == '#') + dst += "\\h"; else dst += *src; } @@ -172,6 +170,8 @@ dst += ' '; else if (*next_char == 'c') dst += ':'; + else if (*next_char == 'h') + dst += '#'; else dst += *next_char; src++; @@ -218,7 +218,7 @@ std::string upcase(const std::string &s) { std::string dst; - int i; + size_t i; dst.reserve(s.size()); for (i = 0; i < s.size(); i++) @@ -230,7 +230,7 @@ std::string downcase(const std::string &s) { std::string dst; - int i; + size_t i; dst.reserve(s.size()); for (i = 0; i < s.size(); i++) @@ -264,9 +264,9 @@ : ((c & 0xf8) == 0xf0) ? 4 : ((c & 0xfc) == 0xf8) ? 5 : ((c & 0xfe) == 0xfc) ? 6 - : -1; + : 99; - if (-1 == num_bytes) + if (99 == num_bytes) mxerror(boost::format(Y("utf8_strlen(): Invalid UTF-8 char. First byte: 0x%|1$02x|")) % static_cast<unsigned int>(c)); ++length; diff -Nru mkvtoolnix-4.0.0/src/common/strings/formatting.cpp mkvtoolnix-4.5.0+dfsg/src/common/strings/formatting.cpp --- mkvtoolnix-4.0.0/src/common/strings/formatting.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/formatting.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -70,7 +70,7 @@ to_string(double value, unsigned int precision) { int64_t scale = 1; - for (int i = 0; i < precision; ++i) + for (size_t i = 0; i < precision; ++i) scale *= 10; return to_string((int64_t)(value * scale), scale, precision); @@ -193,9 +193,9 @@ size_t word_length = get_width_in_em(word); size_t new_column = current_column + (needs_space_now ? 0 : 1) + word_length; - if (break_anywhere && (new_column >= wrap_column)) { + if (break_anywhere && (new_column >= static_cast<size_t>(wrap_column))) { size_t offset = 0; - while (((word_end - 1) > word_start) && ((128 > text_to_wrap[word_end - 1]) || ((new_column - offset) >= wrap_column))) { + while (((word_end - 1) > word_start) && ((128 > text_to_wrap[word_end - 1]) || ((new_column - offset) >= static_cast<size_t>(wrap_column)))) { offset += get_width_in_em(text_to_wrap[word_end - 1]); word_end -= 1; } @@ -208,7 +208,7 @@ word.erase(word_end - word_start); } - if (!first_word_in_line && (new_column >= wrap_column)) { + if (!first_word_in_line && (new_column >= static_cast<size_t>(wrap_column))) { text += L"\n" + indent_following_lines; current_column = indent_column; first_word_in_line = true; diff -Nru mkvtoolnix-4.0.0/src/common/strings/Makefile.in mkvtoolnix-4.5.0+dfsg/src/common/strings/Makefile.in --- mkvtoolnix-4.0.0/src/common/strings/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/common/strings/parsing.cpp mkvtoolnix-4.5.0+dfsg/src/common/strings/parsing.cpp --- mkvtoolnix-4.0.0/src/common/strings/parsing.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/parsing.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -131,8 +131,8 @@ // HH: is optional; HH, MM and SS can be either one or two digits. // 2. HH:MM:SS:nnnnnnnnn with up to nine digits 'n' for ns precision; // HH: is optional; HH, MM and SS can be either one or two digits. - int h, m, s, n, i, values[4], num_values, num_digits, num_colons; - int offset = 0, negative = 1; + int h, m, s, n, values[4], num_values, num_digits, num_colons; + size_t offset = 0, negative = 1, i; bool decimal_point_found; if (src.empty()) @@ -152,8 +152,8 @@ std::string unit = src.substr(src.length() - 2, 2); int64_t multiplier = 1000000000; - int unit_length = 2; - int64_t value = 0; + size_t unit_length = 2; + int64_t value = 0; if (unit == "ms") multiplier = 1000000; diff -Nru mkvtoolnix-4.0.0/src/common/strings/Rakefile mkvtoolnix-4.5.0+dfsg/src/common/strings/Rakefile --- mkvtoolnix-4.0.0/src/common/strings/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/common/strings/utf8.cpp mkvtoolnix-4.5.0+dfsg/src/common/strings/utf8.cpp --- mkvtoolnix-4.0.0/src/common/strings/utf8.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/strings/utf8.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -237,11 +237,14 @@ || ((0x00ff01 <= c) && (0x00ff60 >= c)) || ((0x00ffe0 <= c) && (0x00ffe6 >= c)) || (0x00fffd == c) +#if !defined(SYS_WINDOWS) || ((0x020000 <= c) && (0x02a6d7 >= c)) || ((0x02f800 <= c) && (0x02fa1e >= c)) || ((0x030000 <= c) && (0x03fffd >= c)) || ((0x0e0100 <= c) && (0x0e01ef >= c)) || ((0x0f0000 <= c) && (0x0ffffd >= c)) - || ((0x100000 <= c) && (0x10fffd >= c))) + || ((0x100000 <= c) && (0x10fffd >= c)) +#endif + ) ? 2 : 1; } diff -Nru mkvtoolnix-4.0.0/src/common/tags/Makefile.in mkvtoolnix-4.5.0+dfsg/src/common/tags/Makefile.in --- mkvtoolnix-4.0.0/src/common/tags/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/tags/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/common/tags/Rakefile mkvtoolnix-4.5.0+dfsg/src/common/tags/Rakefile --- mkvtoolnix-4.0.0/src/common/tags/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/tags/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/common/tags/tags.cpp mkvtoolnix-4.5.0+dfsg/src/common/tags/tags.cpp --- mkvtoolnix-4.0.0/src/common/tags/tags.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/tags/tags.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -54,7 +54,7 @@ } if (dynamic_cast<EbmlMaster *>(e) != NULL) { - int i; + size_t i; EbmlMaster *m = static_cast<EbmlMaster *>(e); for (i = 0; m->ListSize() > i; i++) @@ -66,7 +66,7 @@ select_tags_for_chapters(KaxTags &tags, KaxChapters &chapters) { KaxTags *new_tags = NULL; - int tags_idx; + size_t tags_idx; for (tags_idx = 0; tags_idx < tags.ListSize(); tags_idx++) { if (dynamic_cast<KaxTag *>(tags[tags_idx]) == NULL) continue; @@ -75,7 +75,7 @@ KaxTagTargets *targets = FINDFIRST(static_cast<EbmlMaster *>(tags[tags_idx]), KaxTagTargets); if (NULL != targets) { - int targets_idx; + size_t targets_idx; for (targets_idx = 0; targets_idx < targets->ListSize(); targets_idx++) { KaxTagEditionUID *t_euid = dynamic_cast<KaxTagEditionUID *>((*targets)[targets_idx]); if ((NULL != t_euid) && (find_edition_with_uid(chapters, uint64(*t_euid)) == NULL)) { @@ -110,7 +110,6 @@ KaxTagSimple & find_simple_tag(const UTFstring &name, EbmlMaster &m) { - int i; std::string rvalue; if (EbmlId(m) == EBML_ID(KaxTagSimple)) { @@ -119,6 +118,7 @@ return *static_cast<KaxTagSimple *>(&m); } + size_t i; for (i = 0; i < m.ListSize(); i++) if ((EbmlId(*m[i]) == EBML_ID(KaxTag)) || (EbmlId(*m[i]) == EBML_ID(KaxTagSimple))) { try { @@ -219,7 +219,7 @@ } catch (...) { } - int tags_idx; + size_t tags_idx; for (tags_idx = 0; tags_idx < tags.ListSize(); tags_idx++) { if (!is_id(tags[tags_idx], KaxTag)) continue; @@ -227,7 +227,7 @@ KaxTag &tag = *static_cast<KaxTag *>(tags[tags_idx]); int target_type_value = TAG_TARGETTYPE_TRACK; - int tag_idx = 0; + size_t tag_idx = 0; while (tag_idx < tag.ListSize()) { tag_idx++; if (!is_id(tag[tag_idx - 1], KaxTagSimple)) @@ -264,7 +264,7 @@ static int count_simple_tags_recursively(EbmlMaster &master, int count) { - int master_idx; + size_t master_idx; for (master_idx = 0; master.ListSize() > master_idx; ++master_idx) if (is_id(master[master_idx], KaxTagSimple)) diff -Nru mkvtoolnix-4.0.0/src/common/tags/writer.cpp mkvtoolnix-4.5.0+dfsg/src/common/tags/writer.cpp --- mkvtoolnix-4.0.0/src/common/tags/writer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/tags/writer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -21,7 +21,7 @@ void write_tags_xml(KaxTags &tags, mm_io_c *out) { - int i; + size_t i; for (i = 0; NULL != tag_elements[i].name; i++) { tag_elements[i].start_hook = NULL; diff -Nru mkvtoolnix-4.0.0/src/common/terminal.cpp mkvtoolnix-4.5.0+dfsg/src/common/terminal.cpp --- mkvtoolnix-4.0.0/src/common/terminal.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/terminal.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -15,9 +15,9 @@ #if defined(HAVE_TIOCGWINSZ) # include <termios.h> -# if defined(GWINSZ_IN_SYS_IOCTL) +# if defined(HAVE_SYS_IOCTL_H) || defined(GWINSZ_IN_SYS_IOCTL) # include <sys/ioctl.h> -# endif // GWINSZ_IN_SYS_IOCTL +# endif // HAVE_SYS_IOCTL_H || GWINSZ_IN_SYS_IOCTL #endif // HAVE_TIOCGWINSZ #include "common/terminal.h" diff -Nru mkvtoolnix-4.0.0/src/common/translation.cpp mkvtoolnix-4.5.0+dfsg/src/common/translation.cpp --- mkvtoolnix-4.0.0/src/common/translation.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/translation.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -56,6 +56,8 @@ ms_available_translations.push_back(translation_c("en_US", "en", "english", "English", "English", false)); #if defined(HAVE_LIBINTL_H) ms_available_translations.push_back(translation_c("de_DE", "de", "german", "German", "Deutsch", false)); + ms_available_translations.push_back(translation_c("es_ES", "es", "spanish", "Spanish", "Español", false)); + ms_available_translations.push_back(translation_c("fr_FR", "fr", "french", "French", "Français", false)); ms_available_translations.push_back(translation_c("ja_JP", "ja", "japanese", "Japanese", "日本語", true)); ms_available_translations.push_back(translation_c("nl_NL", "nl", "dutch", "Dutch", "Nederlands", false)); ms_available_translations.push_back(translation_c("ru_RU", "ru", "russian", "Russian", "Русский", false)); diff -Nru mkvtoolnix-4.0.0/src/common/unique_numbers.cpp mkvtoolnix-4.5.0+dfsg/src/common/unique_numbers.cpp --- mkvtoolnix-4.0.0/src/common/unique_numbers.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/unique_numbers.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -46,7 +46,7 @@ if (hack_engaged(ENGAGE_NO_VARIABLE_DATA)) return true; - int i; + size_t i; for (i = 0; s_random_unique_numbers[category].size() > i; ++i) if (s_random_unique_numbers[category][i] == number) return false; diff -Nru mkvtoolnix-4.0.0/src/common/version.cpp mkvtoolnix-4.5.0+dfsg/src/common/version.cpp --- mkvtoolnix-4.0.0/src/common/version.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/version.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -15,15 +15,125 @@ #include <boost/regex.hpp> +#if defined(HAVE_CURL_EASY_H) +# include <boost/property_tree/ptree.hpp> +# include <boost/property_tree/xml_parser.hpp> +# include <sstream> + +# include "common/curl.h" +#endif // defined(HAVE_CURL_EASY_H) + +#include "common/debugging.h" +#include "common/strings/formatting.h" #include "common/strings/parsing.h" #include "common/version.h" -#define VERSIONNAME "The Stars were mine" +#define VERSIONNAME "Speed of Light" + +version_number_t::version_number_t() + : valid(false) +{ + memset(parts, 0, 5 * sizeof(unsigned int)); +} + +version_number_t::version_number_t(const std::string &s) + : valid(false) +{ + memset(parts, 0, 5 * sizeof(unsigned int)); + + if (debugging_requested("version_check")) + mxinfo(boost::format("version check: Parsing %1%\n") % s); + + // Match the following: + // 4.4.0 + // 4.4.0.5 build 123 + // 4.4.0-build20101201-123 + // mkvmerge v4.4.0 + // * Optional prefix "mkvmerge v" + // * At least three digits separated by dots + // * Optional fourth digit separated by a dot + // * Optional build number that can have two forms: + // - " build nnn" + // - "-buildYYYYMMDD-nnn" (date is ignored) + static boost::regex s_version_number_re("^ (?: mkv[a-z]+ \\s+ v)?" // Optional prefix mkv... v + "(\\d+) \\. (\\d+) \\. (\\d+)" // Three digitss separated by dots; $1 - $3 + "(?: \\. (\\d+) )?" // Optional fourth digit separated by a dot; $4 + "(?:" // Optional build number including its prefix + " (?: \\s* build \\s*" // Build number prefix: either " build " or... + " | - build \\d{8} - )" // ... "-buildYYYYMMDD-" + " (\\d+)" // The build number itself; $5 + ")?", + boost::regex::perl | boost::regex::mod_x); + + boost::match_results<std::string::const_iterator> matches; + if (!boost::regex_search(s, matches, s_version_number_re)) + return; + + size_t idx; + for (idx = 1; 5 >= idx; ++idx) + if (!matches[idx].str().empty()) + parse_uint(matches[idx].str(), parts[idx - 1]); + + valid = true; + + if (debugging_requested("version_check")) + mxinfo(boost::format("version check: parse OK; result: %1%\n") % to_string()); +} + +version_number_t::version_number_t(const version_number_t &v) { + memcpy(parts, v.parts, 5 * sizeof(unsigned int)); + valid = v.valid; +} + +int +version_number_t::compare(const version_number_t &cmp) + const +{ + size_t idx; + for (idx = 0; 5 > idx; ++idx) + if (parts[idx] < cmp.parts[idx]) + return -1; + else if (parts[idx] > cmp.parts[idx]) + return 1; + return 0; +} + +bool +version_number_t::operator <(const version_number_t &cmp) + const +{ + return compare(cmp) == -1; +} + +std::string +version_number_t::to_string() + const +{ + if (!valid) + return "<invalid>"; + + std::string v = ::to_string(parts[0]) + "." + ::to_string(parts[1]) + "." + ::to_string(parts[2]); + if (0 != parts[3]) + v += "." + ::to_string(parts[3]); + if (0 != parts[4]) + v += " build " + ::to_string(parts[4]); + + return v; +} + +mtx_release_version_t::mtx_release_version_t() + : current_version(get_current_version()) + , valid(false) +{ +} std::string get_version_info(const std::string &program, bool full) { - std::string short_version_info = (boost::format("%1% v%2% ('%3%')") % program % VERSION % VERSIONNAME).str(); + std::string short_version_info; + if (!program.empty()) + short_version_info += program + " "; + short_version_info += (boost::format("v%1% ('%2%')") % VERSION % VERSIONNAME).str(); #if !defined(HAVE_BUILD_TIMESTAMP) return short_version_info; #else // !defined(HAVE_BUILD_TIMESTAMP) @@ -34,33 +144,56 @@ #endif // !defined(HAVE_BUILD_TIMESTAMP) } -static unsigned int -_parse_version_number(const std::string &version_str) { - static boost::regex s_version_number_re("(\\d+)\\.(\\d+)\\.(\\d+)\(?:\\.(\\d+))?", boost::regex::perl); +int +compare_current_version_to(const std::string &other_version_str) { + return version_number_t(VERSION).compare(version_number_t(other_version_str)); +} - boost::match_results<std::string::const_iterator> matches; - if (!boost::regex_search(version_str, matches, s_version_number_re)) - return 0; +version_number_t +get_current_version() { + return version_number_t(VERSION); +} - unsigned int version = 0, idx; - for (idx = 1; 4 >= idx; ++idx) { - version <<= 8; - if (!matches[idx].str().empty()) { - uint32_t number = 0; - parse_uint(matches[idx].str(), number); - version += number; - } +#if defined(HAVE_CURL_EASY_H) +mtx_release_version_t +get_latest_release_version() { + if (debugging_requested("version_check")) + mxinfo(boost::format("Update check started with URL %1%\n") % MTX_VERSION_CHECK_URL); + + mtx_release_version_t release; + std::string data; + CURLcode result = retrieve_via_curl(MTX_VERSION_CHECK_URL, data); + + if (0 != result) { + if (debugging_requested("version_check")) + mxinfo(boost::format("Update check CURL error: %1%\n") % static_cast<unsigned int>(result)); + return release; } - return version; -} + if (debugging_requested("version_check")) + mxinfo(boost::format("Update check OK; data length %1%\n") % data.length()); -int -compare_current_version_to(const std::string &other_version_str) { - unsigned int my_version = _parse_version_number(VERSION); - unsigned int other_version = _parse_version_number(other_version_str); + try { + std::stringstream data_in(data); + boost::property_tree::ptree pt; + boost::property_tree::read_xml(data_in, pt); + + release.latest_source = version_number_t(pt.get("mkvtoolnix-releases.latest-source.version", std::string(""))); + release.latest_windows_build = version_number_t(pt.get("mkvtoolnix-releases.latest-windows-pre.version", std::string("")) + + " build " + + pt.get("mkvtoolnix-releases.latest-windows-pre.build", std::string(""))); + release.source_download_url = pt.get("mkvtoolnix-releases.latest-source.url", std::string("")); + release.windows_build_download_url = pt.get("mkvtoolnix-releases.latest-windows-pre.url", std::string("")); + release.valid = release.latest_source.valid; + + } catch (boost::property_tree::ptree_error &error) { + release.valid = false; + } + + if (debugging_requested("version_check")) + mxinfo(boost::format("update check: current %1% latest source %2% latest winpre %3%\n") + % release.current_version.to_string() % release.latest_source.to_string() % release.latest_windows_build.to_string()); - return my_version < other_version ? -1 - : my_version > other_version ? +1 - : 0; + return release; } +#endif // defined(HAVE_CURL_EASY_H) diff -Nru mkvtoolnix-4.0.0/src/common/version.h mkvtoolnix-4.5.0+dfsg/src/common/version.h --- mkvtoolnix-4.0.0/src/common/version.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/version.h 2011-01-31 20:34:09.000000000 +0000 @@ -16,7 +16,37 @@ #include <string> +#define MTX_VERSION_CHECK_URL "http://mkvtoolnix-releases.bunkus.org/latest-release.xml" +#define MTX_VERSION_INFO_URL "http://mkvtoolnix-releases.bunkus.org/releases.xml" + +struct version_number_t { + unsigned int parts[5]; + bool valid; + + version_number_t(); + version_number_t(const std::string &s); + version_number_t(const version_number_t &v); + + bool operator <(const version_number_t &cmp) const; + int compare(const version_number_t &cmp) const; + + std::string to_string() const; +}; + +struct mtx_release_version_t { + version_number_t current_version, latest_source, latest_windows_build; + std::string source_download_url, windows_build_download_url; + bool valid; + + mtx_release_version_t(); +}; + std::string MTX_DLL_API get_version_info(const std::string &program, bool full = false); int MTX_DLL_API compare_current_version_to(const std::string &other_version_str); +version_number_t MTX_DLL_API get_current_version(); + +# if defined(HAVE_CURL_EASY_H) +mtx_release_version_t MTX_DLL_API get_latest_release_version(); +# endif // defined(HAVE_CURL_EASY_H) #endif // __MTX_COMMON_VERSION_H diff -Nru mkvtoolnix-4.0.0/src/common/wavpack.cpp mkvtoolnix-4.5.0+dfsg/src/common/wavpack.cpp --- mkvtoolnix-4.0.0/src/common/wavpack.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/wavpack.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -68,8 +68,7 @@ } else bleft = 0; - if (mm_io->read(buffer + bleft, sizeof(*wphdr) - bleft) != - (long)sizeof(*wphdr) - bleft) + if (mm_io->read(buffer + bleft, sizeof(*wphdr) - bleft) != static_cast<unsigned int>(sizeof(*wphdr) - bleft)) return -1; sp = buffer; diff -Nru mkvtoolnix-4.0.0/src/common/xml/element_parser.cpp mkvtoolnix-4.5.0+dfsg/src/common/xml/element_parser.cpp --- mkvtoolnix-4.0.0/src/common/xml/element_parser.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/xml/element_parser.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -71,10 +71,10 @@ EbmlElement *el, uint64_t min_value = 0, bool is_bool = false) { - int64 value; + uint64_t value; strip(pdata->bin); - if (!parse_int(pdata->bin.c_str(), value)) + if (!parse_uint(pdata->bin.c_str(), value)) xmlp_error(pdata, boost::format(Y("Expected an unsigned integer but found '%1%'.")) % pdata->bin); if (value < min_value) @@ -273,7 +273,7 @@ if (NULL != callbacks) { const EbmlSemanticContext &context = EBML_INFO_CONTEXT(*callbacks); - int i; + size_t i; for (i = 0; i < EBML_CTX_SIZE(context); i++) if (pdata->mapping[elt_idx].id == EBML_CTX_IDX_ID(context,i)) { found = true; @@ -289,7 +289,7 @@ EbmlMaster *m = dynamic_cast<EbmlMaster *>(xmlp_pelt); assert(NULL != m); - int i; + size_t i; for (i = 0; i < m->ListSize(); i++) if (EbmlId(*(*m)[i]) == pdata->mapping[elt_idx].id) xmlp_error(pdata, boost::format(Y("Only one instance of <%1%> is allowed beneath <%2%>.")) % name % pdata->mapping[parent_idx].name); @@ -574,12 +574,12 @@ if ((XMLP_STATE_AFTER_HEADER == m_xml_parser_state) || (BO_NONE == m_xml_source->get_byte_order())) return; - int pos = 0; + size_t pos = 0; std::string new_line; if (XMLP_STATE_INITIAL == m_xml_parser_state) { pos = line.find("<?xml"); - if (0 > pos) + if (std::string::npos == pos) return; m_xml_parser_state = XMLP_STATE_ATTRIBUTE_NAME; pos += 5; diff -Nru mkvtoolnix-4.0.0/src/common/xml/element_writer.cpp mkvtoolnix-4.5.0+dfsg/src/common/xml/element_writer.cpp --- mkvtoolnix-4.0.0/src/common/xml/element_writer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/xml/element_writer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -87,7 +87,7 @@ mm_io_c *out, const parser_element_t *element_map) { EbmlMaster *m; - int elt_idx, i; + size_t elt_idx, i; bool found; std::string s; diff -Nru mkvtoolnix-4.0.0/src/common/xml/Makefile.in mkvtoolnix-4.5.0+dfsg/src/common/xml/Makefile.in --- mkvtoolnix-4.0.0/src/common/xml/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/xml/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/common/xml/Rakefile mkvtoolnix-4.5.0+dfsg/src/common/xml/Rakefile --- mkvtoolnix-4.0.0/src/common/xml/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/common/xml/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/extract/attachments.cpp mkvtoolnix-4.5.0+dfsg/src/extract/attachments.cpp --- mkvtoolnix-4.0.0/src/extract/attachments.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/attachments.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -33,68 +33,92 @@ using namespace libmatroska; +struct attachment_t { + std::string name, type; + int64_t size, id; + KaxFileData *fdata; + bool valid; + + attachment_t() + : size(-1) + , id(-1) + , fdata(NULL) + , valid(false) + { + }; + + attachment_t &parse(KaxAttached &att); + static attachment_t parse_new(KaxAttached &att); +}; + +attachment_t +attachment_t::parse_new(KaxAttached &att) { + attachment_t attachment; + return attachment.parse(att); +} + +attachment_t & +attachment_t::parse(KaxAttached &att) { + size_t k; + for (k = 0; att.ListSize() > k; ++k) { + EbmlElement *e = att[k]; + + if (EbmlId(*e) == EBML_ID(KaxFileName)) + name = UTFstring_to_cstrutf8(UTFstring(*static_cast<KaxFileName *>(e))); + + else if (EbmlId(*e) == EBML_ID(KaxMimeType)) + type = std::string(*static_cast<KaxMimeType *>(e)); + + else if (EbmlId(*e) == EBML_ID(KaxFileUID)) + id = uint32(*static_cast<KaxFileUID *>(e)); + + else if (EbmlId(*e) == EBML_ID(KaxFileData)) { + fdata = (KaxFileData *)e; + size = fdata->GetSize(); + } + } + + valid = (-1 != id) && (-1 != size) && !type.empty(); + + return *this; +} + static void handle_attachments(KaxAttachments *atts, std::vector<track_spec_t> &tracks) { - static int64_t attachment_ui_id = 0; + int64_t attachment_ui_id = 0; + std::map<int64_t, attachment_t> attachments; - int i; + size_t i; for (i = 0; atts->ListSize() > i; ++i) { - KaxAttached *att = dynamic_cast<KaxAttached *>((*atts)[i]); + KaxAttached *att = dynamic_cast<KaxAttached *>((*atts)[i]); assert(NULL != att); - std::string name, type; - int64_t size = -1; - int64_t id = -1; - KaxFileData *fdata = NULL; - - int k; - for (k = 0; att->ListSize() > k; ++k) { - EbmlElement *e = (*att)[k]; - - if (EbmlId(*e) == EBML_ID(KaxFileName)) - name = UTFstring_to_cstrutf8(UTFstring(*static_cast<KaxFileName *>(e))); - - else if (EbmlId(*e) == EBML_ID(KaxMimeType)) - type = std::string(*static_cast<KaxMimeType *>(e)); - - else if (EbmlId(*e) == EBML_ID(KaxFileUID)) - id = uint32(*static_cast<KaxFileUID *>(e)); - - else if (EbmlId(*e) == EBML_ID(KaxFileData)) { - fdata = (KaxFileData *)e; - size = fdata->GetSize(); - } + attachment_t attachment = attachment_t::parse_new(*att); + if (!attachment.valid) + continue; - } + ++attachment_ui_id; + attachments[attachment_ui_id] = attachment; + } - if ((-1 != id) && (-1 != size) && !type.empty()) { - ++attachment_ui_id; + foreach(track_spec_t &track, tracks) { + attachment_t attachment = attachments[ track.tid ]; - bool found = false; + if (!attachment.valid) + mxerror(boost::format(Y("An attachment with the ID %1% was not found.\n")) % track.tid); - for (k = 0; k < tracks.size(); k++) - if (tracks[k].tid == attachment_ui_id) { - found = true; - break; - } - - if (found && !tracks[k].done) { - // check for output name - if (tracks[k].out_name.empty()) - tracks[k].out_name = name; - - mxinfo(boost::format(Y("The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n")) % attachment_ui_id % id % type % size % tracks[k].out_name); - mm_io_c *out = NULL; - try { - out = new mm_file_io_c(tracks[k].out_name, MODE_CREATE); - } catch (...) { - mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%, %3%).\n")) % tracks[k].out_name % errno % strerror(errno)); - } - out->write(fdata->GetBuffer(), fdata->GetSize()); - delete out; - tracks[k].done = true; - } + // check for output name + if (track.out_name.empty()) + track.out_name = attachment.name; + + mxinfo(boost::format(Y("The attachment #%1%, ID %2%, MIME type %3%, size %4%, is written to '%5%'.\n")) + % attachment_ui_id % attachment.id % attachment.type % attachment.size % track.out_name); + try { + mm_file_io_c out(track.out_name, MODE_CREATE); + out.write(attachment.fdata->GetBuffer(), attachment.fdata->GetSize()); + } catch (...) { + mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%, %3%).\n")) % track.out_name % errno % strerror(errno)); } } } @@ -103,6 +127,9 @@ extract_attachments(const std::string &file_name, std::vector<track_spec_t> &tracks, kax_analyzer_c::parse_mode_e parse_mode) { + if (tracks.empty()) + mxerror(Y("Nothing to do.\n")); + kax_analyzer_cptr analyzer; // open input file @@ -120,9 +147,4 @@ handle_attachments(attachments, tracks); delete attachments; } - - int i; - for (i = 0; i < tracks.size(); i++) - if (!tracks[i].done) - mxinfo(boost::format(Y("An attachment with the ID %1% was not found.\n")) % tracks[i].tid); } diff -Nru mkvtoolnix-4.0.0/src/extract/cuesheets.cpp mkvtoolnix-4.5.0+dfsg/src/extract/cuesheets.cpp --- mkvtoolnix-4.0.0/src/extract/cuesheets.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/cuesheets.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -46,7 +46,7 @@ EbmlMaster &m) { std::string sidx = to_string(idx); - int i; + size_t i; for (i = 0; i < m.ListSize(); i++) { if (EbmlId(*m[i]) != EBML_ID(KaxTag)) continue; @@ -80,7 +80,7 @@ static int64_t get_chapter_index(int idx, KaxChapterAtom &atom) { - int i; + size_t i; std::string sidx = (boost::format("INDEX %|1$02d|") % idx).str(); for (i = 0; i < atom.ListSize(); i++) if ((EbmlId(*atom[i]) == EBML_ID(KaxChapterAtom)) && @@ -122,7 +122,7 @@ print_comments(const char *prefix, KaxTag &tag, mm_io_c &out) { - int i; + size_t i; for (i = 0; i < tag.ListSize(); i++) if (is_id(tag[i], KaxTagSimple) @@ -159,7 +159,7 @@ out.puts(boost::format("FILE \"%1%\" WAVE\n") % file_name); - int i; + size_t i; for (i = 0; i < chapters.ListSize(); i++) { KaxChapterAtom &atom = *static_cast<KaxChapterAtom *>(chapters[i]); @@ -214,13 +214,13 @@ KaxTags *all_tags = dynamic_cast<KaxTags *>(analyzer->read_all(EBML_INFO(KaxTags))); if ((NULL != chapters) && (NULL != all_tags)) { - int i; + size_t i; for (i = 0; i < chapters->ListSize(); i++) { if (dynamic_cast<KaxEditionEntry *>((*chapters)[i]) == NULL) continue; KaxEditionEntry *eentry = dynamic_cast<KaxEditionEntry *>((*chapters)[i]); - int k; + size_t k; for (k = 0; k < eentry->ListSize(); k++) if (dynamic_cast<KaxChapterAtom *>((*eentry)[k]) != NULL) all_chapters.PushElement(*(*eentry)[k]); diff -Nru mkvtoolnix-4.0.0/src/extract/Makefile.in mkvtoolnix-4.5.0+dfsg/src/extract/Makefile.in --- mkvtoolnix-4.0.0/src/extract/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/extract/mkvextract.cpp mkvtoolnix-4.5.0+dfsg/src/extract/mkvextract.cpp --- mkvtoolnix-4.0.0/src/extract/mkvextract.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/mkvextract.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -66,7 +66,7 @@ void show_error(const std::string &error) { - mxinfo(boost::format("(%1%) %2%\n") % NAME % error); + mxerror(boost::format("(%1%) %2%\n") % NAME % error); } static void @@ -108,8 +108,7 @@ extract_timecodes(options.m_file_name, options.m_tracks, 2); else - mxerror(Y("mkvextract: Unknown mode!?\n")); + usage(2); return 0; - } diff -Nru mkvtoolnix-4.0.0/src/extract/mkvextract.h mkvtoolnix-4.5.0+dfsg/src/extract/mkvextract.h --- mkvtoolnix-4.0.0/src/extract/mkvextract.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/mkvextract.h 2011-01-31 20:34:09.000000000 +0000 @@ -21,6 +21,7 @@ #include <matroska/KaxChapters.h> #include <matroska/KaxTags.h> +#include <matroska/KaxTracks.h> #include "common/file_types.h" #include "common/kax_analyzer.h" @@ -52,6 +53,8 @@ show_error(format.str()); } +void find_and_verify_track_uids(KaxTracks &tracks, std::vector<track_spec_t> &tspecs); + bool extract_tracks(const std::string &file_name, std::vector<track_spec_t> &tspecs); void extract_tags(const std::string &file_name, kax_analyzer_c::parse_mode_e parse_mode); void extract_chapters(const std::string &file_name, bool chapter_format_simple, kax_analyzer_c::parse_mode_e parse_mode); diff -Nru mkvtoolnix-4.0.0/src/extract/Rakefile mkvtoolnix-4.5.0+dfsg/src/extract/Rakefile --- mkvtoolnix-4.0.0/src/extract/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/extract/resources.rc mkvtoolnix-4.5.0+dfsg/src/extract/resources.rc --- mkvtoolnix-4.0.0/src/extract/resources.rc 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/resources.rc 2011-01-31 20:34:09.000000000 +0000 @@ -1,8 +1,8 @@ -MATROSKAICON ICON "../mmg/matroskalogo_big.ico" +MATROSKAICON ICON "../../share/icons/windows/mkvmergeGUI.ico" 1 VERSIONINFO - FILEVERSION 4, 0, 0, 0 - PRODUCTVERSION 4, 0, 0, 0 + FILEVERSION 4, 5, 0, 0 + PRODUCTVERSION 4, 5, 0, 0 FILEFLAGSMASK 0x3f FILEOS 0x4 BEGIN @@ -12,12 +12,12 @@ BEGIN VALUE "CompanyName", "Moritz Bunkus" VALUE "FileDescription", "mkvextract" - VALUE "FileVersion", "4.0.0" + VALUE "FileVersion", "4.5.0" VALUE "InternalName", "mkvextract" VALUE "LegalCopyright", "Released under the GNU Pulic License http://www.gnu.org/licenses/gpl-2.0.html" VALUE "OriginalFilename", "mkvextract" VALUE "ProductName", "MKVToolNix" - VALUE "ProductVersion", "4.0.0" + VALUE "ProductVersion", "4.5.0" END END END diff -Nru mkvtoolnix-4.0.0/src/extract/timecodes_v2.cpp mkvtoolnix-4.5.0+dfsg/src/extract/timecodes_v2.cpp --- mkvtoolnix-4.0.0/src/extract/timecodes_v2.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/timecodes_v2.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -34,6 +34,7 @@ #include "common/ebml.h" #include "common/matroska.h" #include "common/mm_io.h" +#include "common/mm_write_cache_io.h" #include "common/strings/formatting.h" #include "extract/mkvextract.h" #include "extract/xtr_base.h" @@ -75,7 +76,7 @@ std::vector<track_spec_t> &tracks, int version) { std::vector<track_spec_t>::iterator tspec; - int i; + size_t i; int64_t default_duration; mxforeach(tspec, tracks) { @@ -96,7 +97,7 @@ } try { - mm_io_c *file = new mm_file_io_c(tspec->out_name, MODE_CREATE); + mm_io_c *file = mm_write_cache_io_c::open(tspec->out_name, 128 * 1024); timecode_extractors.push_back(timecode_extractor_t(tspec->tid, file, default_duration)); file->puts(boost::format("# timecode format v%1%\n") % version); @@ -130,7 +131,7 @@ int64_t duration = NULL == kduration ? extractor->m_default_duration * block->NumberFrames() : uint64(*kduration) * tc_scale; // Pass the block to the extractor. - int i; + size_t i; for (i = 0; block->NumberFrames() > i; ++i) extractor->m_timecodes.push_back((int64_t)(block->GlobalTimecode() + i * (double)duration / block->NumberFrames())); } @@ -152,7 +153,7 @@ return; // Pass the block to the extractor. - int i; + size_t i; for (i = 0; simpleblock.NumberFrames() > i; ++i) extractor->m_timecodes.push_back((int64_t)(simpleblock.GlobalTimecode() + i * (double)extractor->m_default_duration)); } @@ -161,6 +162,9 @@ extract_timecodes(const std::string &file_name, std::vector<track_spec_t> &tspecs, int version) { + if (tspecs.empty()) + mxerror(Y("Nothing to do.\n")); + // open input file mm_io_c *in; try { @@ -253,6 +257,7 @@ tracks_found = true; l1->Read(*es, EBML_CLASS_CONTEXT(KaxTracks), upper_lvl_el, l2, true); + find_and_verify_track_uids(*dynamic_cast<KaxTracks *>(l1), tspecs); create_timecode_files(*dynamic_cast<KaxTracks *>(l1), tspecs, version); } else if (EbmlId(*l1) == EBML_ID(KaxCluster)) { diff -Nru mkvtoolnix-4.0.0/src/extract/tracks.cpp mkvtoolnix-4.5.0+dfsg/src/extract/tracks.cpp --- mkvtoolnix-4.0.0/src/extract/tracks.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/tracks.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -36,6 +36,7 @@ #include "common/kax_file.h" #include "common/matroska.h" #include "common/mm_io.h" +#include "common/mm_write_cache_io.h" #include "extract/mkvextract.h" #include "extract/xtr_base.h" @@ -48,7 +49,7 @@ static void create_extractors(KaxTracks &kax_tracks, std::vector<track_spec_t> &tracks) { - int i; + size_t i; for (i = 0; i < kax_tracks.ListSize(); i++) { if (!is_id(kax_tracks[i], KaxTrackEntry)) @@ -63,7 +64,7 @@ // Is there more than one track with the same track number? xtr_base_c *extractor = NULL; - int k; + size_t k; for (k = 0; k < extractors.size(); k++) if (extractors[k]->m_tid == tnum) { mxwarn(boost::format(Y("More than one track with the track number %1% found.\n")) % tnum); @@ -128,7 +129,7 @@ // Do we need this block group? xtr_base_c *extractor = NULL; - int i; + size_t i; for (i = 0; i < extractors.size(); i++) if (block->TrackNum() == extractors[i]->m_tid) { extractor = extractors[i]; @@ -224,7 +225,7 @@ static void close_extractors() { - int i; + size_t i; for (i = 0; i < extractors.size(); i++) extractors[i]->finish_track(); @@ -246,7 +247,7 @@ write_all_cuesheets(KaxChapters &chapters, KaxTags &tags, std::vector<track_spec_t> &tspecs) { - int i; + size_t i; mm_io_c *out = NULL; for (i = 0; i < tspecs.size(); i++) { @@ -270,7 +271,7 @@ cue_file_name += ".cue"; try { - out = new mm_file_io_c(cue_file_name.c_str(), MODE_CREATE); + out = mm_write_cache_io_c::open(cue_file_name, 128 * 1024); } catch(...) { mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%).\n")) % cue_file_name % strerror(errno)); } @@ -282,10 +283,11 @@ } } -static void -find_track_uids(KaxTracks &tracks, - std::vector<track_spec_t> &tspecs) { - int t; +void +find_and_verify_track_uids(KaxTracks &tracks, + std::vector<track_spec_t> &tspecs) { + std::map<int64_t, bool> available_tnums; + size_t t; for (t = 0; t < tracks.ListSize(); t++) { KaxTrackEntry *track_entry = dynamic_cast<KaxTrackEntry *>(tracks[t]); @@ -293,19 +295,28 @@ continue; int64_t track_number = kt_get_number(*track_entry); + available_tnums[track_number] = true; - int s; + size_t s; for (s = 0; tspecs.size() > s; ++s) if (tspecs[s].tid == track_number) { tspecs[s].tuid = kt_get_uid(*track_entry); break; } } + + size_t s; + for (s = 0; tspecs.size() > s; ++s) + if (!available_tnums[ tspecs[s].tid ]) + mxerror(boost::format(Y("No track with the ID %1% was found in the source file.\n")) % tspecs[s].tid); } bool extract_tracks(const std::string &file_name, std::vector<track_spec_t> &tspecs) { + if (tspecs.empty()) + mxerror(Y("Nothing to do.\n")); + // open input file mm_io_cptr in; kax_file_cptr file; @@ -378,7 +389,7 @@ show_element(l1, 1, Y("Segment tracks")); tracks_found = true; - find_track_uids(*dynamic_cast<KaxTracks *>(l1), tspecs); + find_and_verify_track_uids(*dynamic_cast<KaxTracks *>(l1), tspecs); create_extractors(*dynamic_cast<KaxTracks *>(l1), tspecs); } else if (EbmlId(*l1) == EBML_ID(KaxCluster)) { @@ -396,7 +407,7 @@ } else cluster->InitTimecode(0, tc_scale); - int i; + size_t i; for (i = 0; cluster->ListSize() > i; ++i) { EbmlElement *el = (*cluster)[i]; if (EbmlId(*el) == EBML_ID(KaxBlockGroup)) { diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_avc.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_avc.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_avc.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_avc.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,11 +26,11 @@ void xtr_avc_c::write_nal(const binary *data, - int &pos, - int data_size, - int write_nal_size_size) { - int i; - int nal_size = 0; + size_t &pos, + size_t data_size, + size_t write_nal_size_size) { + size_t i; + size_t nal_size = 0; for (i = 0; i < write_nal_size_size; ++i) nal_size = (nal_size << 8) | data[pos++]; @@ -61,16 +61,16 @@ binary *buf = mpriv->get_buffer(); m_nal_size_size = 1 + (buf[4] & 3); - int pos = 6; - int numsps = buf[5] & 0x1f; - int i; + size_t pos = 6; + unsigned int numsps = buf[5] & 0x1f; + size_t i; for (i = 0; (i < numsps) && (mpriv->get_size() > pos); ++i) write_nal(buf, pos, mpriv->get_size(), 2); if (mpriv->get_size() <= pos) return; - int numpps = buf[pos++]; + unsigned int numpps = buf[pos++]; for (i = 0; (i < numpps) && (mpriv->get_size() > pos); ++i) write_nal(buf, pos, mpriv->get_size(), 2); @@ -88,7 +88,7 @@ bool references_valid) { m_content_decoder.reverse(frame, CONTENT_ENCODING_SCOPE_BLOCK); - int pos = 0; + size_t pos = 0; binary *buf = (binary *)frame->get_buffer(); while (frame->get_size() > pos) diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_avc.h mkvtoolnix-4.5.0+dfsg/src/extract/xtr_avc.h --- mkvtoolnix-4.0.0/src/extract/xtr_avc.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_avc.h 2011-01-31 20:34:09.000000000 +0000 @@ -27,7 +27,7 @@ virtual void create_file(xtr_base_c *master, KaxTrackEntry &track); virtual void handle_frame(memory_cptr &frame, KaxBlockAdditions *additions, int64_t timecode, int64_t duration, int64_t bref, int64_t fref, bool keyframe, bool discardable, bool references_valid); - void write_nal(const binary *data, int &pos, int data_size, int nal_size_size); + void write_nal(const binary *data, size_t &pos, size_t data_size, size_t nal_size_size); virtual const char *get_container_name() { return "AVC/h.264 elementary stream"; diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_base.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_base.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_base.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_base.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -19,6 +19,7 @@ #include "common/ebml.h" #include "common/matroska.h" +#include "common/mm_write_cache_io.h" #include "common/strings/editing.h" #include "extract/xtr_aac.h" #include "extract/xtr_avc.h" @@ -67,7 +68,7 @@ try { init_content_decoder(track); - m_out = new mm_file_io_c(m_file_name, MODE_CREATE); + m_out = mm_write_cache_io_c::open(m_file_name, 5 * 1024 * 1024); } catch(...) { mxerror(boost::format(Y("Failed to create the file '%1%': %2% (%3%)\n")) % m_file_name % errno % strerror(errno)); } diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_ogg.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_ogg.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_ogg.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_ogg.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -315,7 +315,7 @@ float f_timecode = timecode / 1000000000.0; int64_t g_backlink = 0; - if (op.bytes >= (1 + 3 * sizeof(int64_t))) + if (op.bytes >= static_cast<long>(1 + 3 * sizeof(int64_t))) g_backlink = get_uint64_le(op.packet + 1 + 2 * sizeof(int64_t)); float f_backlink = g_backlink * (float)m_kate_id_header.gden / m_kate_id_header.gnum; diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_ogg.h mkvtoolnix-4.5.0+dfsg/src/extract/xtr_ogg.h --- mkvtoolnix-4.0.0/src/extract/xtr_ogg.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_ogg.h 2011-01-31 20:34:09.000000000 +0000 @@ -32,7 +32,7 @@ class xtr_oggbase_c: public xtr_base_c { public: ogg_stream_state m_os; - int m_packetno; + unsigned int m_packetno; memory_cptr m_queued_frame; int64_t m_queued_granulepos; int m_sfreq; diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_textsubs.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_textsubs.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_textsubs.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_textsubs.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -16,6 +16,7 @@ #include "common/ebml.h" #include "common/matroska.h" +#include "common/mm_write_cache_io.h" #include "common/strings/editing.h" #include "common/strings/formatting.h" #include "common/strings/parsing.h" @@ -221,7 +222,7 @@ // that defines a different layout. So let's account for that. std::string line = "Dialogue: "; - int i; + size_t i; for (i = 0; i < m_ssa_format.size(); i++) { std::string format = m_ssa_format[i]; @@ -262,7 +263,7 @@ void xtr_ssa_c::finish_file() { - int i; + size_t i; // Sort the SSA lines according to their ReadOrder number and // write them. @@ -324,7 +325,7 @@ if (0 <= end_tag_pos) codec_private_mod.erase(end_tag_pos, end_tag.length()); - m_out = new mm_file_io_c(m_file_name, MODE_CREATE); + m_out = mm_write_cache_io_c::open(m_file_name, 10 * 1024 * 1024); m_formatter = counted_ptr<xml_formatter_c>(new xml_formatter_c(m_out, m_sub_charset)); m_formatter->set_doctype("USFSubtitles", "USFV100.dtd"); diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_tta.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_tta.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_tta.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_tta.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,6 +17,7 @@ #include "common/checksums.h" #include "common/ebml.h" #include "common/endian.h" +#include "common/mm_write_cache_io.h" #include "common/tta.h" #include "extract/xtr_tta.h" @@ -38,7 +39,7 @@ xtr_tta_c::create_file(xtr_base_c *master, KaxTrackEntry &track) { try { - m_out = new mm_file_io_c(m_temp_file_name.c_str(), MODE_CREATE); + m_out = mm_write_cache_io_c::open(m_temp_file_name, 5 * 1024 * 1024); } catch (...) { mxerror(boost::format(Y("Failed to create the temporary file '%1%': %2% (%3%)\n")) % m_temp_file_name % errno % strerror(errno)); } @@ -80,7 +81,7 @@ } try { - m_out = new mm_file_io_c(m_file_name, MODE_CREATE); + m_out = mm_write_cache_io_c::open(m_file_name, 5 * 1024 * 1024); } catch (...) { delete in; mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%).\n")) % m_file_name % strerror(errno)); @@ -104,7 +105,7 @@ m_out->write(&tta_header, sizeof(tta_file_header_t)); unsigned char *buffer = (unsigned char *)safemalloc(m_frame_sizes.size() * 4); - int k; + size_t k; for (k = 0; m_frame_sizes.size() > k; ++k) put_uint32_le(buffer + 4 * k, m_frame_sizes[k]); diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_vobsub.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_vobsub.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_vobsub.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_vobsub.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,6 +17,7 @@ #include "common/checksums.h" #include "common/ebml.h" #include "common/iso639.h" +#include "common/mm_write_cache_io.h" #include "common/smart_pointers.h" #include "common/tta.h" #include "extract/xtr_vobsub.h" @@ -75,7 +76,7 @@ std::string sub_file_name = m_base_name + ".sub"; try { - m_out = new mm_file_io_c(sub_file_name, MODE_CREATE); + m_out = mm_write_cache_io_c::open(sub_file_name, 128 * 1024); } catch (...) { mxerror(boost::format(Y("Failed to create the VobSub data file '%1%': %2% (%3%)\n")) % sub_file_name % errno % strerror(errno)); } @@ -114,7 +115,7 @@ m_content_decoder.reverse(frame, CONTENT_ENCODING_SCOPE_BLOCK); unsigned char *data = frame->get_buffer(); - int size = frame->get_size(); + size_t size = frame->get_size(); m_positions.push_back(vmaster->m_out->getFilePointer()); m_timecodes.push_back(timecode); @@ -219,7 +220,7 @@ delete m_out; m_out = NULL; - mm_file_io_c idx(m_base_name, MODE_CREATE); + mm_write_cache_io_c idx(new mm_file_io_c(m_base_name, MODE_CREATE), 128 * 1024); mxinfo(boost::format(Y("Writing the VobSub index file '%1%'.\n")) % m_base_name); if ((25 > m_private_data->get_size()) || strncasecmp((char *)m_private_data->get_buffer(), header_line, 25)) @@ -227,7 +228,7 @@ idx.write(m_private_data->get_buffer(), m_private_data->get_size()); write_idx(idx, 0); - int slave; + size_t slave; for (slave = 0; slave < m_slaves.size(); slave++) m_slaves[slave]->write_idx(idx, slave + 1); @@ -242,7 +243,7 @@ const char *iso639_1 = map_iso639_2_to_iso639_1(m_language.c_str()); idx.puts(boost::format("\nid: %1%, index: %2%\n") % (NULL == iso639_1 ? "en" : iso639_1) %index); - int i; + size_t i; for (i = 0; i < m_positions.size(); i++) { int64_t timecode = m_timecodes[i] / 1000000; diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_wav.cpp mkvtoolnix-4.5.0+dfsg/src/extract/xtr_wav.cpp --- mkvtoolnix-4.0.0/src/extract/xtr_wav.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_wav.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,6 +17,7 @@ #include "common/ebml.h" #include "common/endian.h" +#include "common/mm_write_cache_io.h" #include "extract/xtr_wav.h" xtr_wav_c::xtr_wav_c(const std::string &codec_id, @@ -107,7 +108,7 @@ corr_name += "wvc"; try { - m_corr_out = new mm_file_io_c(corr_name, MODE_CREATE); + m_corr_out = mm_write_cache_io_c::open(corr_name, 5 * 1024 * 1024); } catch (...) { mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%).\n")) % corr_name % strerror(errno)); } diff -Nru mkvtoolnix-4.0.0/src/extract/xtr_wav.h mkvtoolnix-4.5.0+dfsg/src/extract/xtr_wav.h --- mkvtoolnix-4.0.0/src/extract/xtr_wav.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/extract/xtr_wav.h 2011-01-31 20:34:09.000000000 +0000 @@ -37,7 +37,7 @@ uint32_t m_number_of_samples; int m_extract_blockadd_level; binary m_version[2]; - mm_file_io_c *m_corr_out; + mm_io_c *m_corr_out; int m_channels; public: diff -Nru mkvtoolnix-4.0.0/src/info/info_cli_parser.cpp mkvtoolnix-4.5.0+dfsg/src/info/info_cli_parser.cpp --- mkvtoolnix-4.0.0/src/info/info_cli_parser.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/info_cli_parser.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,124 @@ +/** \brief command line parsing + + mkvinfo -- info tracks from Matroska files into other files + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + \file + + \author Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include <algorithm> +#include <boost/bind.hpp> +#include <stdexcept> +#include <typeinfo> + +#include "common/ebml.h" +#include "common/strings/formatting.h" +#include "common/strings/parsing.h" +#include "common/translation.h" +#include "info/info_cli_parser.h" +#include "info/options.h" + +info_cli_parser_c::info_cli_parser_c(const std::vector<std::string> &args) + : cli_parser_c(args) +{ + verbose = 0; +} + +#define OPT(spec, func, description) add_option(spec, boost::bind(&info_cli_parser_c::func, this), description) + +void +info_cli_parser_c::init_parser() { + add_information(YT("mkvinfo [options] <inname>")); + + add_section_header(YT("Options")); + +#if defined(HAVE_QT) || defined(HAVE_WXWIDGETS) + OPT("g|gui", set_gui, YT("Start the GUI (and open inname if it was given).")); +#endif + OPT("c|checksum", set_checksum, YT("Calculate and display checksums of frame contents.")); + OPT("C|check-mode", set_check_mode, YT("Calculate and display checksums and use verbosity level 4.")); + OPT("s|summary", set_summary, YT("Only show summaries of the contents, not each element.")); + OPT("t|track-info", set_track_info, YT("Show statistics for each track in verbose mode.")); + OPT("x|hexdump", set_hexdump, YT("Show the first 16 bytes of each frame as a hex dump.")); + OPT("X|full-hexdump", set_full_hexdump, YT("Show all bytes of each frame as a hex dump.")); + OPT("z|size", set_size, YT("Show the size of each element including its header.")); + + add_common_options(); + + add_hook(cli_parser_c::ht_unknown_option, boost::bind(&info_cli_parser_c::set_file_name, this)); +} + +#undef OPT + +void +info_cli_parser_c::set_gui() { + if (!ui_graphical_available()) + mxerror("mkvinfo was compiled without GUI support.\n"); + + m_options.m_use_gui = true; +} + +void +info_cli_parser_c::set_checksum() { + m_options.m_calc_checksums = true; +} + +void +info_cli_parser_c::set_check_mode() { + m_options.m_calc_checksums = true; + verbose = 4; +} + +void +info_cli_parser_c::set_summary() { + m_options.m_calc_checksums = true; + m_options.m_show_summary = true; +} + + +void +info_cli_parser_c::set_hexdump() { + m_options.m_show_hexdump = true; +} + +void +info_cli_parser_c::set_full_hexdump() { + m_options.m_show_hexdump = true; + m_options.m_hexdump_max_size = INT_MAX; +} + +void +info_cli_parser_c::set_size() { + m_options.m_show_size = true; +} + +void +info_cli_parser_c::set_track_info() { + m_options.m_show_track_info = true; + if (0 == verbose) + verbose = 1; +} + +void +info_cli_parser_c::set_file_name() { + if (!m_options.m_file_name.empty()) + mxerror(Y("Only one input file is allowed.\n")); + + m_options.m_file_name = m_current_arg; +} + +options_c +info_cli_parser_c::run() { + init_parser(); + parse_args(); + + return m_options; +} + diff -Nru mkvtoolnix-4.0.0/src/info/info_cli_parser.h mkvtoolnix-4.5.0+dfsg/src/info/info_cli_parser.h --- mkvtoolnix-4.0.0/src/info/info_cli_parser.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/info_cli_parser.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,46 @@ +/* + mkvinfo -- info tracks from Matroska files into other files + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __INFO_INFO_CLI_PARSER_H +#define __INFO_INFO_CLI_PARSER_H + +#include "common/os.h" + +#include <string> +#include <vector> + +#include "common/cli_parser.h" +#include "info/mkvinfo.h" +#include "info/options.h" + +class info_cli_parser_c: public cli_parser_c { +protected: + options_c m_options; + +public: + info_cli_parser_c(const std::vector<std::string> &args); + + options_c run(); + +protected: + void init_parser(); + + void set_gui(); + void set_checksum(); + void set_check_mode(); + void set_summary(); + void set_hexdump(); + void set_full_hexdump(); + void set_size(); + void set_file_name(); + void set_track_info(); +}; + +#endif // __INFO_INFO_CLI_PARSER_H diff -Nru mkvtoolnix-4.0.0/src/info/Makefile.in mkvtoolnix-4.5.0+dfsg/src/info/Makefile.in --- mkvtoolnix-4.0.0/src/info/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/info/matroska.xpm mkvtoolnix-4.5.0+dfsg/src/info/matroska.xpm --- mkvtoolnix-4.0.0/src/info/matroska.xpm 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/matroska.xpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,195 +0,0 @@ -/* XPM */ -static const char * matroska_xpm[] = { -"32 32 160 2", -" c None", -". c #121212", -"+ c #090909", -"@ c #0A0A0A", -"# c #4D4D4D", -"$ c #F0F0F0", -"% c #FFFFFF", -"& c #FAFAFA", -"* c #6D6D6D", -"= c #080808", -"- c #727272", -"; c #7D7D7D", -"> c #0B0B0B", -", c #878787", -"' c #ABABAB", -") c #000000", -"! c #212121", -"~ c #D5D5D5", -"{ c #EDEDED", -"] c #484848", -"^ c #6C6C6C", -"/ c #777777", -"( c #010101", -"_ c #E7E7E7", -": c #F9F9F9", -"< c #616161", -"[ c #020202", -"} c #B0B0B0", -"| c #191919", -"1 c #7B7B7B", -"2 c #F4F4F4", -"3 c #545454", -"4 c #7C7C7C", -"5 c #B8B8B8", -"6 c #7E7E7E", -"7 c #252525", -"8 c #FCFCFC", -"9 c #F2F2F2", -"0 c #525252", -"a c #353535", -"b c #868686", -"c c #343434", -"d c #FEFEFE", -"e c #555555", -"f c #151515", -"g c #181818", -"h c #DEDEDE", -"i c #404040", -"j c #8D8D8D", -"k c #7F7F7F", -"l c #4C4C4C", -"m c #F3F3F3", -"n c #515151", -"o c #030303", -"p c #595959", -"q c #101010", -"r c #0D0D0D", -"s c #9A9A9A", -"t c #CECECE", -"u c #898989", -"v c #373737", -"w c #B3B3B3", -"x c #C9C9C9", -"y c #858585", -"z c #1D1D1D", -"A c #070707", -"B c #F7F7F7", -"C c #F8F8F8", -"D c #F5F5F5", -"E c #CDCDCD", -"F c #8A8A8A", -"G c #161616", -"H c #8E8E8E", -"I c #434343", -"J c #CCCCCC", -"K c #131313", -"L c #8C8C8C", -"M c #7A7A7A", -"N c #4F4F4F", -"O c #D6D6D6", -"P c #C5C5C5", -"Q c #232323", -"R c #2A2A2A", -"S c #ADADAD", -"T c #6E6E6E", -"U c #939393", -"V c #4B4B4B", -"W c #D9D9D9", -"X c #FDFDFD", -"Y c #707070", -"Z c #828282", -"` c #717171", -" . c #747474", -".. c #F1F1F1", -"+. c #141414", -"@. c #BCBCBC", -"#. c #FBFBFB", -"$. c #6A6A6A", -"%. c #666666", -"&. c #505050", -"*. c #E1E1E1", -"=. c #F6F6F6", -"-. c #686868", -";. c #1A1A1A", -">. c #CBCBCB", -",. c #B2B2B2", -"'. c #A5A5A5", -"). c #EAEAEA", -"!. c #EBEBEB", -"~. c #3F3F3F", -"{. c #959595", -"]. c #B5B5B5", -"^. c #6B6B6B", -"/. c #636363", -"(. c #2C2C2C", -"_. c #E3E3E3", -":. c #272727", -"<. c #E2E2E2", -"[. c #AEAEAE", -"}. c #BBBBBB", -"|. c #BFBFBF", -"1. c #E4E4E4", -"2. c #909090", -"3. c #787878", -"4. c #282828", -"5. c #C0C0C0", -"6. c #3C3C3C", -"7. c #333333", -"8. c #0C0C0C", -"9. c #C4C4C4", -"0. c #DDDDDD", -"a. c #E8E8E8", -"b. c #565656", -"c. c #1C1C1C", -"d. c #EFEFEF", -"e. c #424242", -"f. c #797979", -"g. c #040404", -"h. c #454545", -"i. c #9E9E9E", -"j. c #A9A9A9", -"k. c #5D5D5D", -"l. c #111111", -"m. c #DCDCDC", -"n. c #8F8F8F", -"o. c #DADADA", -"p. c #474747", -"q. c #D4D4D4", -"r. c #1B1B1B", -"s. c #D3D3D3", -"t. c #242424", -"u. c #393939", -"v. c #C1C1C1", -"w. c #989898", -"x. c #C3C3C3", -"y. c #DFDFDF", -"z. c #4A4A4A", -"A. c #575757", -"B. c #292929", -"C. c #9C9C9C", -". + @ @ @ @ @ @ + # $ % & * + = - % % % % % ; + > , & % % % % ' ", -"@ ) ) ) ) ) ) ) ) ! ~ % { ] ) ) ^ % % % % % / ( @ _ % % % % : < ", -"@ ) ) ) ) ) ) ) ) [ } % ~ | ) ) ^ % % % % % 1 ( | & % % % % 2 3 ", -"@ ) ) ) ) ) ) ) ) ) 4 % 5 [ ) ) ^ % % % % % 6 [ 7 8 % % % % 9 0 ", -"@ ) ) ) ) ) ) ) ) ) a 8 b ) ) ) ^ % % % % % 6 [ c d % % % % 2 e ", -"@ ) ) ) ) ( f ( ) ) g h i ) ) ) j % % % % % k [ l d % % % % m n ", -"@ ) ) ) ) o p q ) ) r s ! ) ) ) t % % % % % u v w % % % % % x 7 ", -"@ ) ) ) ) ) y ] ) ) [ z A ) ) > B % % % % % & C d % % D E F G A ", -"@ ) ) ) ) ) H b ) ) ) ) ) ) ) I % % % % % % & & % % % D J b K A ", -"@ ) ) ) ) ) L } = ) ) ) ) ) ) y % % % % % d M N O % % % % % P Q ", -"@ ) ) ) ) ) F O R ) ) ) ) ) > S % % % % % 8 T [ U % % % % % 9 n ", -"@ ) ) ) ) ) M 2 V ) ) ) ) ) R W % % % % % X Y ( j % % % % % 2 e ", -"@ ) ) ) ) ) Y 8 Z ) ) ) ) ) I 2 % % % % % d - ( j % % % % % m 0 ", -"@ ) ) ) ) ) ` 8 x ) ) ) ) ) .d % % % % % 8 * ( L % % % % % 2 3 ", -"@ ) ) ) ) ) ` 8 ..+.) ) ) ) @.% % % % % % #.$.( T % % % % % #.%.", -"= ) ) ) ) ) ` 8 & &.) ) ) = *.=.$ $ $ $ $ $ -.( ;.>...#.% % % ,.", -"'.).!.!.!.!.2 % d L [ ) ) ~.m * ) ) ) ) ) ) ) ) ) ) A {.d % % O ", -"-.D % % % % % % % ].. ) ) ^.& * ) ) ) ) ) ) ) ) ) ) ) /.B % % O ", -"(.W % % % % % % % _.(.) o H d * ) ) ) ) ) ) ) ) ) ) ) :.<.% % O ", -"> [.% % % % % % % : ] ) +.}.% * ) ) ) ) ) Q A ) ) ) ) o |.% % O ", -"( ^ % % % % % % % % b ) :.1.% * ) ) ) ) ) 2.:.) ) ) ) ) 3.% % O ", -"( 4.9 % % % % % % % 5.) 6.: % * ) ) ) ) G J I ) ) ) ) ) 7.m % O ", -"( 8.9.% % % % % % % 0.r ^.% % * ) ) ) ) V a.b.) ) ) ) ) c.J % O ", -"( o 4 #.% % % % % % d.e.'.% % * ) ) ) ( f.& / ( ) ) ) ) g.H d O ", -"( ) h.!.% % % % % % C -.9.% % * ) ) ) + i.% j.g.) ) ) ) ) k.C O ", -"( ) l.>.% % % % % % X i.h % % * ) ) ) g E d m.= ) ) ) ) ) l._ O ", -"( ) ( n.% % % % % % % o.m % % * ) ) ) = I N p.o ) ) ) ) ) ) @.O ", -"( ) ) e.& % % % % % % 8 d % % * ) ) ) ) ) ) ) ) ) ) ) ) ) ) $.q.", -"( ) ) r.s.% % % % % % % % % % * ) ) ) o z t.t.= ) ) ) ) ) ) u.v.", -"( ) ) A w.d % % % % % % % % % * ) ) ) ;.x.y.h z.) ) ) ) ) ) G w.", -"( ) ) ) A.2 % % % % % % % % % * ) ) ) B.D % % k ) ) ) ) ) ) ( Y ", -"( ( ( ( r._ % % % % % % % % % - = @ = l X % % C.+ @ @ @ @ @ + ~."}; diff -Nru mkvtoolnix-4.0.0/src/info/mkvinfo.cpp mkvtoolnix-4.5.0+dfsg/src/info/mkvinfo.cpp --- mkvtoolnix-4.0.0/src/info/mkvinfo.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/mkvinfo.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -73,30 +73,67 @@ #include "common/endian.h" #include "common/matroska.h" #include "common/mm_io.h" +#include "common/stereo_mode.h" #include "common/strings/editing.h" #include "common/strings/formatting.h" #include "common/translation.h" #include "common/version.h" #include "common/xml/element_mapping.h" #include "info/mkvinfo.h" +#include "info/info_cli_parser.h" using namespace libmatroska; -typedef struct { +struct kax_track_t { unsigned int tnum, tuid; char type; - int64_t size; -} kax_track_t; + int64_t default_duration; -std::vector<kax_track_t *> s_tracks; -std::map<unsigned int, kax_track_t *> s_tracks_by_number, s_tracks_by_uid; -bool g_use_gui = false; -bool g_show_size = false; -static bool s_calc_checksums = false; -static bool s_show_summary = false; -static bool s_show_hexdump = false; -static int s_hexdump_max_size = 16; -static uint64_t s_tc_scale = TIMECODE_SCALE; + kax_track_t(); +}; + +struct track_info_t { + int64_t m_size, m_min_timecode, m_max_timecode, m_blocks, m_blocks_by_ref_num[3], m_add_duration_for_n_packets; + + track_info_t(); + bool min_timecode_unset(); + bool max_timecode_unset(); +}; + +kax_track_t::kax_track_t() + : tnum(0) + , tuid(0) + , type(' ') + , default_duration(0) +{ +} +typedef counted_ptr<kax_track_t> kax_track_cptr; + +track_info_t::track_info_t() + : m_size(0) + , m_min_timecode(LLONG_MAX) + , m_max_timecode(LLONG_MIN) + , m_blocks(0) + , m_add_duration_for_n_packets(0) +{ + memset(m_blocks_by_ref_num, 0, sizeof(int64_t) * 3); +} + +bool +track_info_t::min_timecode_unset() { + return LLONG_MAX == m_min_timecode; +} + +bool +track_info_t::max_timecode_unset() { + return LLONG_MIN == m_max_timecode; +} + +std::vector<kax_track_cptr> s_tracks; +std::map<unsigned int, kax_track_cptr> s_tracks_by_number, s_tracks_by_uid; +std::map<unsigned int, track_info_t> s_track_info; +options_c g_options; +static uint64_t s_tc_scale = TIMECODE_SCALE; std::vector<boost::format> g_common_boost_formats; #define BF_DO(n) g_common_boost_formats[n] @@ -184,7 +221,7 @@ if ((1 < verbose) && (0 <= position)) additional_text += (BF_AT % position).str(); - if (g_show_size && (-1 != size)) { + if (g_options.m_show_size && (-1 != size)) { if (-2 != size) additional_text += (BF_SIZE % size).str(); else @@ -195,7 +232,7 @@ } void -add_track(kax_track_t *t) { +add_track(kax_track_cptr t) { s_tracks.push_back(t); s_tracks_by_number[t->tnum] = t; s_tracks_by_uid[t->tuid] = t; @@ -203,37 +240,12 @@ kax_track_t * find_track(int tnum) { - return s_tracks_by_number[tnum]; + return s_tracks_by_number[tnum].get_object(); } kax_track_t * find_track_by_uid(int tuid) { - return s_tracks_by_uid[tuid]; -} - -void -set_usage() { - usage_text = - Y("Usage: mkvinfo [options] inname\n\n" - " options:\n" - " -g, --gui Start the GUI (and open inname if it was given).\n" - " inname Use 'inname' as the source.\n" - " -v, --verbose Increase verbosity. See the man page for a detailed\n" - " description of what mkvinfo outputs.\n" - " -c, --checksum Calculate and display checksums of frame contents.\n" - " -s, --summary Only show summaries of the contents, not each element.\n" - " -x, --hexdump Show the first 16 bytes of each frame as a hex dump.\n" - " -X, --full-hexdump\n" - " Show all bytes of each frame as a hex dump.\n" - " -z, --size Show the size of each element including its header.\n" - " --output-charset <charset>\n" - " Output messages in this charset\n" - " -r, -o, --redirect-output file.ext\n" - " Redirect all messages to this file.\n" - " -h, --help Show this help.\n" - " -V, --version Show version information.\n"); - - version_info = get_version_info("mkvinfo", true); + return s_tracks_by_uid[tuid].get_object(); } #define UTF2STR(s) UTFstring_to_cstrutf8(UTFstring(s)) @@ -266,7 +278,7 @@ bool skip, int level, const std::string &info) { - if (s_show_summary) + if (g_options.m_show_summary) return; ui_show_element(level, info, @@ -282,7 +294,7 @@ // Dump unknown elements recursively. EbmlMaster *m = dynamic_cast<EbmlMaster *>(l); if (NULL != m) { - int i; + size_t i; for (i = 0; i < m->ListSize(); i++) show_unknown_element((*m)[i], level + 1); } @@ -305,11 +317,11 @@ static boost::format s_bf_create_hexdump(" %|1$02x|"); std::string hex(" hexdump"); - int bmax = std::max(size, s_hexdump_max_size); + int bmax = std::min(size, g_options.m_hexdump_max_size); int b; for (b = 0; b < bmax; ++b) - hex += (s_bf_create_hexdump % buf[b]).str(); + hex += (s_bf_create_hexdump % static_cast<int>(buf[b])).str(); return hex; } @@ -327,45 +339,44 @@ return hex; } -void -parse_args(std::vector<std::string> args, - std::string &file_name) { - int i; - - verbose = 0; - file_name = ""; - - g_use_gui = false; +std::string +create_codec_dependent_private_info(KaxCodecPrivate &c_priv, + char track_type, + const std::string &codec_id) { + if ((codec_id == MKV_V_MSCOMP) && ('v' == track_type) && (c_priv.GetSize() >= sizeof(alBITMAPINFOHEADER))) { + alBITMAPINFOHEADER *bih = reinterpret_cast<alBITMAPINFOHEADER *>(c_priv.GetBuffer()); + unsigned char *fcc = reinterpret_cast<unsigned char *>(&bih->bi_compression); + return (boost::format(Y(" (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)")) + % fcc[0] % fcc[1] % fcc[2] % fcc[3] % get_uint32_le(&bih->bi_compression)).str(); + + } else if ((codec_id == MKV_A_ACM) && ('a' == track_type) && (c_priv.GetSize() >= sizeof(alWAVEFORMATEX))) { + alWAVEFORMATEX *wfe = reinterpret_cast<alWAVEFORMATEX *>(c_priv.GetBuffer()); + return (boost::format(Y(" (format tag: 0x%|1$04x|)")) % get_uint16_le(&wfe->w_format_tag)).str(); + + } else if ((codec_id == MKV_V_MPEG4_AVC) && ('v' == track_type) && (c_priv.GetSize() >= 4)) { + unsigned char *avcc = c_priv.GetBuffer(); + unsigned int profile_idc = avcc[1]; + unsigned int level_idc = avcc[3]; + + return (boost::format(Y(" (h.264 profile: %1% @L%2%.%3%)")) + % ( profile_idc == 44 ? "CAVLC 4:4:4 Intra" + : profile_idc == 66 ? "Baseline" + : profile_idc == 77 ? "Main" + : profile_idc == 83 ? "Scalable Baseline" + : profile_idc == 86 ? "Scalable High" + : profile_idc == 88 ? "Extended" + : profile_idc == 100 ? "High" + : profile_idc == 110 ? "High 10" + : profile_idc == 118 ? "Multiview High" + : profile_idc == 122 ? "High 4:2:2" + : profile_idc == 128 ? "Stereo High" + : profile_idc == 144 ? "High 4:4:4" + : profile_idc == 244 ? "High 4:4:4 Predictive" + : Y("Unknown")) + % (level_idc / 10) % (level_idc % 10)).str(); + } - set_usage(); - while (handle_common_cli_args(args, "-o")) - set_usage(); - - // Now parse the rest of the arguments. - for (i = 0; i < args.size(); i++) - if ((args[i] == "-g") || (args[i] == "--gui")) { - if (!ui_graphical_available()) - mxerror("mkvinfo was compiled without GUI support.\n"); - g_use_gui = true; - } else if ((args[i] == "-c") || (args[i] == "--checksum")) - s_calc_checksums = true; - else if ((args[i] == "-C") || (args[i] == "--check-mode")) { - s_calc_checksums = true; - verbose = 4; - } else if ((args[i] == "-s") || (args[i] == "--summary")) { - s_calc_checksums = true; - s_show_summary = true; - } else if ((args[i] == "-x") || (args[i] == "--hexdump")) - s_show_hexdump = true; - else if ((args[i] == "-X") || (args[i] == "--full-hexdump")) { - s_show_hexdump = true; - s_hexdump_max_size = INT_MAX; - } else if ((args[i] == "-z") || (args[i] == "--size")) - g_show_size = true; - else if (file_name != "") - mxerror(Y("Only one input file is allowed.\n")); - else - file_name = args[i]; + return ""; } #define in_parent(p) \ @@ -427,7 +438,7 @@ void sort_master(EbmlMaster &m) { - int i; + size_t i; std::vector<EbmlElement *> tmp; std::vector<master_sorter_t> sort_me; @@ -459,15 +470,15 @@ std::string format_binary(EbmlBinary &bin, - int max_len = 10) { - int len = std::min(max_len, (int)bin.GetSize()); + size_t max_len = 10) { + size_t len = std::min(max_len, static_cast<size_t>(bin.GetSize())); const binary *b = bin.GetBuffer(); std::string result = (BF_FORMAT_BINARY_1 % bin.GetSize() % to_hex(b, len)).str(); if (len < bin.GetSize()) result += "..."; - if (s_calc_checksums) + if (g_options.m_calc_checksums) result += (BF_FORMAT_BINARY_2 % calc_adler32(bin.GetBuffer(), bin.GetSize())).str(); strip(result); @@ -514,12 +525,10 @@ void def_handle(chaptertranslate) { - EbmlMaster *m2; - int i2; - show_element(l2, 2, Y("Chapter Translate")); - m2 = static_cast<EbmlMaster *>(l2); + size_t i2; + EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -548,7 +557,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -630,12 +639,10 @@ void def_handle2(audio_track, std::vector<std::string> &summary) { - EbmlMaster *m3; - int i3; - show_element(l3, 3, "Audio track"); - m3 = static_cast<EbmlMaster *>(l3); + size_t i3; + EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -677,7 +684,7 @@ show_element(l3, 3, Y("Video track")); EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); - int i3; + size_t i3; for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -743,13 +750,9 @@ } else if (is_id(l4, KaxVideoStereoMode)) { KaxVideoStereoMode &stereo = *static_cast<KaxVideoStereoMode *>(l4); show_element(l4, 4, - boost::format(Y("Stereo mode: %1%%2%")) + boost::format(Y("Stereo mode: %1% (%2%)")) % uint64(stereo) - % ( uint8(stereo) == 0 ? Y(" (mono)") - : uint8(stereo) == 1 ? Y(" (right eye)") - : uint8(stereo) == 2 ? Y(" (left eye)") - : uint8(stereo) == 3 ? Y(" (both eyes)") - : "")); + % stereo_mode_c::translate(static_cast<stereo_mode_c::mode>(uint64(stereo)))); } else if (is_id(l4, KaxVideoAspectRatio)) { KaxVideoAspectRatio &ar_type = *static_cast<KaxVideoAspectRatio *>(l4); @@ -780,7 +783,7 @@ show_element(l3, 3, Y("Content encodings")); EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); - int i3; + size_t i3; for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -788,7 +791,7 @@ show_element(l4, 4, Y("Content encoding")); EbmlMaster *m4 = static_cast<EbmlMaster *>(l4); - int i4; + size_t i4; for (i4 = 0; i4 < m4->ListSize(); i4++) { l5 = (*m4)[i4]; @@ -823,7 +826,7 @@ show_element(l5, 5, Y("Content compression")); EbmlMaster *m5 = static_cast<EbmlMaster *>(l5); - int i5; + size_t i5; for (i5 = 0; i5 < m5->ListSize(); i5++) { l6 = (*m5)[i5]; @@ -850,7 +853,7 @@ show_element(l5, 5, Y("Content encryption")); EbmlMaster *m5 = static_cast<EbmlMaster *>(l5); - int i5; + size_t i5; for (i5 = 0; i5 < m5->ListSize(); i5++) { l6 = (*m5)[i5]; @@ -925,7 +928,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -934,13 +937,12 @@ show_element(l2, 2, Y("A track")); std::vector<std::string> summary; - char kax_track_type = '?'; - int64_t kax_track_number = -1; - bool ms_compat = false; - EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); + bool ms_compat = false; + EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); std::string kax_codec_id; std::string fourcc_buffer; - int i2; + size_t i2; + kax_track_cptr track(new kax_track_t); for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -954,45 +956,48 @@ else if (is_id(l3, KaxTrackNumber)) { KaxTrackNumber &tnum = *static_cast<KaxTrackNumber *>(l3); - kax_track_number = uint64(tnum); + track->tnum = uint64(tnum); - show_element(l3, 3, boost::format(Y("Track number: %1%")) % uint64(tnum)); - if (find_track(uint64(tnum)) != NULL) - show_warning(3, boost::format(Y("Warning: There's more than one track with the number %1%.")) % uint64(tnum)); + show_element(l3, 3, boost::format(Y("Track number: %1%")) % track->tnum); + if (find_track(track->tnum) != NULL) + show_warning(3, boost::format(Y("Warning: There's more than one track with the number %1%.")) % track->tnum); + else + add_track(track); } else if (is_id(l3, KaxTrackUID)) { KaxTrackUID &tuid = *static_cast<KaxTrackUID *>(l3); - show_element(l3, 3, boost::format(Y("Track UID: %1%")) % uint64(tuid)); - if (find_track_by_uid(uint64(tuid)) != NULL) - show_warning(3, boost::format(Y("Warning: There's more than one track with the UID %1%.")) % uint64(tuid)); + track->tuid = uint64(tuid); + show_element(l3, 3, boost::format(Y("Track UID: %1%")) % track->tuid); + if (find_track_by_uid(track->tuid) != NULL) + show_warning(3, boost::format(Y("Warning: There's more than one track with the UID %1%.")) % track->tuid); } else if (is_id(l3, KaxTrackType)) { KaxTrackType &ttype = *static_cast<KaxTrackType *>(l3); switch (uint8(ttype)) { case track_audio: - kax_track_type = 'a'; + track->type = 'a'; break; case track_video: - kax_track_type = 'v'; + track->type = 'v'; break; case track_subtitle: - kax_track_type = 's'; + track->type = 's'; break; case track_buttons: - kax_track_type = 'b'; + track->type = 'b'; break; default: - kax_track_type = '?'; + track->type = '?'; break; } show_element(l3, 3, boost::format(Y("Track type: %1%")) - % ( 'a' == kax_track_type ? "audio" - : 'v' == kax_track_type ? "video" - : 's' == kax_track_type ? "subtitles" - : 'b' == kax_track_type ? "buttons" - : "unknown")); + % ( 'a' == track->type ? "audio" + : 'v' == track->type ? "video" + : 's' == track->type ? "subtitles" + : 'b' == track->type ? "buttons" + : "unknown")); #if MATROSKA_VERSION >= 2 } else if (is_id(l3, KaxTrackFlagEnabled)) { @@ -1009,27 +1014,18 @@ kax_codec_id = std::string(codec_id); show_element(l3, 3, boost::format(Y("Codec ID: %1%")) % kax_codec_id); - if ( ((kax_codec_id == MKV_V_MSCOMP) && ('v' == kax_track_type)) - || ((kax_codec_id == MKV_A_ACM) && ('a' == kax_track_type))) + if ( ((kax_codec_id == MKV_V_MSCOMP) && ('v' == track->type)) + || ((kax_codec_id == MKV_A_ACM) && ('a' == track->type))) ms_compat = true; } else if (is_id(l3, KaxCodecPrivate)) { - fourcc_buffer = ""; KaxCodecPrivate &c_priv = *static_cast<KaxCodecPrivate *>(l3); - if (ms_compat && ('v' == kax_track_type) && (c_priv.GetSize() >= sizeof(alBITMAPINFOHEADER))) { - alBITMAPINFOHEADER *bih = (alBITMAPINFOHEADER *)c_priv.GetBuffer(); - unsigned char *fcc = (unsigned char *)&bih->bi_compression; - fourcc_buffer = (boost::format(Y(" (FourCC: %1%%2%%3%%4%, 0x%|5$08x|)")) - % fcc[0] % fcc[1] % fcc[2] % fcc[3] % get_uint32_le(&bih->bi_compression)).str(); - } else if (ms_compat && ('a' == kax_track_type) && (c_priv.GetSize() >= sizeof(alWAVEFORMATEX))) { - alWAVEFORMATEX *wfe = (alWAVEFORMATEX *)c_priv.GetBuffer(); - fourcc_buffer = (boost::format(Y(" (format tag: 0x%|1$04x|)")) % get_uint16_le(&wfe->w_format_tag)).str(); - } + fourcc_buffer = create_codec_dependent_private_info(c_priv, track->type, kax_codec_id); - if (s_calc_checksums && !s_show_summary) + if (g_options.m_calc_checksums && !g_options.m_show_summary) fourcc_buffer += (boost::format(Y(" (adler: 0x%|1$08x|)")) % calc_adler32(c_priv.GetBuffer(), c_priv.GetSize())).str(); - if (s_show_hexdump) + if (g_options.m_show_hexdump) fourcc_buffer += create_hexdump(c_priv.GetBuffer(), c_priv.GetSize()); show_element(l3, 3, boost::format(Y("CodecPrivate, length %1%%2%")) % c_priv.GetSize() % fourcc_buffer); @@ -1079,6 +1075,7 @@ % ((float)uint64(def_duration) / 1000000.0) % (1000000000.0 / (float)uint64(def_duration)) ).str()); + track->default_duration = uint64(def_duration); } else if (is_id(l3, KaxTrackFlagLacing)) { KaxTrackFlagLacing &f_lacing = *static_cast<KaxTrackFlagLacing *>(l3); @@ -1113,14 +1110,14 @@ } - if (s_show_summary) + if (g_options.m_show_summary) mxinfo(boost::format(Y("Track %1%: %2%, codec ID: %3%%4%%5%%6%\n")) - % kax_track_number - % ( 'a' == kax_track_type ? Y("audio") - : 'v' == kax_track_type ? Y("video") - : 's' == kax_track_type ? Y("subtitles") - : 'b' == kax_track_type ? Y("buttons") - : Y("unknown")) + % track->tnum + % ( 'a' == track->type ? Y("audio") + : 'v' == track->type ? Y("video") + : 's' == track->type ? Y("subtitles") + : 'b' == track->type ? Y("buttons") + : Y("unknown")) % kax_codec_id % fourcc_buffer % (summary.empty() ? "" : ", ") @@ -1135,7 +1132,7 @@ void def_handle(seek_head) { - if ((verbose < 2) && !g_use_gui) { + if ((verbose < 2) && !g_options.m_use_gui) { show_element(l1, 1, Y("Seek head (subentries will be skipped)")); return; } @@ -1147,7 +1144,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -1155,7 +1152,7 @@ show_element(l2, 2, Y("Seek entry")); EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); - int i2; + size_t i2; for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -1207,7 +1204,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -1215,7 +1212,7 @@ show_element(l2, 2, Y("Cue point")); EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); - int i2; + size_t i2; for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -1227,7 +1224,7 @@ show_element(l3, 3, Y("Cue track positions")); EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); - int i3; + size_t i3; for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -1252,7 +1249,7 @@ show_element(l4, 4, Y("Cue reference")); EbmlMaster *m4 = static_cast<EbmlMaster *>(l4); - int i4; + size_t i4; for (i4 = 0; i4 < m4->ListSize(); i4++) { l5 = (*m4)[i4]; @@ -1305,7 +1302,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -1313,7 +1310,7 @@ show_element(l2, 2, Y("Attached")); EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); - int i2; + size_t i2; for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -1356,7 +1353,7 @@ show_element(l2, 2, "Silent Tracks"); EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); - int i2; + size_t i2; for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -1389,7 +1386,7 @@ EbmlMaster *m2 = static_cast<EbmlMaster *>(l2); - int i2; + size_t i2; for (i2 = 0; i2 < m2->ListSize(); i2++) { l3 = (*m2)[i2]; @@ -1403,7 +1400,7 @@ % ((float)block.GlobalTimecode() / 1000000000.0) % format_timecode(block.GlobalTimecode(), 3)); - lf_timecode = block.GlobalTimecode() / 1000000; + lf_timecode = block.GlobalTimecode(); lf_tnum = block.TrackNum(); bduration = -1.0; frame_pos = block.GetElementPosition() + block.ElementSize(); @@ -1414,11 +1411,11 @@ uint32_t adler = calc_adler32(data.Buffer(), data.Size()); std::string adler_str; - if (s_calc_checksums) + if (g_options.m_calc_checksums) adler_str = (BF_BLOCK_GROUP_BLOCK_ADLER % adler).str(); std::string hex; - if (s_show_hexdump) + if (g_options.m_show_hexdump) hex = create_hexdump(data.Buffer(), data.Size()); show_element(NULL, 4, BF_BLOCK_GROUP_BLOCK_FRAME % data.Size() % adler_str % hex); @@ -1469,7 +1466,7 @@ show_element(l3, 3, Y("Additions")); EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); - int i3; + size_t i3; for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -1477,7 +1474,7 @@ show_element(l4, 4, Y("More")); EbmlMaster *m4 = static_cast<EbmlMaster *>(l4); - int i4; + size_t i4; for (i4 = 0; i4 < m4->ListSize(); i4++) { l5 = (*m4)[i4]; @@ -1503,7 +1500,7 @@ show_element(l3, 3, Y("Slices")); EbmlMaster *m3 = static_cast<EbmlMaster *>(l3); - int i3; + size_t i3; for (i3 = 0; i3 < m3->ListSize(); i3++) { l4 = (*m3)[i3]; @@ -1511,7 +1508,7 @@ show_element(l4, 4, Y("Time slice")); EbmlMaster *m4 = static_cast<EbmlMaster *>(l4); - int i4; + size_t i4; for (i4 = 0; i4 < m4->ListSize(); i4++) { l5 = (*m4)[i4]; @@ -1550,9 +1547,9 @@ } // while (l3 != NULL) - if (s_show_summary) { + if (g_options.m_show_summary) { std::string position; - int fidx; + size_t fidx; for (fidx = 0; fidx < frame_sizes.size(); fidx++) { if (1 <= verbose) { @@ -1564,8 +1561,8 @@ mxinfo(BF_BLOCK_GROUP_SUMMARY_WITH_DURATION % (bref_found && fref_found ? 'B' : bref_found ? 'P' : !fref_found ? 'I' : 'P') % lf_tnum - % lf_timecode - % format_timecode(lf_timecode * 1000000, 3) + % (lf_timecode / 1000000) + % format_timecode(lf_timecode, 3) % bduration % frame_sizes[fidx] % frame_adlers[fidx] @@ -1575,8 +1572,8 @@ mxinfo(BF_BLOCK_GROUP_SUMMARY_NO_DURATION % (bref_found && fref_found ? 'B' : bref_found ? 'P' : !fref_found ? 'I' : 'P') % lf_tnum - % lf_timecode - % format_timecode(lf_timecode * 1000000, 3) + % (lf_timecode / 1000000) + % format_timecode(lf_timecode, 3) % frame_sizes[fidx] % frame_adlers[fidx] % frame_hexdumps[fidx] @@ -1588,7 +1585,28 @@ BF_BLOCK_GROUP_SUMMARY_V2 % (bref_found && fref_found ? 'B' : bref_found ? 'P' : !fref_found ? 'I' : 'P') % lf_tnum - % lf_timecode); + % (lf_timecode / 1000000)); + + track_info_t &tinfo = s_track_info[lf_tnum]; + + tinfo.m_blocks += frame_sizes.size(); + tinfo.m_blocks_by_ref_num[bref_found && fref_found ? 2 : bref_found ? 1 : !fref_found ? 0 : 1] += frame_sizes.size(); + tinfo.m_min_timecode = std::min(tinfo.m_min_timecode, lf_timecode); + + if (tinfo.max_timecode_unset() || (tinfo.m_max_timecode < lf_timecode)) { + tinfo.m_max_timecode = lf_timecode; + + if (-1 == bduration) + tinfo.m_add_duration_for_n_packets = frame_sizes.size(); + else { + tinfo.m_max_timecode += bduration * 1000000.0; + tinfo.m_add_duration_for_n_packets = 0; + } + } + + size_t fidx; + for (fidx = 0; fidx < frame_sizes.size(); fidx++) + tinfo.m_size += frame_sizes[fidx]; } void @@ -1600,9 +1618,9 @@ KaxSimpleBlock &block = *static_cast<KaxSimpleBlock *>(l2); block.SetParent(*cluster); - int64_t frame_pos = block.GetElementPosition() + block.ElementSize(); - - uint64_t timecode = block.GlobalTimecode() / 1000000; + int64_t frame_pos = block.GetElementPosition() + block.ElementSize(); + uint64_t timecode = block.GlobalTimecode() / 1000000; + track_info_t &tinfo = s_track_info[block.TrackNum()]; std::string info; if (block.IsKeyframe()) @@ -1623,12 +1641,14 @@ DataBuffer &data = block.GetBuffer(i); uint32_t adler = calc_adler32(data.Buffer(), data.Size()); + tinfo.m_size += data.Size(); + std::string adler_str; - if (s_calc_checksums) + if (g_options.m_calc_checksums) adler_str = (BF_SIMPLE_BLOCK_ADLER % adler).str(); std::string hex; - if (s_show_hexdump) + if (g_options.m_show_hexdump) hex = create_hexdump(data.Buffer(), data.Size()); show_element(NULL, 3, BF_SIMPLE_BLOCK_FRAME % data.Size() % adler_str % hex); @@ -1638,9 +1658,9 @@ frame_pos -= data.Size(); } - if (s_show_summary) { + if (g_options.m_show_summary) { std::string position; - int fidx; + size_t fidx; for (fidx = 0; fidx < frame_sizes.size(); fidx++) { if (1 <= verbose) { @@ -1664,6 +1684,16 @@ % (block.IsKeyframe() ? 'I' : block.IsDiscardable() ? 'B' : 'P') % block.TrackNum() % timecode); + + tinfo.m_blocks += block.NumberFrames(); + tinfo.m_blocks_by_ref_num[block.IsKeyframe() ? 0 : block.IsDiscardable() ? 2 : 1] += block.NumberFrames(); + tinfo.m_min_timecode = std::min(tinfo.m_min_timecode, static_cast<int64_t>(block.GlobalTimecode())); + tinfo.m_max_timecode = std::max(tinfo.m_min_timecode, static_cast<int64_t>(block.GlobalTimecode())); + tinfo.m_add_duration_for_n_packets = block.NumberFrames(); + + size_t fidx; + for (fidx = 0; fidx < frame_sizes.size(); fidx++) + tinfo.m_size += frame_sizes[fidx]; } void @@ -1672,7 +1702,7 @@ int64_t file_size) { cluster = (KaxCluster *)l1; - if (g_use_gui) + if (g_options.m_use_gui) ui_show_progress(100 * cluster->GetElementPosition() / file_size, Y("Parsing file")); upper_lvl_el = 0; @@ -1683,7 +1713,7 @@ KaxClusterTimecode *cluster_tc = FINDFIRST(m1, KaxClusterTimecode); cluster->InitTimecode(NULL == cluster_tc ? 0 : uint64(*cluster_tc), s_tc_scale); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) { l2 = (*m1)[i1]; @@ -1746,7 +1776,7 @@ m = dynamic_cast<EbmlMaster *>(e); assert(m != NULL); - int i; + size_t i; for (i = 0; m->ListSize() > i; ++i) handle_elements_rec(es, level + 1, elt_idx, (*m)[i], mapping); break; @@ -1786,7 +1816,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) handle_elements_rec(es, 2, 0, (*m1)[i1], chapter_elements); @@ -1802,7 +1832,7 @@ EbmlElement *element_found = NULL; read_master(m1, es, EBML_CONTEXT(l1), upper_lvl_el, element_found); - int i1; + size_t i1; for (i1 = 0; i1 < m1->ListSize(); i1++) handle_elements_rec(es, 2, 0, (*m1)[i1], tag_elements); @@ -1853,6 +1883,33 @@ } } +void +display_track_info() { + if (!g_options.m_show_track_info) + return; + + size_t idx; + for (idx = 0; s_tracks.size() > idx; ++idx) { + kax_track_cptr track = s_tracks[idx]; + track_info_t &tinfo = s_track_info[track->tnum]; + + if (tinfo.min_timecode_unset()) + tinfo.m_min_timecode = 0; + if (tinfo.max_timecode_unset()) + tinfo.m_max_timecode = tinfo.m_min_timecode; + + int64_t duration = tinfo.m_max_timecode - tinfo.m_min_timecode; + duration += tinfo.m_add_duration_for_n_packets * track->default_duration; + + mxinfo(boost::format(Y("Statistics for track number %1%: number of blocks: %2%; size in bytes: %3%; duration in seconds: %4%; approximate bitrate in bits/second: %5%\n")) + % track->tnum + % tinfo.m_blocks + % tinfo.m_size + % (duration / 1000000000.0) + % static_cast<uint64_t>(duration == 0 ? 0 : tinfo.m_size * 8000000000.0 / duration)); + } +} + bool process_file(const std::string &file_name) { int upper_lvl_el; @@ -1930,7 +1987,7 @@ else if (is_id(l1, KaxCluster)) { show_element(l1, 1, Y("Cluster")); - if ((verbose == 0) && !s_show_summary) { + if ((verbose == 0) && !g_options.m_show_summary) { delete l1; delete l0; delete es; @@ -1987,6 +2044,9 @@ delete es; delete in; + if (!g_options.m_use_gui && g_options.m_show_track_info) + display_track_info(); + return true; } catch (...) { show_error(Y("Caught exception")); @@ -2003,41 +2063,29 @@ init_locales(locale); init_common_boost_formats(); + + version_info = get_version_info("mkvinfo", true); } int -console_main(std::vector<std::string> args) { - std::string file_name; - bool ok; - +console_main() { set_process_priority(-1); - parse_args(args, file_name); - if (file_name == "") { - usage(); - mxexit(0); - } - ok = process_file(file_name.c_str()); + if (g_options.m_file_name.empty()) + mxerror(Y("No file name given.\n")); - if (ok) - return 0; - else - return 1; + return process_file(g_options.m_file_name.c_str()) ? 0 : 1; } int main(int argc, char **argv) { - std::vector<std::string> args; - std::string initial_file; - setup(); - args = command_line_utf8(argc, argv); - parse_args(args, initial_file); + g_options = info_cli_parser_c(command_line_utf8(argc, argv)).run(); - if (g_use_gui) + if (g_options.m_use_gui) return ui_run(argc, argv); else - return console_main(args); + return console_main(); } diff -Nru mkvtoolnix-4.0.0/src/info/mkvinfo.h mkvtoolnix-4.5.0+dfsg/src/info/mkvinfo.h --- mkvtoolnix-4.0.0/src/info/mkvinfo.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/mkvinfo.h 2011-01-31 20:34:09.000000000 +0000 @@ -19,16 +19,17 @@ #include <string> #include <vector> +#include "info/options.h" + #define NAME "MKVInfo" -void parse_args(std::vector<std::string> args, std::string &file_name); -int console_main(std::vector<std::string> args); +extern options_c g_options; + +int console_main(); bool process_file(const std::string &file_name); void setup(const std::string &locale = ""); void cleanup(); -extern bool g_use_gui, g_show_size; - std::string create_element_text(const std::string &text, int64_t position, int64_t size); void ui_show_error(const std::string &error); void ui_show_element(int level, const std::string &text, int64_t position, int64_t size); diff -Nru mkvtoolnix-4.0.0/src/info/options.cpp mkvtoolnix-4.5.0+dfsg/src/info/options.cpp --- mkvtoolnix-4.0.0/src/info/options.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/options.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,25 @@ +/* + mkvinfo -- info tracks from Matroska files into other files + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include "info/mkvinfo.h" +#include "info/options.h" + +options_c::options_c() + : m_use_gui(false) + , m_calc_checksums(false) + , m_show_summary(false) + , m_show_hexdump(false) + , m_show_size(false) + , m_show_track_info(false) + , m_hexdump_max_size(16) +{ +} diff -Nru mkvtoolnix-4.0.0/src/info/options.h mkvtoolnix-4.5.0+dfsg/src/info/options.h --- mkvtoolnix-4.0.0/src/info/options.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/options.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,28 @@ +/* + mkvinfo -- info tracks from Matroska files into other files + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __INFO_OPTIONS_H +#define __INFO_OPTIONS_H + +#include "common/os.h" + +#include <string> +#include <vector> + +class options_c { +public: + std::string m_file_name; + bool m_use_gui, m_calc_checksums, m_show_summary, m_show_hexdump, m_show_size, m_show_track_info; + int m_hexdump_max_size; +public: + options_c(); +}; + +#endif // __INFO_OPTIONS_H diff -Nru mkvtoolnix-4.0.0/src/info/qt_ui.cpp mkvtoolnix-4.5.0+dfsg/src/info/qt_ui.cpp --- mkvtoolnix-4.0.0/src/info/qt_ui.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/qt_ui.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -61,7 +61,7 @@ void main_window_c::open() { - QString file_name = QFileDialog::getOpenFileName(this, Q(Y("Open File")), "", Q(Y("Matroska files (*.mkv *.mka *.mks);;All files (*.*)"))); + QString file_name = QFileDialog::getOpenFileName(this, Q(Y("Open File")), "", Q(Y("Matroska files (*.mkv *.mka *.mks *.mk3d);;All files (*.*)"))); if (!file_name.isEmpty()) parse_file(file_name); } @@ -248,7 +248,7 @@ void ui_show_error(const std::string &error) { - if (g_use_gui) + if (g_options.m_use_gui) gui->show_error(Q(error.c_str())); else console_show_error(error); @@ -259,8 +259,8 @@ const std::string &text, int64_t position, int64_t size) { - if (!g_use_gui) - console_show_element(level, text, position); + if (!g_options.m_use_gui) + console_show_element(level, text, position, size); else if (0 <= position) gui->add_item(level, Q(create_element_text(text, position, size).c_str())); @@ -278,19 +278,13 @@ int ui_run(int argc, char **argv) { - std::vector<std::string> args; - std::string initial_file; - QApplication app(argc, argv); main_window_c main_window; gui = &main_window; main_window.show(); - args = command_line_utf8(argc, argv); - parse_args(args, initial_file); - - if (initial_file != "") - gui->parse_file(Q(initial_file.c_str())); + if (!g_options.m_file_name.empty()) + gui->parse_file(Q(g_options.m_file_name.c_str())); return app.exec(); } diff -Nru mkvtoolnix-4.0.0/src/info/Rakefile mkvtoolnix-4.5.0+dfsg/src/info/Rakefile --- mkvtoolnix-4.0.0/src/info/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/info/resources.rc mkvtoolnix-4.5.0+dfsg/src/info/resources.rc --- mkvtoolnix-4.0.0/src/info/resources.rc 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/resources.rc 2011-01-31 20:34:09.000000000 +0000 @@ -1,10 +1,10 @@ -MATROSKAICON ICON "../mmg/matroskalogo_big.ico" +MATROSKAICON ICON "../../share/icons/windows/mkvinfo.ico" #include "wx/msw/wx.rc" 1 VERSIONINFO - FILEVERSION 4, 0, 0, 0 - PRODUCTVERSION 4, 0, 0, 0 + FILEVERSION 4, 5, 0, 0 + PRODUCTVERSION 4, 5, 0, 0 FILEFLAGSMASK 0x3f FILEOS 0x4 BEGIN @@ -14,12 +14,12 @@ BEGIN VALUE "CompanyName", "Moritz Bunkus" VALUE "FileDescription", "mkvinfo" - VALUE "FileVersion", "4.0.0" + VALUE "FileVersion", "4.5.0" VALUE "InternalName", "mkvinfo" VALUE "LegalCopyright", "Released under the GNU Pulic License http://www.gnu.org/licenses/gpl-2.0.html" VALUE "OriginalFilename", "mkvinfo" VALUE "ProductName", "MKVToolNix" - VALUE "ProductVersion", "4.0.0" + VALUE "ProductVersion", "4.5.0" END END END diff -Nru mkvtoolnix-4.0.0/src/info/wxwidgets_ui.cpp mkvtoolnix-4.5.0+dfsg/src/info/wxwidgets_ui.cpp --- mkvtoolnix-4.0.0/src/info/wxwidgets_ui.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/info/wxwidgets_ui.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -27,10 +27,8 @@ #include "common/version.h" #include "common/wx.h" #include "info/wxwidgets_ui.h" -#if !defined(SYS_WINDOWS) -#include "info/matroska.xpm" -#endif #include "info/mkvinfo.h" +#include "share/icons/32x32/mkvinfo.xpm" using namespace libebml; using namespace libmatroska; @@ -70,25 +68,11 @@ bool mi_app::OnInit() { - std::string initial_file; - std::vector<std::string> args; - wxConfigBase *cfg = new wxConfig(wxT("mkvmergeGUI")); wxConfigBase::Set(cfg); setup(get_ui_locale()); - int i; - for (i = 1; i < argc; i++) - args.push_back(std::string(wxMB(wxString(argv[i])))); - - parse_args(args, initial_file); - - if (!g_use_gui) { - console_main(args); - return false; - } - frame = new mi_frame(wxT("mkvinfo"), wxPoint(50, 50), wxSize(600, 400)); frame->Show(true); frame->Refresh(true); @@ -96,8 +80,8 @@ while (Pending()) Dispatch(); - if (initial_file != "") - frame->open_file(wxU(initial_file.c_str())); + if (g_options.m_file_name != "") + frame->open_file(wxU(g_options.m_file_name)); return true; } @@ -113,7 +97,7 @@ , file_open(false) , tree(new wxTreeCtrl(this, 4254)) { - SetIcon(wxICON(matroska)); + SetIcon(wxIcon(mkvinfo_xpm)); menu_file = new wxMenu(); menu_options = new wxMenu(); @@ -131,7 +115,7 @@ menu_options->AppendCheckItem(mi_options_expandimportant, Z("&Expand important elements\tCtrl-E"), Z("After loading a file expand the most important elements")); menu_options->Check(mi_options_showall, show_all_elements); - menu_options->Check(mi_options_show_sizes, g_show_size); + menu_options->Check(mi_options_show_sizes, g_options.m_show_size); menu_options->Check(mi_options_expandimportant, expand_important_elements); menu_help->Append(mi_help_about, Z("&About\tF1"), Z("Show about dialog")); @@ -277,8 +261,8 @@ void mi_frame::on_file_open(wxCommandEvent &WXUNUSED(event)) { wxFileDialog file_dialog(this, Z("Select Matroska file"), wxT(""), wxT(""), - Z("All supported files|*.mkv;*.mka;*.mks;*.webm;*.webma;*.webmv|" - "Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|" + Z("All supported files|*.mkv;*.mka;*.mks;*.mk3d;*.webm;*.webma;*.webmv|" + "Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|" "WebM files (*.webm;*.webma;*.webmv)|*.webm;*.webma;*.webmv|" "All files|*.*")); file_dialog.SetDirectory(last_dir); @@ -329,8 +313,8 @@ void mi_frame::on_options_show_sizes(wxCommandEvent &WXUNUSED(event)) { - g_show_size = !g_show_size; - menu_options->Check(mi_options_show_sizes, g_show_size); + g_options.m_show_size = !g_options.m_show_size; + menu_options->Check(mi_options_show_sizes, g_options.m_show_size); if (file_open) open_file(current_file); @@ -372,7 +356,7 @@ for (i = 0; i < filenames.GetCount(); i++) { wxString extension = filenames[i].AfterLast(wxT('.')).Lower(); - if ( (extension == wxT("mkv")) || (extension == wxT("mka")) || (extension == wxT("mks")) + if ( (extension == wxT("mkv")) || (extension == wxT("mka")) || (extension == wxT("mks") || (extension == wxT("mk3d"))) || (extension == wxT("webm")) || (extension == wxT("webmv")) || (extension == wxT("webma"))) frame->open_file(filenames[i]); @@ -400,7 +384,7 @@ void ui_show_error(const std::string &error) { - if (g_use_gui) + if (g_options.m_use_gui) frame->show_error(wxU(error.c_str())); else console_show_error(error); @@ -411,7 +395,7 @@ const std::string &text, int64_t position, int64_t size) { - if (!g_use_gui) + if (!g_options.m_use_gui) console_show_element(level, text, position, size); else if (0 <= position) diff -Nru mkvtoolnix-4.0.0/src/input/flac_common.cpp mkvtoolnix-4.5.0+dfsg/src/input/flac_common.cpp --- mkvtoolnix-4.0.0/src/input/flac_common.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/flac_common.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -129,8 +129,8 @@ typedef struct { unsigned char *mem; - int size; - int nread; + unsigned int size; + unsigned int nread; FLAC__StreamMetadata_StreamInfo stream_info; bool stream_info_found; @@ -146,7 +146,7 @@ if (fhe->nread == fhe->size) return FLAC__STREAM_DECODER_READ_STATUS_ABORT; - int num_bytes = *bytes > (fhe->size - fhe->nread) ? (fhe->size - fhe->nread) : *bytes; + size_t num_bytes = *bytes > (fhe->size - fhe->nread) ? (fhe->size - fhe->nread) : *bytes; memcpy(buffer, &fhe->mem[fhe->nread], num_bytes); fhe->nread += num_bytes; *bytes = num_bytes; diff -Nru mkvtoolnix-4.0.0/src/input/Makefile.in mkvtoolnix-4.5.0+dfsg/src/input/Makefile.in --- mkvtoolnix-4.0.0/src/input/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/input/r_aac.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_aac.cpp --- mkvtoolnix-4.0.0/src/input/r_aac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_aac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -23,7 +23,7 @@ int aac_reader_c::probe_file(mm_io_c *io, - int64_t size, + uint64_t size, int64_t probe_range, int num_headers) { return (find_valid_headers(io, probe_range, num_headers) != -1) ? 1 : 0; @@ -32,61 +32,57 @@ #define INITCHUNKSIZE 16384 aac_reader_c::aac_reader_c(track_info_c &_ti) - throw (error_c): - generic_reader_c(_ti), - sbr_status_set(false) { - - int adif, detected_profile; - + throw (error_c) + : generic_reader_c(_ti) + , m_bytes_processed(0) + , m_emphasis_present(false) + , m_sbr_status_set(false) +{ try { - io = new mm_file_io_c(m_ti.m_fname); - size = io->get_size(); + m_io = mm_io_cptr(new mm_file_io_c(m_ti.m_fname)); + m_size = m_io->get_size(); - int tag_size_start = skip_id3v2_tag(*io); - int tag_size_end = id3_tag_present_at_end(*io); + int tag_size_start = skip_id3v2_tag(*m_io); + int tag_size_end = id3_tag_present_at_end(*m_io); if (0 > tag_size_start) tag_size_start = 0; if (0 < tag_size_end) - size -= tag_size_end; + m_size -= tag_size_end; - int init_read_len = std::min(size - tag_size_start, (int64_t)INITCHUNKSIZE); - chunk = (unsigned char *)safemalloc(INITCHUNKSIZE); + size_t init_read_len = std::min(m_size - tag_size_start, (int64_t)INITCHUNKSIZE); + m_chunk = memory_c::alloc(INITCHUNKSIZE); - if (io->read(chunk, init_read_len) != init_read_len) + if (m_io->read(m_chunk, init_read_len) != init_read_len) throw error_c(boost::format(Y("aac_reader: Could not read %1% bytes.")) % init_read_len); - io->setFilePointer(tag_size_start, seek_beginning); + m_io->setFilePointer(tag_size_start, seek_beginning); - if (parse_aac_adif_header(chunk, init_read_len, &aacheader)) { + if (parse_aac_adif_header(*m_chunk, init_read_len, &m_aacheader)) throw error_c(Y("aac_reader: ADIF header files are not supported.")); - adif = 1; - } else { - if (find_aac_header(chunk, init_read_len, &aacheader, emphasis_present) < 0) - throw error_c(boost::format(Y("aac_reader: No valid AAC packet found in the first %1% bytes.\n")) % init_read_len); - guess_adts_version(); - adif = 0; - } - - m_ti.m_id = 0; // ID for this track. - bytes_processed = 0; - detected_profile = aacheader.profile; + if (find_aac_header(*m_chunk, init_read_len, &m_aacheader, m_emphasis_present) < 0) + throw error_c(boost::format(Y("aac_reader: No valid AAC packet found in the first %1% bytes.\n")) % init_read_len); + + guess_adts_version(); - if (24000 >= aacheader.sample_rate) - aacheader.profile = AAC_PROFILE_SBR; + m_ti.m_id = 0; // ID for this track. + int detected_profile = m_aacheader.profile; + + if (24000 >= m_aacheader.sample_rate) + m_aacheader.profile = AAC_PROFILE_SBR; if ( (map_has_key(m_ti.m_all_aac_is_sbr, 0) && m_ti.m_all_aac_is_sbr[ 0]) || (map_has_key(m_ti.m_all_aac_is_sbr, -1) && m_ti.m_all_aac_is_sbr[-1])) - aacheader.profile = AAC_PROFILE_SBR; + m_aacheader.profile = AAC_PROFILE_SBR; if ( (map_has_key(m_ti.m_all_aac_is_sbr, 0) && !m_ti.m_all_aac_is_sbr[ 0]) || (map_has_key(m_ti.m_all_aac_is_sbr, -1) && !m_ti.m_all_aac_is_sbr[-1])) - aacheader.profile = detected_profile; + m_aacheader.profile = detected_profile; if ( map_has_key(m_ti.m_all_aac_is_sbr, 0) || map_has_key(m_ti.m_all_aac_is_sbr, -1)) - sbr_status_set = true; + m_sbr_status_set = true; } catch (...) { throw error_c(Y("aac_reader: Could not open the file.")); @@ -97,28 +93,25 @@ } aac_reader_c::~aac_reader_c() { - delete io; - safefree(chunk); } void aac_reader_c::create_packetizer(int64_t) { - generic_packetizer_c *aacpacketizer; - - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; - if (!sbr_status_set) + + if (!m_sbr_status_set) mxwarn(Y("AAC files may contain HE-AAC / AAC+ / SBR AAC audio. " "This can NOT be detected automatically. Therefore you have to " "specifiy '--aac-is-sbr 0' manually for this input file if the " "file actually contains SBR AAC. The file will be muxed in the " "WRONG way otherwise. Also read mkvmerge's documentation.\n")); - aacpacketizer = new aac_packetizer_c(this, m_ti, aacheader.id, aacheader.profile, aacheader.sample_rate, aacheader.channels, emphasis_present); + generic_packetizer_c *aacpacketizer = new aac_packetizer_c(this, m_ti, m_aacheader.id, m_aacheader.profile, m_aacheader.sample_rate, m_aacheader.channels, m_emphasis_present); add_packetizer(aacpacketizer); - if (AAC_PROFILE_SBR == aacheader.profile) - aacpacketizer->set_audio_output_sampling_freq(aacheader.sample_rate * 2); + if (AAC_PROFILE_SBR == m_aacheader.profile) + aacpacketizer->set_audio_output_sampling_freq(m_aacheader.sample_rate * 2); mxinfo_tid(m_ti.m_fname, 0, Y("Using the AAC output module.\n")); } @@ -128,58 +121,51 @@ aac_reader_c::guess_adts_version() { aac_header_t tmp_aacheader; - emphasis_present = false; + m_emphasis_present = false; // Due to the checks we do have an ADTS header at 0. - find_aac_header(chunk, INITCHUNKSIZE, &tmp_aacheader, emphasis_present); + find_aac_header(*m_chunk, INITCHUNKSIZE, &tmp_aacheader, m_emphasis_present); if (tmp_aacheader.id != 0) // MPEG2 return; // Now make some sanity checks on the size field. if (tmp_aacheader.bytes > 8192) { - emphasis_present = true; // Looks like it's borked. + m_emphasis_present = true; // Looks like it's borked. return; } // Looks ok so far. See if the next ADTS is right behind this packet. - int pos = find_aac_header(&chunk[tmp_aacheader.bytes], INITCHUNKSIZE - tmp_aacheader.bytes, &tmp_aacheader, emphasis_present); - if (0 != pos) { // Not ok - what do we do now? - emphasis_present = true; - return; - } + int pos = find_aac_header(m_chunk->get_buffer() + tmp_aacheader.bytes, INITCHUNKSIZE - tmp_aacheader.bytes, &tmp_aacheader, m_emphasis_present); + if (0 != pos) // Not ok - what do we do now? + m_emphasis_present = true; } file_status_e aac_reader_c::read(generic_packetizer_c *, bool) { - int remaining_bytes = size - io->getFilePointer(); + int remaining_bytes = m_size - m_io->getFilePointer(); int read_len = std::min(INITCHUNKSIZE, remaining_bytes); - int num_read = io->read(chunk, read_len); - - if (0 > num_read) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } - - PTZR0->process(new packet_t(new memory_c(chunk, num_read, false))); - bytes_processed += num_read; + int num_read = m_io->read(m_chunk, read_len); - if (0 < (remaining_bytes - num_read)) - return FILE_STATUS_MOREDATA; + if (0 < num_read) { + PTZR0->process(new packet_t(new memory_c(*m_chunk, num_read, false))); + m_bytes_processed += num_read; - PTZR0->flush(); + if (0 < (remaining_bytes - num_read)) + return FILE_STATUS_MOREDATA; + } - return FILE_STATUS_DONE; + return flush_packetizers(); } int aac_reader_c::get_progress() { - return 100 * bytes_processed / size; + return 100 * m_bytes_processed / m_size; } void aac_reader_c::identify() { - std::string verbose_info = std::string("aac_is_sbr:") + std::string(AAC_PROFILE_SBR == aacheader.profile ? "true" : "unknown"); + std::string verbose_info = std::string("aac_is_sbr:") + std::string(AAC_PROFILE_SBR == m_aacheader.profile ? "true" : "unknown"); id_result_container("AAC"); id_result_track(0, ID_RESULT_TRACK_AUDIO, "AAC", verbose_info); diff -Nru mkvtoolnix-4.0.0/src/input/r_aac.h mkvtoolnix-4.5.0+dfsg/src/input/r_aac.h --- mkvtoolnix-4.0.0/src/input/r_aac.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_aac.h 2011-01-31 20:34:09.000000000 +0000 @@ -25,12 +25,11 @@ class aac_reader_c: public generic_reader_c { private: - unsigned char *chunk; - mm_io_c *io; - int64_t bytes_processed, size; - bool emphasis_present; - aac_header_t aacheader; - bool sbr_status_set; + memory_cptr m_chunk; + mm_io_cptr m_io; + int64_t m_bytes_processed, m_size; + bool m_emphasis_present, m_sbr_status_set; + aac_header_t m_aacheader; public: aac_reader_c(track_info_c &_ti) throw (error_c); @@ -41,7 +40,7 @@ virtual int get_progress(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size, int64_t probe_range, int num_headers); + static int probe_file(mm_io_c *io, uint64_t size, int64_t probe_range, int num_headers); protected: virtual void guess_adts_version(); diff -Nru mkvtoolnix-4.0.0/src/input/r_ac3.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_ac3.cpp --- mkvtoolnix-4.0.0/src/input/r_ac3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ac3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,7 +26,7 @@ int ac3_reader_c::probe_file(mm_io_c *io, - int64_t size, + uint64_t size, int64_t probe_size, int num_headers) { try { @@ -56,7 +56,7 @@ if (0 < tag_size_end) size -= tag_size_end; - int init_read_len = std::min(size - tag_size_start, (int64_t)AC3_READ_SIZE); + size_t init_read_len = std::min(size - tag_size_start, (int64_t)AC3_READ_SIZE); if (io->read(chunk->get_buffer(), init_read_len) != init_read_len) throw error_c(boost::format(Y("ac3_reader: Could not read %1% bytes.")) % AC3_READ_SIZE); @@ -83,7 +83,7 @@ void ac3_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(new ac3_packetizer_c(this, m_ti, ac3header.sample_rate, ac3header.channels, ac3header.bsid)); @@ -97,20 +97,15 @@ int64_t read_len = std::min((int64_t)AC3_READ_SIZE, remaining_bytes); int num_read = io->read(chunk->get_buffer(), read_len); - if (0 > num_read) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } - - PTZR0->process(new packet_t(new memory_c(chunk->get_buffer(), num_read, false))); - bytes_processed += num_read; + if (0 < num_read) { + PTZR0->process(new packet_t(new memory_c(chunk->get_buffer(), num_read, false))); + bytes_processed += num_read; - if (0 < (remaining_bytes - num_read)) - return FILE_STATUS_MOREDATA; - - PTZR0->flush(); + if (0 < (remaining_bytes - num_read)) + return FILE_STATUS_MOREDATA; + } - return FILE_STATUS_DONE; + return flush_packetizers(); } int diff -Nru mkvtoolnix-4.0.0/src/input/r_ac3.h mkvtoolnix-4.5.0+dfsg/src/input/r_ac3.h --- mkvtoolnix-4.0.0/src/input/r_ac3.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ac3.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size, int64_t probe_size, int num_headers); + static int probe_file(mm_io_c *io, uint64_t size, int64_t probe_size, int num_headers); protected: static int find_valid_headers(mm_io_c *io, int64_t probe_range, int num_headers); diff -Nru mkvtoolnix-4.0.0/src/input/Rakefile mkvtoolnix-4.5.0+dfsg/src/input/Rakefile --- mkvtoolnix-4.0.0/src/input/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/input/r_asf.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_asf.cpp --- mkvtoolnix-4.0.0/src/input/r_asf.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_asf.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -20,7 +20,7 @@ int asf_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (4 > size) return 0; diff -Nru mkvtoolnix-4.0.0/src/input/r_asf.h mkvtoolnix-4.5.0+dfsg/src/input/r_asf.h --- mkvtoolnix-4.0.0/src/input/r_asf.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_asf.h 2011-01-31 20:34:09.000000000 +0000 @@ -21,7 +21,7 @@ class asf_reader_c: public generic_reader_c { public: - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); public: asf_reader_c(track_info_c &n_ti): generic_reader_c(n_ti) { }; diff -Nru mkvtoolnix-4.0.0/src/input/r_avc.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_avc.cpp --- mkvtoolnix-4.0.0/src/input/r_avc.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_avc.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -38,7 +38,7 @@ int avc_es_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (PROBESIZE > size) return 0; @@ -128,7 +128,7 @@ void avc_es_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) return; add_packetizer(new mpeg4_p10_es_video_packetizer_c(this, m_ti, m_avcc, m_width, m_height)); @@ -145,17 +145,15 @@ return FILE_STATUS_DONE; num_read = m_io->read(m_buffer->get_buffer(), READ_SIZE); - if (0 >= num_read) - return FILE_STATUS_DONE; - - PTZR0->process(new packet_t(new memory_c(m_buffer->get_buffer(), num_read))); + if (0 < num_read) { + PTZR0->process(new packet_t(new memory_c(m_buffer->get_buffer(), num_read))); + m_bytes_processed += num_read; - m_bytes_processed += num_read; - - if ((READ_SIZE != num_read) || (m_bytes_processed >= m_size)) - PTZR0->flush(); + if (m_bytes_processed < m_size) + return FILE_STATUS_MOREDATA; + } - return READ_SIZE == num_read ? FILE_STATUS_MOREDATA : FILE_STATUS_DONE; + return flush_packetizers(); } int diff -Nru mkvtoolnix-4.0.0/src/input/r_avc.h mkvtoolnix-4.5.0+dfsg/src/input/r_avc.h --- mkvtoolnix-4.0.0/src/input/r_avc.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_avc.h 2011-01-31 20:34:09.000000000 +0000 @@ -37,7 +37,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_AVC_H diff -Nru mkvtoolnix-4.0.0/src/input/r_avi.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_avi.cpp --- mkvtoolnix-4.0.0/src/input/r_avi.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_avi.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -59,7 +59,7 @@ int avi_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[12]; if (12 > size) @@ -93,6 +93,7 @@ , m_avc_nal_size_size(-1) , m_bytes_to_process(0) , m_bytes_processed(0) + , m_video_track_ok(false) { int64_t size; @@ -115,6 +116,7 @@ m_fps = AVI_frame_rate(m_avi); m_max_video_frames = AVI_video_frames(m_avi); + verify_video_track(); parse_subtitle_chunks(); if (debugging_requested("avi_dump_video_index")) @@ -131,6 +133,21 @@ } void +avi_reader_c::verify_video_track() { + alBITMAPINFOHEADER *bih = m_avi->bitmap_info_header; + size_t size = get_uint32_le(&bih->bi_size); + + if (sizeof(alBITMAPINFOHEADER) > size) + return; + + const char *codec = AVI_video_compressor(m_avi); + if ((0 == codec[0]) || (0 == AVI_video_width(m_avi)) || (0 == AVI_video_height(m_avi))) + return; + + m_video_track_ok = true; +} + +void avi_reader_c::parse_subtitle_chunks() { int i; for (i = 0; AVI_text_tracks(m_avi) > i; ++i) { @@ -160,7 +177,7 @@ io.skip(1); - while (!io.eof() && (io.getFilePointer() < chunk_size)) { + while (!io.eof() && (io.getFilePointer() < static_cast<size_t>(chunk_size))) { uint16_t id = io.read_uint16_le(); int len = io.read_uint32_le(); @@ -191,53 +208,60 @@ void avi_reader_c::create_packetizer(int64_t tid) { - if ((0 == tid) && demuxing_requested('v', 0) && (-1 == m_vptzr)) { - int i; + if ((0 == tid) && demuxing_requested('v', 0) && (-1 == m_vptzr) && m_video_track_ok) + create_video_packetizer(); - mxverb_tid(4, m_ti.m_fname, 0, "frame sizes:\n"); + else if ((0 != tid) && (tid <= AVI_audio_tracks(m_avi)) && demuxing_requested('a', tid)) + add_audio_demuxer(tid - 1); +} - for (i = 0; i < m_max_video_frames; i++) { - m_bytes_to_process += AVI_frame_size(m_avi, i); - mxverb(4, boost::format(" %1%: %2%\n") % i % AVI_frame_size(m_avi, i)); - } +void +avi_reader_c::create_video_packetizer() { + size_t i; - m_ti.m_private_data = (unsigned char *)m_avi->bitmap_info_header; - if (NULL != m_ti.m_private_data) - m_ti.m_private_size = get_uint32_le(&m_avi->bitmap_info_header->bi_size); - - mxverb(4, boost::format("track extra data size: %1%\n") % (m_ti.m_private_size - sizeof(alBITMAPINFOHEADER))); - if (sizeof(alBITMAPINFOHEADER) < m_ti.m_private_size) { - mxverb(4, " "); - for (i = sizeof(alBITMAPINFOHEADER); i < m_ti.m_private_size; ++i) - mxverb(4, boost::format("%|1$02x| ") % m_ti.m_private_data[i]); - mxverb(4, "\n"); - } + mxverb_tid(4, m_ti.m_fname, 0, "frame sizes:\n"); - const char *codec = AVI_video_compressor(m_avi); - if (mpeg4::p2::is_v3_fourcc(codec)) - m_divx_type = DIVX_TYPE_V3; - else if (mpeg4::p2::is_fourcc(codec)) - m_divx_type = DIVX_TYPE_MPEG4; + for (i = 0; i < m_max_video_frames; i++) { + m_bytes_to_process += AVI_frame_size(m_avi, i); + mxverb(4, boost::format(" %1%: %2%\n") % i % AVI_frame_size(m_avi, i)); + } - m_ti.m_id = 0; // ID for the video track. - if (DIVX_TYPE_MPEG4 == m_divx_type) - create_mpeg4_p2_packetizer(); + m_ti.m_private_data = (unsigned char *)m_avi->bitmap_info_header; + if (NULL != m_ti.m_private_data) + m_ti.m_private_size = get_uint32_le(&m_avi->bitmap_info_header->bi_size); - else if (mpeg4::p10::is_avc_fourcc(codec) && !hack_engaged(ENGAGE_ALLOW_AVC_IN_VFW_MODE)) - create_mpeg4_p10_packetizer(); + mxverb(4, boost::format("track extra data size: %1%\n") % (m_ti.m_private_size - sizeof(alBITMAPINFOHEADER))); + if (sizeof(alBITMAPINFOHEADER) < m_ti.m_private_size) { + mxverb(4, " "); + for (i = sizeof(alBITMAPINFOHEADER); i < m_ti.m_private_size; ++i) + mxverb(4, boost::format("%|1$02x| ") % m_ti.m_private_data[i]); + mxverb(4, "\n"); + } - else if (mpeg1_2::is_fourcc(get_uint32_le(codec))) - create_mpeg1_2_packetizer(); + const char *codec = AVI_video_compressor(m_avi); + if (mpeg4::p2::is_v3_fourcc(codec)) + m_divx_type = DIVX_TYPE_V3; + else if (mpeg4::p2::is_fourcc(codec)) + m_divx_type = DIVX_TYPE_MPEG4; - else - create_standard_video_packetizer(); - } + if (map_has_key(m_ti.m_default_durations, 0)) + m_fps = 1000000000.0 / m_ti.m_default_durations[0]; - if (0 == tid) - return; + else if (map_has_key(m_ti.m_default_durations, -1)) + m_fps = 1000000000.0 / m_ti.m_default_durations[-1]; - if ((tid <= AVI_audio_tracks(m_avi)) && demuxing_requested('a', tid)) - add_audio_demuxer(tid - 1); + m_ti.m_id = 0; // ID for the video track. + if (DIVX_TYPE_MPEG4 == m_divx_type) + create_mpeg4_p2_packetizer(); + + else if (mpeg4::p10::is_avc_fourcc(codec) && !hack_engaged(ENGAGE_ALLOW_AVC_IN_VFW_MODE)) + create_mpeg4_p10_packetizer(); + + else if (mpeg1_2::is_fourcc(get_uint32_le(codec))) + create_mpeg1_2_packetizer(); + + else + create_standard_video_packetizer(); } void @@ -248,9 +272,9 @@ if ((0 != m_ti.m_private_size) && (m_ti.m_private_size < sizeof(alBITMAPINFOHEADER))) m2v_parser->WriteData(m_ti.m_private_data + sizeof(alBITMAPINFOHEADER), m_ti.m_private_size - sizeof(alBITMAPINFOHEADER)); - int frame_number = 0; - int state = m2v_parser->GetState(); - while ((frame_number < std::min(m_max_video_frames, 100)) && (MPV_PARSER_STATE_FRAME != state)) { + unsigned int frame_number = 0; + unsigned int state = m2v_parser->GetState(); + while ((frame_number < std::min(m_max_video_frames, 100u)) && (MPV_PARSER_STATE_FRAME != state)) { ++frame_number; int size = AVI_frame_size(m_avi, frame_number - 1); @@ -301,7 +325,7 @@ void avi_reader_c::create_mpeg4_p2_packetizer() { - m_vptzr = add_packetizer(new mpeg4_p2_video_packetizer_c(this, m_ti, AVI_frame_rate(m_avi), AVI_video_width(m_avi), AVI_video_height(m_avi), false)); + m_vptzr = add_packetizer(new mpeg4_p2_video_packetizer_c(this, m_ti, m_fps, AVI_video_width(m_avi), AVI_video_height(m_avi), false)); if (verbose) mxinfo_tid(m_ti.m_fname, 0, Y("Using the MPEG-4 part 2 video output module.\n")); @@ -315,7 +339,7 @@ m_vptzr = add_packetizer(ptzr); ptzr->enable_timecode_generation(false); - ptzr->set_track_default_duration((int64_t)(1000000000 / AVI_frame_rate(m_avi))); + ptzr->set_track_default_duration((int64_t)(1000000000 / m_fps)); if (m_avc_extra_nalus.is_set()) ptzr->add_extra_data(m_avc_extra_nalus); @@ -330,7 +354,7 @@ void avi_reader_c::create_standard_video_packetizer() { - m_vptzr = add_packetizer(new video_packetizer_c(this, m_ti, NULL, AVI_frame_rate(m_avi), AVI_video_width(m_avi), AVI_video_height(m_avi))); + m_vptzr = add_packetizer(new video_packetizer_c(this, m_ti, NULL, m_fps, AVI_video_width(m_avi), AVI_video_height(m_avi))); if (verbose) mxinfo_tid(m_ti.m_fname, 0, Y("Using the video output module.\n")); @@ -345,7 +369,7 @@ for (i = 0; i < AVI_audio_tracks(m_avi); i++) create_packetizer(i + 1); - for (i = 0; m_subtitle_demuxers.size() > i; ++i) + for (i = 0; static_cast<int>(m_subtitle_demuxers.size()) > i; ++i) create_subs_packetizer(i); } @@ -389,8 +413,8 @@ ssa_parser_c *parser = new ssa_parser_c(this, demuxer.m_text_io.get_object(), m_ti.m_fname, id); demuxer.m_subs = subtitles_cptr(parser); - charset_converter_cptr cc_utf8 = map_has_key(m_ti.m_sub_charsets, id) ? charset_converter_c::init(m_ti.m_sub_charsets[id]) - : map_has_key(m_ti.m_sub_charsets, -1) ? charset_converter_c::init(m_ti.m_sub_charsets[-1]) + charset_converter_cptr cc_utf8 = map_has_key(m_ti.m_sub_charsets, id) ? charset_converter_c::init(m_ti.m_sub_charsets[id]) + : map_has_key(m_ti.m_sub_charsets, -1) ? charset_converter_c::init(m_ti.m_sub_charsets[-1]) : demuxer.m_text_io->get_byte_order() != BO_NONE ? charset_converter_c::init("UTF-8") : g_cc_local_utf8; @@ -418,12 +442,14 @@ if (0 < extra_data_size) { m_avc_extra_nalus = mpeg4::p10::avcc_to_nalus((unsigned char *)(m_avi->bitmap_info_header + 1), extra_data_size); if (m_avc_extra_nalus.is_set()) { - m_avc_nal_size_size = 1 + (((unsigned char *)(m_avi->bitmap_info_header + 1))[4] & 0x03); + uint32_t marker = get_uint32_be(m_avi->bitmap_info_header + 1); + if ((0x00000001 != marker) && (0x00000100 != (marker & 0xffffff00))) + m_avc_nal_size_size = 1 + (((unsigned char *)(m_avi->bitmap_info_header + 1))[4] & 0x03); parser.add_bytes(m_avc_extra_nalus->get_buffer(), m_avc_extra_nalus->get_size()); } } - int i; + size_t i; for (i = 0; i < m_max_video_frames; ++i) { int size = AVI_frame_size(m_avi, i); if (0 == size) @@ -538,17 +564,9 @@ mxinfo_tid(m_ti.m_fname, aid + 1, Y("Using the AC3 output module.\n")); break; - case 0x2001: { // DTS - dts_header_t dtsheader; - - dtsheader.core_sampling_frequency = demuxer.m_samples_per_second; - dtsheader.audio_channels = demuxer.m_channels; - packetizer = new dts_packetizer_c(this, m_ti, dtsheader, true); - - if (verbose) - mxinfo_tid(m_ti.m_fname, aid + 1, Y("Using the DTS output module.\n")); + case 0x2001: // DTS + packetizer = create_dts_packetizer(aid); break; - } case 0x00ff: case 0x706d: // AAC @@ -632,6 +650,44 @@ } generic_packetizer_c * +avi_reader_c::create_dts_packetizer(int aid) { + try { + AVI_set_audio_track(m_avi, aid); + + long audio_position = AVI_get_audio_position_index(m_avi); + unsigned int num_read = 0; + int dts_position = -1; + byte_buffer_c buffer; + dts_header_t dtsheader; + + while ((-1 == dts_position) && (10 > num_read)) { + memory_cptr chunk = memory_c::alloc(AVI_read_audio_chunk(m_avi, NULL)); + if (AVI_read_audio_chunk(m_avi, reinterpret_cast<char *>(chunk->get_buffer())) < 0) + throw false; + + buffer.add(chunk); + dts_position = find_dts_header(buffer.get_buffer(), buffer.get_size(), &dtsheader); + } + + if (-1 == dts_position) + throw false; + + AVI_set_audio_position_index(m_avi, audio_position); + + generic_packetizer_c *packetizer = new dts_packetizer_c(this, m_ti, dtsheader, true); + + if (verbose) + mxinfo_tid(m_ti.m_fname, aid + 1, Y("Using the DTS output module.\n")); + + return packetizer; + + } catch (...) { + mxerror_tid(m_ti.m_fname, aid + 1, Y("Could not find valid DTS headers in this track's first frames.\n")); + return NULL; + } +} + +generic_packetizer_c * avi_reader_c::create_vorbis_packetizer(int aid) { try { if (!m_ti.m_private_data || !m_ti.m_private_size) @@ -690,7 +746,7 @@ file_status_e avi_reader_c::read_video() { if (m_video_frames_read >= m_max_video_frames) - return FILE_STATUS_DONE; + return flush_packetizer(m_vptzr); memory_cptr chunk; int key = 0; @@ -710,7 +766,7 @@ if (0 > num_read) { // Error reading the frame: abort m_video_frames_read = m_max_video_frames; - return FILE_STATUS_DONE; + return flush_packetizer(m_vptzr); } else if (0 == num_read) ++dropped_frames_here; @@ -719,9 +775,9 @@ if (0 == num_read) // This is only the case if the AVI contains dropped frames only. - return FILE_STATUS_DONE; + return flush_packetizer(m_vptzr); - int i; + size_t i; for (i = m_video_frames_read; i < m_max_video_frames; ++i) { if (0 != AVI_frame_size(m_avi, i)) break; @@ -764,12 +820,7 @@ m_bytes_processed += num_read; - if (m_video_frames_read >= m_max_video_frames) { - PTZR(m_vptzr)->flush(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return m_video_frames_read >= m_max_video_frames ? flush_packetizer(m_vptzr) : FILE_STATUS_MOREDATA; } file_status_e @@ -777,18 +828,14 @@ AVI_set_audio_track(m_avi, demuxer.m_aid); int size = AVI_read_audio_chunk(m_avi, NULL); - if (0 >= size) { - PTZR(demuxer.m_ptzr)->flush(); - return FILE_STATUS_DONE; - } + if (0 >= size) + return flush_packetizer(demuxer.m_ptzr); memory_cptr chunk = memory_c::alloc(size); size = AVI_read_audio_chunk(m_avi, (char *)chunk->get_buffer()); - if (0 >= size) { - PTZR(demuxer.m_ptzr)->flush(); - return FILE_STATUS_DONE; - } + if (0 >= size) + return flush_packetizer(demuxer.m_ptzr); bool need_more_data = 0 != AVI_read_audio_chunk(m_avi, NULL); @@ -797,27 +844,15 @@ m_bytes_processed += size; - if (need_more_data) - return FILE_STATUS_MOREDATA; - else { - PTZR(demuxer.m_ptzr)->flush(); - return FILE_STATUS_DONE; - } + return need_more_data ? FILE_STATUS_MOREDATA : flush_packetizer(demuxer.m_ptzr); } file_status_e avi_reader_c::read_subtitles(avi_subs_demuxer_t &demuxer) { - if (demuxer.m_subs->empty()) - return FILE_STATUS_DONE; - - demuxer.m_subs->process(PTZR(demuxer.m_ptzr)); - - if (demuxer.m_subs->empty()) { - PTZR(demuxer.m_ptzr)->flush(); - return FILE_STATUS_DONE; - } + if (!demuxer.m_subs->empty()) + demuxer.m_subs->process(PTZR(demuxer.m_ptzr)); - return FILE_STATUS_MOREDATA; + return demuxer.m_subs->empty() ? flush_packetizer(demuxer.m_ptzr) : FILE_STATUS_MOREDATA; } file_status_e @@ -836,7 +871,7 @@ if ((-1 != subs_demuxer->m_ptzr) && (PTZR(subs_demuxer->m_ptzr) == ptzr)) return read_subtitles(*subs_demuxer); - return FILE_STATUS_DONE; + return flush_packetizers(); } int @@ -878,6 +913,7 @@ void avi_reader_c::identify() { + id_result_container("AVI"); identify_video(); identify_audio(); identify_subtitles(); @@ -886,9 +922,10 @@ void avi_reader_c::identify_video() { - std::vector<std::string> extended_info; + if (!m_video_track_ok) + return; - id_result_container("AVI"); + std::vector<std::string> extended_info; const char *fourcc_str = AVI_video_compressor(m_avi); std::string type = fourcc_str; @@ -929,7 +966,7 @@ void avi_reader_c::identify_subtitles() { - int i; + size_t i; for (i = 0; m_subtitle_demuxers.size() > i; ++i) id_result_track(1 + AVI_audio_tracks(m_avi) + i, ID_RESULT_TRACK_SUBTITLES, avi_subs_demuxer_t::TYPE_SRT == m_subtitle_demuxers[i].m_type ? "SRT" @@ -939,7 +976,7 @@ void avi_reader_c::identify_attachments() { - int i; + size_t i; for (i = 0; m_subtitle_demuxers.size() > i; ++i) { try { @@ -960,7 +997,7 @@ void avi_reader_c::add_available_track_ids() { - int i; + size_t i; // Yes, '>=' is correct. Don't forget the video track! for (i = 0; (AVI_audio_tracks(m_avi) + m_subtitle_demuxers.size()) >= i; i++) @@ -971,7 +1008,7 @@ avi_reader_c::debug_dump_video_index() { int num_video_frames = AVI_video_frames(m_avi), i; - mxinfo(boost::format("AVI video index dump: %1% entries; frame rate: %2%\n") % num_video_frames % AVI_frame_rate(m_avi)); + mxinfo(boost::format("AVI video index dump: %1% entries; frame rate: %2%\n") % num_video_frames % m_fps); for (i = 0; num_video_frames > i; ++i) mxinfo(boost::format(" %1%: %2% bytes\n") % i % AVI_frame_size(m_avi, i)); } diff -Nru mkvtoolnix-4.0.0/src/input/r_avi.h mkvtoolnix-4.5.0+dfsg/src/input/r_avi.h --- mkvtoolnix-4.0.0/src/input/r_avi.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_avi.h 2011-01-31 20:34:09.000000000 +0000 @@ -72,12 +72,13 @@ std::vector<avi_demuxer_t> m_audio_demuxers; std::vector<avi_subs_demuxer_t> m_subtitle_demuxers; double m_fps; - int m_video_frames_read, m_max_video_frames, m_dropped_video_frames, m_act_wchar; + unsigned int m_video_frames_read, m_max_video_frames, m_dropped_video_frames, m_act_wchar; bool m_is_divx; memory_cptr m_avc_extra_nalus; int m_avc_nal_size_size; int64_t m_bytes_to_process, m_bytes_processed; + bool m_video_track_ok; public: avi_reader_c(track_info_c &_ti) throw (error_c); @@ -90,7 +91,7 @@ virtual void create_packetizer(int64_t tid); virtual void add_available_track_ids(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: virtual void add_audio_demuxer(int aid); @@ -100,6 +101,7 @@ virtual memory_cptr extract_avcc(); virtual generic_packetizer_c *create_aac_packetizer(int aid, avi_demuxer_t &demuxer); + virtual generic_packetizer_c *create_dts_packetizer(int aid); virtual generic_packetizer_c *create_vorbis_packetizer(int aid); virtual void create_subs_packetizer(int idx); virtual void create_srt_packetizer(int idx); @@ -108,10 +110,12 @@ virtual void create_mpeg1_2_packetizer(); virtual void create_mpeg4_p2_packetizer(); virtual void create_mpeg4_p10_packetizer(); + virtual void create_video_packetizer(); void extended_identify_mpeg4_l2(std::vector<std::string> &extended_info); void parse_subtitle_chunks(); + void verify_video_track(); virtual void identify_video(); virtual void identify_audio(); diff -Nru mkvtoolnix-4.0.0/src/input/r_cdxa.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_cdxa.cpp --- mkvtoolnix-4.0.0/src/input/r_cdxa.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_cdxa.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -18,7 +18,7 @@ bool cdxa_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (12 > size) return false; diff -Nru mkvtoolnix-4.0.0/src/input/r_cdxa.h mkvtoolnix-4.5.0+dfsg/src/input/r_cdxa.h --- mkvtoolnix-4.0.0/src/input/r_cdxa.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_cdxa.h 2011-01-31 20:34:09.000000000 +0000 @@ -20,7 +20,7 @@ class cdxa_reader_c: public generic_reader_c { public: - static bool probe_file(mm_io_c *io, int64_t size); + static bool probe_file(mm_io_c *io, uint64_t size); public: cdxa_reader_c(track_info_c &n_ti): generic_reader_c(n_ti) { }; diff -Nru mkvtoolnix-4.0.0/src/input/r_corepicture.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_corepicture.cpp --- mkvtoolnix-4.0.0/src/input/r_corepicture.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_corepicture.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -43,7 +43,7 @@ int corepicture_reader_c::probe_file(mm_text_io_c *io, - int64_t) { + uint64_t) { try { corepicture_xml_find_root_c root_finder(io); @@ -179,6 +179,9 @@ void corepicture_reader_c::create_packetizer(int64_t tid) { + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) + return; + uint8 private_buffer[5]; uint32 codec_used = 0; std::vector<corepicture_pic_t>::const_iterator picture; @@ -225,12 +228,7 @@ m_current_picture++; } - if (m_current_picture == m_pictures.end()) { - PTZR(m_ptzr)->flush(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return m_current_picture == m_pictures.end() ? flush_packetizer(m_ptzr) : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_corepicture.h mkvtoolnix-4.5.0+dfsg/src/input/r_corepicture.h --- mkvtoolnix-4.0.0/src/input/r_corepicture.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_corepicture.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void create_packetizer(int64_t tid); virtual int get_progress(); - static int probe_file(mm_text_io_c *io, int64_t size); + static int probe_file(mm_text_io_c *io, uint64_t size); virtual void start_element_cb(const char *name, const char **atts); virtual void end_element_cb(const char *name); diff -Nru mkvtoolnix-4.0.0/src/input/r_dirac.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_dirac.cpp --- mkvtoolnix-4.0.0/src/input/r_dirac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_dirac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,7 +26,7 @@ int dirac_es_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (PROBESIZE > size) return 0; @@ -88,7 +88,7 @@ void dirac_es_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) return; add_packetizer(new dirac_video_packetizer_c(this, m_ti)); @@ -100,20 +100,17 @@ dirac_es_reader_c::read(generic_packetizer_c *, bool) { if (m_bytes_processed >= m_size) - return FILE_STATUS_DONE; + return flush_packetizers(); int num_read = m_io->read(m_buffer->get_buffer(), READ_SIZE); if (0 >= num_read) - return FILE_STATUS_DONE; + return flush_packetizers(); PTZR0->process(new packet_t(new memory_c(m_buffer->get_buffer(), num_read))); m_bytes_processed += num_read; - if ((READ_SIZE != num_read) || (m_bytes_processed >= m_size)) - PTZR0->flush(); - - return READ_SIZE == num_read ? FILE_STATUS_MOREDATA : FILE_STATUS_DONE; + return ((READ_SIZE != num_read) || (m_bytes_processed >= m_size)) ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_dirac.h mkvtoolnix-4.5.0+dfsg/src/input/r_dirac.h --- mkvtoolnix-4.0.0/src/input/r_dirac.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_dirac.h 2011-01-31 20:34:09.000000000 +0000 @@ -37,7 +37,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_DIRAC_H diff -Nru mkvtoolnix-4.0.0/src/input/r_dts.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_dts.cpp --- mkvtoolnix-4.0.0/src/input/r_dts.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_dts.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -23,7 +23,7 @@ int dts_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { if (size < READ_SIZE) return 0; @@ -107,7 +107,7 @@ void dts_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(new dts_packetizer_c(this, m_ti, dtsheader)); @@ -123,22 +123,15 @@ int nread = io->read(buf[cur_buf], READ_SIZE); nread &= ~0xf; - if (0 >= nread) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= nread) + return flush_packetizers(); nread = decode_buffer(nread); PTZR0->process(new packet_t(new memory_c(buf[cur_buf], nread, false))); bytes_processed += nread; - if ((nread < READ_SIZE) || io->eof()) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return ((nread < READ_SIZE) || io->eof()) ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_dts.h mkvtoolnix-4.5.0+dfsg/src/input/r_dts.h --- mkvtoolnix-4.0.0/src/input/r_dts.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_dts.h 2011-01-31 20:34:09.000000000 +0000 @@ -42,7 +42,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: virtual int decode_buffer(int len); diff -Nru mkvtoolnix-4.0.0/src/input/r_flac.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_flac.cpp --- mkvtoolnix-4.0.0/src/input/r_flac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_flac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -85,7 +85,7 @@ int flac_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[4]; if (4 > size) @@ -157,7 +157,7 @@ void flac_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(new flac_packetizer_c(this, m_ti, header, header_size)); @@ -252,31 +252,21 @@ file_status_e flac_reader_c::read(generic_packetizer_c *, bool) { - unsigned char *buf; - int samples_here; - if (current_block == blocks.end()) - return FILE_STATUS_DONE; + return flush_packetizers(); - buf = (unsigned char *)safemalloc(current_block->len); + memory_cptr buf = memory_c::alloc(current_block->len); file->setFilePointer(current_block->filepos); - if (file->read(buf, current_block->len) != current_block->len) { - safefree(buf); - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (file->read(buf, current_block->len) != current_block->len) + return flush_packetizers(); - samples_here = flac_get_num_samples(buf, current_block->len, stream_info); - PTZR0->process(new packet_t(new memory_c(buf, current_block->len, true), samples * 1000000000 / sample_rate)); + unsigned int samples_here = flac_get_num_samples(buf->get_buffer(), current_block->len, stream_info); + PTZR0->process(new packet_t(buf, samples * 1000000000 / sample_rate)); samples += samples_here; current_block++; - if (current_block == blocks.end()) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } - return FILE_STATUS_MOREDATA; + return (current_block == blocks.end()) ? flush_packetizers() : FILE_STATUS_MOREDATA; } FLAC__StreamDecoderReadStatus @@ -371,7 +361,7 @@ int flac_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[4]; if (4 > size) diff -Nru mkvtoolnix-4.0.0/src/input/r_flac.h mkvtoolnix-4.5.0+dfsg/src/input/r_flac.h --- mkvtoolnix-4.0.0/src/input/r_flac.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_flac.h 2011-01-31 20:34:09.000000000 +0000 @@ -31,7 +31,7 @@ typedef struct { int64_t filepos; - int type, len; + unsigned int type, len; } flac_block_t; class flac_reader_c: public generic_reader_c { @@ -39,7 +39,7 @@ mm_io_c *file; int sample_rate; bool metadata_parsed; - int64_t samples, file_size; + uint64_t samples, file_size; unsigned char *header; int header_size; std::vector<flac_block_t> blocks; @@ -56,7 +56,7 @@ virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); virtual FLAC__StreamDecoderReadStatus read_cb(FLAC__byte buffer[], size_t *bytes); @@ -79,7 +79,7 @@ class flac_reader_c: public generic_reader_c { public: - static int probe_file(mm_io_c *file, int64_t size); + static int probe_file(mm_io_c *file, uint64_t size); public: flac_reader_c(track_info_c &n_ti): generic_reader_c(n_ti) { }; diff -Nru mkvtoolnix-4.0.0/src/input/r_flv.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_flv.cpp --- mkvtoolnix-4.0.0/src/input/r_flv.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_flv.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -17,7 +17,7 @@ int flv_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (3 > size) return 0; diff -Nru mkvtoolnix-4.0.0/src/input/r_flv.h mkvtoolnix-4.5.0+dfsg/src/input/r_flv.h --- mkvtoolnix-4.0.0/src/input/r_flv.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_flv.h 2011-01-31 20:34:09.000000000 +0000 @@ -21,7 +21,7 @@ class flv_reader_c: public generic_reader_c { public: - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); public: flv_reader_c(track_info_c &n_ti): generic_reader_c(n_ti) { }; diff -Nru mkvtoolnix-4.0.0/src/input/r_ivf.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_ivf.cpp --- mkvtoolnix-4.0.0/src/input/r_ivf.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ivf.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -23,7 +23,7 @@ int ivf_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { if (sizeof(ivf_file_header_t) > size) return 0; @@ -71,7 +71,7 @@ void ivf_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) return; vp8_video_packetizer_c *packetizer = new vp8_video_packetizer_c(this, m_ti); @@ -90,24 +90,24 @@ file_status_e ivf_reader_c::read(generic_packetizer_c *, bool) { - int remaining_bytes = m_size - m_in->getFilePointer(); + size_t remaining_bytes = m_size - m_in->getFilePointer(); ivf_frame_header_t header; if ((sizeof(ivf_frame_header_t) > remaining_bytes) || (m_in->read(&header, sizeof(ivf_frame_header_t)) != sizeof(ivf_frame_header_t))) - return FILE_STATUS_DONE; + return flush_packetizers(); remaining_bytes -= sizeof(ivf_frame_header_t); uint32_t frame_size = get_uint32_le(&header.frame_size); if (remaining_bytes < frame_size) { m_in->setFilePointer(0, seek_end); - return FILE_STATUS_DONE; + return flush_packetizers(); } memory_cptr buffer = memory_c::alloc(frame_size); if (m_in->read(buffer->get_buffer(), frame_size) < frame_size) { m_in->setFilePointer(0, seek_end); - return FILE_STATUS_DONE; + return flush_packetizers(); } int64_t timestamp = get_uint64_le(&header.timestamp) * 1000000000ull * m_frame_rate_den / m_frame_rate_num; diff -Nru mkvtoolnix-4.0.0/src/input/r_ivf.h mkvtoolnix-4.5.0+dfsg/src/input/r_ivf.h --- mkvtoolnix-4.0.0/src/input/r_ivf.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ivf.h 2011-01-31 20:34:09.000000000 +0000 @@ -36,7 +36,7 @@ virtual int get_progress(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_IVF_H diff -Nru mkvtoolnix-4.0.0/src/input/r_matroska.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_matroska.cpp --- mkvtoolnix-4.0.0/src/input/r_matroska.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_matroska.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -15,6 +15,7 @@ #include "common/common_pch.h" #include <avilib.h> // for BITMAPINFOHEADER +#include <boost/math/common_factor.hpp> #include <ebml/EbmlContexts.h> #include <ebml/EbmlHead.h> @@ -68,6 +69,7 @@ #include "output/p_mpeg4_p10.h" #include "output/p_passthrough.h" #include "output/p_pcm.h" +#include "output/p_pgs.h" #include "output/p_textsubs.h" #include "output/p_theora.h" #include "output/p_tta.h" @@ -117,7 +119,7 @@ void kax_track_t::handle_packetizer_stereo_mode() { - if (STEREO_MODE_UNSPECIFIED != v_stereo_mode) + if (stereo_mode_c::unspecified != v_stereo_mode) ptzr_ptr->set_video_stereo_mode(v_stereo_mode, PARAMETER_SOURCE_CONTAINER); } @@ -136,13 +138,42 @@ ptzr_ptr->set_track_default_duration(default_duration); } +/* Fix display dimension parameters + + Certain Matroska muxers abuse the DisplayWidth/DisplayHeight + parameters for only storing an aspect ratio. These values are + usually very small, e.g. 16/9. Fix them so that the quotient is + kept but the values are in the range of the PixelWidth/PixelHeight + elements. + */ +void +kax_track_t::fix_display_dimension_parameters() { + if (0 != v_display_unit) + return; + + if (((8 * v_dwidth) > v_width) || ((8 * v_dheight) > v_height)) + return; + + if (boost::math::gcd(v_dwidth, v_dheight) == 1) { // max shrinking was applied, ie x264 style + if (v_dwidth > v_dheight) { + if (((v_height * v_dwidth) % v_dheight) == 0) { // only if we get get an exact count of pixels + v_dwidth = v_height * v_dwidth / v_dheight; + v_dheight = v_height; + } + } else if (((v_width * v_dheight) % v_dwidth) == 0) { + v_dwidth = v_width; + v_dheight = v_width * v_dheight / v_dwidth; + } + } +} + /* Probes a file by simply comparing the first four bytes to the EBML head signature. */ int kax_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[4]; if (4 > size) @@ -164,6 +195,7 @@ throw (error_c) : generic_reader_c(_ti) , m_segment_duration(0) + , m_last_timecode(0) , m_first_timecode(-1) , m_writing_app_ver(-1) , m_attachment_id(0) @@ -351,7 +383,7 @@ bool is_ok = true; if (t->codec_id == MKV_A_ACM) is_ok = verify_acm_audio_track(t); - else if (starts_with(t->codec_id, MKV_A_MP3, strlen(MKV_A_MP3) - 1)) + else if ((t->codec_id == MKV_A_MP3) || (t->codec_id == MKV_A_MP2)) t->a_formattag = 0x0055; else if (starts_with(t->codec_id, MKV_A_AC3, strlen(MKV_A_AC3)) || (t->codec_id == MKV_A_EAC3)) t->a_formattag = 0x2000; @@ -522,7 +554,7 @@ void kax_reader_c::verify_tracks() { - int tnum; + size_t tnum; kax_track_t *t; for (tnum = 0; tnum < m_tracks.size(); tnum++) { @@ -600,7 +632,7 @@ atts->Read(*m_es, EBML_CLASS_CONTEXT(KaxAttachments), upper_lvl_el, l2, true); - int i; + size_t i; for (i = 0; i < atts->ListSize(); i++) { KaxAttached *att = (KaxAttached *)(*atts)[i]; @@ -611,7 +643,7 @@ int64_t size = -1; int64_t id = -1; unsigned char *data = NULL; - int k; + size_t k; for (k = 0; k < att->ListSize(); k++) { l2 = (*att)[k]; @@ -684,7 +716,7 @@ if (NULL == m_chapters) m_chapters = new KaxChapters; - int i; + size_t i; for (i = 0; i < tmp_chapters->ListSize(); i++) m_chapters->PushElement(*(*tmp_chapters)[i]); tmp_chapters->RemoveAll(); @@ -736,7 +768,7 @@ if (NULL != track) { bool contains_tag = false; - int i; + size_t i; for (i = 0; i < tag->ListSize(); i++) if (dynamic_cast<KaxTagSimple *>((*tag)[i]) != NULL) { contains_tag = true; @@ -834,7 +866,7 @@ void kax_reader_c::read_headers_info_writing_app(KaxWritingApp *&km_writing_app) { - int idx; + size_t idx; std::string s = UTFstring_to_cstrutf8(UTFstring(*km_writing_app)); strip(s); @@ -948,6 +980,16 @@ } else track->v_dheight = track->v_height; +#if MATROSKA_VERSION >= 2 + KaxVideoDisplayUnit *kv_dunit = FINDFIRST(ktvideo, KaxVideoDisplayUnit); + if (NULL != kv_dunit) { + track->v_display_unit = uint64(*kv_dunit); + mxverb(2, boost::format("matroska_reader: | + Display unit: %1%\n") % track->v_display_unit); + } +#endif + + track->fix_display_dimension_parameters(); + // For older files. KaxVideoFrameRate *kv_frate = FINDFIRST(ktvideo, KaxVideoFrameRate); if (NULL != kv_frate) { @@ -981,8 +1023,8 @@ KaxVideoStereoMode *kv_stereo_mode = FINDFIRST(ktvideo, KaxVideoStereoMode); if (NULL != kv_stereo_mode) { - track->v_stereo_mode = (stereo_mode_e)uint64(*kv_stereo_mode); - mxverb(2, boost::format("matroska_reader: | + Stereo mode: %1%\n") % (int)track->v_stereo_mode); + track->v_stereo_mode = static_cast<stereo_mode_c::mode>(uint64(*kv_stereo_mode)); + mxverb(2, boost::format("matroska_reader: | + Stereo mode: %1%\n") % static_cast<int>(track->v_stereo_mode)); } } @@ -1108,8 +1150,7 @@ if (NULL != ktflacing) { mxverb(2, boost::format("matroska_reader: | + Lacing flag: %1%\n") % uint64(*ktflacing)); track->lacing_flag = uint64(*ktflacing); - } else - track->lacing_flag = true; + } KaxMaxBlockAdditionID *ktmax_blockadd_id = FINDFIRST(ktentry, KaxMaxBlockAdditionID); if (NULL != ktmax_blockadd_id) { @@ -1148,14 +1189,14 @@ int i = 0; seek_head.Read(*m_es, EBML_CLASS_CONTEXT(KaxSeekHead), i, el, true); - for (i = 0; i < seek_head.ListSize(); i++) { + for (i = 0; i < static_cast<int>(seek_head.ListSize()); i++) { if (EbmlId(*seek_head[i]) != EBML_ID(KaxSeek)) continue; KaxSeek &seek = *static_cast<KaxSeek *>(seek_head[i]); int64_t pos = -1; deferred_l1_type_e type = dl1t_unknown; - int k; + size_t k; for (k = 0; k < seek.ListSize(); k++) if (EbmlId(*seek[k]) == EBML_ID(KaxSeekID)) { @@ -1203,6 +1244,7 @@ // Next element must be a segment l0 = m_es->FindNextID(EBML_INFO(KaxSegment), 0xFFFFFFFFFFFFFFFFLL); + counted_ptr<EbmlElement> l0_cptr(l0); if (NULL == l0) { if (verbose) mxwarn(Y("matroska_reader: No segment found.\n")); @@ -1317,7 +1359,7 @@ if (!m_tags.is_set() || g_identifying) return; - int i; + size_t i; for (i = 0; m_tags->ListSize() > i; ++i) add_tags(static_cast<KaxTag *>((*m_tags)[i])); @@ -1513,13 +1555,25 @@ void kax_reader_c::create_dts_audio_packetizer(kax_track_t *t, track_info_c &nti) { - dts_header_t dtsheader; + try { + read_first_frames(t, 5); + + byte_buffer_c buffer; + foreach(memory_cptr &frame, t->first_frames_data) + buffer.add(frame); + + dts_header_t dtsheader; + int position = find_dts_header(buffer.get_buffer(), buffer.get_size(), &dtsheader); + + if (-1 == position) + throw false; - dtsheader.core_sampling_frequency = (unsigned int)t->a_sfreq; - dtsheader.audio_channels = t->a_channels; + t->ptzr = add_packetizer(new dts_packetizer_c(this, nti, dtsheader, true)); + mxinfo_tid(m_ti.m_fname, t->tnum, Y("Using the DTS output module.\n")); - t->ptzr = add_packetizer(new dts_packetizer_c(this, nti, dtsheader, true)); - mxinfo_tid(m_ti.m_fname, t->tnum, Y("Using the DTS output module.\n")); + } catch (...) { + mxerror_tid(m_ti.m_fname, t->tnum, Y("Could not find valid DTS headers in this track's first frames.\n")); + } } #if defined(HAVE_FLAC_FORMAT_H) @@ -1658,6 +1712,12 @@ mxinfo_tid(m_ti.m_fname, t->tnum, Y("Using the Kate output module.\n")); + } else if (t->codec_id == MKV_S_HDMV_PGS) { + t->ptzr = add_packetizer(new pgs_packetizer_c(this, nti)); + t->sub_type = 'p'; + + mxinfo_tid(m_ti.m_fname, t->tnum, Y("Using the PGS output module.\n")); + } else init_passthrough_packetizer(t); @@ -1812,7 +1872,7 @@ if (t->first_frames_data.size() >= num_wanted) return; - std::map<int64_t, int> frames_by_track_id; + std::map<int64_t, unsigned int> frames_by_track_id; m_in->save_pos(); @@ -1826,7 +1886,7 @@ if (NULL != ctc) cluster->InitTimecode(uint64(*ctc), m_tc_scale); - int bgidx; + size_t bgidx; for (bgidx = 0; bgidx < cluster->ListSize(); bgidx++) { if ((EbmlId(*(*cluster)[bgidx]) == EBML_ID(KaxSimpleBlock))) { KaxSimpleBlock *block_simple = static_cast<KaxSimpleBlock *>((*cluster)[bgidx]); @@ -1837,7 +1897,7 @@ if ((NULL == block_track) || (0 == block_simple->NumberFrames())) continue; - for (int frame_idx = 0; block_simple->NumberFrames() > frame_idx; ++frame_idx) { + for (size_t frame_idx = 0; block_simple->NumberFrames() > frame_idx; ++frame_idx) { frames_by_track_id[ block_simple->TrackNum() ]++; if (frames_by_track_id[ block_simple->TrackNum() ] <= block_track->first_frames_data.size()) @@ -1862,7 +1922,7 @@ if ((NULL == block_track) || (0 == block->NumberFrames())) continue; - for (int frame_idx = 0; block->NumberFrames() > frame_idx; ++frame_idx) { + for (size_t frame_idx = 0; block->NumberFrames() > frame_idx; ++frame_idx) { frames_by_track_id[ block->TrackNum() ]++; if (frames_by_track_id[ block->TrackNum() ] <= block_track->first_frames_data.size()) @@ -1922,7 +1982,7 @@ adjust_chapter_timecodes(*m_chapters, -m_first_timecode); } - int bgidx; + size_t bgidx; for (bgidx = 0; bgidx < cluster->ListSize(); bgidx++) { EbmlElement *element = (*cluster)[bgidx]; @@ -1999,9 +2059,10 @@ // and stuff. Just pass everything through as it is. int i; for (i = 0; i < (int)block_simple->NumberFrames(); i++) { - DataBuffer &data = block_simple->GetBuffer(i); - packet_t *packet = new packet_t(new memory_c((unsigned char *)data.Buffer(), data.Size(), false), - m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref); + DataBuffer &data_buffer = block_simple->GetBuffer(i); + memory_cptr data(new memory_c(data_buffer.Buffer(), data_buffer.Size(), false)); + block_track->content_decoder.reverse(data, CONTENT_ENCODING_SCOPE_BLOCK); + packet_t *packet = new packet_t(data, m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref); ((passthrough_packetizer_c *)PTZR(block_track->ptzr))->process(packet_cptr(packet)); } @@ -2015,11 +2076,11 @@ if (('s' == block_track->type) && ('t' == block_track->sub_type)) { if ((2 < data->get_size()) || ((0 < data->get_size()) && (' ' != *data->get_buffer()) && (0 != *data->get_buffer()) && !iscr(*data->get_buffer()))) { - char *lines = (char *)safemalloc(data->get_size() + 1); - lines[data->get_size()] = 0; - memcpy(lines, data->get_buffer(), data->get_size()); + memory_cptr lines = memory_c::alloc(data->get_size() + 1); + lines->get_buffer()[ data->get_size() ] = 0; + memcpy(lines->get_buffer(), data->get_buffer(), data->get_size()); - PTZR(block_track->ptzr)-> process(new packet_t(new memory_c((unsigned char *)lines, 0, true), m_last_timecode, block_duration, block_bref, block_fref)); + PTZR(block_track->ptzr)->process(new packet_t(lines, m_last_timecode, block_duration, block_bref, block_fref)); } } else { @@ -2110,9 +2171,10 @@ int i; for (i = 0; i < (int)block->NumberFrames(); i++) { - DataBuffer &data = block->GetBuffer(i); - packet_t *packet = new packet_t(new memory_c((unsigned char *)data.Buffer(), data.Size(), false), - m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref); + DataBuffer &data_buffer = block->GetBuffer(i); + memory_cptr data(new memory_c(data_buffer.Buffer(), data_buffer.Size(), false)); + block_track->content_decoder.reverse(data, CONTENT_ENCODING_SCOPE_BLOCK); + packet_t *packet = new packet_t(data, m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref); packet->duration_mandatory = duration != NULL; if (NULL != codec_state) @@ -2157,7 +2219,7 @@ packet->codec_state = clone_memory(codec_state->GetBuffer(), codec_state->GetSize()); if (blockadd) { - int k; + size_t k; for (k = 0; k < blockadd->ListSize(); k++) { if (!(is_id((*blockadd)[k], KaxBlockMore))) continue; @@ -2184,7 +2246,7 @@ int kax_reader_c::get_progress() { if (0 != m_segment_duration) - return (m_last_timecode - m_first_timecode) * 100 / m_segment_duration; + return (m_last_timecode - std::max(m_first_timecode, static_cast<int64_t>(0))) * 100 / m_segment_duration; return 100 * m_in->getFilePointer() / m_file_size; } @@ -2224,8 +2286,8 @@ if ((0 != track->v_dwidth) && (0 != track->v_dheight)) verbose_info.push_back((boost::format("display_dimensions:%1%x%2%") % track->v_dwidth % track->v_dheight).str()); - if (STEREO_MODE_UNSPECIFIED != track->v_stereo_mode) - verbose_info.push_back((boost::format("stereo_mode:%1%") % (int)track->v_stereo_mode).str()); + if (stereo_mode_c::unspecified != track->v_stereo_mode) + verbose_info.push_back((boost::format("stereo_mode:%1%") % static_cast<int>(track->v_stereo_mode)).str()); if ((0 != track->v_pcleft) || (0 != track->v_pctop) || (0 != track->v_pcright) || (0 != track->v_pcbottom)) verbose_info.push_back((boost::format("cropping:%1%,%2%,%3%,%4%") % track->v_pcleft % track->v_pctop % track->v_pcright % track->v_pcbottom).str()); diff -Nru mkvtoolnix-4.0.0/src/input/r_matroska.h mkvtoolnix-4.5.0+dfsg/src/input/r_matroska.h --- mkvtoolnix-4.0.0/src/input/r_matroska.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_matroska.h 2011-01-31 20:34:09.000000000 +0000 @@ -51,8 +51,9 @@ // Parameters for video tracks uint64_t v_width, v_height, v_dwidth, v_dheight; + unsigned int v_display_unit; uint64_t v_pcleft, v_pctop, v_pcright, v_pcbottom; - stereo_mode_e v_stereo_mode; + stereo_mode_c::mode v_stereo_mode; float v_frate; char v_fourcc[5]; bool v_bframes; @@ -99,27 +100,28 @@ , passthrough(false) , min_cache(0) , max_cache(0) - , lacing_flag(false) + , lacing_flag(true) , default_duration(0) , v_width(0) , v_height(0) , v_dwidth(0) , v_dheight(0) + , v_display_unit(0) , v_pcleft(0) , v_pctop(0) , v_pcright(0) , v_pcbottom(0) - , v_stereo_mode(STEREO_MODE_UNSPECIFIED) + , v_stereo_mode(stereo_mode_c::unspecified) , v_frate(0.0) , v_bframes(false) , a_channels(0) , a_bps(0) , a_formattag(0) - , a_sfreq(0.0) + , a_sfreq(8000.0) , a_osfreq(0.0) , private_data(NULL) , private_size(0) - , default_track(false) + , default_track(true) , forced_track(boost::logic::indeterminate) , language("eng") , units_processed(0) @@ -147,6 +149,7 @@ void handle_packetizer_stereo_mode(); void handle_packetizer_pixel_dimensions(); void handle_packetizer_default_duration(); + void fix_display_dimension_parameters(); }; typedef counted_ptr<kax_track_t> kax_track_cptr; @@ -199,7 +202,7 @@ virtual void create_packetizer(int64_t tid); virtual void add_available_track_ids(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: virtual void set_track_packetizer(kax_track_t *t, generic_packetizer_c *ptzr); diff -Nru mkvtoolnix-4.0.0/src/input/r_mp3.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_mp3.cpp --- mkvtoolnix-4.0.0/src/input/r_mp3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mp3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -20,7 +20,7 @@ int mp3_reader_c::probe_file(mm_io_c *io, - int64_t, + uint64_t, int64_t probe_range, int num_headers) { return (find_valid_headers(io, probe_range, num_headers) != -1) ? 1 : 0; @@ -65,7 +65,7 @@ void mp3_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; mxinfo_tid(m_ti.m_fname, 0, Y("Using the MPEG audio output module.\n")); @@ -76,10 +76,8 @@ mp3_reader_c::read(generic_packetizer_c *, bool) { int nread = io->read(chunk, 16384); - if (0 >= nread) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= nread) + return flush_packetizers(); PTZR0->process(new packet_t(new memory_c(chunk, nread, false))); bytes_processed += nread; diff -Nru mkvtoolnix-4.0.0/src/input/r_mp3.h mkvtoolnix-4.5.0+dfsg/src/input/r_mp3.h --- mkvtoolnix-4.0.0/src/input/r_mp3.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mp3.h 2011-01-31 20:34:09.000000000 +0000 @@ -40,7 +40,7 @@ virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size, int64_t probe_range, int num_headers = 5); + static int probe_file(mm_io_c *io, uint64_t size, int64_t probe_range, int num_headers = 5); protected: static int find_valid_headers(mm_io_c *io, int64_t probe_range, int num_headers); diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_es.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_es.cpp --- mkvtoolnix-4.0.0/src/input/r_mpeg_es.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_es.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -28,7 +28,7 @@ int mpeg_es_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { if (PROBESIZE > size) return 0; @@ -116,8 +116,10 @@ } mpeg_es_reader_c::mpeg_es_reader_c(track_info_c &_ti) - throw (error_c): - generic_reader_c(_ti) { + throw (error_c) + : generic_reader_c(_ti) + , bytes_processed(0) +{ try { M2VParser parser; @@ -171,7 +173,7 @@ void mpeg_es_reader_c::create_packetizer(int64_t) { generic_packetizer_c *m2vpacketizer; - if (NPTZR() != 0) + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) return; mxinfo_tid(m_ti.m_fname, 0, Y("Using the MPEG-1/2 video output module.\n")); @@ -183,21 +185,20 @@ file_status_e mpeg_es_reader_c::read(generic_packetizer_c *, bool) { - unsigned char *chunk = (unsigned char *)safemalloc(20000); - int num_read = io->read(chunk, 20000); - if (0 > num_read) { - safefree(chunk); - return FILE_STATUS_DONE; + int64_t bytes_to_read = std::min(static_cast<int64_t>(READ_SIZE), size - bytes_processed); + if (0 >= bytes_to_read) + return flush_packetizers(); + + memory_cptr chunk = memory_c::alloc(bytes_to_read); + int64_t num_read = io->read(chunk, bytes_to_read); + + if (0 < num_read) { + chunk->set_size(num_read); + PTZR0->process(new packet_t(chunk)); + bytes_processed = io->getFilePointer(); } - if (0 < num_read) - PTZR0->process(new packet_t(new memory_c(chunk, num_read, true))); - if (20000 > num_read) - PTZR0->flush(); - - bytes_processed = io->getFilePointer(); - - return 20000 > num_read ? FILE_STATUS_DONE : FILE_STATUS_MOREDATA; + return bytes_to_read > num_read ? flush_packetizers() : FILE_STATUS_MOREDATA; } bool diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_es.h mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_es.h --- mkvtoolnix-4.0.0/src/input/r_mpeg_es.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_es.h 2011-01-31 20:34:09.000000000 +0000 @@ -46,7 +46,7 @@ static bool read_frame(M2VParser &parser, mm_io_c &in, int64_t max_size = -1, bool flush_parser = false); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_MPEG_ES_H diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_ps.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ps.cpp --- mkvtoolnix-4.0.0/src/input/r_mpeg_ps.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ps.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -42,7 +42,7 @@ int mpeg_ps_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { memory_c af_buf((unsigned char *)safemalloc(PS_PROBE_SIZE), 0, true); unsigned char *buf = af_buf.get_buffer(); @@ -75,7 +75,7 @@ void mpeg_ps_reader_c::init_reader() { try { - io = mm_multi_file_io_c::open_multi(m_ti.m_fname); + io = mm_multi_file_io_c::open_multi(m_ti.m_fname, m_ti.m_disable_multi_file); size = io->get_size(); } catch (...) { @@ -89,8 +89,6 @@ bytes_processed = 0; - memset(es_map, 0, sizeof(uint32_t) * NUM_ES_MAP_ENTRIES); - header = io->read_uint32_be(); done = io->eof(); version = -1; @@ -140,6 +138,7 @@ case MPEGVIDEO_PROGRAM_STREAM_MAP_START_CODE: parse_program_stream_map(); + done = !resync_stream(header); break; default: @@ -155,7 +154,7 @@ io->restore_pos(); pes_packet_length = io->read_uint16_be(); - mxverb(3, boost::format("mpeg_ps: id 0x%|1$02x| len %2% at %3%\n") % stream_id % pes_packet_length % (io->getFilePointer() - 4 - 2)); + mxverb(3, boost::format("mpeg_ps: id 0x%|1$02x| len %2% at %3%\n") % static_cast<unsigned int>(stream_id) % pes_packet_length % (io->getFilePointer() - 4 - 2)); io->skip(pes_packet_length); @@ -186,7 +185,7 @@ void mpeg_ps_reader_c::sort_tracks() { - int i; + size_t i; for (i = 0; tracks.size() > i; ++i) tracks[i]->sort_key = ( 'v' == tracks[i]->type ? 0x00000 @@ -212,7 +211,7 @@ if (tracks.empty()) return; - int i; + size_t i; global_timecode_offset = tracks[0]->timecode_offset; for (i = 1; i < tracks.size(); i++) if ((-1 == global_timecode_offset) || (tracks[i]->timecode_offset < global_timecode_offset)) @@ -272,10 +271,7 @@ if (!len || (1018 < len)) throw false; - if (0x00 == (io->read_uint8() & 0x80)) - throw false; - - io->skip(1); + io->skip(2); int prog_len = io->read_uint16_be(); io->skip(prog_len); @@ -283,39 +279,10 @@ int es_map_len = io->read_uint16_be(); es_map_len = std::min(es_map_len, len - prog_len - 8); - while (0 < es_map_len) { - int type = io->read_uint8(); - int id = io->read_uint8(); - - if ((0xb0 <= id) && (0xef >= id)) { - int id_offset = id - 0xb0; - - switch (type) { - case 0x01: - es_map[id_offset] = FOURCC('M', 'P', 'G', '1'); - break; - case 0x02: - es_map[id_offset] = FOURCC('M', 'P', 'G', '2'); - break; - case 0x03: - case 0x04: - es_map[id_offset] = FOURCC('M', 'P', '2', ' '); - break; - case 0x0f: - case 0x11: - es_map[id_offset] = FOURCC('A', 'A', 'C', ' '); - break; - case 0x10: - es_map[id_offset] = FOURCC('M', 'P', 'G', '4'); - break; - case 0x1b: - es_map[id_offset] = FOURCC('A', 'V', 'C', '1'); - break; - case 0x81: - es_map[id_offset] = FOURCC('A', 'C', '3', ' '); - break; - } - } + while (4 <= es_map_len) { + int type = io->read_uint8(); + int id = io->read_uint8(); + es_map[id] = type; int plen = io->read_uint16_be(); plen = std::min(plen, es_map_len); @@ -332,8 +299,8 @@ bool mpeg_ps_reader_c::parse_packet(mpeg_ps_id_t &id, int64_t ×tamp, - int &length, - int &full_length) { + unsigned int &length, + unsigned int &full_length) { length = io->read_uint16_be(); full_length = length; @@ -403,9 +370,9 @@ if ((c & 0x30) != 0x00) mxerror_fn(m_ti.m_fname, Y("Reading encrypted VOBs is not supported.\n")); - int flags = io->read_uint8(); - int hdrlen = io->read_uint8(); - length -= 2; + unsigned int flags = io->read_uint8(); + unsigned int hdrlen = io->read_uint8(); + length -= 2; if (hdrlen > length) return false; @@ -494,7 +461,7 @@ void mpeg_ps_reader_c::new_stream_v_avc_or_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { try { io->save_pos(); @@ -580,7 +547,7 @@ throw false; int64_t timecode; - int full_length, new_length; + unsigned int full_length, new_length; if (!parse_packet(id, timecode, new_length, full_length)) continue; @@ -600,7 +567,7 @@ void mpeg_ps_reader_c::new_stream_v_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { counted_ptr<M2VParser> m2v_parser(new M2VParser); @@ -613,7 +580,7 @@ break; int64_t timecode; - int full_length; + unsigned int full_length; if (!parse_packet(id, timecode, length, full_length)) break; @@ -663,7 +630,7 @@ void mpeg_ps_reader_c::new_stream_v_avc(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { mpeg4::p10::avc_es_parser_c parser; @@ -679,7 +646,7 @@ if (!find_next_packet_for_id(id, PS_PROBE_SIZE)) break; - int full_length; + unsigned int full_length; int64_t timecode; if (!parse_packet(id, timecode, length, full_length)) break; @@ -765,7 +732,7 @@ void mpeg_ps_reader_c::new_stream_v_vc1(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { vc1::es_parser_c parser; @@ -775,7 +742,7 @@ if (!find_next_packet_for_id(id, PS_PROBE_SIZE)) break; - int full_length; + unsigned int full_length; int64_t timecode; if (!parse_packet(id, timecode, length, full_length)) break; @@ -804,7 +771,7 @@ void mpeg_ps_reader_c::new_stream_a_mpeg(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { mp3_header_t header; @@ -820,7 +787,7 @@ void mpeg_ps_reader_c::new_stream_a_ac3(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { ac3_header_t header; @@ -839,7 +806,7 @@ void mpeg_ps_reader_c::new_stream_a_dts(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { byte_buffer_c buffer; @@ -849,7 +816,7 @@ if (!find_next_packet_for_id(id, PS_PROBE_SIZE)) throw false; - int full_length; + unsigned int full_length; int64_t timecode; mpeg_ps_id_t new_id(id.id); if (!parse_packet(new_id, timecode, length, full_length)) @@ -869,7 +836,7 @@ void mpeg_ps_reader_c::new_stream_a_truehd(mpeg_ps_id_t id, unsigned char *buf, - int length, + unsigned int length, mpeg_ps_track_ptr &track) { truehd_parser_c parser; @@ -897,7 +864,7 @@ if (!find_next_packet_for_id(id, PS_PROBE_SIZE)) throw false; - int full_length; + unsigned int full_length; int64_t timecode; mpeg_ps_id_t new_id(id.id); if (!parse_packet(new_id, timecode, length, full_length)) @@ -940,7 +907,7 @@ try { int64_t timecode; - int length, full_length; + unsigned int length, full_length; if (!parse_packet(id, timecode, length, full_length)) throw false; @@ -965,7 +932,42 @@ track->timecode_offset = timecode; track->type = '?'; - if (0xbd == id.id) { + int es_type = es_map[id.id]; + if (0 != es_type) { + switch (es_type) { + case 0x01: + track->type = 'v'; + track->fourcc = FOURCC('M', 'P', 'G', '1'); + break; + case 0x02: + track->type = 'v'; + track->fourcc = FOURCC('M', 'P', 'G', '2'); + break; + case 0x03: + case 0x04: + track->type = 'a'; + track->fourcc = FOURCC('M', 'P', '2', ' '); + break; + case 0x0f: + case 0x11: + track->type = 'a'; + track->fourcc = FOURCC('A', 'A', 'C', ' '); + break; + case 0x10: + track->type = 'v'; + track->fourcc = FOURCC('M', 'P', 'G', '4'); + break; + case 0x1b: + track->type = 'v'; + track->fourcc = FOURCC('A', 'V', 'C', '1'); + break; + case 0x81: + track->type = 'a'; + track->fourcc = FOURCC('A', 'C', '3', ' '); + break; + } + + } else if (0xbd == id.id) { track->type = 'a'; if ((0x20 <= id.sub_id) && (0x3f >= id.sub_id)) { @@ -1055,7 +1057,7 @@ while (1) { uint8_t byte; - if ((-1 != max_file_pos) && (io->getFilePointer() > max_file_pos)) + if ((-1 != max_file_pos) && (io->getFilePointer() > static_cast<size_t>(max_file_pos))) return false; switch (header) { @@ -1095,6 +1097,8 @@ case MPEGVIDEO_PROGRAM_STREAM_MAP_START_CODE: parse_program_stream_map(); + if (!resync_stream(header)) + return false; break; default: @@ -1154,7 +1158,7 @@ void mpeg_ps_reader_c::create_packetizer(int64_t id) { - if ((0 > id) || (tracks.size() <= id)) + if ((0 > id) || (tracks.size() <= static_cast<size_t>(id))) return; if (0 == tracks[id]->ptzr) return; @@ -1225,7 +1229,7 @@ void mpeg_ps_reader_c::create_packetizers() { - int i; + size_t i; for (i = 0; i < tracks.size(); i++) create_packetizer(i); @@ -1233,7 +1237,7 @@ void mpeg_ps_reader_c::add_available_track_ids() { - int i; + size_t i; for (i = 0; i < tracks.size(); i++) add_available_track_id(i); @@ -1243,11 +1247,11 @@ mpeg_ps_reader_c::read(generic_packetizer_c *, bool) { int64_t timecode, packet_pos; - int length, full_length; + unsigned int length, full_length; unsigned char *buf; if (file_done) - return FILE_STATUS_DONE; + return flush_packetizers(); try { mpeg_ps_id_t new_id; @@ -1331,21 +1335,15 @@ file_status_e mpeg_ps_reader_c::finish() { if (file_done) - return FILE_STATUS_DONE; + return flush_packetizers(); - std::vector<mpeg_ps_track_ptr>::iterator track; - - mxforeach(track, tracks) { - if (0 < (*track)->buffer_usage) { - memory_c *mem = new memory_c((*track)->buffer, (*track)->buffer_usage); - PTZR((*track)->ptzr)->process(new packet_t(mem)); - } - } + foreach(mpeg_ps_track_ptr &track, tracks) + if (0 < track->buffer_usage) + PTZR(track->ptzr)->process(new packet_t(clone_memory(track->buffer, track->buffer_usage))); file_done = true; - flush_packetizers(); - return FILE_STATUS_DONE; + return flush_packetizers(); } int @@ -1356,12 +1354,12 @@ void mpeg_ps_reader_c::identify() { std::vector<std::string> verbose_info; - int i; io->create_verbose_identification_info(verbose_info); id_result_container((boost::format("MPEG %1% program stream (PS)") % version).str(), verbose_info); + size_t i; for (i = 0; i < tracks.size(); i++) { mpeg_ps_track_ptr &track = tracks[i]; diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_ps.h mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ps.h --- mkvtoolnix-4.0.0/src/input/r_mpeg_ps.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ps.h 2011-01-31 20:34:09.000000000 +0000 @@ -61,7 +61,7 @@ dts_header_t dts_header; unsigned char *buffer; - int buffer_usage, buffer_size; + unsigned int buffer_usage, buffer_size; multiple_timecodes_packet_extension_c *multiple_timecodes_packet_extension; @@ -93,14 +93,14 @@ { }; - void use_buffer(int size) { + void use_buffer(size_t size) { safefree(buffer); buffer = (unsigned char *)safemalloc(size); buffer_size = size; buffer_usage = 0; } - void assert_buffer_size(int size) { + void assert_buffer_size(size_t size) { if (!buffer) use_buffer(size); else if (size > buffer_size) { @@ -118,8 +118,6 @@ typedef counted_ptr<mpeg_ps_track_t> mpeg_ps_track_ptr; -#define NUM_ES_MAP_ENTRIES 0x40 - class mpeg_ps_reader_c: public generic_reader_c { private: mm_multi_file_io_cptr io; @@ -128,7 +126,7 @@ std::map<int, int> id2idx; std::map<int, bool> blacklisted_ids; - uint32_t es_map[NUM_ES_MAP_ENTRIES]; + std::map<int, int> es_map; int version; bool file_done; @@ -149,23 +147,23 @@ virtual bool read_timestamp(bit_cursor_c &bc, int64_t ×tamp); virtual bool read_timestamp(int c, int64_t ×tamp); - virtual bool parse_packet(mpeg_ps_id_t &id, int64_t ×tamp, int &length, int &full_length); + virtual bool parse_packet(mpeg_ps_id_t &id, int64_t ×tamp, unsigned int &length, unsigned int &full_length); virtual bool find_next_packet(mpeg_ps_id_t &id, int64_t max_file_pos = -1); virtual bool find_next_packet_for_id(mpeg_ps_id_t id, int64_t max_file_pos = -1); virtual void parse_program_stream_map(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); private: - virtual void new_stream_v_avc_or_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_v_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_v_avc(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_v_vc1(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_a_mpeg(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_a_ac3(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_a_dts(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); - virtual void new_stream_a_truehd(mpeg_ps_id_t id, unsigned char *buf, int length, mpeg_ps_track_ptr &track); + virtual void new_stream_v_avc_or_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_v_mpeg_1_2(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_v_avc(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_v_vc1(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_a_mpeg(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_a_ac3(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_a_dts(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); + virtual void new_stream_a_truehd(mpeg_ps_id_t id, unsigned char *buf, unsigned int length, mpeg_ps_track_ptr &track); virtual bool resync_stream(uint32_t &header); virtual file_status_e finish(); void sort_tracks(); diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_ts.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ts.cpp --- mkvtoolnix-4.0.0/src/input/r_mpeg_ts.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ts.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -22,13 +22,13 @@ bool mpeg_ts_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { std::vector<int> positions; size = size > TS_PROBE_SIZE ? TS_PROBE_SIZE : size; memory_cptr buffer(new memory_c(safemalloc(size), size, true)); unsigned char *mem = buffer->get_buffer(); - int i, k; + size_t i, k; io->setFilePointer(0, seek_beginning); size = io->read(mem, size); @@ -39,9 +39,9 @@ for (i = 0; positions.size() > i; ++i) { for (k = 0; 0 != potential_packet_sizes[k]; ++k) { - int pos = positions[i]; - int packet_size = potential_packet_sizes[k]; - int num_startcodes = 1; + unsigned int pos = positions[i]; + unsigned int packet_size = potential_packet_sizes[k]; + unsigned int num_startcodes = 1; while ((TS_CONSECUTIVE_PACKETS > num_startcodes) && (pos < size) && (0x47 == mem[pos])) { pos += packet_size; diff -Nru mkvtoolnix-4.0.0/src/input/r_mpeg_ts.h mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ts.h --- mkvtoolnix-4.0.0/src/input/r_mpeg_ts.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_mpeg_ts.h 2011-01-31 20:34:09.000000000 +0000 @@ -23,7 +23,7 @@ static int potential_packet_sizes[]; public: - static bool probe_file(mm_io_c *io, int64_t size); + static bool probe_file(mm_io_c *io, uint64_t size); public: mpeg_ts_reader_c(track_info_c &n_ti): generic_reader_c(n_ti) { }; diff -Nru mkvtoolnix-4.0.0/src/input/r_ogm.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_ogm.cpp --- mkvtoolnix-4.0.0/src/input/r_ogm.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ogm.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -31,6 +31,7 @@ #include "common/endian.h" #include "common/hacks.h" #include "common/iso639.h" +#include "common/math.h" #include "common/matroska.h" #include "common/mpeg4_p2.h" #include "common/ogmstreams.h" @@ -49,6 +50,7 @@ #include "output/p_theora.h" #include "output/p_video.h" #include "output/p_vorbis.h" +#include "output/p_vp8.h" #define BUFFER_SIZE 4096 @@ -213,6 +215,30 @@ virtual bool is_header_packet(ogg_packet &op); }; +class ogm_v_vp8_demuxer_c: public ogm_demuxer_c { +public: + vp8_ogg_header_t vp8_header; + unsigned int pixel_width, pixel_height; + int64_t frame_rate_num, frame_rate_den; + unsigned int num_header_packets_skipped; + int64_t frames_since_granulepos_change; + +public: + ogm_v_vp8_demuxer_c(ogm_reader_c *p_reader, ogg_packet &op); + + virtual const char *get_type() { + return ID_RESULT_TRACK_VIDEO; + }; + + virtual std::string get_codec() { + return "VP8"; + }; + + virtual void initialize(); + virtual generic_packetizer_c *create_packetizer(track_info_c &ti); + virtual void process_page(int64_t granulepos); +}; + class ogm_s_kate_demuxer_c: public ogm_demuxer_c { public: kate_identification_header_t kate; @@ -270,7 +296,7 @@ */ int ogm_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[4]; if (4 > size) @@ -322,7 +348,7 @@ ogm_demuxer_cptr ogm_reader_c::find_demuxer(int serialno) { - int i; + size_t i; for (i = 0; i < sdemuxers.size(); i++) if (sdemuxers[i]->serialno == serialno) { @@ -375,7 +401,7 @@ ogm_demuxer_cptr dmx; generic_packetizer_c *ptzr; - if ((0 > tid) || (sdemuxers.size() <= tid)) + if ((0 > tid) || (sdemuxers.size() <= static_cast<size_t>(tid))) return; dmx = sdemuxers[tid]; @@ -399,7 +425,7 @@ void ogm_reader_c::create_packetizers() { - int i; + size_t i; for (i = 0; i < sdemuxers.size(); i++) create_packetizer(i); @@ -410,11 +436,10 @@ */ int ogm_reader_c::packet_available() { - int i; - - if (sdemuxers.size() == 0) + if (sdemuxers.empty()) return 0; + size_t i; for (i = 0; i < sdemuxers.size(); i++) if ((-1 != sdemuxers[i]->ptzr) && !PTZR(sdemuxers[i]->ptzr)->packet_available()) return 0; @@ -484,7 +509,10 @@ dmx = new ogm_a_flac_demuxer_c(this, 0x7f == op.packet[0] ? ofm_post_1_1_1 : ofm_pre_1_1_1); #endif - } else if (((*op.packet & PACKET_TYPE_BITS ) == PACKET_TYPE_HEADER) && (op.bytes >= ((int)sizeof(stream_header) + 1))) { + } else if ((static_cast<size_t>(op.bytes) >= sizeof(vp8_ogg_header_t)) && (0x4f == op.packet[0]) && (get_uint32_be(&op.packet[1]) == 0x56503830)) + dmx = new ogm_v_vp8_demuxer_c(this, op); + + else if (((*op.packet & PACKET_TYPE_BITS ) == PACKET_TYPE_HEADER) && (op.bytes >= ((int)sizeof(stream_header) + 1))) { // The new stream headers introduced by OggDS (see ogmstreams.h). stream_header *sth = (stream_header *)(op.packet + 1); @@ -624,7 +652,7 @@ done = true; - int i; + size_t i; for (i = 0; i < sdemuxers.size(); i++) { ogm_demuxer_cptr &dmx = sdemuxers[i]; if (!dmx->headers_read && dmx->in_use) { @@ -657,25 +685,22 @@ do { // Make sure we have a page that we can work with. - if (read_page(&og) == FILE_STATUS_DONE) { - flush_packetizers(); - return FILE_STATUS_DONE; - } + if (read_page(&og) == FILE_STATUS_DONE) + return flush_packetizers(); // Is this the first page of a new stream? No, so process it normally. if (!ogg_page_bos(&og)) process_page(&og); } while (ogg_page_bos(&og)); - int i; + size_t i; // Are there streams that have not finished yet? for (i = 0; i < sdemuxers.size(); i++) if (!sdemuxers[i]->eos && sdemuxers[i]->in_use) return FILE_STATUS_MOREDATA; // No, we're done with this file. - flush_packetizers(); - return FILE_STATUS_DONE; + return flush_packetizers(); } int @@ -686,7 +711,7 @@ void ogm_reader_c::identify() { std::vector<std::string> verbose_info; - int i; + size_t i; // Check if a video track has a TITLE comment. If yes we use this as the // new segment title / global file title. @@ -724,7 +749,7 @@ bool charset_warning_printed = false; charset_converter_cptr cch = charset_converter_c::init(m_ti.m_chapter_charset); - int i; + size_t i; for (i = 0; i < sdemuxers.size(); i++) { ogm_demuxer_cptr &dmx = sdemuxers[i]; @@ -737,7 +762,7 @@ std::vector<std::string> chapter_strings; - int j; + size_t j; for (j = 0; comments->size() > j; j++) { mxverb(2, boost::format("ogm_reader: commment for #%1% for %2%: %3%\n") % j % i % (*comments)[j]); std::vector<std::string> comment = split((*comments)[j], "=", 2); @@ -829,7 +854,7 @@ void ogm_reader_c::add_available_track_ids() { - int i; + size_t i; for (i = 0; i < sdemuxers.size(); i++) add_available_track_id(i); @@ -1271,10 +1296,10 @@ } // Is there a gap in the granulepos values? - if ((granulepos - last_granulepos) > frames.size()) + if (static_cast<size_t>(granulepos - last_granulepos) > frames.size()) last_granulepos = granulepos - frames.size(); - int i; + size_t i; for (i = 0; i < frames.size(); ++i) { ogm_frame_t &frame = frames[i]; @@ -1365,6 +1390,105 @@ // ----------------------------------------------------------- +ogm_v_vp8_demuxer_c::ogm_v_vp8_demuxer_c(ogm_reader_c *p_reader, + ogg_packet &op) + : ogm_demuxer_c(p_reader) + , pixel_width(0) + , pixel_height(0) + , frame_rate_num(0) + , frame_rate_den(0) + , num_header_packets_skipped(1) + , frames_since_granulepos_change(0) +{ + stype = OGM_STREAM_TYPE_V_VP8; + num_header_packets = 2; + + memcpy(&vp8_header, op.packet, sizeof(vp8_ogg_header_t)); +} + +void +ogm_v_vp8_demuxer_c::initialize() { + pixel_width = get_uint16_be(&vp8_header.pixel_width); + pixel_height = get_uint16_be(&vp8_header.pixel_height); + unsigned int par_num = get_uint16_be(&vp8_header.par_num); + unsigned int par_den = get_uint16_be(&vp8_header.par_den); + + if ((0 != par_num) && (0 != par_den)) { + if (((float)pixel_width / (float)pixel_height) < ((float)par_num / (float)par_den)) { + display_width = irnd((float)pixel_width * par_num / par_den); + display_height = pixel_height; + } else { + display_width = pixel_width; + display_height = irnd((float)pixel_height * par_den / par_num); + } + + } else { + display_width = pixel_width; + display_height = pixel_height; + } + + frame_rate_num = static_cast<uint64_t>(get_uint32_be(&vp8_header.frame_rate_num)); + frame_rate_den = static_cast<uint64_t>(get_uint32_be(&vp8_header.frame_rate_den)); + default_duration = frame_rate_den * 1000000000ull / frame_rate_num; +} + +generic_packetizer_c * +ogm_v_vp8_demuxer_c::create_packetizer(track_info_c &ti) { + vp8_video_packetizer_c *ptzr_obj = new vp8_video_packetizer_c(reader, ti); + + ptzr_obj->set_video_pixel_width(pixel_width); + ptzr_obj->set_video_pixel_height(pixel_height); + ptzr_obj->set_video_display_width(display_width); + ptzr_obj->set_video_display_height(display_height); + ptzr_obj->set_track_default_duration(default_duration); + + mxinfo_tid(ti.m_fname, ti.m_id, Y("Using the VP8 video output module.\n")); + + return ptzr_obj; +} + +void +ogm_v_vp8_demuxer_c::process_page(int64_t granulepos) { + ogg_packet op; + + while (ogg_stream_packetout(&os, &op) == 1) { + eos |= op.e_o_s; + + if (num_header_packets_skipped < num_header_packets) { + ++num_header_packets_skipped; + continue; + } + + if ((0 < granulepos) && (granulepos != last_granulepos)) { + last_granulepos = granulepos; + frames_since_granulepos_change = 0; + } + + // Zero-length frames are 'repeat previous frame' markers and + // cannot be I frames. + bool is_keyframe = (0 != op.bytes) && ((op.packet[0] & 0x01) == 0); + int64_t pts = granulepos >> 32; + int64_t inv_count = (granulepos >> 30) & 0x03; + int64_t distance = (granulepos >> 3) & 0x07ffffff; + int64_t frame_num = pts - inv_count - 1 + frames_since_granulepos_change; + int64_t timecode = (int64_t)(1000000000.0 * frame_num * frame_rate_den / frame_rate_num); + int64_t bref = is_keyframe ? VFT_IFRAME : VFT_PFRAMEAUTOMATIC; + + ++units_processed; + ++frames_since_granulepos_change; + + reader->m_reader_packetizers[ptzr]->process(new packet_t(new memory_c(op.packet, op.bytes, false), timecode, default_duration, bref, VFT_NOBFRAME)); + + mxverb(3, + boost::format("VP8 track %1% size %10% #proc %11% frame# %12% fr_num %2% fr_den %3% granulepos 0x%|4$08x| %|5$08x| pts %6% inv_count %7% distance %8%%9%\n") + % track_id % frame_rate_num % frame_rate_den % (granulepos >> 32) % (granulepos & 0xffffffff) + % pts % inv_count % distance + % (is_keyframe ? " key" : "") % op.bytes % units_processed % frame_num); + } +} + +// ----------------------------------------------------------- + ogm_s_kate_demuxer_c::ogm_s_kate_demuxer_c(ogm_reader_c *p_reader) : ogm_demuxer_c(p_reader) { diff -Nru mkvtoolnix-4.0.0/src/input/r_ogm_flac.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_ogm_flac.cpp --- mkvtoolnix-4.0.0/src/input/r_ogm_flac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ogm_flac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -38,7 +38,7 @@ if (!fhe->read_page() || (ogg_stream_packetout(&fhe->os, &op) != 1)) return FLAC__STREAM_DECODER_READ_STATUS_ABORT; - if (*bytes < op.bytes) + if (*bytes < static_cast<size_t>(op.bytes)) mxerror(boost::format(Y("flac_header_extraction: bytes (%1%) < op.bytes (%2%). Could not read the FLAC headers.\n")) % *bytes % op.bytes); int offset = 0; diff -Nru mkvtoolnix-4.0.0/src/input/r_ogm_flac.h mkvtoolnix-4.5.0+dfsg/src/input/r_ogm_flac.h --- mkvtoolnix-4.0.0/src/input/r_ogm_flac.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ogm_flac.h 2011-01-31 20:34:09.000000000 +0000 @@ -50,7 +50,7 @@ class ogm_a_flac_demuxer_c: public ogm_demuxer_c { public: - int flac_header_packets, sample_rate, channels, bits_per_sample; + unsigned int flac_header_packets, sample_rate, channels, bits_per_sample; oggflac_mode_e mode; public: diff -Nru mkvtoolnix-4.0.0/src/input/r_ogm.h mkvtoolnix-4.5.0+dfsg/src/input/r_ogm.h --- mkvtoolnix-4.0.0/src/input/r_ogm.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ogm.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,6 +39,7 @@ OGM_STREAM_TYPE_V_AVC, OGM_STREAM_TYPE_V_MSCOMP, OGM_STREAM_TYPE_V_THEORA, + OGM_STREAM_TYPE_V_VP8, }; class ogm_reader_c; @@ -53,8 +54,7 @@ ogm_stream_type_e stype; int serialno, eos; - int units_processed; - int num_header_packets, num_non_header_packets; + unsigned int units_processed, num_header_packets, num_non_header_packets; bool headers_read; std::string language, title; std::vector<memory_cptr> packet_data, nh_packet_data; @@ -111,7 +111,7 @@ virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); private: virtual ogm_demuxer_cptr find_demuxer(int serialno); diff -Nru mkvtoolnix-4.0.0/src/input/r_pgssup.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_pgssup.cpp --- mkvtoolnix-4.0.0/src/input/r_pgssup.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_pgssup.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,133 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + PGS demultiplexer module + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include <algorithm> + +#include "common/endian.h" +#include "common/pgssup.h" +#include "input/r_pgssup.h" +#include "output/p_pgs.h" +#include "merge/output_control.h" + +int +pgssup_reader_c::probe_file(mm_io_c *in, + uint64_t size) { + if (5 > size) + return 0; + + in->setFilePointer(0); + if (PGSSUP_FILE_MAGIC != in->read_uint16_be()) + return 0; + + in->skip(4 + 4 + 1); + uint16_t segment_size = in->read_uint16_be(); + if ((in->getFilePointer() + segment_size + 2) >= size) + return 0; + + in->setFilePointer(segment_size, seek_current); + + return PGSSUP_FILE_MAGIC != in->read_uint16_be() ? 0 : 1; +} + +pgssup_reader_c::pgssup_reader_c(track_info_c &p_ti) + : generic_reader_c(p_ti) + , m_bytes_processed(0) + , m_debug(debugging_requested("pgssup_reader")) +{ + try { + m_in = mm_io_cptr(new mm_file_io_c(m_ti.m_fname)); + m_file_size = m_in->get_size(); + m_ti.m_id = 0; // ID for this track. + + } catch (...) { + throw error_c(Y("pgssup_reader: Could not open the file.")); + } + + if (verbose) + mxinfo_fn(m_ti.m_fname, Y("Using the PGSSUP demultiplexer.\n")); +} + +pgssup_reader_c::~pgssup_reader_c() { +} + +void +pgssup_reader_c::create_packetizer(int64_t) { + if (!demuxing_requested('s', 0) || (NPTZR() != 0)) + return; + + add_packetizer(new pgs_packetizer_c(this, m_ti)); + + mxinfo_tid(m_ti.m_fname, 0, Y("Using the PGS output module.\n")); +} + +file_status_e +pgssup_reader_c::read(generic_packetizer_c *, + bool) { + try { + if (m_debug) + mxinfo(boost::format("pgssup_reader_c::read(): ---------- start read at %1%\n") % m_in->getFilePointer()); + + memory_cptr frame = memory_c::alloc(0); + uint64_t timestamp = 0; + + while (1) { + if (PGSSUP_FILE_MAGIC != m_in->read_uint16_be()) + return flush_packetizers(); + + if (0 == frame->get_size()) + timestamp = static_cast<uint64_t>(m_in->read_uint32_be()) * 100000Lu / 9; + else + m_in->skip(4); + m_in->skip(4); + + unsigned char segment_type = m_in->read_uint8(); + uint16_t segment_size = m_in->read_uint16_be(); + size_t previous_frame_size = frame->get_size(); + + if (m_debug) + mxinfo(boost::format("pgssup_reader_c::read(): type %|1$02x| size %2% at %3%\n") % static_cast<unsigned int>(segment_type) % segment_size % (m_in->getFilePointer() - 10 - 3)); + + frame->resize(previous_frame_size + 3 + segment_size); + unsigned char *data = frame->get_buffer() + previous_frame_size; + data[0] = segment_type; + put_uint16_be(&data[1], segment_size); + + m_bytes_processed += 10 + 3 + segment_size; + + if ((m_in->read(&data[3], segment_size) != segment_size) || (PGSSUP_DISPLAY_SEGMENT == segment_type)) { + PTZR0->process(new packet_t(frame, timestamp)); + break; + } + } + } catch (...) { + if (m_debug) + mxinfo("pgssup_reader_c::read(): exception\n"); + + return flush_packetizers(); + } + + return FILE_STATUS_MOREDATA; +} + +int +pgssup_reader_c::get_progress() { + return 100 * m_bytes_processed / m_file_size; +} + +void +pgssup_reader_c::identify() { + id_result_container("PGSSUP"); + id_result_track(0, ID_RESULT_TRACK_SUBTITLES, "PGS"); +} diff -Nru mkvtoolnix-4.0.0/src/input/r_pgssup.h mkvtoolnix-4.5.0+dfsg/src/input/r_pgssup.h --- mkvtoolnix-4.0.0/src/input/r_pgssup.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_pgssup.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,43 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + class definitions for the PGS demultiplexer module + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __R_PGS_H +#define __R_PGS_H + +#include "common/common_pch.h" + +#include <stdio.h> + +#include "common/error.h" +#include "common/mm_io.h" +#include "merge/pr_generic.h" + +class pgssup_reader_c: public generic_reader_c { +private: + mm_io_cptr m_in; + uint64_t m_bytes_processed, m_file_size; + bool m_debug; + +public: + pgssup_reader_c(track_info_c &p_ti); + virtual ~pgssup_reader_c(); + + virtual file_status_e read(generic_packetizer_c *ptzr, bool force = false); + virtual void identify(); + virtual int get_progress(); + virtual void create_packetizer(int64_t id); + + static int probe_file(mm_io_c *in, uint64_t size); +}; + +#endif // __R_PGS_H diff -Nru mkvtoolnix-4.0.0/src/input/r_qtmp4.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_qtmp4.cpp --- mkvtoolnix-4.0.0/src/input/r_qtmp4.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_qtmp4.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -68,7 +68,7 @@ int qtmp4_reader_c::probe_file(mm_io_c *in, - int64_t size) { + uint64_t size) { uint32_t atom; uint64_t atom_size; @@ -350,7 +350,7 @@ void qtmp4_reader_c::parse_video_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, - int size, + size_t size, int level) { if (!dmx->v_is_avc && strncasecmp(dmx->fourcc, "mp4v", 4) && strncasecmp(dmx->fourcc, "xvid", 4) && (0 != size)) { dmx->priv_size = size; @@ -404,7 +404,7 @@ void qtmp4_reader_c::parse_audio_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, - int size, + size_t size, int level) { mm_mem_io_c mio(mem, size); @@ -566,7 +566,7 @@ uint32_t count = io->read_uint32_be(); mxverb(2, boost::format("Quicktime/MP4 reader:%1%Frame offset table: %2% raw entries\n") % space(level * 2 + 1) % count); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_frame_offset_t frame_offset; @@ -906,7 +906,7 @@ mxverb(2, boost::format("Quicktime/MP4 reader:%1%Chunk offset table: %2% entries\n") % space(level * 2 + 1) % count); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_chunk_t chunk; @@ -925,7 +925,7 @@ mxverb(2, boost::format("Quicktime/MP4 reader:%1%64bit chunk offset table: %2% entries\n") % space(level * 2 + 1) % count); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_chunk_t chunk; @@ -941,7 +941,7 @@ int level) { io->skip(1 + 3); // version & flags uint32_t count = io->read_uint32_be(); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_chunkmap_t chunkmap; @@ -962,7 +962,7 @@ io->skip(1 + 3); // version & flags uint32_t count = io->read_uint32_be(); - int i; + size_t i; for (i = 0; i < count; ++i) { int64_t pos = io->getFilePointer(); uint32_t size = io->read_uint32_be(); @@ -1103,7 +1103,7 @@ io->skip(1 + 3); // version & flags uint32_t count = io->read_uint32_be(); - int i; + size_t i; for (i = 0; i < count; ++i) new_dmx->keyframe_table.push_back(io->read_uint32_be()); @@ -1123,7 +1123,7 @@ uint32_t count = io->read_uint32_be(); if (0 == sample_size) { - int i; + size_t i; for (i = 0; i < count; ++i) { qt_sample_t sample; @@ -1146,7 +1146,7 @@ io->skip(1 + 3); // version & flags uint32_t count = io->read_uint32_be(); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_durmap_t durmap; @@ -1165,7 +1165,7 @@ io->skip(1 + 3); // version & flags uint32_t count = io->read_uint32_be(); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_durmap_t durmap; @@ -1201,7 +1201,7 @@ uint32_t count = io->read_uint32_be(); new_dmx->editlist_table.resize(count); - int i; + size_t i; for (i = 0; i < count; ++i) { qt_editlist_t &editlist = new_dmx->editlist_table[i]; @@ -1263,7 +1263,7 @@ file_status_e qtmp4_reader_c::read(generic_packetizer_c *ptzr, bool force) { - int dmx_idx; + size_t dmx_idx; for (dmx_idx = 0; dmx_idx < demuxers.size(); ++dmx_idx) { qtmp4_demuxer_cptr &dmx = demuxers[dmx_idx]; @@ -1275,10 +1275,8 @@ break; } - if (demuxers.size() == dmx_idx) { - flush_packetizers(); - return FILE_STATUS_DONE; - } + if (demuxers.size() == dmx_idx) + return flush_packetizers(); qtmp4_demuxer_cptr &dmx = demuxers[dmx_idx]; qt_index_t &index = dmx->m_index[dmx->pos]; @@ -1306,8 +1304,7 @@ mxwarn(boost::format(Y("Quicktime/MP4 reader: Could not read chunk number %1%/%2% with size %3% from position %4%. Aborting.\n")) % dmx->pos % dmx->m_index.size() % index.size % index.file_pos); safefree(buffer); - flush_packetizers(); - return FILE_STATUS_DONE; + return flush_packetizers(); } PTZR(dmx->ptzr)->process(new packet_t(new memory_c(buffer, index.size + buffer_offset, true), index.timecode, index.duration, @@ -1317,8 +1314,7 @@ if (dmx->pos < dmx->m_index.size()) return FILE_STATUS_MOREDATA; - flush_packetizers(); - return FILE_STATUS_DONE; + return flush_packetizers(); } uint32_t @@ -1422,7 +1418,7 @@ memory_cptr qtmp4_reader_c::create_bitmap_info_header(qtmp4_demuxer_cptr &dmx, const char *fourcc, - int extra_size, + size_t extra_size, const void *extra_data) { int full_size = sizeof(alBITMAPINFOHEADER) + extra_size; memory_cptr bih_p = memory_c::alloc(full_size); @@ -1724,7 +1720,7 @@ } else { std::map<int64_t, int> duration_map; - for (int i = 0; sample_table.size() > (i + 1); ++i) { + for (size_t i = 0; sample_table.size() > (i + 1); ++i) { int64_t this_duration = sample_table[i + 1].pts - sample_table[i].pts; if (duration_map.find(this_duration) == duration_map.end()) @@ -1762,7 +1758,7 @@ void qtmp4_demuxer_c::calculate_timecodes() { - int frame; + unsigned int frame; if (0 != sample_size) { for (frame = 0; chunk_table.size() > frame; ++frame) { @@ -1787,8 +1783,8 @@ int64_t timecode; if (!editlist_table.empty()) { - int editlist_pos = 0; - int real_frame = frame; + unsigned int editlist_pos = 0; + unsigned int real_frame = frame; while (((editlist_table.size() - 1) > editlist_pos) && (frame >= editlist_table[editlist_pos + 1].start_frame)) ++editlist_pos; @@ -1858,7 +1854,7 @@ void qtmp4_demuxer_c::adjust_timecodes(int64_t delta) { - int i; + size_t i; for (i = 0; timecodes.size() > i; ++i) timecodes[i] += delta; @@ -1872,7 +1868,7 @@ uint64_t last = chunk_table.size(); // process chunkmap: - int j, i = chunkmap_table.size(); + size_t j, i = chunkmap_table.size(); while (i > 0) { --i; for (j = chunkmap_table[i].first_chunk; j < last; ++j) { @@ -1941,7 +1937,7 @@ // calc pts/dts offsets for (j = 0; j < raw_frame_offset_table.size(); ++j) { - int k; + size_t k; for (k = 0; k < raw_frame_offset_table[j].count; ++k) frame_offset_table.push_back(raw_frame_offset_table[j].offset); @@ -1963,25 +1959,25 @@ if (editlist_table.empty()) return; - int frame = 0, e_pts = 0, i; + size_t frame = 0, e_pts = 0, i; - int min_editlist_pts = -1; - for (i = 0; editlist_table.size() > i; ++i) - if ((-1 == min_editlist_pts) || (editlist_table[i].pos < min_editlist_pts)) - min_editlist_pts = editlist_table[i].pos; + int64_t min_editlist_pts = editlist_table.front().pos; + for (i = 1; editlist_table.size() > i; ++i) + min_editlist_pts = std::min(static_cast<int64_t>(editlist_table[i].pos), min_editlist_pts); - int pts_offset = 0; + uint64_t pts_offset = 0; if (('v' == type) && v_is_avc && !frame_offset_table.empty() && (frame_offset_table[0] <= min_editlist_pts)) pts_offset = frame_offset_table[0]; mxverb(4, boost::format("qtmp4: Updating edit list table for track %1%; pts_offset = %2%\n") % id % pts_offset); for (i = 0; editlist_table.size() > i; ++i) { - qt_editlist_t &el = editlist_table[i]; - int sample = 0, pts = el.pos; + qt_editlist_t &el = editlist_table[i]; + uint64_t pts = el.pos; + unsigned int sample = 0; - pts -= pts_offset; - el.start_frame = frame; + pts -= pts_offset; + el.start_frame = frame; if (pts < 0) { // skip! @@ -2024,12 +2020,12 @@ void qtmp4_demuxer_c::build_index_constant_sample_size_mode() { - int keyframe_table_idx = 0; - int keyframe_table_size = keyframe_table.size(); + size_t keyframe_table_idx = 0; + size_t keyframe_table_size = keyframe_table.size(); - int frame_idx; + size_t frame_idx; for (frame_idx = 0; frame_idx < chunk_table.size(); ++frame_idx) { - int64_t frame_size; + uint64_t frame_size; if (1 != sample_size) { frame_size = chunk_table[frame_idx].size * sample_size; @@ -2061,10 +2057,10 @@ void qtmp4_demuxer_c::build_index_chunk_mode() { - int keyframe_table_idx = 0; - int keyframe_table_size = keyframe_table.size(); + size_t keyframe_table_idx = 0; + size_t keyframe_table_size = keyframe_table.size(); - int frame_idx; + size_t frame_idx; for (frame_idx = 0; frame_idx < frame_indices.size(); ++frame_idx) { int act_frame_idx = frame_indices[frame_idx]; @@ -2084,12 +2080,12 @@ qtmp4_demuxer_c::read_first_bytes(memory_cptr &buf, int num_bytes, mm_io_c *io) { - int buf_pos = 0; - int idx_pos = 0; + size_t buf_pos = 0; + size_t idx_pos = 0; while ((0 < num_bytes) && (idx_pos < m_index.size())) { - qt_index_t &index = m_index[idx_pos]; - int num_bytes_to_read = std::min((int64_t)num_bytes, index.size); + qt_index_t &index = m_index[idx_pos]; + uint64_t num_bytes_to_read = std::min((int64_t)num_bytes, index.size); io->setFilePointer(index.file_pos); if (io->read(buf->get_buffer() + buf_pos, num_bytes_to_read) < num_bytes_to_read) diff -Nru mkvtoolnix-4.0.0/src/input/r_qtmp4.h mkvtoolnix-4.5.0+dfsg/src/input/r_qtmp4.h --- mkvtoolnix-4.0.0/src/input/r_qtmp4.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_qtmp4.h 2011-01-31 20:34:09.000000000 +0000 @@ -285,14 +285,14 @@ virtual void create_packetizer(int64_t tid); virtual void add_available_track_ids(); - static int probe_file(mm_io_c *in, int64_t size); + static int probe_file(mm_io_c *in, uint64_t size); protected: virtual void parse_headers(); virtual void calculate_timecodes(); virtual qt_atom_t read_atom(mm_io_c *read_from = NULL, bool exit_on_error = true); - virtual void parse_video_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, int size, int level); - virtual void parse_audio_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, int size, int level); + virtual void parse_video_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, size_t size, int level); + virtual void parse_audio_header_priv_atoms(qtmp4_demuxer_cptr &dmx, unsigned char *mem, size_t size, int level); virtual bool parse_esds_atom(mm_mem_io_c &memio, qtmp4_demuxer_cptr &dmx, int level); virtual uint32_t read_esds_descr_len(mm_mem_io_c &memio); @@ -322,7 +322,7 @@ virtual void handle_edts_atom(qtmp4_demuxer_cptr &new_dmx, qt_atom_t parent, int level); virtual void handle_elst_atom(qtmp4_demuxer_cptr &new_dmx, qt_atom_t parent, int level); - virtual memory_cptr create_bitmap_info_header(qtmp4_demuxer_cptr &dmx, const char *fourcc, int extra_size = 0, const void *extra_data = NULL); + virtual memory_cptr create_bitmap_info_header(qtmp4_demuxer_cptr &dmx, const char *fourcc, size_t extra_size = 0, const void *extra_data = NULL); virtual void create_audio_packetizer_aac(qtmp4_demuxer_cptr &dmx); virtual bool create_audio_packetizer_ac3(qtmp4_demuxer_cptr &dmx); diff -Nru mkvtoolnix-4.0.0/src/input/r_real.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_real.cpp --- mkvtoolnix-4.0.0/src/input/r_real.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_real.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -115,7 +115,7 @@ int real_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char data[4]; if (4 > size) @@ -162,7 +162,7 @@ } real_reader_c::~real_reader_c() { - int i; + size_t i; for (i = 0; i < demuxers.size(); i++) { real_demuxer_cptr &demuxer = demuxers[i]; @@ -251,7 +251,7 @@ dmx->fourcc[4] = 0; p += 4; - if (ts_size > (p - ts_data)) { + if (ts_size > static_cast<unsigned int>(p - ts_data)) { dmx->extra_data_size = ts_size - (p - ts_data); dmx->extra_data = (unsigned char *)safememdup(p, dmx->extra_data_size); } @@ -432,8 +432,8 @@ } real_demuxer_cptr -real_reader_c::find_demuxer(int id) { - int i; +real_reader_c::find_demuxer(unsigned int id) { + size_t i; for (i = 0; i < demuxers.size(); i++) if (demuxers[i]->track->id == id) @@ -444,7 +444,7 @@ file_status_e real_reader_c::finish() { - int i; + size_t i; for (i = 0; i < demuxers.size(); i++) { real_demuxer_cptr dmx = demuxers[i]; @@ -454,16 +454,14 @@ done = true; - flush_packetizers(); - - return FILE_STATUS_DONE; + return flush_packetizers(); } file_status_e real_reader_c::read(generic_packetizer_c *, bool) { if (done) - return FILE_STATUS_DONE; + return flush_packetizers(); int size = rmff_get_next_frame_size(file); if (0 >= size) { @@ -628,7 +626,7 @@ real_reader_c::identify() { id_result_container("RealMedia"); - int i; + size_t i; for (i = 0; i < demuxers.size(); i++) { real_demuxer_cptr demuxer = demuxers[i]; @@ -786,7 +784,7 @@ int64_t old_pos = file->io->tell(file->handle); bool information_found = true; - int i; + size_t i; for (i = 0; i < demuxers.size(); i++) { real_demuxer_cptr dmx = demuxers[i]; if (!strcasecmp(dmx->fourcc, "DNET")) { @@ -824,7 +822,7 @@ void real_reader_c::add_available_track_ids() { - int i; + size_t i; for (i = 0; i < demuxers.size(); i++) add_available_track_id(demuxers[i]->track->id); diff -Nru mkvtoolnix-4.0.0/src/input/r_real.h mkvtoolnix-4.5.0+dfsg/src/input/r_real.h --- mkvtoolnix-4.0.0/src/input/r_real.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_real.h 2011-01-31 20:34:09.000000000 +0000 @@ -34,8 +34,9 @@ int ptzr; rmff_track_t *track; - int bsid, channels, samples_per_second, bits_per_sample; - int width, height; + int bsid; + unsigned int channels, samples_per_second, bits_per_sample; + unsigned int width, height; char fourcc[5]; bool is_aac; bool rv_dimensions; @@ -48,11 +49,12 @@ real_audio_v5_props_t *ra5p; unsigned char *private_data, *extra_data; - int private_size, extra_data_size; + unsigned int private_size, extra_data_size; bool first_frame; int num_packets; - int64_t last_timecode, ref_timecode; + uint64_t last_timecode; + int64_t ref_timecode; // can be negative std::vector<rv_segment_cptr> segments; @@ -106,11 +108,11 @@ virtual void create_packetizer(int64_t tid); virtual void add_available_track_ids(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: virtual void parse_headers(); - virtual real_demuxer_cptr find_demuxer(int id); + virtual real_demuxer_cptr find_demuxer(unsigned int id); virtual void assemble_video_packet(real_demuxer_cptr dmx, rmff_frame_t *frame); virtual file_status_e finish(); virtual bool get_rv_dimensions(unsigned char *buf, int size, uint32_t &width, uint32_t &height); diff -Nru mkvtoolnix-4.0.0/src/input/r_srt.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_srt.cpp --- mkvtoolnix-4.0.0/src/input/r_srt.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_srt.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -19,7 +19,7 @@ int srt_reader_c::probe_file(mm_text_io_c *io, - int64_t) { + uint64_t) { return srt_parser_c::probe(io); } @@ -51,7 +51,7 @@ void srt_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('s', 0) || (NPTZR() != 0)) return; bool is_utf8 = m_io->get_byte_order() != BO_NONE; @@ -63,17 +63,10 @@ file_status_e srt_reader_c::read(generic_packetizer_c *, bool) { - if (m_subs->empty()) - return FILE_STATUS_DONE; + if (!m_subs->empty()) + m_subs->process(PTZR0); - m_subs->process(PTZR0); - - if (m_subs->empty()) { - flush_packetizers(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return m_subs->empty() ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_srt.h mkvtoolnix-4.5.0+dfsg/src/input/r_srt.h --- mkvtoolnix-4.0.0/src/input/r_srt.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_srt.h 2011-01-31 20:34:09.000000000 +0000 @@ -34,7 +34,7 @@ virtual void create_packetizer(int64_t tid); virtual int get_progress(); - static int probe_file(mm_text_io_c *io, int64_t size); + static int probe_file(mm_text_io_c *io, uint64_t size); }; #endif // __R_SRT_H diff -Nru mkvtoolnix-4.0.0/src/input/r_ssa.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_ssa.cpp --- mkvtoolnix-4.0.0/src/input/r_ssa.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ssa.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -24,7 +24,7 @@ int ssa_reader_c::probe_file(mm_text_io_c *io, - int64_t) { + uint64_t) { return ssa_parser_c::probe(io); } @@ -63,7 +63,7 @@ void ssa_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('s', 0) || (NPTZR() != 0)) return; std::string global = m_subs->get_global(); @@ -74,17 +74,10 @@ file_status_e ssa_reader_c::read(generic_packetizer_c *, bool) { - if (m_subs->empty()) - return FILE_STATUS_DONE; + if (!m_subs->empty()) + m_subs->process((textsubs_packetizer_c *)PTZR0); - m_subs->process((textsubs_packetizer_c *)PTZR0); - - if (m_subs->empty()) { - flush_packetizers(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return m_subs->empty() ? flush_packetizers() : FILE_STATUS_MOREDATA; } int @@ -99,7 +92,7 @@ id_result_container("SSA/ASS"); id_result_track(0, ID_RESULT_TRACK_SUBTITLES, "SSA/ASS"); - int i; + size_t i; for (i = 0; i < g_attachments.size(); i++) id_result_attachment(g_attachments[i].ui_id, g_attachments[i].mime_type, g_attachments[i].data->get_size(), g_attachments[i].name, g_attachments[i].description); } diff -Nru mkvtoolnix-4.0.0/src/input/r_ssa.h mkvtoolnix-4.5.0+dfsg/src/input/r_ssa.h --- mkvtoolnix-4.0.0/src/input/r_ssa.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_ssa.h 2011-01-31 20:34:09.000000000 +0000 @@ -33,7 +33,7 @@ virtual void create_packetizer(int64_t tid); virtual int get_progress(); - static int probe_file(mm_text_io_c *io, int64_t size); + static int probe_file(mm_text_io_c *io, uint64_t size); }; #endif // __R_SSA_H diff -Nru mkvtoolnix-4.0.0/src/input/r_truehd.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_truehd.cpp --- mkvtoolnix-4.0.0/src/input/r_truehd.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_truehd.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,7 +26,7 @@ int truehd_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { io->setFilePointer(0, seek_beginning); skip_id3v2_tag(*io); @@ -57,7 +57,7 @@ if (0 < tag_size_end) m_file_size -= tag_size_end; - int init_read_len = std::min(m_file_size - tag_size_start, (int64_t)TRUEHD_READ_SIZE); + size_t init_read_len = std::min(m_file_size - tag_size_start, (int64_t)TRUEHD_READ_SIZE); if (m_io->read(m_chunk->get_buffer(), init_read_len) != init_read_len) throw error_c(boost::format(Y("truehd_reader: Could not read %1% bytes.")) % TRUEHD_READ_SIZE); @@ -82,7 +82,7 @@ void truehd_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(new truehd_packetizer_c(this, m_ti, m_header->m_codec, m_header->m_sampling_rate, m_header->m_channels)); @@ -96,20 +96,12 @@ int64_t read_len = std::min((int64_t)TRUEHD_READ_SIZE, remaining_bytes); int num_read = m_io->read(m_chunk->get_buffer(), read_len); - if (0 > num_read) { - PTZR0->flush(); - return FILE_STATUS_DONE; + if (0 <= num_read) { + PTZR0->process(new packet_t(new memory_c(m_chunk->get_buffer(), num_read, false))); + m_bytes_processed += num_read; } - PTZR0->process(new packet_t(new memory_c(m_chunk->get_buffer(), num_read, false))); - m_bytes_processed += num_read; - - if (0 < (remaining_bytes - num_read)) - return FILE_STATUS_MOREDATA; - - PTZR0->flush(); - - return FILE_STATUS_DONE; + return (0 >= (remaining_bytes - num_read)) ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_truehd.h mkvtoolnix-4.5.0+dfsg/src/input/r_truehd.h --- mkvtoolnix-4.0.0/src/input/r_truehd.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_truehd.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: static bool find_valid_headers(mm_io_c *io, int64_t probe_range, int num_headers); diff -Nru mkvtoolnix-4.0.0/src/input/r_tta.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_tta.cpp --- mkvtoolnix-4.0.0/src/input/r_tta.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_tta.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -23,7 +23,7 @@ int tta_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char buf[4]; if (26 > size) @@ -102,7 +102,7 @@ void tta_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(new tta_packetizer_c(this, m_ti, get_uint16_le(&header.channels), get_uint16_le(&header.bits_per_sample), get_uint32_le(&header.sample_rate))); @@ -113,15 +113,13 @@ tta_reader_c::read(generic_packetizer_c *, bool) { if (seek_points.size() <= pos) - return FILE_STATUS_DONE; + return flush_packetizers(); unsigned char *buf = (unsigned char *)safemalloc(seek_points[pos]); int nread = io->read(buf, seek_points[pos]); - if (0 >= nread) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= nread) + return flush_packetizers(); pos++; memory_cptr mem(new memory_c(buf, nread, true)); @@ -135,12 +133,7 @@ bytes_processed += nread; - if (seek_points.size() <= pos) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return seek_points.size() <= pos ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_tta.h mkvtoolnix-4.5.0+dfsg/src/input/r_tta.h --- mkvtoolnix-4.0.0/src/input/r_tta.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_tta.h 2011-01-31 20:34:09.000000000 +0000 @@ -29,7 +29,7 @@ mm_io_c *io; int64_t bytes_processed, size; std::vector<uint32_t> seek_points; - int pos; + unsigned int pos; tta_file_header_t header; public: @@ -41,7 +41,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_TTA_H diff -Nru mkvtoolnix-4.0.0/src/input/r_usf.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_usf.cpp --- mkvtoolnix-4.0.0/src/input/r_usf.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_usf.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -44,7 +44,7 @@ int usf_reader_c::probe_file(mm_text_io_c *io, - int64_t) { + uint64_t) { try { usf_xml_find_root_c root_finder(io); @@ -69,7 +69,7 @@ try { m_xml_source = new mm_text_io_c(new mm_file_io_c(m_ti.m_fname)); - int i; + size_t i; if (!usf_reader_c::probe_file(m_xml_source, 0)) throw error_c(Y("usf_reader: Source is not a valid USF file.")); @@ -106,7 +106,7 @@ void usf_reader_c::start_element_cb(const char *name, const char **atts) { - int i; + size_t i; std::string node; m_previous_start = name; @@ -195,7 +195,7 @@ void usf_reader_c::end_element_cb(const char *name) { - int i; + size_t i; std::string node; // Generate the full path to this node. @@ -246,7 +246,7 @@ void usf_reader_c::create_packetizer(int64_t tid) { - if ((0 > tid) || (m_tracks.size() <= tid)) + if ((0 > tid) || (m_tracks.size() <= static_cast<size_t>(tid))) return; usf_track_t &track = m_tracks[tid]; @@ -261,7 +261,7 @@ void usf_reader_c::create_packetizers() { - int i; + size_t i; for (i = 0; m_tracks.size() > i; ++i) create_packetizer(i); @@ -270,10 +270,8 @@ file_status_e usf_reader_c::read(generic_packetizer_c *ptzr, bool) { - int i; - usf_track_t *track; - - track = NULL; + size_t i; + usf_track_t *track = NULL; for (i = 0; m_tracks.size() > i; ++i) if ((-1 != m_tracks[i].m_ptzr) && (PTZR(m_tracks[i].m_ptzr) == ptzr)) { track = &m_tracks[i]; @@ -284,7 +282,7 @@ return FILE_STATUS_DONE; if (track->m_entries.end() == track->m_current_entry) - return FILE_STATUS_DONE; + return flush_packetizer(track->m_ptzr); const usf_entry_t &entry = *(track->m_current_entry); // A length of 0 here is OK because the text subtitle packetizer assumes @@ -293,10 +291,8 @@ PTZR(track->m_ptzr)->process(new packet_t(mem, entry.m_start, entry.m_end - entry.m_start)); ++(track->m_current_entry); - if (track->m_entries.end() == track->m_current_entry) { - PTZR(track->m_ptzr)->flush(); - return FILE_STATUS_DONE; - } + if (track->m_entries.end() == track->m_current_entry) + return flush_packetizer(track->m_ptzr); return FILE_STATUS_MOREDATA; } @@ -324,7 +320,7 @@ void usf_reader_c::identify() { std::vector<std::string> verbose_info; - int i; + size_t i; id_result_container("USF"); diff -Nru mkvtoolnix-4.0.0/src/input/r_usf.h mkvtoolnix-4.5.0+dfsg/src/input/r_usf.h --- mkvtoolnix-4.0.0/src/input/r_usf.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_usf.h 2011-01-31 20:34:09.000000000 +0000 @@ -76,7 +76,7 @@ virtual void create_packetizers(); virtual int get_progress(); - static int probe_file(mm_text_io_c *io, int64_t size); + static int probe_file(mm_text_io_c *io, uint64_t size); virtual void start_element_cb(const char *name, const char **atts); virtual void end_element_cb(const char *name); diff -Nru mkvtoolnix-4.0.0/src/input/r_vc1.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_vc1.cpp --- mkvtoolnix-4.0.0/src/input/r_vc1.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vc1.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,7 +26,7 @@ int vc1_es_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { try { if (PROBESIZE > size) return 0; @@ -88,7 +88,7 @@ void vc1_es_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('v', 0) || (NPTZR() != 0)) return; add_packetizer(new vc1_video_packetizer_c(this, m_ti)); @@ -100,20 +100,15 @@ vc1_es_reader_c::read(generic_packetizer_c *, bool) { if (m_bytes_processed >= m_size) - return FILE_STATUS_DONE; + return flush_packetizers(); int num_read = m_io->read(m_buffer->get_buffer(), READ_SIZE); - if (0 >= num_read) - return FILE_STATUS_DONE; - - PTZR0->process(new packet_t(new memory_c(m_buffer->get_buffer(), num_read))); - - m_bytes_processed += num_read; - - if ((READ_SIZE != num_read) || (m_bytes_processed >= m_size)) - PTZR0->flush(); + if (0 < num_read) { + PTZR0->process(new packet_t(new memory_c(m_buffer->get_buffer(), num_read))); + m_bytes_processed += num_read; + } - return READ_SIZE == num_read ? FILE_STATUS_MOREDATA : FILE_STATUS_DONE; + return ((READ_SIZE != num_read) || (m_bytes_processed >= m_size)) ? flush_packetizers() : FILE_STATUS_MOREDATA; } int diff -Nru mkvtoolnix-4.0.0/src/input/r_vc1.h mkvtoolnix-4.5.0+dfsg/src/input/r_vc1.h --- mkvtoolnix-4.0.0/src/input/r_vc1.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vc1.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_VC1_H diff -Nru mkvtoolnix-4.0.0/src/input/r_vobbtn.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_vobbtn.cpp --- mkvtoolnix-4.0.0/src/input/r_vobbtn.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vobbtn.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -25,7 +25,7 @@ int vobbtn_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { unsigned char chunk[23]; try { @@ -85,17 +85,13 @@ // _todo_ add some tests on the header and size int nread = btn_file->read(tmp, 4); - if (0 >= nread) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= nread) + return flush_packetizers(); uint16_t frame_size = btn_file->read_uint16_be(); nread = btn_file->read(chunk, frame_size); - if (0 >= nread) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= nread) + return flush_packetizers(); PTZR0->process(new packet_t(new memory_c(chunk, nread, false))); return FILE_STATUS_MOREDATA; diff -Nru mkvtoolnix-4.0.0/src/input/r_vobbtn.h mkvtoolnix-4.5.0+dfsg/src/input/r_vobbtn.h --- mkvtoolnix-4.0.0/src/input/r_vobbtn.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vobbtn.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void create_packetizer(int64_t tid); virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_VOBBTN_H diff -Nru mkvtoolnix-4.0.0/src/input/r_vobsub.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_vobsub.cpp --- mkvtoolnix-4.0.0/src/input/r_vobsub.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vobsub.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -43,7 +43,7 @@ int vobsub_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { char chunk[80]; try { @@ -71,8 +71,8 @@ } std::string sub_name = m_ti.m_fname; - int len = sub_name.rfind("."); - if (0 <= len) + size_t len = sub_name.rfind("."); + if (std::string::npos != len) sub_name.erase(len); sub_name += ".sub"; @@ -120,7 +120,7 @@ void vobsub_reader_c::create_packetizer(int64_t tid) { - if ((tracks.size() <= tid) || !demuxing_requested('s', tid) || (-1 != tracks[tid]->ptzr)) + if ((tracks.size() <= static_cast<size_t>(tid)) || !demuxing_requested('s', tid) || (-1 != tracks[tid]->ptzr)) return; vobsub_track_c *track = tracks[tid]; @@ -131,7 +131,7 @@ int64_t avg_duration; if (!track->entries.empty()) { avg_duration = 0; - int k; + size_t k; for (k = 0; k < (track->entries.size() - 1); k++) { int64_t duration = track->entries[k + 1].timestamp - track->entries[k].timestamp; track->entries[k].duration = duration; @@ -303,7 +303,7 @@ } if (!g_identifying && (1 < verbose)) { - int i, k, tsize = tracks.size(); + size_t i, k, tsize = tracks.size(); for (i = 0; i < tsize; i++) { mxinfo(boost::format("vobsub_reader: Track number %1%\n") % i); for (k = 0; k < tracks[i]->entries.size(); k++) @@ -407,23 +407,24 @@ const unsigned char wanted[] = { 0, 0, 1 }; unsigned char buf[5]; - vobsub_track_c *track = tracks[track_id]; - int64_t timecode = track->entries[track->idx].timestamp; - int64_t duration = track->entries[track->idx].duration; - int64_t extraction_start_pos = track->entries[track->idx].position; - int64_t extraction_end_pos = track->idx >= track->entries.size() - 1 ? sub_file->get_size() : track->entries[track->idx + 1].position; - - int64_t pts = 0; - unsigned char *dst_buf = NULL; - uint32_t dst_size = 0; - uint32_t packet_size = 0; - int spu_len = -1; + vobsub_track_c *track = tracks[track_id]; + int64_t timecode = track->entries[track->idx].timestamp; + int64_t duration = track->entries[track->idx].duration; + uint64_t extraction_start_pos = track->entries[track->idx].position; + uint64_t extraction_end_pos = track->idx >= track->entries.size() - 1 ? sub_file->get_size() : track->entries[track->idx + 1].position; + + int64_t pts = 0; + unsigned char *dst_buf = NULL; + uint32_t dst_size = 0; + uint32_t packet_size = 0; + unsigned int spu_len = 0; + bool spu_len_valid = false; sub_file->setFilePointer(extraction_start_pos); track->packet_num++; while (1) { - if ((spu_len >= 0) && ((dst_size >= spu_len) || (sub_file->getFilePointer() >= extraction_end_pos))) { + if (spu_len_valid && ((dst_size >= spu_len) || (sub_file->getFilePointer() >= extraction_end_pos))) { if (dst_size != spu_len) mxverb(3, boost::format("r_vobsub.cpp: stddeliver spu_len different from dst_size; pts %5% spu_len %1% dst_size %2% curpos %3% endpos %4%\n") @@ -558,8 +559,10 @@ mxwarn(Y("vobsub_reader: sub_file->read failure")); return deliver(); } - if (-1 == spu_len) - spu_len = get_uint16_be(dst_buf); + if (!spu_len_valid) { + spu_len = get_uint16_be(dst_buf); + spu_len_valid = true; + } dst_size += packet_size; track->spu_size += packet_size; @@ -608,19 +611,17 @@ break; } - if (!track || (track->idx >= track->entries.size())) + if (!track) return FILE_STATUS_DONE; + if (track->idx >= track->entries.size()) + return flush_packetizers(); + extract_one_spu_packet(id); track->idx++; indices_processed++; - if (track->idx >= track->entries.size()) { - flush_packetizers(); - return FILE_STATUS_DONE; - } - - return FILE_STATUS_MOREDATA; + return track->idx >= track->entries.size() ? flush_packetizers() : FILE_STATUS_MOREDATA; } int @@ -631,7 +632,7 @@ void vobsub_reader_c::identify() { std::vector<std::string> verbose_info; - int i; + size_t i; id_result_container("VobSub"); @@ -645,18 +646,18 @@ } } -void +file_status_e vobsub_reader_c::flush_packetizers() { - uint32_t i; + foreach(vobsub_track_c *track, tracks) + if (track->ptzr != -1) + PTZR(track->ptzr)->flush(); - for (i = 0; i < tracks.size(); i++) - if (tracks[i]->ptzr != -1) - PTZR(tracks[i]->ptzr)->flush(); + return FILE_STATUS_DONE; } void vobsub_reader_c::add_available_track_ids() { - int i; + size_t i; for (i = 0; i < tracks.size(); i++) add_available_track_id(i); diff -Nru mkvtoolnix-4.0.0/src/input/r_vobsub.h mkvtoolnix-4.5.0+dfsg/src/input/r_vobsub.h --- mkvtoolnix-4.0.0/src/input/r_vobsub.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_vobsub.h 2011-01-31 20:34:09.000000000 +0000 @@ -36,7 +36,8 @@ std::string language; int ptzr; std::vector<vobsub_entry_c> entries; - int idx, aid; + unsigned int idx; + int aid; bool mpeg_version_warning_printed; int64_t packet_num, spu_size, overhead; @@ -77,11 +78,11 @@ virtual void add_available_track_ids(); virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: virtual void parse_headers(); - virtual void flush_packetizers(); + virtual file_status_e flush_packetizers(); virtual int deliver_packet(unsigned char *buf, int size, int64_t timecode, int64_t default_duration, generic_packetizer_c *ptzr); virtual int extract_one_spu_packet(int64_t track_id); diff -Nru mkvtoolnix-4.0.0/src/input/r_wav.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_wav.cpp --- mkvtoolnix-4.0.0/src/input/r_wav.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_wav.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -409,7 +409,7 @@ int wav_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { wave_header wheader; if (sizeof(wave_header) > size) @@ -548,7 +548,7 @@ void wav_reader_c::create_packetizer(int64_t) { - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; add_packetizer(m_demuxer->create_packetizer()); @@ -563,10 +563,8 @@ num_read = m_io->read(buffer, requested_bytes); - if (0 >= num_read) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 >= num_read) + return flush_packetizers(); m_demuxer->process(num_read); @@ -576,10 +574,8 @@ if (!m_remaining_bytes_in_current_data_chunk) { m_cur_data_chunk_idx = find_chunk("data", m_cur_data_chunk_idx + 1, false); - if (-1 == m_cur_data_chunk_idx) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (-1 == m_cur_data_chunk_idx) + return flush_packetizers(); m_io->setFilePointer(m_chunks[m_cur_data_chunk_idx].pos + sizeof(struct chunk_struct), seek_beginning); @@ -638,7 +634,7 @@ wav_reader_c::find_chunk(const char *id, int start_idx, bool allow_empty) { - int idx; + size_t idx; for (idx = start_idx; idx < m_chunks.size(); ++idx) if (!strncasecmp(m_chunks[idx].id, id, 4) && (allow_empty || m_chunks[idx].len)) diff -Nru mkvtoolnix-4.0.0/src/input/r_wav.h mkvtoolnix-4.5.0+dfsg/src/input/r_wav.h --- mkvtoolnix-4.0.0/src/input/r_wav.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_wav.h 2011-01-31 20:34:09.000000000 +0000 @@ -82,7 +82,7 @@ virtual int get_progress(); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); protected: void scan_chunks(); diff -Nru mkvtoolnix-4.0.0/src/input/r_wavpack.cpp mkvtoolnix-4.5.0+dfsg/src/input/r_wavpack.cpp --- mkvtoolnix-4.0.0/src/input/r_wavpack.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_wavpack.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -22,7 +22,7 @@ int wavpack_reader_c::probe_file(mm_io_c *io, - int64_t size) { + uint64_t size) { wavpack_header_t header; try { @@ -94,11 +94,10 @@ void wavpack_reader_c::create_packetizer(int64_t) { - uint16_t version_le; - - if (NPTZR() != 0) + if (!demuxing_requested('a', 0) || (NPTZR() != 0)) return; + uint16_t version_le; put_uint16_le(&version_le, header.version); m_ti.m_private_data = (unsigned char *)&version_le; m_ti.m_private_size = sizeof(uint16_t); @@ -124,18 +123,14 @@ while (dummy_meta.channel_count < meta.channel_count) { extra_frames_number++; block_size = wv_parse_frame(io, dummy_header, dummy_meta, false, false); - if (-1 == block_size) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (-1 == block_size) + return flush_packetizers(); data_size += block_size; io->skip(block_size); } - if (0 > data_size) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (0 > data_size) + return flush_packetizers(); data_size += 3 * sizeof(uint32_t); if (extra_frames_number) @@ -160,10 +155,8 @@ put_uint32_le(databuffer, block_size); databuffer += 4; } - if (io->read(databuffer, block_size) != block_size) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (io->read(databuffer, block_size) != static_cast<size_t>(block_size)) + return flush_packetizers(); databuffer += block_size; } @@ -181,10 +174,8 @@ while (dummy_meta.channel_count < meta_correc.channel_count) { extra_frames_number++; block_size = wv_parse_frame(io_correc, dummy_header_correc, dummy_meta, false, false); - if (-1 == block_size) { - PTZR0->flush(); - return FILE_STATUS_DONE; - } + if (-1 == block_size) + return flush_packetizers(); data_size += block_size; io_correc->skip(block_size); } @@ -221,7 +212,7 @@ put_uint32_le(databuffer, block_size); databuffer += 4; } - if (io_correc->read(databuffer, block_size) != block_size) { + if (io_correc->read(databuffer, block_size) != static_cast<size_t>(block_size)) { delete io_correc; io_correc = NULL; } diff -Nru mkvtoolnix-4.0.0/src/input/r_wavpack.h mkvtoolnix-4.5.0+dfsg/src/input/r_wavpack.h --- mkvtoolnix-4.0.0/src/input/r_wavpack.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/r_wavpack.h 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ virtual void identify(); virtual void create_packetizer(int64_t id); - static int probe_file(mm_io_c *io, int64_t size); + static int probe_file(mm_io_c *io, uint64_t size); }; #endif // __R_WAVPACK_H diff -Nru mkvtoolnix-4.0.0/src/input/subtitles.cpp mkvtoolnix-4.5.0+dfsg/src/input/subtitles.cpp --- mkvtoolnix-4.0.0/src/input/subtitles.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/subtitles.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -20,6 +20,7 @@ #include "common/strings/parsing.h" #include "input/subtitles.h" #include "merge/output_control.h" +#include "merge/packet_extensions.h" // ------------------------------------------------------------ @@ -28,7 +29,9 @@ if (empty() || (entries.end() == current)) return; - p->process(new packet_t(new memory_c((unsigned char *)current->subs.c_str(), 0, false), current->start, current->end - current->start)); + packet_cptr packet(new packet_t(new memory_c((unsigned char *)current->subs.c_str(), 0, false), current->start, current->end - current->start)); + packet->extensions.push_back(packet_extension_cptr(new subtitle_number_packet_extension_c(current->number))); + p->process(packet); ++current; } @@ -90,6 +93,8 @@ bool timecode_warning_printed = false; parser_state_e state = STATE_INITIAL; int line_number = 0; + unsigned int subtitle_number = 0; + unsigned int timecode_number = 0; std::string subtitles; m_io->setFilePointer(0, seek_beginning); @@ -120,6 +125,7 @@ break; } state = STATE_TIME; + parse_uint(s, subtitle_number); } else if (STATE_TIME == state) { boost::match_results<std::string::const_iterator> matches; @@ -154,7 +160,7 @@ // The previous entry is done now. Append it to the list of subtitles. if (!subtitles.empty()) { strip_back(subtitles, true); - add(start, end, subtitles.c_str()); + add(start, end, timecode_number, subtitles.c_str()); } // Calculate the start and end time in ns precision for the following entry. @@ -195,19 +201,21 @@ timecode_warning_printed = true; } - previous_start = start; - subtitles = ""; - state = STATE_SUBS; + previous_start = start; + subtitles = ""; + state = STATE_SUBS; + timecode_number = subtitle_number; } else if (STATE_SUBS == state) { if (!subtitles.empty()) subtitles += "\n"; subtitles += s; - } else if (boost::regex_match(s, number_re)) + } else if (boost::regex_match(s, number_re)) { state = STATE_TIME; + parse_uint(s, subtitle_number); - else { + } else { if (!subtitles.empty()) subtitles += "\n"; subtitles += s; @@ -216,7 +224,7 @@ if (!subtitles.empty()) { strip_back(subtitles, true); - add(start, end, subtitles.c_str()); + add(start, end, timecode_number, subtitles.c_str()); } sort(); @@ -322,7 +330,7 @@ strip(m_format); // Let's see if "Actor" is used in the format instead of "Name". - int i; + size_t i; for (i = 0; m_format.size() > i; ++i) if (downcase(m_format[i]) == "actor") { name_field = "Actor"; @@ -379,7 +387,7 @@ + get_element("Effect", fields) + comma + recode_text(fields); - add(start, end, line); + add(start, end, num, line); num++; add_to_global = false; @@ -418,7 +426,7 @@ std::string ssa_parser_c::get_element(const char *index, std::vector<std::string> &fields) { - int i; + size_t i; for (i = 0; i < m_format.size(); i++) if (m_format[i] == index) @@ -490,12 +498,12 @@ attachment_t attachment; std::string short_name = m_file_name; - int pos = short_name.rfind('/'); + size_t pos = short_name.rfind('/'); - if (0 < pos) + if (std::string::npos != pos) short_name.erase(0, pos + 1); pos = short_name.rfind('\\'); - if (0 < pos) + if (std::string::npos != pos) short_name.erase(0, pos + 1); attachment.ui_id = m_attachment_id; @@ -503,7 +511,7 @@ attachment.description = (boost::format(SSA_SECTION_FONTS == section ? Y("Imported font from %1%") : Y("Imported picture from %1%")) % short_name).str(); attachment.to_all_files = true; - int allocated = 1024; + size_t allocated = 1024; attachment.data = memory_c::alloc(allocated); attachment.data->set_size(0); @@ -537,8 +545,8 @@ unsigned char c3, unsigned char c4, memory_cptr &buffer, - int bytes_to_add, - int &allocated) { + size_t bytes_to_add, + size_t &allocated) { unsigned char bytes[3]; uint32_t value = ((c1 - 33) << 18) + ((c2 - 33) << 12) + ((c3 - 33) << 6) + (c4 - 33); @@ -561,7 +569,7 @@ int64_t spu_extract_duration(unsigned char *data, - int buf_size, + size_t buf_size, int64_t timecode) { uint32_t date, control_start, next_off, start_off, off; unsigned char type; diff -Nru mkvtoolnix-4.0.0/src/input/subtitles.h mkvtoolnix-4.5.0+dfsg/src/input/subtitles.h --- mkvtoolnix-4.0.0/src/input/subtitles.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/input/subtitles.h 2011-01-31 20:34:09.000000000 +0000 @@ -21,10 +21,11 @@ typedef struct sub_t { int64_t start, end; + unsigned int number; std::string subs; - sub_t(int64_t _start, int64_t _end, const std::string &_subs): - start(_start), end(_end), subs(_subs) { + sub_t(int64_t _start, int64_t _end, unsigned int _number, const std::string &_subs): + start(_start), end(_end), number(_number), subs(_subs) { } bool operator < (const sub_t &cmp) const { @@ -41,8 +42,8 @@ subtitles_c() { current = entries.end(); } - void add(int64_t start, int64_t end, const std::string &subs) { - entries.push_back(sub_t(start, end, subs)); + void add(int64_t start, int64_t end, unsigned int number, const std::string &subs) { + entries.push_back(sub_t(start, end, number, subs)); } void reset() { current = entries.begin(); @@ -141,10 +142,10 @@ std::string get_element(const char *index, std::vector<std::string> &fields); std::string recode_text(std::vector<std::string> &fields); void add_attachment_maybe(std::string &name, std::string &data_uu, ssa_section_e section); - void decode_chars(unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4, memory_cptr &buffer, int bytes_to_add, int &allocated); + void decode_chars(unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4, memory_cptr &buffer, size_t bytes_to_add, size_t &allocated); }; typedef counted_ptr<ssa_parser_c> ssa_parser_cptr; -int64_t spu_extract_duration(unsigned char *data, int buf_size, int64_t timecode); +int64_t spu_extract_duration(unsigned char *data, size_t buf_size, int64_t timecode); #endif // __SUBTITLES_H diff -Nru mkvtoolnix-4.0.0/src/Makefile.in mkvtoolnix-4.5.0+dfsg/src/Makefile.in --- mkvtoolnix-4.0.0/src/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C .. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/merge/cluster_helper.cpp mkvtoolnix-4.5.0+dfsg/src/merge/cluster_helper.cpp --- mkvtoolnix-4.0.0/src/merge/cluster_helper.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/cluster_helper.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -46,6 +46,7 @@ , m_first_timecode_in_file(-1) , m_min_timecode_in_cluster(-1) , m_max_timecode_in_cluster(-1) + , m_attachments_size(0) , m_out(NULL) , m_current_split_point(m_split_points.begin()) { @@ -65,11 +66,11 @@ packet->unmodified_duration = packet->duration; packet->timecode = RND_TIMECODE_SCALE(packet->timecode); packet->assigned_timecode = RND_TIMECODE_SCALE(packet->assigned_timecode); - if (0 < packet->duration) + if (packet->has_duration()) packet->duration = RND_TIMECODE_SCALE(packet->duration); - if (0 < packet->bref) + if (packet->has_bref()) packet->bref = RND_TIMECODE_SCALE(packet->bref); - if (0 < packet->fref) + if (packet->has_fref()) packet->fref = RND_TIMECODE_SCALE(packet->fref); int64_t timecode = get_timecode(); @@ -88,7 +89,8 @@ if ( (SHRT_MAX < timecode_delay) || (SHRT_MIN > timecode_delay) || (packet->gap_following && !m_packets.empty()) - || ((packet->assigned_timecode - timecode) > g_max_ns_per_cluster)) { + || ((packet->assigned_timecode - timecode) > g_max_ns_per_cluster) + || ((packet->source == g_video_packetizer) && packet->is_key_frame())) { render(); prepare_new_cluster(); } @@ -96,7 +98,7 @@ if ( splitting() && (m_split_points.end() != m_current_split_point) && (g_file_num <= g_split_max_num_files) - && (packet->bref == -1) + && packet->is_key_frame() && ( (packet->source->get_track_type() == track_video) || (NULL == g_video_packetizer))) { bool split_now = false; @@ -113,7 +115,7 @@ std::vector<packet_cptr>::iterator p_it; mxforeach(p_it, m_packets) { packet_cptr &p = *p_it; - additional_size += p->data->get_size() + ((-1 == p->bref) ? 10 : (-1 == p->fref) ? 13 : 16); + additional_size += p->data->get_size() + (p->is_key_frame() ? 10 : p->is_p_frame() ? 13 : 16); } } else @@ -179,7 +181,7 @@ // Render the cluster if it is full (according to my many criteria). timecode = get_timecode(); - if (((packet->assigned_timecode - timecode) > g_max_ns_per_cluster) || (m_packets.size() > g_max_blocks_per_cluster) || (get_cluster_content_size() > 1500000)) { + if (((packet->assigned_timecode - timecode) > g_max_ns_per_cluster) || (m_packets.size() > static_cast<size_t>(g_max_blocks_per_cluster)) || (get_cluster_content_size() > 1500000)) { render(); prepare_new_cluster(); } @@ -221,7 +223,7 @@ int64_t def_duration = rg->m_source->get_track_default_duration(); int64_t block_duration = 0; - int i; + size_t i; for (i = 0; rg->m_durations.size() > i; ++i) block_duration += rg->m_durations[i]; mxverb(3, @@ -231,7 +233,7 @@ if (rg->m_duration_mandatory) { if ( (0 == block_duration) || ( (0 < block_duration) - && (block_duration != (rg->m_durations.size() * def_duration)))) + && (block_duration != (static_cast<int64_t>(rg->m_durations.size()) * def_duration)))) group->set_block_duration(RND_TIMECODE_SCALE(block_duration)); } else if ( ( g_use_durations @@ -244,7 +246,7 @@ bool cluster_helper_c::must_duration_be_set(render_groups_c *rg, packet_cptr &new_packet) { - int i; + size_t i; int64_t block_duration = 0; int64_t def_duration = rg->m_source->get_track_default_duration(); @@ -255,7 +257,7 @@ if (rg->m_duration_mandatory || new_packet->duration_mandatory) { if ( (0 == block_duration) || ( (0 < block_duration) - && (block_duration != ((rg->m_durations.size() + 1) * def_duration)))) + && (block_duration != ((static_cast<int64_t>(rg->m_durations.size()) + 1) * def_duration)))) return true; } else if ( ( g_use_durations @@ -330,7 +332,7 @@ kax_block_blob_c *previous_block_group = !render_group->m_groups.empty() ? render_group->m_groups.back().get_object() : NULL; kax_block_blob_c *new_block_group = previous_block_group; - if ((-1 != pack->bref) || has_codec_state) + if (!pack->is_key_frame() || has_codec_state) render_group->m_more_data = false; if (!render_group->m_more_data) { @@ -356,8 +358,8 @@ // Now put the packet into the cluster. render_group->m_more_data = new_block_group->add_frame_auto(track_entry, pack->assigned_timecode - m_timecode_offset, *data_buffer, lacing_type, - (-1 == pack->bref) ? -1 : pack->bref - m_timecode_offset, - (-1 == pack->fref) ? -1 : pack->fref - m_timecode_offset); + pack->has_bref() ? pack->bref - m_timecode_offset : -1, + pack->has_fref() ? pack->fref - m_timecode_offset : -1); if (has_codec_state) { KaxBlockGroup &bgroup = (KaxBlockGroup &)*new_block_group; @@ -372,7 +374,7 @@ if ((pack->assigned_timecode + pack->duration) > m_max_timecode_and_duration) m_max_timecode_and_duration = pack->assigned_timecode + pack->duration; - if ((-1 != pack->bref) || (-1 != pack->fref) || !track_entry.LacingEnabled()) + if (!pack->is_key_frame() || !track_entry.LacingEnabled()) render_group->m_more_data = false; render_group->m_durations.push_back(pack->unmodified_duration); @@ -387,7 +389,7 @@ if (!pack->data_adds.empty() && new_block_group->ReplaceSimpleByGroup()) { KaxBlockAdditions &additions = AddEmptyChild<KaxBlockAdditions>(*new_block_group); - int data_add_idx; + size_t data_add_idx; for (data_add_idx = 0; pack->data_adds.size() > data_add_idx; ++data_add_idx) { KaxBlockMore &block_more = AddEmptyChild<KaxBlockMore>(additions); GetChildAs<KaxBlockAddID, EbmlUInteger>(block_more) = data_add_idx + 1; @@ -406,7 +408,7 @@ // Update the cues (index table) either if cue entries for // I frames were requested and this is an I frame... if (( (CUE_STRATEGY_IFRAMES == source->get_cue_creation()) - && (-1 == pack->bref)) + && pack->is_key_frame()) // ... or if a codec state change is present ... || has_codec_state // ... or if the user requested entries for all frames ... diff -Nru mkvtoolnix-4.0.0/src/merge/cluster_helper.h mkvtoolnix-4.5.0+dfsg/src/merge/cluster_helper.h --- mkvtoolnix-4.0.0/src/merge/cluster_helper.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/cluster_helper.h 2011-01-31 20:34:09.000000000 +0000 @@ -69,6 +69,7 @@ int64_t m_packet_num, m_timecode_offset, *m_previous_packets; int64_t m_bytes_in_file, m_first_timecode_in_file; int64_t m_min_timecode_in_cluster, m_max_timecode_in_cluster; + int64_t m_attachments_size; mm_io_c *m_out; std::vector<split_point_t> m_split_points; diff -Nru mkvtoolnix-4.0.0/src/merge/libmatroska_extensions.cpp mkvtoolnix-4.5.0+dfsg/src/merge/libmatroska_extensions.cpp --- mkvtoolnix-4.0.0/src/merge/libmatroska_extensions.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/libmatroska_extensions.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -97,8 +97,8 @@ } else { Block.simpleblock->SetKeyframe(false); - if ( ((-1 == forw_block) || (forw_block <= timecode)) - && ((-1 == past_block) || (past_block <= timecode))) + if ( ((-1 == forw_block) || (forw_block <= static_cast<int64_t>(timecode))) + && ((-1 == past_block) || (past_block <= static_cast<int64_t>(timecode)))) Block.simpleblock->SetDiscardable(false); else Block.simpleblock->SetDiscardable(true); diff -Nru mkvtoolnix-4.0.0/src/merge/Makefile.in mkvtoolnix-4.5.0+dfsg/src/merge/Makefile.in --- mkvtoolnix-4.0.0/src/merge/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/merge/mkvmerge.cpp mkvtoolnix-4.5.0+dfsg/src/merge/mkvmerge.cpp --- mkvtoolnix-4.0.0/src/merge/mkvmerge.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/mkvmerge.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -34,6 +34,7 @@ #include <algorithm> #include <iostream> #include <list> +#include <sstream> #include <typeinfo> #include <matroska/KaxChapters.h> @@ -46,6 +47,7 @@ #include "common/command_line.h" #include "common/ebml.h" #include "common/extern_data.h" +#include "common/file_types.h" #include "common/fs_sys_helpers.h" #include "common/hacks.h" #include "common/iso639.h" @@ -63,51 +65,6 @@ using namespace libmatroska; -struct ext_file_type_t { - std::string ext, desc; - - ext_file_type_t(const std::string &p_ext, - const std::string &p_desc) - : ext(p_ext) - , desc(p_desc) - { - } -}; - -static std::list<ext_file_type_t> s_input_file_types; - -static void -init_input_file_type_list() { - s_input_file_types.push_back(ext_file_type_t("aac", Y("AAC (Advanced Audio Coding)"))); - s_input_file_types.push_back(ext_file_type_t("ac3", Y("A/52 (aka AC3)"))); - s_input_file_types.push_back(ext_file_type_t("avi", Y("AVI (Audio/Video Interleaved)"))); - s_input_file_types.push_back(ext_file_type_t("btn", Y("VobBtn buttons"))); - s_input_file_types.push_back(ext_file_type_t("drc", Y("Dirac elementary stream"))); - s_input_file_types.push_back(ext_file_type_t("dts", Y("DTS (Digital Theater System)"))); -#if defined(HAVE_FLAC_FORMAT_H) - s_input_file_types.push_back(ext_file_type_t("flac", Y("FLAC lossless audio"))); -#endif - s_input_file_types.push_back(ext_file_type_t("h264", Y("AVC/h.264 elementary streams"))); - s_input_file_types.push_back(ext_file_type_t("idx", Y("VobSub subtitles"))); - s_input_file_types.push_back(ext_file_type_t("ivf", Y("IVF with VP8"))); - s_input_file_types.push_back(ext_file_type_t("m1v", Y("MPEG-1 video elementary stream"))); - s_input_file_types.push_back(ext_file_type_t("m2v", Y("MPEG-2 video elementary stream"))); - s_input_file_types.push_back(ext_file_type_t("mkv", Y("general Matroska files"))); - s_input_file_types.push_back(ext_file_type_t("mov", Y("Quicktime/MP4 audio and video"))); - s_input_file_types.push_back(ext_file_type_t("mp2", Y("MPEG-1 layer II audio (CBR and VBR/ABR)"))); - s_input_file_types.push_back(ext_file_type_t("mp3", Y("MPEG-1 layer III audio (CBR and VBR/ABR)"))); - s_input_file_types.push_back(ext_file_type_t("mpg", Y("MPEG program stream"))); - s_input_file_types.push_back(ext_file_type_t("ogg", Y("audio/video/text subtitles embedded in OGG"))); - s_input_file_types.push_back(ext_file_type_t("rm", Y("RealMedia audio and video"))); - s_input_file_types.push_back(ext_file_type_t("srt", Y("SRT text subtitles"))); - s_input_file_types.push_back(ext_file_type_t("ssa", Y("SSA/ASS text subtitles"))); - s_input_file_types.push_back(ext_file_type_t("tta", Y("TTA lossless audio"))); - s_input_file_types.push_back(ext_file_type_t("vc1", Y("VC1 video elementary stream"))); - s_input_file_types.push_back(ext_file_type_t("wav", Y("WAVE (uncompressed PCM)"))); - s_input_file_types.push_back(ext_file_type_t("webm", Y("WebM audio/video files"))); - s_input_file_types.push_back(ext_file_type_t("wv", Y("WAVPACK lossless audio"))); -} - /** \brief Outputs usage information */ static void @@ -260,10 +217,10 @@ " Explicitly set the display dimensions.\n"); usage_text += Y(" --cropping <TID:left,top,right,bottom>\n" " Sets the cropping parameters.\n"); - usage_text += Y(" --stereo-mode <TID:n|none|left|right|both>\n" + usage_text += Y(" --stereo-mode <TID:n|keyword>\n" " Sets the stereo mode parameter. It can\n" - " either be a numer 0 - 3 or one of the\n" - " keywords 'none', 'right', 'left' or 'both'.\n"); + " either be a number 0 - 11 or a keyword\n" + " (see documentation for the full list).\n"); usage_text += "\n"; usage_text += Y(" Options that only apply to text subtitle tracks:\n"); usage_text += Y(" --sub-charset <TID:charset>\n" @@ -291,6 +248,7 @@ " the specified file (see man page).\n"); usage_text += Y(" -h, --help Show this help.\n"); usage_text += Y(" -V, --version Show version information.\n"); + usage_text += std::string(" --check-for-updates ") + Y("Check online for the latest release.") + "\n"; usage_text += "\n\n"; usage_text += Y("Please read the man page/the HTML documentation to mkvmerge. It\n" "explains several details in great length which are not obvious from\n" @@ -323,7 +281,7 @@ bool found = false; int file_num = -1; - int i; + size_t i; for (i = 0; i < g_files.size(); i++) if (g_files[i].reader == reader) { found = true; @@ -396,13 +354,12 @@ static void list_file_types() { - mxinfo(Y("Known file types:\n" - " ext description\n" - " ---- --------------------------\n")); - - std::list<ext_file_type_t>::const_iterator i; - mxforeach(i, s_input_file_types) - mxinfo(boost::format(" %|1$-4s| %2%\n") % i->ext % i->desc); + std::vector<file_type_t> &file_types = file_type_t::get_supported(); + + mxinfo(Y("Supported file types:\n")); + + foreach(file_type_t &file_type, file_types) + mxinfo(boost::format(" %1% [%2%]\n") % file_type.title % file_type.extensions); } /** \brief Identify a file type and its contents @@ -412,10 +369,15 @@ and calls its identify function. */ static void -identify(const std::string &filename) { +identify(std::string &filename) { track_info_c ti; filelist_t file; + if ('=' == filename[0]) { + ti.m_disable_multi_file = true; + filename = filename.substr(1); + } + verbose = 0; g_suppress_warnings = true; g_identifying = true; @@ -545,7 +507,7 @@ std::vector<std::string> elements = split(s, ","); strip(elements); - int i; + size_t i; for (i = 0; i < elements.size(); i++) { int64_t tid; if (!parse_int(elements[i], tid)) @@ -727,37 +689,47 @@ /** \brief Parse the \c --stereo-mode argument - The argument must either be a number between 0 and 3 or - one of the keywords \c 'none', \c 'left', \c 'right' or \c 'both'. + The argument must either be a number starting at 0 or + one of these keywords: + + 0: mono + 1: side by side (left eye is first) + 2: top-bottom (right eye is first) + 3: top-bottom (left eye is first) + 4: checkboard (right is first) + 5: checkboard (left is first) + 6: row interleaved (right is first) + 7: row interleaved (left is first) + 8: column interleaved (right is first) + 9: column interleaved (left is first) + 10: anaglyph (cyan/red) + 11: side by side (right eye is first) */ static void parse_arg_stereo_mode(const std::string &s, track_info_c &ti) { - static const char * const keywords[] = { - "none", "right", "left", "both", NULL - }; - std::string errmsg = Y("Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and 3 " - "or one of the keywords 'none', 'right', 'left', 'both' (argument was '%1%').\n"); + std::string errmsg = Y("Stereo mode parameter: not given in the form <TID>:<n|keyword> where n is a number between 0 and %1% " + "or one of these keywords: %2% (argument was '%3%').\n"); std::vector<std::string> v = split(s, ":"); if (v.size() != 2) - mxerror(boost::format(errmsg) % s); + mxerror(boost::format(errmsg) % stereo_mode_c::max_index() % stereo_mode_c::displayable_modes_list() % s); int64_t id = 0; if (!parse_int(v[0], id)) - mxerror(boost::format(errmsg) % s); + mxerror(boost::format(errmsg) % stereo_mode_c::max_index() % stereo_mode_c::displayable_modes_list() % s); - int i; - for (i = 0; NULL != keywords[i]; ++i) - if (v[1] == keywords[i]) { - ti.m_stereo_mode_list[id] = (stereo_mode_e)i; - return; - } + stereo_mode_c::mode mode = stereo_mode_c::parse_mode(v[1]); + if (stereo_mode_c::invalid != mode) { + ti.m_stereo_mode_list[id] = mode; + return; + } - if (!parse_int(v[1], i) || (i < 0) || (STEREO_MODE_BOTH < i)) - mxerror(boost::format(errmsg) % s); + int index; + if (!parse_int(v[1], index) || !stereo_mode_c::valid_index(index)) + mxerror(boost::format(errmsg) % stereo_mode_c::max_index() % stereo_mode_c::displayable_modes_list() % s); - ti.m_stereo_mode_list[id] = (stereo_mode_e)i; + ti.m_stereo_mode_list[id] = static_cast<stereo_mode_c::mode>(index); } /** \brief Parse the duration formats to \c --split @@ -997,24 +969,43 @@ if (parts[1].size() == 0) mxerror(boost::format(Y("Invalid compression option specified in '--compression %1%'.\n")) % s); + std::vector<std::string> available_compression_methods; + available_compression_methods.push_back("none"); + available_compression_methods.push_back("zlib"); + available_compression_methods.push_back("mpeg4_p2"); + available_compression_methods.push_back("analyze_header_removal"); + ti.m_compression_list[id] = COMPRESSION_UNSPECIFIED; parts[1] = downcase(parts[1]); + + if (parts[1] == "zlib") + ti.m_compression_list[id] = COMPRESSION_ZLIB; + + if (parts[1] == "none") + ti.m_compression_list[id] = COMPRESSION_NONE; + + if ((parts[1] == "mpeg4_p2") || (parts[1] == "mpeg4p2")) + ti.m_compression_list[id] = COMPRESSION_MPEG4_P2; + + if (parts[1] == "analyze_header_removal") + ti.m_compression_list[id] = COMPRESSION_ANALYZE_HEADER_REMOVAL; + #ifdef HAVE_LZO if ((parts[1] == "lzo") || (parts[1] == "lzo1x")) ti.m_compression_list[id] = COMPRESSION_LZO; + else + available_compression_methods.push_back("lzo"); #endif - if (parts[1] == "zlib") - ti.m_compression_list[id] = COMPRESSION_ZLIB; + #ifdef HAVE_BZLIB_H if ((parts[1] == "bz2") || (parts[1] == "bzlib")) ti.m_compression_list[id] = COMPRESSION_BZ2; + else + available_compression_methods.push_back("bz2"); #endif - if ((parts[1] == "mpeg4_p2") || (parts[1] == "mpeg4p2")) - ti.m_compression_list[id] = COMPRESSION_MPEG4_P2; - if (parts[1] == "none") - ti.m_compression_list[id] = COMPRESSION_NONE; + if (ti.m_compression_list[id] == COMPRESSION_UNSPECIFIED) - mxerror(boost::format(Y("'%1%' is an unsupported argument for --compression. Available compression methods are 'none' and 'zlib'.\n")) % s); + mxerror(boost::format(Y("'%1%' is an unsupported argument for --compression. Available compression methods are: %2%\n")) % s % join(", ", available_compression_methods)); } /** \brief Parse the argument for a couple of options @@ -1141,7 +1132,7 @@ std::vector<std::string> parts = split(s, ","); strip(parts); - int i; + size_t i; for (i = 0; i < parts.size(); i++) { std::vector<std::string> pair = split(parts[i].c_str(), ":"); @@ -1507,7 +1498,7 @@ track_info_c &ti) { std::vector<std::string> elements = split(arg, ","); - int i; + size_t i; for (i = 0; elements.size() > i; ++i) { std::vector<std::string> pair = split(elements[i], ":"); @@ -2087,6 +2078,9 @@ else if (this_arg == "+") append_next_file = true; + else if (this_arg == "=") + ti->m_disable_multi_file = true; + // The argument is an input file. else { if (g_outfile == this_arg) @@ -2109,6 +2103,11 @@ if ('+' == this_arg[0]) { append_next_file = true; file.name = this_arg.substr(1); + + } else if ('=' == this_arg[0]) { + ti->m_disable_multi_file = true; + file.name = this_arg.substr(1); + } else file.name = this_arg; @@ -2187,7 +2186,6 @@ char **argv) { init_globals(); setup(); - init_input_file_type_list(); parse_args(command_line_utf8(argc, argv)); diff -Nru mkvtoolnix-4.0.0/src/merge/output_control.cpp mkvtoolnix-4.5.0+dfsg/src/merge/output_control.cpp --- mkvtoolnix-4.0.0/src/merge/output_control.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/output_control.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -66,6 +66,7 @@ #include "common/hacks.h" #include "common/math.h" #include "common/mm_io.h" +#include "common/mm_write_cache_io.h" #include "common/strings/formatting.h" #include "common/tags/tags.h" #include "common/translation.h" @@ -90,6 +91,7 @@ #include "input/r_mpeg_ps.h" #include "input/r_mpeg_ts.h" #include "input/r_ogm.h" +#include "input/r_pgssup.h" #include "input/r_qtmp4.h" #include "input/r_real.h" #include "input/r_srt.h" @@ -136,7 +138,7 @@ std::string g_outfile; int64_t g_file_sizes = 0; int g_max_blocks_per_cluster = 65535; -int64_t g_max_ns_per_cluster = 2000000000; +int64_t g_max_ns_per_cluster = 5000000000ll; bool g_write_cues = true; bool g_cue_writing_requested = false; generic_packetizer_c *g_video_packetizer = NULL; @@ -324,6 +326,8 @@ type = FILE_TYPE_OGM; else if (flac_reader_c::probe_file(io, size)) type = FILE_TYPE_FLAC; + else if (pgssup_reader_c::probe_file(io, size)) + type = FILE_TYPE_PGSSUP; else if (real_reader_c::probe_file(io, size)) type = FILE_TYPE_REAL; else if (qtmp4_reader_c::probe_file(io, size)) @@ -348,8 +352,8 @@ else { // File types which are the same in raw format and in other container formats. // Detection requires 20 or more consecutive packets. - static const int s_probe_sizes[] = { 32 * 1024, 64 * 1024, 128 * 1024, 256 * 1024, 512 * 1024, 1024 * 1024, 0 }; - static const int s_probe_num_required_consecutive_packets = 20; + static const int s_probe_sizes[] = { 128 * 1024, 256 * 1024, 512 * 1024, 1024 * 1024, 0 }; + static const int s_probe_num_required_consecutive_packets = 64; int i; for (i = 0; (0 != s_probe_sizes[i]) && (FILE_TYPE_IS_UNKNOWN == type); ++i) @@ -372,6 +376,21 @@ else if (avc_es_reader_c::probe_file(io, size)) type = FILE_TYPE_AVC_ES; else { + // File types which are the same in raw format and in other container formats. + // Detection requires 20 or more consecutive packets. + static const int s_probe_sizes[] = { 32 * 1024, 64 * 1024, 128 * 1024, 256 * 1024, 512 * 1024, 1024 * 1024, 0 }; + static const int s_probe_num_required_consecutive_packets = 20; + + int i; + for (i = 0; (0 != s_probe_sizes[i]) && (FILE_TYPE_IS_UNKNOWN == type); ++i) + if (mp3_reader_c::probe_file(io, size, s_probe_sizes[i], s_probe_num_required_consecutive_packets)) + type = FILE_TYPE_MP3; + else if (ac3_reader_c::probe_file(io, size, s_probe_sizes[i], s_probe_num_required_consecutive_packets)) + type = FILE_TYPE_AC3; + else if (aac_reader_c::probe_file(io, size, s_probe_sizes[i], s_probe_num_required_consecutive_packets)) + type = FILE_TYPE_AAC; + } + if (FILE_TYPE_IS_UNKNOWN == type) { // All text file types (subtitles). mm_text_io_c *text_io = NULL; try { @@ -415,10 +434,16 @@ if (NULL == s_display_reader) { std::vector<filelist_t>::const_iterator i; - const filelist_t *winner = &g_files[0]; - for (i = g_files.begin() + 1; i != g_files.end(); ++i) - if (!i->appending && (i->size > winner->size)) - winner = &(*i); + const filelist_t *winner = NULL; + foreach(const filelist_t ¤t, g_files) + if (!current.appending && (0 != current.reader->get_num_packetizers()) && ((NULL == winner) || (current.size > winner->size))) + winner = ¤t; + + if (NULL == winner) { + foreach(const filelist_t ¤t, g_files) + if (!current.appending && ((NULL == winner) || (current.size > winner->size))) + winner = ¤t; + } s_display_reader = winner->reader; } @@ -622,7 +647,7 @@ // Set the segment family if (!g_segfamily_uids.empty()) { - int i; + size_t i; for (i = 0; i < g_segfamily_uids.size(); i++) AddNewChild<KaxSegmentFamily>(*s_kax_infos).CopyBuffer(g_segfamily_uids[i].data(), 128 / 8); } @@ -668,9 +693,9 @@ if (first_file) { g_kax_last_entry = NULL; - int i; + size_t i; for (i = 0; i < g_track_order.size(); i++) - if ((g_track_order[i].file_id >= 0) && (g_track_order[i].file_id < g_files.size()) && !g_files[g_track_order[i].file_id].appending) + if ((g_track_order[i].file_id >= 0) && (g_track_order[i].file_id < static_cast<int>(g_files.size())) && !g_files[g_track_order[i].file_id].appending) g_files[g_track_order[i].file_id].reader->set_headers_for_track(g_track_order[i].track_id); for (i = 0; i < g_files.size(); i++) @@ -736,7 +761,7 @@ /** \brief Render all attachments into the output file at the current position This function also makes sure that no duplicates are output. This might - happen when appending g_files. + happen when appending files. */ static void render_attachments(IOCallback *out) { @@ -786,7 +811,7 @@ /** \brief Check the complete append mapping mechanism Each entry given with '--append-to' has to be checked for validity. - For g_files that aren't managed with '--append-to' default entries have + For files that aren't managed with '--append-to' default entries have to be created. */ static void @@ -794,13 +819,13 @@ std::vector<append_spec_t>::iterator amap, cmp_amap, trav_amap; std::vector<int64_t>::iterator id; std::vector<filelist_t>::iterator src_file, dst_file; - int count, file_id; + int file_id; mxforeach(amap, g_append_mapping) { // Check each mapping entry for validity. // 1. Is there a file with the src_file_id? - if ((0 > amap->src_file_id) || (g_files.size() <= amap->src_file_id)) + if ((0 > amap->src_file_id) || (g_files.size() <= static_cast<size_t>(amap->src_file_id))) mxerror(boost::format(Y("There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n")) % amap->src_file_id); // 2. Is the "source" file in "append mode", meaning does its file name @@ -810,7 +835,7 @@ mxerror(boost::format(Y("The file no. %1% ('%2%') is not being appended. The argument for '--append-to' was invalid.\n")) % amap->src_file_id % src_file->name); // 3. Is there a file with the dst_file_id? - if ((0 > amap->dst_file_id) || (g_files.size() <= amap->dst_file_id)) + if ((0 > amap->dst_file_id) || (g_files.size() <= static_cast<size_t>(amap->dst_file_id))) mxerror(boost::format(Y("There is no file with the ID '%1%'. The argument for '--append-to' was invalid.\n")) % amap->dst_file_id); // 4. G_Files cannot be appended to itself. @@ -826,7 +851,7 @@ if (!src_file->appending) continue; - count = 0; + unsigned int count = 0; mxforeach(amap, g_append_mapping) if (amap->src_file_id == file_id) count++; @@ -949,7 +974,7 @@ } // Calculate the "longest path" -- meaning the maximum number of - // concatenated g_files. This is needed for displaying the progress. + // concatenated files. This is needed for displaying the progress. mxforeach(amap, g_append_mapping) { // Is this the first in a chain? mxforeach(cmp_amap, g_append_mapping) { @@ -993,7 +1018,7 @@ */ void calc_max_chapter_size() { - // Step 1: Add all chapters from g_files that are not being appended. + // Step 1: Add all chapters from files that are not being appended. foreach(filelist_t &file, g_files) { if (file.appending) continue; @@ -1082,6 +1107,9 @@ case FILE_TYPE_OGM: file.reader = new ogm_reader_c(*file.ti); break; + case FILE_TYPE_PGSSUP: + file.reader = new pgssup_reader_c(*file.ti); + break; case FILE_TYPE_QTMP4: file.reader = new qtmp4_reader_c(*file.ti); break; @@ -1215,7 +1243,7 @@ bool found = false; int tuid = 0; - int i; + size_t i; for (i = 0; ptzrs_in_header_order.size() > i; ++i) if (ptzrs_in_header_order[i]->get_track_type() == 'v') { found = true; @@ -1329,7 +1357,7 @@ // Open the output file. try { - s_out = new mm_file_io_c(this_outfile, MODE_CREATE); + s_out = mm_write_cache_io_c::open(this_outfile, 20 * 1024 * 1024); } catch (...) { mxerror(boost::format(Y("The output file '%1%' could not be opened for writing (%2%).\n")) % this_outfile % strerror(errno)); } @@ -1401,7 +1429,7 @@ changed = 1; } else if (!last_file && g_no_linking) { - int i; + size_t i; for (i = 0; s_kax_infos->ListSize() > i; ++i) if (EbmlId(*(*s_kax_infos)[i]) == EBML_ID(KaxNextUID)) { delete (*s_kax_infos)[i]; @@ -1532,7 +1560,7 @@ delete s_out; // The tracks element must not be deleted. - int i; + size_t i; for (i = 0; i < g_kax_segment->ListSize(); ++i) if (NULL == dynamic_cast<KaxTracks *>((*g_kax_segment)[i])) delete (*g_kax_segment)[i]; @@ -1708,6 +1736,8 @@ if (NULL != chapters) { if (NULL == g_kax_chapters) g_kax_chapters = new KaxChapters; + else + align_chapter_edition_uids(*g_kax_chapters, *chapters); adjust_chapter_timecodes(*chapters, timecode_adjustment); move_chapters_by_edition(*g_kax_chapters, *chapters); delete chapters; @@ -1758,9 +1788,9 @@ /** \brief Establish deferred packetizer connections - In some cases (e.g. subtitle only g_files being appended) establishing the + In some cases (e.g. subtitle only files being appended) establishing the connections is deferred until a file containing a video track has - finished, too. This is necessary because the subtitle g_files themselves + finished, too. This is necessary because the subtitle files themselves are usually "shorter" than the movie they belong to. This is not the case if the subs are already embedded with a movie in a single file. diff -Nru mkvtoolnix-4.0.0/src/merge/packet_extensions.h mkvtoolnix-4.5.0+dfsg/src/merge/packet_extensions.h --- mkvtoolnix-4.0.0/src/merge/packet_extensions.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/packet_extensions.h 2011-01-31 20:34:09.000000000 +0000 @@ -62,4 +62,25 @@ typedef counted_ptr<multiple_timecodes_packet_extension_c> multiple_timecodes_packet_extension_cptr; +class subtitle_number_packet_extension_c: public packet_extension_c { +private: + unsigned int m_number; + +public: + subtitle_number_packet_extension_c(unsigned int number) + : m_number(number) + { + } + + virtual packet_extension_type_e get_type() { + return SUBTITLE_NUMBER; + } + + unsigned int get_number() { + return m_number; + } +}; + +typedef counted_ptr<subtitle_number_packet_extension_c> subtitle_number_packet_extension_cptr; + #endif // __PACKET_EXTENSIONS_H diff -Nru mkvtoolnix-4.0.0/src/merge/packet.h mkvtoolnix-4.5.0+dfsg/src/merge/packet.h --- mkvtoolnix-4.0.0/src/merge/packet.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/packet.h 2011-01-31 20:34:09.000000000 +0000 @@ -35,6 +35,7 @@ public: enum packet_extension_type_e { MULTIPLE_TIMECODES, + SUBTITLE_NUMBER, }; public: @@ -147,6 +148,38 @@ } ~packet_t(); + + bool has_bref() { + return 0 <= bref; + } + + bool has_fref() { + return 0 <= fref; + } + + bool has_duration() { + return 0 <= duration; + } + + bool is_key_frame() { + return !has_bref() && !has_fref(); + } + + bool is_p_frame() { + return (has_bref() || has_fref()) && (has_bref() != has_fref()); + } + + bool is_b_frame() { + return has_bref() && has_fref(); + } + + packet_extension_c *find_extension(packet_extension_c::packet_extension_type_e type) { + foreach(packet_extension_cptr &extension, extensions) + if (extension->get_type() == type) + return extension.get_object(); + + return NULL; + } }; typedef counted_ptr<packet_t> packet_cptr; diff -Nru mkvtoolnix-4.0.0/src/merge/pr_generic.cpp mkvtoolnix-4.5.0+dfsg/src/merge/pr_generic.cpp --- mkvtoolnix-4.0.0/src/merge/pr_generic.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/pr_generic.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -229,6 +229,10 @@ else if (map_has_key(m_ti.m_nalu_size_lengths, -1)) m_ti.m_nalu_size_length = m_ti.m_nalu_size_lengths[-1]; + // Let's see if the user has specified a compression scheme for this track. + if (COMPRESSION_UNSPECIFIED != m_ti.m_compression) + m_hcompression = m_ti.m_compression; + // Set default header values to 'unset'. if (!m_reader->m_appending) m_hserialno = create_track_number(m_reader, m_ti.m_id); @@ -254,11 +258,11 @@ return; convert_old_tags(*m_ti.m_tags); - int idx_tags; + size_t idx_tags; for (idx_tags = 0; m_ti.m_tags->ListSize() > idx_tags; ++idx_tags) { KaxTag *tag = (KaxTag *)(*m_ti.m_tags)[idx_tags]; - int idx_tag; + size_t idx_tag; for (idx_tag = 0; tag->ListSize() > idx_tag; idx_tag++) { EbmlElement *el = (*tag)[idx_tag]; @@ -266,7 +270,7 @@ continue; KaxTagTargets *targets = static_cast<KaxTagTargets *>(el); - int idx_target = 0; + size_t idx_target = 0; while (targets->ListSize() > idx_target) { EbmlElement *uid_el = (*targets)[idx_target]; @@ -563,7 +567,7 @@ } void -generic_packetizer_c::set_video_stereo_mode(stereo_mode_e stereo_mode, +generic_packetizer_c::set_video_stereo_mode(stereo_mode_c::mode stereo_mode, parameter_source_e source) { if (source <= m_ti.m_stereo_mode_source) return; @@ -571,7 +575,7 @@ m_ti.m_stereo_mode = stereo_mode; m_ti.m_stereo_mode_source = source; - if ((NULL != m_track_entry) && (STEREO_MODE_UNSPECIFIED != stereo_mode)) + if ((NULL != m_track_entry) && (stereo_mode_c::unspecified != stereo_mode)) GetChildAs<KaxVideoStereoMode, EbmlUInteger>(GetChild<KaxTrackVideo>(*m_track_entry)) = m_ti.m_stereo_mode; } @@ -583,7 +587,7 @@ } bool found = false; - int idx; + size_t idx; for (idx = 0; ptzrs_in_header_order.size() > idx; ++idx) if (this == ptzrs_in_header_order[idx]) { found = true; @@ -692,7 +696,7 @@ GetChildAs<KaxVideoPixelCropBottom, EbmlUInteger>(video) = m_ti.m_pixel_cropping.bottom; } - if ((PARAMETER_SOURCE_NONE != m_ti.m_stereo_mode_source) && (STEREO_MODE_UNSPECIFIED != m_ti.m_stereo_mode)) + if ((PARAMETER_SOURCE_NONE != m_ti.m_stereo_mode_source) && (stereo_mode_c::unspecified != m_ti.m_stereo_mode)) GetChildAs<KaxVideoStereoMode, EbmlUInteger>(video) = m_ti.m_stereo_mode; } @@ -721,8 +725,6 @@ } - if (COMPRESSION_UNSPECIFIED != m_ti.m_compression) - m_hcompression = m_ti.m_compression; if ((COMPRESSION_UNSPECIFIED != m_hcompression) && (COMPRESSION_NONE != m_hcompression)) { KaxContentEncoding &c_encoding = GetChild<KaxContentEncoding>(GetChild<KaxContentEncodings>(m_track_entry)); @@ -766,26 +768,25 @@ // strip elements to be removed if ( (-1 != m_htrack_max_add_block_ids) - && (pack->data_adds.size() > m_htrack_max_add_block_ids)) + && (pack->data_adds.size() > static_cast<size_t>(m_htrack_max_add_block_ids))) pack->data_adds.resize(m_htrack_max_add_block_ids); if (m_compressor.is_set()) { try { m_compressor->compress(pack->data); - int i; + size_t i; for (i = 0; pack->data_adds.size() > i; ++i) m_compressor->compress(pack->data_adds[i]); } catch (compression_error_c &e) { mxerror_tid(m_ti.m_fname, m_ti.m_id, boost::format(Y("Compression failed: %1%\n")) % e.get_error()); } - - } else { - pack->data->grab(); - int i; - for (i = 0; i < pack->data_adds.size(); i++) - pack->data_adds[i]->grab(); } + + pack->data->grab(); + foreach(memory_cptr &data_add, pack->data_adds) + data_add->grab(); + pack->source = this; m_enqueued_bytes += pack->data->get_size(); @@ -807,18 +808,18 @@ void generic_packetizer_c::add_packet2(packet_cptr pack) { pack->timecode = ADJUST_TIMECODE(pack->timecode); - if (0 <= pack->bref) + if (pack->has_bref()) pack->bref = ADJUST_TIMECODE(pack->bref); - if (0 <= pack->fref) + if (pack->has_fref()) pack->fref = ADJUST_TIMECODE(pack->fref); - if (0 < pack->duration) + if (pack->has_duration()) pack->duration = (int64_t)(pack->duration * m_ti.m_tcsync.numerator / m_ti.m_tcsync.denominator); - if ((2 > m_htrack_min_cache) && (0 <= pack->fref)) { + if ((2 > m_htrack_min_cache) && pack->has_fref()) { set_track_min_cache(2); rerender_track_headers(); - } else if ((1 > m_htrack_min_cache) && (0 <= pack->bref)) { + } else if ((1 > m_htrack_min_cache) && pack->has_bref()) { set_track_min_cache(1); rerender_track_headers(); } @@ -834,9 +835,9 @@ int64_t needed_timecode_offset = m_safety_last_timecode + m_safety_last_duration - pack->timecode; m_correction_timecode_offset += needed_timecode_offset; pack->timecode += needed_timecode_offset; - if (0 <= pack->bref) + if (pack->has_bref()) pack->bref += needed_timecode_offset; - if (0 <= pack->fref) + if (pack->has_fref()) pack->fref += needed_timecode_offset; mxwarn_tid(m_ti.m_fname, m_ti.m_id, @@ -983,8 +984,7 @@ while (m_packet_queue.end() != p_start) { // Find the next I frame packet. packet_cptr_di p_end = p_start + 1; - while ((m_packet_queue.end() != p_end) && - ((0 <= (*p_end)->fref) || (0 <= (*p_end)->bref))) + while ((m_packet_queue.end() != p_end) && !(*p_end)->is_key_frame()) ++p_end; // Abort if no such packet was found, but keep on assigning if the @@ -997,7 +997,7 @@ std::vector<packet_sorter_t> sorter; bool needs_sorting = false; int64_t previous_timecode = 0; - int i = distance(m_packet_queue.begin(), p_start); + size_t i = distance(m_packet_queue.begin(), p_start); packet_cptr_di p_current; for (p_current = p_start; p_current != p_end; ++i, ++p_current) { @@ -1043,8 +1043,8 @@ duration = num_bytes * 1000000000 / m_ti.m_avi_avg_bytes_per_sec; else { - int num_blocks = 0; - int i; + unsigned int num_blocks = 0; + size_t i; for (i = 0; (m_ti.m_avi_block_sizes.size() > i) && (0 < num_bytes); ++i) { int64_t block_size = m_ti.m_avi_block_sizes[i]; num_blocks += (block_size + m_ti.m_avi_block_align - 1) / m_ti.m_avi_block_align; @@ -1119,7 +1119,7 @@ add_requested_track_id(i->first); #define add_all_requested_track_ids2(container) \ - for (int i = 0; i < m_ti.container.size(); i++) \ + for (size_t i = 0; i < m_ti.container.size(); i++) \ add_requested_track_id(m_ti.container[i]); generic_reader_c::generic_reader_c(track_info_c &ti) @@ -1155,7 +1155,7 @@ } generic_reader_c::~generic_reader_c() { - int i; + size_t i; for (i = 0; i < m_reader_packetizers.size(); i++) delete m_reader_packetizers[i]; @@ -1165,7 +1165,7 @@ void generic_reader_c::read_all() { - int i; + size_t i; for (i = 0; m_reader_packetizers.size() > i; ++i) { while (read(m_reader_packetizers[i], true) != 0) @@ -1209,7 +1209,7 @@ if (tracks->empty()) return true; - int i; + size_t i; for (i = 0; i < tracks->size(); i++) if ((*tracks)[i] == id) return true; @@ -1247,6 +1247,13 @@ return m_reader_packetizers.size() - 1; } +size_t +generic_reader_c::get_num_packetizers() + const +{ + return m_reader_packetizers.size(); +} + void generic_reader_c::set_timecode_offset(int64_t offset) { m_max_timecode_seen = offset; @@ -1274,10 +1281,10 @@ generic_reader_c::check_track_ids_and_packetizers() { add_available_track_ids(); - int r; + size_t r; for (r = 0; m_requested_track_ids.size() > r; ++r) { bool found = false; - int a; + size_t a; for (a = 0; m_available_track_ids.size() > a; ++a) if (m_requested_track_ids[r] == m_available_track_ids[a]) { found = true; @@ -1297,7 +1304,7 @@ return; bool found = false; - int i; + size_t i; for (i = 0; i < m_requested_track_ids.size(); i++) if (m_requested_track_ids[i] == id) { found = true; @@ -1318,12 +1325,24 @@ return bytes; } -void +file_status_e +generic_reader_c::flush_packetizer(int num) { + return flush_packetizer(PTZR(num)); +} + +file_status_e +generic_reader_c::flush_packetizer(generic_packetizer_c *ptzr) { + ptzr->flush(); + + return FILE_STATUS_DONE; +} + +file_status_e generic_reader_c::flush_packetizers() { - std::vector<generic_packetizer_c *>::const_iterator it; + foreach(generic_packetizer_c *ptzr, m_reader_packetizers) + ptzr->flush(); - mxforeach(it, m_reader_packetizers) - (*it)->flush(); + return FILE_STATUS_DONE; } void @@ -1494,6 +1513,7 @@ , m_no_subs(false) , m_no_buttons(false) , m_no_track_tags(false) + , m_disable_multi_file(false) , m_private_data(NULL) , m_private_size(0) , m_aspect_ratio(0.0) @@ -1510,7 +1530,7 @@ , m_tags(NULL) , m_compression(COMPRESSION_UNSPECIFIED) , m_pixel_cropping_source(PARAMETER_SOURCE_NONE) - , m_stereo_mode(STEREO_MODE_UNSPECIFIED) + , m_stereo_mode(stereo_mode_c::unspecified) , m_stereo_mode_source(PARAMETER_SOURCE_NONE) , m_nalu_size_length(0) , m_no_chapters(false) @@ -1553,6 +1573,7 @@ m_stracks = src.m_stracks; m_vtracks = src.m_vtracks; m_track_tags = src.m_track_tags; + m_disable_multi_file = src.m_disable_multi_file; m_private_size = src.m_private_size; m_private_data = (unsigned char *)safememdup(src.m_private_data, m_private_size); diff -Nru mkvtoolnix-4.0.0/src/merge/pr_generic.h mkvtoolnix-4.5.0+dfsg/src/merge/pr_generic.h --- mkvtoolnix-4.0.0/src/merge/pr_generic.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/pr_generic.h 2011-01-31 20:34:09.000000000 +0000 @@ -32,6 +32,7 @@ #include "common/memory.h" #include "common/mm_io.h" #include "common/smart_pointers.h" +#include "common/stereo_mode.h" #include "common/strings/editing.h" #include "merge/packet.h" #include "merge/timecode_factory.h" @@ -167,14 +168,6 @@ } }; -enum stereo_mode_e { - STEREO_MODE_UNSPECIFIED = -1, - STEREO_MODE_NONE = 0, - STEREO_MODE_RIGHT = 1, - STEREO_MODE_LEFT = 2, - STEREO_MODE_BOTH = 3, -}; - enum attach_mode_e { ATTACH_MODE_SKIP, ATTACH_MODE_TO_FIRST_FILE, @@ -193,10 +186,11 @@ std::string m_fname; bool m_no_audio, m_no_video, m_no_subs, m_no_buttons, m_no_track_tags; std::vector<int64_t> m_atracks, m_vtracks, m_stracks, m_btracks, m_track_tags; + bool m_disable_multi_file; // Options used by the packetizers. unsigned char *m_private_data; - int m_private_size; + size_t m_private_size; std::map<int64_t, std::string> m_all_fourccs; std::string m_fourcc; @@ -246,8 +240,8 @@ pixel_crop_t m_pixel_cropping; // For this very track parameter_source_e m_pixel_cropping_source; - std::map<int64_t, stereo_mode_e> m_stereo_mode_list; // As given on the command line - stereo_mode_e m_stereo_mode; // For this very track + std::map<int64_t, stereo_mode_c::mode> m_stereo_mode_list; // As given on the command line + stereo_mode_c::mode m_stereo_mode; // For this very track parameter_source_e m_stereo_mode_source; std::map<int64_t, int64_t> m_default_durations; // As given on the command line @@ -324,6 +318,7 @@ } virtual int add_packetizer(generic_packetizer_c *ptzr); + virtual size_t get_num_packetizers() const; virtual void set_timecode_offset(int64_t offset); virtual void check_track_ids_and_packetizers(); @@ -333,7 +328,9 @@ virtual int64_t get_queued_bytes(); - virtual void flush_packetizers(); + virtual file_status_e flush_packetizer(int num); + virtual file_status_e flush_packetizer(generic_packetizer_c *ptzr); + virtual file_status_e flush_packetizers(); virtual attach_mode_e attachment_requested(int64_t id); @@ -427,7 +424,7 @@ std::string m_hcodec_id; unsigned char *m_hcodec_private; - int m_hcodec_private_length; + size_t m_hcodec_private_length; float m_haudio_sampling_freq, m_haudio_output_sampling_freq; int m_haudio_channels, m_haudio_bit_depth; @@ -555,7 +552,7 @@ virtual void set_video_aspect_ratio(double aspect_ratio, bool is_factor, parameter_source_e source); virtual void set_video_pixel_cropping(int left, int top, int right, int bottom, parameter_source_e source); virtual void set_video_pixel_cropping(const pixel_crop_t &cropping, parameter_source_e source); - virtual void set_video_stereo_mode(stereo_mode_e stereo_mode, parameter_source_e source); + virtual void set_video_stereo_mode(stereo_mode_c::mode stereo_mode, parameter_source_e source); virtual void set_as_default_track(int type, int priority); @@ -564,7 +561,8 @@ virtual void set_track_name(const std::string &name); virtual void set_default_compression_method(compression_method_e method) { - m_hcompression = method; + if (COMPRESSION_UNSPECIFIED == m_hcompression) + m_hcompression = method; } virtual void force_duration_on_last_packet(); diff -Nru mkvtoolnix-4.0.0/src/merge/Rakefile mkvtoolnix-4.5.0+dfsg/src/merge/Rakefile --- mkvtoolnix-4.0.0/src/merge/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/merge/resources.rc mkvtoolnix-4.5.0+dfsg/src/merge/resources.rc --- mkvtoolnix-4.0.0/src/merge/resources.rc 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/resources.rc 2011-01-31 20:34:09.000000000 +0000 @@ -1,8 +1,8 @@ -MATROSKAICON ICON "../mmg/matroskalogo_big.ico" +MATROSKAICON ICON "../../share/icons/windows/mkvmergeGUI.ico" 1 VERSIONINFO - FILEVERSION 4, 0, 0, 0 - PRODUCTVERSION 4, 0, 0, 0 + FILEVERSION 4, 5, 0, 0 + PRODUCTVERSION 4, 5, 0, 0 FILEFLAGSMASK 0x3f FILEOS 0x4 BEGIN @@ -12,12 +12,12 @@ BEGIN VALUE "CompanyName", "Moritz Bunkus" VALUE "FileDescription", "mkvmerge" - VALUE "FileVersion", "4.0.0" + VALUE "FileVersion", "4.5.0" VALUE "InternalName", "mkvmerge" VALUE "LegalCopyright", "Released under the GNU Pulic License http://www.gnu.org/licenses/gpl-2.0.html" VALUE "OriginalFilename", "mkvmerge" VALUE "ProductName", "MKVToolNix" - VALUE "ProductVersion", "4.0.0" + VALUE "ProductVersion", "4.5.0" END END END diff -Nru mkvtoolnix-4.0.0/src/merge/timecode_factory.cpp mkvtoolnix-4.5.0+dfsg/src/merge/timecode_factory.cpp --- mkvtoolnix-4.0.0/src/merge/timecode_factory.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/timecode_factory.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -108,8 +108,8 @@ std::vector<std::string> parts = split(line, ",", 3); if ( (parts.size() != 3) - || !parse_int(parts[0], t.start_frame) - || !parse_int(parts[1], t.end_frame) + || !parse_uint(parts[0], t.start_frame) + || !parse_uint(parts[1], t.end_frame) || !parse_double(parts[2], t.fps)) { mxwarn(boost::format(Y("Line %1% of the timecode file '%2%' could not be parsed.\n")) % line_no % m_file_name); continue; @@ -135,7 +135,7 @@ do { done = true; iit = m_ranges.begin(); - int i; + size_t i; for (i = 0; i < (m_ranges.size() - 1); i++) { iit++; if (m_ranges[i].end_frame < (m_ranges[i + 1].start_frame - 1)) { @@ -186,7 +186,7 @@ } int64_t -timecode_factory_v1_c::get_at(int64_t frame) { +timecode_factory_v1_c::get_at(uint64_t frame) { timecode_range_c *t = &m_ranges[m_current_range]; if ((frame > t->end_frame) && (m_current_range < (m_ranges.size() - 1))) t = &m_ranges[m_current_range + 1]; @@ -257,7 +257,7 @@ bool timecode_factory_v2_c::get_next(packet_cptr &packet) { - if ((m_frameno >= m_timecodes.size()) && !m_warning_printed) { + if ((static_cast<size_t>(m_frameno) >= m_timecodes.size()) && !m_warning_printed) { mxwarn_tid(m_source_name, m_tid, boost::format(Y("The number of external timecodes %1% is smaller than the number of frames in this track. " "The remaining frames of this track might not be timestamped the way you intended them to be. mkvmerge might even crash.\n")) diff -Nru mkvtoolnix-4.0.0/src/merge/timecode_factory.h mkvtoolnix-4.5.0+dfsg/src/merge/timecode_factory.h --- mkvtoolnix-4.0.0/src/merge/timecode_factory.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/merge/timecode_factory.h 2011-01-31 20:34:09.000000000 +0000 @@ -34,7 +34,7 @@ class timecode_range_c { public: - int64_t start_frame, end_frame; + uint64_t start_frame, end_frame; double fps, base_timecode; bool operator <(const timecode_range_c &cmp) const { @@ -101,7 +101,7 @@ protected: std::vector<timecode_range_c> m_ranges; uint32_t m_current_range; - int64_t m_frameno; + uint64_t m_frameno; double m_default_fps; public: @@ -124,7 +124,7 @@ } protected: - virtual int64_t get_at(int64_t frame); + virtual int64_t get_at(uint64_t frame); }; class timecode_factory_v2_c: public timecode_factory_c { diff -Nru mkvtoolnix-4.0.0/src/mmg/cli_options_dlg.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/cli_options_dlg.cpp --- mkvtoolnix-4.0.0/src/mmg/cli_options_dlg.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/cli_options_dlg.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -39,7 +39,7 @@ wxBoxSizer *siz_line = new wxBoxSizer(wxHORIZONTAL); cob_option = new wxMTX_COMBOBOX_TYPE(this, ID_CLIOPTIONS_COB, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); - int i; + size_t i; for (i = 0; i < all_cli_options.size(); i++) cob_option->Append(all_cli_options[i].option); cob_option->SetSelection(0); @@ -75,11 +75,16 @@ } void -cli_options_dlg::init_cli_option_list() { +cli_options_dlg::clear_cli_option_list() { all_cli_options.clear(); +} + +void +cli_options_dlg::init_cli_option_list() { + clear_cli_option_list(); all_cli_options.push_back(cli_option_t( Z("### Global output control ###"), Z("Several options that control the overall output that mkvmerge creates."))); - all_cli_options.push_back(cli_option_t(wxU("--cluster-length"), + all_cli_options.push_back(cli_option_t( Z("--cluster-length REPLACEME"), Z("This option needs an additional argument 'n'. Tells mkvmerge to put at most 'n' data blocks into each cluster. " "If the number is postfixed with 'ms' then put at most 'n' milliseconds of data into each cluster. " "The maximum length for a cluster that mkvmerge accepts is 60000 blocks and 32000ms; the minimum length is 100ms. " @@ -89,8 +94,8 @@ Z("Tells mkvmerge not to create and write the cue data which can be compared to an index in an AVI. " "Matroska files can be played back without the cue data, but seeking will probably be imprecise and slower. " "Use this only for testing purposes."))); - all_cli_options.push_back(cli_option_t(wxU("--no-clusters-in-meta-seek"), - Z("Tells mkvmerge not to create a meta seek element at the end of the file containing all clusters."))); + all_cli_options.push_back(cli_option_t(wxU("--clusters-in-meta-seek"), + Z("Tells mkvmerge to create a meta seek element at the end of the file containing all clusters."))); all_cli_options.push_back(cli_option_t(wxU("--disable-lacing"), Z("Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. Use only for testing."))); all_cli_options.push_back(cli_option_t(wxU("--enable-durations"), @@ -102,7 +107,7 @@ "so that all timecodes and durations have a precision of one sample. " "This causes bigger overhead but allows precise seeking and extraction. " "If the magical value -1 is used then mkvmerge will use sample precision even if a video track is present."))); - all_cli_options.push_back(cli_option_t(wxU("### Development hacks ###"), + all_cli_options.push_back(cli_option_t( Z("### Development hacks ###"), Z("Options meant ONLY for developpers. Do not use them. If something is considered to be an officially supported option " "then it's NOT in this list!"))); all_cli_options.push_back(cli_option_t(wxU("--engage space_after_chapters"), @@ -146,7 +151,7 @@ void cli_options_dlg::on_option_changed(wxCommandEvent &evt) { int i = cob_option->GetSelection(); - if (i > 0) + if (i >= 0) tc_description->SetValue(all_cli_options[i].description); } diff -Nru mkvtoolnix-4.0.0/src/mmg/cli_options_dlg.h mkvtoolnix-4.5.0+dfsg/src/mmg/cli_options_dlg.h --- mkvtoolnix-4.0.0/src/mmg/cli_options_dlg.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/cli_options_dlg.h 2011-01-31 20:34:09.000000000 +0000 @@ -53,6 +53,7 @@ public: static void init_cli_option_list(); + static void clear_cli_option_list(); }; #endif // __MMG_CLI_OPTIONS_DLG_H diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/ascii_string_value_page.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/ascii_string_value_page.cpp --- mkvtoolnix-4.0.0/src/mmg/header_editor/ascii_string_value_page.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/ascii_string_value_page.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -45,7 +45,7 @@ static const wxString s_valid_chars = wxT(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"); wxArrayString includes; - int i; + size_t i; for (i = 0; s_valid_chars.Length() > i; ++i) includes.Add(s_valid_chars.Mid(i, 1)); diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/bool_value_page.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/bool_value_page.cpp --- mkvtoolnix-4.0.0/src/mmg/header_editor/bool_value_page.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/bool_value_page.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -44,7 +44,8 @@ m_values.Add(Z("yes")); if (NULL != m_cb_bool) { - int i, selection = m_cb_bool->GetSelection(); + size_t i; + int selection = m_cb_bool->GetSelection(); for (i = 0; m_values.size() > i; ++i) m_cb_bool->SetString(i, m_values[i]); m_cb_bool->SetSelection(selection); diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/frame.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/frame.cpp --- mkvtoolnix-4.0.0/src/mmg/header_editor/frame.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/frame.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -41,9 +41,9 @@ #include "mmg/header_editor/top_level_page.h" #include "mmg/header_editor/track_type_page.h" #include "mmg/header_editor/unsigned_integer_value_page.h" -#include "mmg/matroskalogo.xpm" #include "mmg/mmg_dialog.h" #include "mmg/mmg.h" +#include "share/icons/32x32/mkvmergeGUI.xpm" class header_editor_drop_target_c: public wxFileDropTarget { private: @@ -125,7 +125,7 @@ m_status_bar_timer.SetOwner(this, ID_T_HE_STATUS_BAR); - SetIcon(wxIcon(matroskalogo_xpm)); + SetIcon(wxIcon(mkvmergeGUI_xpm)); SetDropTarget(new header_editor_drop_target_c(this)); set_status_bar(Z("Header editor ready.")); @@ -176,7 +176,7 @@ bool header_editor_frame_c::have_been_modified() { - for (int i = 0; m_top_level_pages.size() > i; ++i) + for (size_t i = 0; m_top_level_pages.size() > i; ++i) if (m_top_level_pages[i]->has_been_modified()) return true; @@ -185,13 +185,13 @@ void header_editor_frame_c::do_modifications() { - for (int i = 0; m_top_level_pages.size() > i; ++i) + for (size_t i = 0; m_top_level_pages.size() > i; ++i) m_top_level_pages[i]->do_modifications(); } wxTreeItemId header_editor_frame_c::validate_pages() { - for (int i = 0; m_top_level_pages.size() > i; ++i) { + for (size_t i = 0; m_top_level_pages.size() > i; ++i) { wxTreeItemId result = m_top_level_pages[i]->validate(); if (result.IsOk()) return result; @@ -204,7 +204,7 @@ header_editor_frame_c::clear_pages() { m_ignore_tree_selection_changes = true; - for (int i = 0; m_pages.size() > i; ++i) + for (size_t i = 0; m_pages.size() > i; ++i) if (m_pages[i]->IsShown()) m_pages[i]->Hide(); @@ -235,7 +235,7 @@ return; } - wxFileDialog dlg(this, Z("Open a Matroska file"), last_open_dir, wxEmptyString, wxString::Format(Z("Matroska files (*.mkv;*.mka;*.mks)|*.mkv;*.mka;*.mks|%s"), ALLFILES.c_str()), wxFD_OPEN); + wxFileDialog dlg(this, Z("Open a Matroska file"), last_open_dir, wxEmptyString, wxString::Format(Z("Matroska files (*.mkv;*.mka;*.mks;*.mk3d)|*.mkv;*.mka;*.mks;*.mk3d|%s"), ALLFILES.c_str()), wxFD_OPEN); if (dlg.ShowModal() != wxID_OK) return; @@ -275,7 +275,7 @@ m_bs_main->Hide(m_tc_tree); - int i; + size_t i; for (i = 0; m_pages.size() > i; ++i) if (m_pages[i]->IsShown()) m_pages[i]->Hide(); @@ -301,6 +301,8 @@ } } + m_analyzer->close_file(); + m_bs_main->Show(m_tc_tree); m_bs_main->Layout(); @@ -360,7 +362,7 @@ m_e_tracks = e; KaxTracks *kax_tracks = static_cast<KaxTracks *>(e); int track_type = -1; - int i; + size_t i; for (i = 0; kax_tracks->ListSize() > i; ++i) { KaxTrackEntry *k_track_entry = dynamic_cast<KaxTrackEntry *>((*kax_tracks)[i]); if (NULL == k_track_entry) @@ -487,8 +489,7 @@ child_page->set_sub_master_callbacks(KaxTrackVideo::ClassInfos); child_page->init(); - child_page = new he_unsigned_integer_value_page_c(this, page, k_track_entry, KaxVideoStereoMode::ClassInfos, - YT("Video stereo mode"), YT("Stereo-3D video mode (0: mono, 1: right eye,\n2: left eye, 3: both eyes).")); + child_page = new he_unsigned_integer_value_page_c(this, page, k_track_entry, KaxVideoStereoMode::ClassInfos, YT("Video stereo mode"), YT("Stereo-3D video mode (0 - 11, see documentation).")); child_page->set_sub_master_callbacks(KaxTrackVideo::ClassInfos); child_page->init(); @@ -541,7 +542,7 @@ do_modifications(); - int i; + size_t i; bool tracks_written = false; for (i = 0; m_top_level_pages.size() > i; ++i) { if (m_top_level_pages[i]->has_been_modified()) { @@ -605,7 +606,7 @@ void header_editor_frame_c::on_headers_expand_all(wxCommandEvent &evt) { m_tc_tree->Freeze(); - int i; + size_t i; for (i = 0; m_pages.size() > i; ++i) m_tc_tree->Expand(m_pages[i]->m_page_id); m_tc_tree->Thaw(); @@ -614,7 +615,7 @@ void header_editor_frame_c::on_headers_collapse_all(wxCommandEvent &evt) { m_tc_tree->Freeze(); - int i; + size_t i; for (i = 0; m_pages.size() > i; ++i) m_tc_tree->Collapse(m_pages[i]->m_page_id); m_tc_tree->Thaw(); @@ -727,7 +728,7 @@ he_page_base_c * header_editor_frame_c::find_page_for_item(wxTreeItemId id) { - for (int i = 0; m_pages.size() > i; ++i) + for (size_t i = 0; m_pages.size() > i; ++i) if (m_pages[i]->m_page_id == id) return m_pages[i]; @@ -748,7 +749,7 @@ m_page_panel->Freeze(); - int i; + size_t i; for (i = 0; m_pages.size() > i; ++i) if (m_pages[i]->IsShown()) m_pages[i]->Hide(); diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/language_value_page.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/language_value_page.cpp --- mkvtoolnix-4.0.0/src/mmg/header_editor/language_value_page.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/language_value_page.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -44,7 +44,8 @@ if (NULL == m_cb_language) return; - int i, selection = m_cb_language->GetSelection(); + size_t i; + int selection = m_cb_language->GetSelection(); for (i = 0; i < sorted_iso_codes.Count(); i++) m_cb_language->SetString(i, sorted_iso_codes[i]); m_cb_language->SetSelection(selection); @@ -52,12 +53,10 @@ wxControl * he_language_value_page_c::create_input_control() { - if (NULL != m_element) - m_original_value = wxU(dynamic_cast<EbmlString *>(m_element)); + m_original_value = NULL != m_element ? wxU(dynamic_cast<EbmlString *>(m_element)) : wxU("eng"); + m_cb_language = new wxMTX_COMBOBOX_TYPE(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); - m_cb_language = new wxMTX_COMBOBOX_TYPE(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); - - int i; + size_t i; for (i = 0; i < sorted_iso_codes.Count(); i++) m_cb_language->Append(sorted_iso_codes[i]); @@ -78,7 +77,7 @@ void he_language_value_page_c::reset_value() { - int i; + size_t i; for (i = 0; sorted_iso_codes.size() > i; ++i) if (extract_language_code(sorted_iso_codes[i]) == m_original_value) { set_combobox_selection(m_cb_language, sorted_iso_codes[i]); diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/Makefile.in mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/Makefile.in --- mkvtoolnix-4.0.0/src/mmg/header_editor/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/Rakefile mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/Rakefile --- mkvtoolnix-4.0.0/src/mmg/header_editor/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/mmg/header_editor/value_page.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/value_page.cpp --- mkvtoolnix-4.0.0/src/mmg/header_editor/value_page.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/header_editor/value_page.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -220,7 +220,7 @@ actual_master = m_master; if (m_present && m_cb_add_or_remove->IsChecked()) { - int i; + size_t i; for (i = 0; actual_master->ListSize() > i; ++i) { if ((*actual_master)[i]->Generic().GlobalId != m_callbacks.GlobalId) continue; diff -Nru mkvtoolnix-4.0.0/src/mmg/helpers.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/helpers.cpp --- mkvtoolnix-4.0.0/src/mmg/helpers.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/helpers.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -30,8 +30,8 @@ wxString & break_line(wxString &line, - int break_after) { - uint32_t i, chars; + unsigned int break_after) { + size_t i, chars; wxString broken; for (i = 0, chars = 0; i < line.length(); i++) { @@ -75,13 +75,13 @@ shell_escape(wxString source, bool cmd_exe_mode) { - int i; wxString escaped; #if !defined(SYS_WINDOWS) cmd_exe_mode = false; #endif + size_t i; for (i = 0; i < source.Length(); i++) { #if defined(SYS_WINDOWS) if (cmd_exe_mode && (source[i] == wxT('\\')) && ((i + 1) < source.Length()) && (source[i + 1] == wxT('"'))) { @@ -109,7 +109,7 @@ wxString no_cr(wxString source) { - uint32_t i; + size_t i; wxString escaped; for (i = 0; i < source.Length(); i++) { @@ -216,7 +216,7 @@ std::vector<wxString> & strip(std::vector<wxString> &v, bool newlines) { - int i; + size_t i; for (i = 0; i < v.size(); i++) strip(v[i], newlines); @@ -227,12 +227,11 @@ wxString unescape(const wxString &src) { wxString dst; - int current_char, next_char; if (src.length() <= 1) return src; - next_char = 1; - current_char = 0; + size_t current_char = 0; + size_t next_char = 1; while (current_char < src.length()) { if (src[current_char] == wxT('\\')) { if (next_char == src.length()) // This is an error... @@ -244,6 +243,8 @@ dst += wxT(' '); else if (src[next_char] == wxT('c')) dst += wxT(':'); + else if (src[next_char] == wxT('h')) + dst += wxT('#'); else dst += src[next_char]; current_char++; @@ -298,47 +299,47 @@ wxString create_track_order(bool all) { - int i; - wxString s, format; + size_t i; + wxString result; std::string temp; fix_format("%d:" LLD, temp); - format = wxU(temp); + wxString format = wxU(temp); for (i = 0; i < tracks.size(); i++) { if (!all && (!tracks[i]->enabled || tracks[i]->appending || ('c' == tracks[i]->type) || ('t' == tracks[i]->type))) continue; - if (s.length() > 0) - s += wxT(","); - s += wxString::Format(format, tracks[i]->source, tracks[i]->id); + if (!result.IsEmpty()) + result += wxT(","); + result += wxString::Format(format, tracks[i]->source, tracks[i]->id); } - return s; + return result; } wxString create_append_mapping() { - int i; - wxString s, format; + size_t i; + wxString result; std::string temp; fix_format("%d:" LLD ":%d:" LLD, temp); - format = wxU(temp); + wxString format = wxU(temp); for (i = 1; i < tracks.size(); i++) { if (!tracks[i]->enabled || !tracks[i]->appending || ('c' == tracks[i]->type) || ('t' == tracks[i]->type)) continue; - if (s.length() > 0) - s += wxT(","); - s += wxString::Format(format, tracks[i]->source, tracks[i]->id, tracks[i - 1]->source, tracks[i - 1]->id); + if (!result.IsEmpty()) + result += wxT(","); + result += wxString::Format(format, tracks[i]->source, tracks[i]->id, tracks[i - 1]->source, tracks[i - 1]->id); } - return s; + return result; } int default_track_checked(char type) { - int i; + size_t i; for (i = 0; i < tracks.size(); i++) if ((tracks[i]->type == type) && (1 == tracks[i]->default_track)) diff -Nru mkvtoolnix-4.0.0/src/mmg/jobs.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/jobs.cpp --- mkvtoolnix-4.0.0/src/mmg/jobs.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/jobs.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -36,6 +36,7 @@ #include "common/common_pch.h" #include "common/fs_sys_helpers.h" +#include "common/strings/formatting.h" #include "mmg/jobs.h" #include "mmg/mmg.h" #include "mmg/mmg_dialog.h" @@ -132,10 +133,10 @@ ++current_job; - if ((jobs_to_start.size() <= current_job) || cb_abort_after_current->IsChecked() || abort) { + if ((static_cast<int>(jobs_to_start.size()) <= current_job) || cb_abort_after_current->IsChecked() || abort) { if ( abort || ( cb_abort_after_current->IsChecked() - && (current_job < jobs_to_start.size()))) + && (current_job < static_cast<int>(jobs_to_start.size())))) add_to_log(wxString::Format(Z("Aborted processing on %s"), format_date_time(wxGetUTCTime()).c_str())); else add_to_log(wxString::Format(Z("Finished processing on %s"), format_date_time(wxGetUTCTime()).c_str())); @@ -149,6 +150,11 @@ st_remaining_time->SetLabel(wxT("---")); st_remaining_time_total->SetLabel(wxT("---")); +#if defined(SYS_WINDOWS) + if (NULL != m_taskbar_progress) + m_taskbar_progress->set_state(TBPF_NOPROGRESS); +#endif + return; } @@ -167,7 +173,7 @@ st_jobs->SetLabel(wxString::Format(Z("Processing job %d/%d"), current_job + 1, (int)jobs_to_start.size())); st_current->SetLabel(wxString::Format(Z("Current job ID %d:"), jobs[ndx].id)); - mdlg->load(wxString::Format(wxT("%s/%d.mmg"), app->get_jobs_folder().c_str(), jobs[ndx].id)); + mdlg->load(wxString::Format(wxT("%s/%d.mmg"), app->get_jobs_folder().c_str(), jobs[ndx].id), true); opt_file_name.Printf(wxT("%smmg-mkvmerge-options-%d-%d"), get_temp_dir().c_str(), (int)wxGetProcessId(), (int)wxGetUTCTime()); @@ -193,12 +199,12 @@ mdlg->update_command_line(); wxArrayString *arg_list = &mdlg->get_command_line_args(); - int i; + size_t i; for (i = 1; i < arg_list->Count(); i++) { if ((*arg_list)[i].Length() == 0) opt_file->Write(wxT("#EMPTY#")); else { - std::string arg_utf8 = wxMB((*arg_list)[i]); + std::string arg_utf8 = escape(wxMB((*arg_list)[i])); opt_file->Write(arg_utf8.c_str(), arg_utf8.length()); } opt_file->Write(wxT("\n")); @@ -292,11 +298,14 @@ } if (now >= m_next_remaining_time_update_total) { - int64_t total_time = (now - m_start_time_total) * 100 / (m_progress / jobs_to_start.size()); - int64_t remaining_time = total_time - now + m_start_time_total; - m_next_remaining_time_update_total = now + 1000; + int64_t total_percentage = m_progress / jobs_to_start.size(); + if (0 != total_percentage) { + int64_t total_time = (now - m_start_time_total) * 100 / total_percentage; + int64_t remaining_time = total_time - now + m_start_time_total; + m_next_remaining_time_update_total = now + 1000; - st_remaining_time_total->SetLabel(wxString::Format(Z("%d minute(s) %d second(s)"), static_cast<int>(remaining_time / 60000), static_cast<int>((remaining_time / 1000) % 60))); + st_remaining_time_total->SetLabel(wxString::Format(Z("%d minute(s) %d second(s)"), static_cast<int>(remaining_time / 60000), static_cast<int>((remaining_time / 1000) % 60))); + } } } @@ -436,7 +445,7 @@ item.m_text = Z("Finished on"); lv_jobs->InsertColumn(5, item); - int i; + size_t i; for (i = 0; i < jobs.size(); i++) create_list_item(i); @@ -557,7 +566,7 @@ void job_dialog::on_start(wxCommandEvent &evt) { - int i; + size_t i; std::vector<int> jobs_to_start; for (i = 0; jobs.size() > i; ++i) @@ -570,7 +579,7 @@ void job_dialog::on_start_selected(wxCommandEvent &evt) { - int i; + size_t i; std::vector<int> jobs_to_start; for (i = 0; jobs.size() > i; ++i) @@ -583,14 +592,14 @@ void job_dialog::on_delete(wxCommandEvent &evt) { - int i; + size_t i; std::vector<bool> selected; - for (i = 0; lv_jobs->GetItemCount() > i; ++i) + for (i = 0; static_cast<size_t>(lv_jobs->GetItemCount()) > i; ++i) selected.push_back(lv_jobs->IsSelected(i)); - i = 0; - int k = 0; + i = 0; + size_t k = 0; while (jobs.size() > i) { if (selected[k]) { wxRemoveFile(wxString::Format(wxT("%s/%d.mmg"), app->get_jobs_folder().c_str(), jobs[i].id)); @@ -606,8 +615,8 @@ } void -job_dialog::swap_rows(int lower, - int higher, +job_dialog::swap_rows(unsigned int lower, + unsigned int higher, bool up) { if ((lower == higher) || (0 > lower) || (0 > higher) || (jobs.size() <= lower) || (jobs.size() <= higher)) return; @@ -636,9 +645,9 @@ std::vector<bool> selected; bool first = true; - int i = 0; - int k; - for (k = 0; lv_jobs->GetItemCount() > k; ++k) { + size_t i = 0; + size_t k; + for (k = 0; static_cast<size_t>(lv_jobs->GetItemCount()) > k; ++k) { selected.push_back(lv_jobs->IsSelected(k)); if (lv_jobs->IsSelected(k) && first) ++i; @@ -714,7 +723,7 @@ void job_dialog::on_view_log(wxCommandEvent &evt) { wxString log; - int i; + size_t i; for (i = 0; i < jobs.size(); i++) { if (!lv_jobs->IsSelected(i)) @@ -762,7 +771,7 @@ mdlg->load(temp_settings, true); wxRemoveFile(temp_settings); - int i; + size_t i; for (i = 0; i < jobs_to_start.size(); i++) { lv_jobs->DeleteItem(jobs_to_start[i]); create_list_item(jobs_to_start[i]); diff -Nru mkvtoolnix-4.0.0/src/mmg/jobs.h mkvtoolnix-4.5.0+dfsg/src/mmg/jobs.h --- mkvtoolnix-4.0.0/src/mmg/jobs.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/jobs.h 2011-01-31 20:34:09.000000000 +0000 @@ -136,7 +136,7 @@ void on_key_pressed(wxKeyEvent &evt); void enable_buttons(bool enable, bool enable_up_down = true); - void swap_rows(int lower, int higher, bool up); + void swap_rows(unsigned int lower, unsigned int higher, bool up); void create_list_item(int i); void start_jobs(std::vector<int> &jobs_to_start); }; diff -Nru mkvtoolnix-4.0.0/src/mmg/Makefile.in mkvtoolnix-4.5.0+dfsg/src/mmg/Makefile.in --- mkvtoolnix-4.0.0/src/mmg/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ Binary files /tmp/4axp9VyYV6/mkvtoolnix-4.0.0/src/mmg/matroskalogo_big.ico and /tmp/1MmhzO2eRq/mkvtoolnix-4.5.0+dfsg/src/mmg/matroskalogo_big.ico differ diff -Nru mkvtoolnix-4.0.0/src/mmg/matroskalogo_big.xpm mkvtoolnix-4.5.0+dfsg/src/mmg/matroskalogo_big.xpm --- mkvtoolnix-4.0.0/src/mmg/matroskalogo_big.xpm 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/matroskalogo_big.xpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,288 +0,0 @@ -/* XPM */ -static char *matroskalogo_big_xpm[] = { -/* columns rows colors chars-per-pixel */ -"64 64 218 2", -" c #242322", -". c #282826", -"X c #2D2C2B", -"o c #302F2D", -"O c #32312F", -"+ c #343331", -"@ c #383735", -"# c #3A3937", -"$ c #3D3C3A", -"% c #41403D", -"& c #454442", -"* c #4B4947", -"= c #4D4C49", -"- c #504E4B", -"; c #54524F", -": c #555350", -"> c #595754", -", c #5C5B57", -"< c #5B5B5B", -"1 c #5D5B59", -"2 c #5F5D59", -"3 c gray36", -"4 c #5C5C5D", -"5 c #5D5D5D", -"6 c gray37", -"7 c #5C5B70", -"8 c #615F5C", -"9 c #64625E", -"0 c #606060", -"q c gray38", -"w c #626261", -"e c #646361", -"r c #646463", -"t c #646464", -"y c #676664", -"u c #6B6965", -"i c #6B6A67", -"p c #696968", -"a c #6A6A69", -"s c #6B6B6A", -"d c #6C6B6A", -"f c #6F6D69", -"g c #6F6E6D", -"h c #636175", -"j c #706E6A", -"k c #70706E", -"l c #72716F", -"z c #75736F", -"x c #777570", -"c c #777674", -"v c #797672", -"b c #7A7873", -"n c #797876", -"m c #7C7A75", -"M c #7E7B76", -"N c #7B7A78", -"B c #7C7B79", -"V c #7D7C7A", -"C c #0101A3", -"Z c #0202A3", -"A c #0000A4", -"S c #0505A4", -"D c #0707A4", -"F c #0B0BA5", -"G c #0F0EA5", -"H c #1211A5", -"J c #1515A7", -"K c #1918A7", -"L c #1C1BA8", -"P c #2322A9", -"I c #2727AA", -"U c #2D2CAA", -"Y c #302FAB", -"T c #3433AB", -"R c #3C3BAD", -"E c #4241AE", -"W c #4948B0", -"Q c #504EB1", -"! c #5C5AA5", -"~ c #5352B1", -"^ c #5856B2", -"/ c #5D5BB3", -"( c #6664B4", -") c #6967B6", -"_ c #6A68B5", -"` c #706EB6", -"' c #7572B7", -"] c #7976B8", -"[ c #7B79B8", -"{ c #7D7AB9", -"} c #7F7DB9", -"| c #BF0101", -" . c #817E7A", -".. c #807F7C", -"X. c #C00000", -"o. c #C10706", -"O. c #C00A0A", -"+. c #C00D0D", -"@. c #C21413", -"#. c #C11817", -"$. c #C11C1B", -"%. c #C01E1D", -"&. c #C32523", -"*. c #C43634", -"=. c #C5403D", -"-. c #C64744", -";. c #C75956", -":. c #C9615E", -">. c #C96E6A", -",. c #CB706B", -"<. c #CB7672", -"1. c #CB7D78", -"2. c #807EB9", -"3. c #83807B", -"4. c #82817E", -"5. c #85837D", -"6. c #87847F", -"7. c #CC827D", -"8. c #858481", -"9. c #888681", -"0. c #888784", -"q. c #8A8885", -"w. c #8D8A85", -"e. c #8D8B88", -"r. c #918E89", -"t. c #92908B", -"y. c #93918E", -"u. c #95938F", -"i. c #96948E", -"p. c #969490", -"a. c #989691", -"s. c #9B9995", -"d. c #9C9994", -"f. c #9D9A95", -"g. c #9E9C96", -"h. c #9F9D99", -"j. c #8381BA", -"k. c #8A87BA", -"l. c #8E8BBB", -"z. c #908DAD", -"x. c #918FBC", -"c. c #9390BB", -"v. c #9290BD", -"b. c #9491BD", -"n. c #9794BE", -"m. c #9996BD", -"M. c #9F9CB7", -"N. c #9C9ABE", -"B. c #A19E98", -"V. c #A19EBF", -"C. c #A2A09A", -"Z. c #A3A19C", -"A. c #A5A29D", -"S. c #A6A49E", -"D. c #A8A59E", -"F. c #A9A7A1", -"G. c #ABA8A2", -"H. c #ACA9A2", -"J. c #ACA9A4", -"K. c #ADAAA5", -"L. c #AFABA5", -"P. c #AFACA5", -"I. c #A5A2BE", -"U. c #AFABBB", -"Y. c #B1AEA7", -"T. c #B1AEA8", -"R. c #B2AFA9", -"E. c #B2AFAA", -"W. c #B1AEBA", -"Q. c #B3B1AB", -"!. c #B4B1AA", -"~. c #B4B1AE", -"^. c #B5B2AC", -"/. c #B6B3AD", -"(. c #B8B4AD", -"). c #B8B4AE", -"_. c #B9B6AF", -"`. c #BAB7B0", -"'. c #B9B6B6", -"]. c #BAB3BF", -"[. c #BAB7BA", -"{. c #BBB8B1", -"}. c #BCB8B1", -"|. c #BCB9B2", -" X c #BDBAB3", -".X c #BEBAB3", -"XX c #BEBBB4", -"oX c #A7A4C1", -"OX c #A9A6C0", -"+X c #ADAAC1", -"@X c #B1AEC2", -"#X c #B4B1C2", -"$X c #B8B4C3", -"%X c #B9B6C3", -"&X c #BDB7C0", -"*X c #BDB9C4", -"=X c #CD8984", -"-X c #CE938E", -";X c #CD9791", -":X c #CE9A94", -">X c #CFA19B", -",X c #D0A59E", -"<X c #C3A9A3", -"1X c #CFA7A1", -"2X c #CEB0A9", -"3X c #C1BEB7", -"4X c #C7B8B9", -"5X c #CCBBB8", -"6X c #D1AFA9", -"7X c #C1BDC4", -"8X c #C6C3BD", -"9X c #CECBC6", -"0X c #CECCC6", -"qX c #CECBD0", -"wX c #D8D5D0", -"eX c #E3E1DE", -"rX c #F0EFED", -"tX c gray100", -/* pixels */ -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXD.9.j u u u m p.^.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXF.8 + $ : f . .x 9 * + + y S.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.; + f L.tXtXtXtXtXtXtXtXwXA.u @ % w.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXw.o u |.tXtXtXtXtXtXtXtXtXtXtXtXtXeXw.; P.tX:X>.;.;.<.,XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXx + d.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX:X*.O.| | | | +.-.6XtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX .+ H.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX7.@.| X.X.X.X.X.| | &.;XeX3X|._.^.R.^.|.tXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXg.O D.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX:X#.| X.X.X.X.X.X.X.X.| %.<XrXrXeX|.Q.C.0.c ..A.tXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrX@ w.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX*.| X.X.X.X.X.X.X.X.X.X.| :.tXtXtXtXtXtXtX|.8.6 k R.", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXz - tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX,X+.X.X.X.X.X.X.X.X.X.X.X.| %.tXtXtXtXtXtXtXtXtXw.4 t ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXwXX G.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX7.| X.X.X.X.X.X.X.X.X.X.X.X.O.1XtXtXtXtXtXtXtXtXtXt < ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX .- tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXqX%XtX,.| X.X.X.X.X.X.X.X.X.X.X.X.o.:XtXtXtXtXtXtXtXtXtXc < ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX$ i.tXtXtXtXtXtXtXtXtXtXtXtXtXqXc.^ T P K v.1.X.X.X.X.X.X.X.X.X.X.X.X.X.O.,XtXtXtXtXtXtXtXtXtXk < ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtX_.X 9XtXtXtXtXtXtXtXtXtXtXtXqX] I S C A A C ( ,Xo.X.X.X.X.X.X.X.X.X.X.X.X.%.tXtXtXtXtXtXtXtXtXtX0 < ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXr.* tXtXtXtXtXtXtXtXtXtXtXN.Y C C A A A A C Y 4X*.X.X.X.X.X.X.X.X.X.X.X.X.;.tXtXtXtXtXtXtXtXtXy.< 6 ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXu f tXtXtXtXtXtXtXtXtXtX} H C A A A A A A A F x.;X+.| X.X.X.X.X.| o.X.| $.2XrXtXtXtXtXtXtXtX.X0 < n ", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtX* r.tXtXtXtXtXtXtXtXtX[ F A A A A A A A A A C U ].<.+.| X.X.X.X.X.| | #.-X|.& tXtXtXtXtXtXtXn 3 0 `.", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtX@ S.tXtXtXtXtXtXtXtXx.G A A A A A A A A A A A C E &X=X&.o.X.X.| | | *.,XtXtX& 3.tXtXtXtXtXq.< 6 d.tX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXO Y.tXtXtXtXtXtXtX%XP C A A A A C C C C C C A A C T V.5X=X;.=.=.:.;XtXtXtXtXB.X tXtXtXtXy.< 6 q.tXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtX+ _.tXtXtXtXtXtXtX/ C A A C C H R ( [ [ ( R H A C C F W k.#X7X7X+X} / tXtXtXtX& 9.tXtXu.4 6 ..tXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXo ^.tXtXtXtXtXtX@XJ A A C H ( %XtXtXtXtXtXtX%X_ J C A A C S G G S A S b.tXtXtXa.: tXw.6 6 ..tXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXO H.tXtXtXtXtXtX` C A A U oXtXtXtXtXtXtXtXtXtXtX+XY C A A A A A A A C W tXtXtXtX|...< 6 w.tXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXeXtXtX& d.tXtXtXtXtXtXT C C U %XtXtXtXtXtXtXtXtXtXtXtXtX*XT A A A A A A A A K qXtXtX|.k 3 6 a.tXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtX9XtXtXtX, .tXtXtXtXtX%XK C J +XtXtXtXtXtXtXtXtXtXtXtXtXtXtX@XL C A A A A A C F V.tXA.0 6 0 G.tXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtX3XrXtXtXtXtXb 8 tXtXtXtXtXI.F C ' tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX} C A A A C C S / [.8.6 6 x |.tXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtX^.tXtXtXtXtXtXg.% tXtXtXtXtXm.S L *XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXqXP A A A C U N.H.s < 6 u.tXj 6.tXtXtXtXtXtXtX", -"tXtXtXtXtXtXL.tXtXtXtXtXtXtX9XX XXtXtXtXtXb.S ~ tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX/ A C H ' [.5.3 < k ^.tXtXm 3 tXtXtXtXtXtXtX", -"tXtXtXtXtXS.tXtXtXtXtXtXtXtXtX$ p.tXtXtXtXN.F } tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXk.D W U.g.t < 0 p.tXtXtXtXB.# tXtXtXtXtXtXtX", -"tXtXtXtXs.tXtXtXtXtXtXtXtXtXtXm > tXtXtXtX+XJ m.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX*XI.H.z 6 3 B `.tXtXtXtXtX|. tXtXtXtXtXtXtX", -"tXtXtXp.0XtXtXtXtXtXtXtXtXtXtX!.o 9XtXtXtXtXI N.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX(.N 6 < k G.I.W #XtXtXtXtXtX tXtXtXtXtXtXtX", -"tXtXh.S.tXtXtXtXtXtXtXtXtXtXtXtX& q.tXtXtXtX~ l.tX|.F.L.0XtXtXtXtXtXtXtXtXtXtXtX(...q < s g.U.~ F U tXtXtXtXtXtX. 8XtXtXtXtXtXtX", -"tX`.n tXtXtXtXtXtXtXtXtXtXtXtXtXt.% tXtXtXtXn.! ..0 < 6 0 e.tXtXtXtXtXtXtXtX^...q < u d.U._ J C A ' tXtXtXtXtXtX. 3XtXtXtXtXtXtX", -"tXn C.tXtXtXtXtXtXtXtXtXtXtXtXtXtX+ a.tXtXtX[.7 < 4 6 < 4 6 .tXtXtXtXtXL.B 0 6 s a.U.` L C C C L *XtXtXtXtXtXtX. 8XtXtXtXtXtXtX", -"R.< eXtXtXtXtXtXtXtXtXtXtXtXtXtXtX9.& tXtXtXu.6 6 < < < 6 < 3 A.tX3Xp.k 0 6 k h.tXI.P C C A A S ' tXtXtXtXtXtXtX tXtXtXtXtXtXtX", -"8.6 tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX# w.tXtXk < < < 6 < 6 < < g ..y 6 0 B L.tXtXtXR C A A A C R tXtXtXtXtXtXtXXX tXtXtXtXtXtXtX", -"g 6 |.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXa.+ |.tXs < < 6 < 6 < < < < 4 s r.`.tXtXtXtX_ S A A A C I #XtXtXtXtXtXtXtXS.O tXtXtXtXtXtXtX", -"s < 9.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX8 .tXg 6 < 6 < < < 6 6 s S.tXtXtXtXtXtX` G C A A C I OXtXtXtXtXtXtXtXtX .> tXtXtXtXtXtXtX", -"..3 6 t.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXXXL.C.s < < 6 < < 6 < 6 B.tXtXtXtXtX+XW D A A A S E #XtXtXtXtXtXtXtXtXtX- 9.tXtXtXtXtXtXtX", -"_.0 < < s 9.S._.XXrXtXrX0X`.^.J.d.q.c s 0 6 < < < 6 < 6 < < 7 M.%X%X+Xl.W J C A C C I [ tXtXtXtXtXtXtXtXtXtXeX. `.tXtXtXtXtXtXtX", -"tXY.g 6 < < < 0 r u s s s 0 q 4 < < 4 0 s B p.S.B 0 < < 6 ..z.^ T P J S S C S J R [ *XtXtXtXtXtXtXtXtXtXtXtXw.% tXtXtXtXtXtXtXtX", -"tXtXtXC.B s 0 6 6 6 < 6 6 0 s j B w.B._.tXtXS.h '.!.B.C._.tXtXtX%XV.k.' ' j.N.#XtXtXtXtXtXtXtXtXtXtXtXtXtXtX% w.tXtXtXtXtXtXtXtX", -"tXtXtXtXtXtX|.!.R.R.Y.R.^.|.eXtXtXtXtXtXtXtXtX3 - 8XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXi.O tXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX, & ^.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXwXO t.tXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXu # C.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX3 ; tXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX5.O m tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXk # wXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXD.% = F.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXf + !.tXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXv O 8 P.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.- % ^.tXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX^.9 O ; a.eXtXtXtXtXtXtXtXtXtXtX!.u o u tXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX`.m # + ; m B.Y.(._.Y.d.z * o 3 Y.tXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXR.6., $ o X . X % 9 r.8XtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX", -"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtX" -}; diff -Nru mkvtoolnix-4.0.0/src/mmg/matroskalogo.xpm mkvtoolnix-4.5.0+dfsg/src/mmg/matroskalogo.xpm --- mkvtoolnix-4.0.0/src/mmg/matroskalogo.xpm 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/matroskalogo.xpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,297 +0,0 @@ -/* XPM */ -static const char * matroskalogo_xpm[] = { -"32 32 262 2", -" c None", -". c #FFFFFF", -"+ c #EAE9E8", -"@ c #A5A4A3", -"# c #706E6A", -"$ c #73706C", -"% c #74716D", -"& c #878683", -"* c #C3C2C0", -"= c #9C9A96", -"- c #6C6A66", -"; c #C7C6C3", -"> c #DFDDDB", -", c #A1A09E", -"' c #EBEAE8", -") c #E5C2BF", -"! c #E3ACAA", -"~ c #E6C6C4", -"{ c #8B8986", -"] c #9F9D9A", -"^ c #F2E0DE", -"/ c #C53937", -"( c #C00303", -"_ c #C00000", -": c #C00404", -"< c #C64744", -"[ c #ECDEDB", -"} c #DFDDDA", -"| c #DBDAD6", -"1 c #D9D8D5", -"2 c #EEEEEC", -"3 c #B1B0AE", -"4 c #9A9894", -"5 c #C43A38", -"6 c #C34A48", -"7 c #F8F7F6", -"8 c #E7E6E4", -"9 c #D5D4D1", -"0 c #AEADAA", -"a c #82817E", -"b c #C8C7C5", -"c c #F5F4F3", -"d c #676562", -"e c #E6C9C6", -"f c #C00A0A", -"g c #F3E9E8", -"h c #E2E2E0", -"i c #606060", -"j c #AFAEAC", -"k c #B9B8B6", -"l c #D8D6E2", -"m c #A2A2D7", -"n c #716FB9", -"o c #CA9FA8", -"p c #E7CFCC", -"q c #676766", -"r c #F3F2F1", -"s c #E6E6EF", -"t c #5E5CB6", -"u c #0B0BA5", -"v c #0000A4", -"w c #8B7CAE", -"x c #C10F0E", -"y c #C21E1D", -"z c #E4E4E3", -"A c #5D5D5D", -"B c #6E6B68", -"C c #DEDEED", -"D c #2726AA", -"E c #3232AC", -"F c #C47374", -"G c #C00202", -"H c #C00606", -"I c #C68681", -"J c #CDCCCB", -"K c #7D7C79", -"L c #7C7A78", -"M c #EEEDF0", -"N c #3130AB", -"O c #4D4BAF", -"P c #BF8288", -"Q c #C53A38", -"R c #C2201F", -"S c #C53E3C", -"T c #E4B6B4", -"U c #666460", -"V c #9E9D9B", -"W c #686867", -"X c #E6E6E4", -"Y c #74726E", -"Z c #8887C7", -"` c #0505A4", -" . c #4C4BB0", -".. c #A8A7D8", -"+. c #BDBCDC", -"@. c #4D4CB0", -"#. c #0606A4", -"$. c #1515A7", -"%. c #5150B1", -"&. c #6866B4", -"*. c #7D7CC5", -"=. c #B7B6B4", -"-. c #A09E9C", -";. c #666665", -">. c #DFDFDE", -",. c #F8F8F7", -"'. c #2A29AA", -"). c #0C0BA5", -"!. c #A3A1CB", -"~. c #A6A4CC", -"{. c #0D0DA6", -"]. c #1918A8", -"^. c #F3F2F3", -"/. c #6C6B6A", -"(. c #ECEBE8", -"_. c #6E6C68", -":. c #D7D6E0", -"<. c #0A09A4", -"[. c #8E8CC8", -"}. c #9391C8", -"|. c #1C1BA8", -"1. c #B8B6BE", -"2. c #70706E", -"3. c #7C7B78", -"4. c #D8D7D4", -"5. c #767571", -"6. c #EFEEEC", -"7. c #CBC9DE", -"8. c #1E1EA8", -"9. c #EEEEF0", -"0. c #201FA9", -"a. c #0504A4", -"b. c #5756B0", -"c. c #8A888E", -"d. c #646464", -"e. c #AAA8A6", -"f. c #BABAB7", -"g. c #B8B8B6", -"h. c #D0CFCC", -"i. c #AEADAB", -"j. c #BBBAB8", -"k. c #D2D0DF", -"l. c #4E4DB0", -"m. c #7D7AB8", -"n. c #86849F", -"o. c #6F6E6D", -"p. c #7C7B79", -"q. c #E5E4E3", -"r. c #D7D5D2", -"s. c #979696", -"t. c #B6B5B2", -"u. c #ECECEA", -"v. c #73726E", -"w. c #6968B5", -"x. c #D6D4D1", -"y. c #CECCCA", -"z. c #87859F", -"A. c #4A48AF", -"B. c #ECECF0", -"C. c #848381", -"D. c #CCCBC9", -"E. c #C6C6C4", -"F. c #82807E", -"G. c #E5E5E4", -"H. c #8280A3", -"I. c #5C5C5C", -"J. c #6A6969", -"K. c #E0DFDE", -"L. c #CAC9C7", -"M. c #7D7C7A", -"N. c #706F6E", -"O. c #8A879A", -"P. c #4E4CAF", -"Q. c #5452B2", -"R. c #767470", -"S. c #E1E1E0", -"T. c #83827F", -"U. c #737270", -"V. c #71706F", -"W. c #7A7977", -"X. c #C3C3C1", -"Y. c #B8B7DA", -"Z. c #0909A5", -"`. c #1010A6", -" + c #DCDCED", -".+ c #929190", -"++ c #656464", -"@+ c #8B8A87", -"#+ c #CFCDCA", -"$+ c #9B9A99", -"%+ c #D2D1CE", -"&+ c #DBDBED", -"*+ c #201FA8", -"=+ c #0A0AA5", -"-+ c #A19FCB", -";+ c #C9C8C6", -">+ c #A2A2A0", -",+ c #6A6968", -"'+ c #BCBCBA", -")+ c #D7D6D3", -"!+ c #FBFBFA", -"~+ c #E2E0DD", -"{+ c #D8D6D4", -"]+ c #A8A7A4", -"^+ c #84827F", -"/+ c #5F5F5F", -"(+ c #7E7D87", -"_+ c #DCDAE1", -":+ c #CECDDE", -"<+ c #8282C6", -"[+ c #1414A7", -"}+ c #969694", -"|+ c #ECEBE9", -"1+ c #9C9B99", -"2+ c #5E5E5E", -"3+ c #636261", -"4+ c #646463", -"5+ c #626262", -"6+ c #666664", -"7+ c #706F6D", -"8+ c #868481", -"9+ c #B9B9B8", -"0+ c #918F90", -"a+ c #92908E", -"b+ c #7E7D7A", -"c+ c #A6A4A2", -"d+ c #BAB8D7", -"e+ c #6C6AB6", -"f+ c #4645AF", -"g+ c #403EAE", -"h+ c #5A59B3", -"i+ c #ADACD9", -"j+ c #676561", -"k+ c #DCDAD6", -"l+ c #DCDAD7", -"m+ c #D6D6D6", -"n+ c #A8A6A3", -"o+ c #B0B0AE", -"p+ c #DADAD8", -"q+ c #65635F", -"r+ c #DEDEDC", -"s+ c #DBDBDB", -"t+ c #706F6C", -"u+ c #E9E8E7", -"v+ c #8F8E8B", -"w+ c #C0BFBC", -"x+ c #666461", -"y+ c #C6C4C2", -"z+ c #6F6D69", -"A+ c #7A7976", -"B+ c #B4B2B0", -"C+ c #D4D2CF", -"D+ c #D3D1CE", -"E+ c #B0AEAD", -"F+ c #6B6966", -"G+ c #93918E", -"H+ c #ECEBEA", -"I+ c #B8B7B5", -"J+ c #959494", -"K+ c #9B9A9A", -"L+ c #BDBCB9", -"M+ c #F1F0EE", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . + @ # $ % # & * . . . . . . . . . . . . . ", -". . . . . . . . . . = - ; . . . . > , - ' ) ! ~ . . . . . . . . ", -". . . . . . . . . { ] . . . . . . . . ^ / ( _ : < [ } | 1 2 . . ", -". . . . . . . . 3 4 . . . . . . . . . 5 _ _ _ _ _ 6 7 8 9 0 a b ", -". . . . . . . c d . . . . . . . . . e : _ _ _ _ _ f g . . . h i ", -". . . . . . . j k . . . . . . l m n o _ _ _ _ _ _ : p . . . . q ", -". . . . . . . # r . . . . s t u v v w x _ _ _ _ _ y . . . . z A ", -". . . . . . . B . . . . C D v v v v E F : _ _ G H I J . . . K L ", -". . . . . . . # . . . M N v v v v v v O P Q R S T . U . . V W X ", -". . . . . . . Y . . . Z v ` ...+...@.#.$.%.&. .*.. =.=.-.;.>.. ", -". . . . . ,.. # . . . '.).!.. . . . . ~.{.v v v ].^.2 a /.h . . ", -". . . . (.r . _.. . :.<.[.. . . . . . . }.v v v |.1.2.3.+ . . . ", -". . . 4.. . . 5.6.. 7.8.9.. . . . . . . ^.0.a.b.c.d.e.f.g.. . . ", -". . h.. . . . i.j.. k.l.. . . . . . . . . m.n.o.p.q.. r.s.. . . ", -". t.r . . . . u.v.. . w.2 x.r . . . . . y.L 2.z.A.B.. . C.. . . ", -"D.E.. . . . . . F.G.. H.;.I.J.K.. . L.M.N.O.P.#.Q.. . . R.. . . ", -"p.,.. . . . . . S.T.. N.I.I.I.U.e.V.W.X.Y.Z.v `. +. . 6..+. . . ", -"++h.. . . . . . . @+#+++I.I.I.i $+%+. &+*+v =+-+. . . ;+>+. . . ", -"M.,+'+)+' !+~+{+;+]+^+/+I.I.I.(+_+:+<+[+v '.+.. . . . }+h.. . . ", -"|+1+q 2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+9.. . . . . j+. . . . ", -". . . k+4.4.l+,.. . . m+_.u.. . . . . . . . . . . . n+o+. . . . ", -". . . . . . . . . . . . p+q+r+. . . . . . . . . . s+t+. . . . . ", -". . . . . . . . . . . . . u+F.v+' . . . . . . . w+x+u.. . . . . ", -". . . . . . . . . . . . . . . y+z+A+B+C+k+D+E+F+G+. . . . . . . ", -". . . . . . . . . . . . . . . . . H+I+$+J+K+L+M+. . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/mmg.cpp --- mkvtoolnix-4.0.0/src/mmg/mmg.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -15,8 +15,13 @@ #include <wx/wx.h> #include <wx/config.h> +#include <wx/file.h> #include <wx/regex.h> +#ifdef __WXMAC__ +# include <ApplicationServices/ApplicationServices.h> +#endif + #include "common/chapters/chapters.h" #include "common/command_line.h" #include "common/common_pch.h" @@ -131,6 +136,12 @@ bool mmg_app::OnInit() { +#ifdef __WXMAC__ + ProcessSerialNumber PSN; + GetCurrentProcess(&PSN); + TransformProcessType(&PSN, kProcessTransformToForegroundApplication); +#endif + mtx_common_init(); wxConfigBase *cfg; @@ -153,10 +164,10 @@ cfg->Read(wxT("last_directory"), &last_open_dir, wxEmptyString); for (i = 0; i < 4; i++) { k.Printf(wxT("last_settings %u"), i); - if (cfg->Read(k, &v)) + if (cfg->Read(k, &v) && wxFile::Exists(v)) last_settings.push_back(v); k.Printf(wxT("last_chapters %u"), i); - if (cfg->Read(k, &v)) + if (cfg->Read(k, &v) && wxFile::Exists(v)) last_chapters.push_back(v); } cfg->SetPath(wxT("/chapter_editor")); @@ -187,8 +198,8 @@ return; std::vector<std::string> args; - int i; - for (i = 1; app->argc > i; ++i) + size_t i; + for (i = 1; static_cast<size_t>(app->argc) > i; ++i) args.push_back(wxMB(wxString(app->argv[i]))); handle_common_cli_args(args, ""); @@ -203,11 +214,8 @@ if (wargs[0] == wxT("--edit-headers")) { if (wargs.size() == 1) wxMessageBox(Z("Missing file name after for the option '--edit-headers'."), Z("Missing file name"), wxOK | wxCENTER | wxICON_ERROR); - else { - header_editor_frame_c *window = new header_editor_frame_c(mdlg); - window->Show(); - window->open_file(wxFileName(wargs[1])); - } + else + mdlg->create_header_editor_window(wargs[1]); return; } diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg_dialog.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_dialog.cpp --- mkvtoolnix-4.0.0/src/mmg/mmg_dialog.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_dialog.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -15,6 +15,7 @@ #include <algorithm> #include <wx/wx.h> +#include <wx/aboutdlg.h> #include <wx/clipbrd.h> #include <wx/config.h> #include <wx/datetime.h> @@ -23,6 +24,7 @@ #include <wx/fileconf.h> #include <wx/listctrl.h> #include <wx/notebook.h> +#include <wx/regex.h> #include <wx/statusbr.h> #include <wx/statline.h> #include <wx/strconv.h> @@ -44,7 +46,6 @@ #include "mmg/cli_options_dlg.h" #include "mmg/header_editor/frame.h" #include "mmg/jobs.h" -#include "mmg/matroskalogo.xpm" #include "mmg/mmg_dialog.h" #include "mmg/mmg.h" #include "mmg/mux_dialog.h" @@ -54,6 +55,10 @@ #include "mmg/tabs/chapters.h" #include "mmg/tabs/global.h" #include "mmg/tabs/input.h" +#if defined(HAVE_CURL_EASY_H) +# include "mmg/update_checker.h" +#endif // defined(HAVE_CURL_EASY_H) +#include "share/icons/32x32/mkvmergeGUI.xpm" mmg_dialog *mdlg; wxString last_open_dir; @@ -69,6 +74,10 @@ #if defined(SYS_WINDOWS) , m_taskbar_msg_received(false) #endif +#if defined(HAVE_CURL_EASY_H) + , m_checking_for_updates(false) + , m_update_check_dlg(NULL) +#endif // defined(HAVE_CURL_EASY_H) { wxBoxSizer *bs_main; wxPanel *panel; @@ -158,7 +167,7 @@ load_job_queue(); - SetIcon(wxIcon(matroskalogo_xpm)); + SetIcon(wxIcon(mkvmergeGUI_xpm)); help = NULL; @@ -169,6 +178,10 @@ #if defined(SYS_WINDOWS) RegisterWindowMessages(); #endif + +#if defined(HAVE_CURL_EASY_H) + maybe_check_for_updates(); +#endif // defined(HAVE_CURL_EASY_H) } mmg_dialog::~mmg_dialog() { @@ -227,6 +240,10 @@ wxMenu *help_menu = new wxMenu(); help_menu->Append(ID_M_HELP_HELP); help_menu->Append(ID_M_HELP_ABOUT); +#if defined(HAVE_CURL_EASY_H) + help_menu->AppendSeparator(); + help_menu->Append(ID_M_HELP_CHECK_FOR_UPDATES); +#endif // defined(HAVE_CURL_EASY_H) wxMenuBar *menu_bar = new wxMenuBar(); menu_bar->Append(file_menu, wxEmptyString); @@ -275,6 +292,9 @@ set_menu_item_strings(ID_M_WINDOW_CHAPTEREDITOR, Z("&Chapter editor\tAlt-4")); set_menu_item_strings(ID_M_HELP_HELP, Z("&Help\tF1"), Z("Show the guide to mkvmerge GUI")); set_menu_item_strings(ID_M_HELP_ABOUT, Z("&About"), Z("Show program information")); +#if defined(HAVE_CURL_EASY_H) + set_menu_item_strings(ID_M_HELP_CHECK_FOR_UPDATES, Z("&Check for updates"), Z("Check online for the latest release")); +#endif // defined(HAVE_CURL_EASY_H) set_menu_label(this, 0, Z("&File")); set_menu_label(this, 1, Z("&Muxing")); @@ -313,7 +333,7 @@ mmg_dialog::on_browse_output(wxCommandEvent &evt) { wxFileDialog dlg(NULL, Z("Choose an output file"), last_open_dir, tc_output->GetValue().AfterLast(PSEP), - wxString::Format(Z("Matroska A/V files (*.mka;*.mkv)|*.mkv;*.mka|%s"), ALLFILES.c_str()), + wxString::Format(Z("Matroska A/V files (*.mka;*.mkv;*.mk3d)|*.mkv;*.mka;*.mk3d|%s"), ALLFILES.c_str()), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); if(dlg.ShowModal() != wxID_OK) return; @@ -502,7 +522,7 @@ wxFileName file_name(tc_output->GetValue()); wxString dir, name, ext; wxArrayString files_in_output_dir; - int i; + size_t i; dir = file_name.GetPath(wxPATH_GET_VOLUME | wxPATH_GET_SEPARATOR); @@ -543,7 +563,7 @@ wxFileName output_file_name(tc_output->GetValue()); wxString check_name(output_file_name.GetFullName()); - int i; + size_t i; for (i = 0; check_name.Length() > i; ++i) if (wxNOT_FOUND != forbidden_chars.Find(check_name[i])) return false; @@ -626,23 +646,7 @@ potential_help_paths.push_back(installation_path + wxT("/doc")); #else - // Debian, probably others - potential_help_paths.push_back(wxT("/usr/share/doc/mkvtoolnix")); - potential_help_paths.push_back(wxT("/usr/share/doc/mkvtoolnix/doc")); - potential_help_paths.push_back(wxT("/usr/share/doc/mkvtoolnix-gui")); - // SuSE - potential_help_paths.push_back(wxT("/usr/share/doc/packages/mkvtoolnix")); - // Fedora Core - potential_help_paths.push_back(wxT("/usr/share/doc/mkvtoolnix-" VERSION)); - potential_help_paths.push_back(wxT("/usr/share/doc/mkvtoolnix-gui-" VERSION)); - // (Almost the) same for /usr/local - potential_help_paths.push_back(wxT("/usr/local/share/doc/mkvtoolnix")); - potential_help_paths.push_back(wxT("/usr/local/share/doc/packages/mkvtoolnix")); - potential_help_paths.push_back(wxT("/usr/local/share/doc/mkvtoolnix-" VERSION)); - potential_help_paths.push_back(wxT("/usr/local/share/doc/mkvtoolnix-gui-" VERSION)); - // New location - potential_help_paths.push_back(wxT(MTX_PKG_DATA_DIR)); - potential_help_paths.push_back(wxT(MTX_PKG_DATA_DIR "-" VERSION)); + potential_help_paths.push_back(wxT(MTX_DOC_DIR)); #endif wxConfigBase *cfg = wxConfigBase::Get(); @@ -707,17 +711,16 @@ void mmg_dialog::on_about(wxCommandEvent &evt) { - wxMessageBox(wxString::Format(Z("%s\n\n" - "This GUI was written by Moritz Bunkus <moritz@bunkus.org>" - "\nBased on mmg by Florian Wagner <flo.wagner@gmx.de>\n" - "mkvmerge GUI is licensed under the GPL.\n" - "http://www.bunkus.org/videotools/mkvtoolnix/\n" - "\n" - "Help is available in form of tool tips, from the\n" - "'Help' menu or by pressing the 'F1' key."), - wxUCS(get_version_info("mkvmerge GUI", true))), - Z("About mkvmerge's GUI"), - wxOK | wxCENTER | wxICON_INFORMATION); + wxAboutDialogInfo info; + info.SetName(wxU("mkvmerge GUI")); + info.SetVersion(wxU(get_version_info("", false))); + info.SetCopyright(wxU("(C) Moritz Bunkus <moritz@bunkus.org>")); + info.SetLicense(wxU(Z("MKVToolNix is licensed under the GNU GPL v2")) + wxU("\nhttp://www.gnu.org/licenses/old-licenses/gpl-2.0.html")); + info.SetWebSite(wxU("http://www.bunkus.org/videotools/mkvtoolnix/")); + info.SetDescription(Z("Help is available in form of tool tips, from the\n" + "'Help' menu or by pressing the 'F1' key.")); + + wxAboutBox(info); } void @@ -986,9 +989,9 @@ clargs.Add(wxString::Format(wxT("%s:%d"), sid.c_str(), t->stereo_mode - 1)); } - if (!t->appending && (t->compression.Length() > 0)) { + if (!t->appending && !t->compression.IsEmpty()) { wxString compression = t->compression; - if (compression == wxT("none")) + if (compression == Z("none")) compression = wxT("none"); clargs.Add(wxT("--compression")); clargs.Add(sid + wxT(":") + compression); @@ -1182,7 +1185,7 @@ void mmg_dialog::on_file_load_last(wxCommandEvent &evt) { - if ((evt.GetId() < ID_M_FILE_LOADLAST1) || ((evt.GetId() - ID_M_FILE_LOADLAST1) >= last_settings.size())) + if ((evt.GetId() < ID_M_FILE_LOADLAST1) || (static_cast<size_t>(evt.GetId() - ID_M_FILE_LOADLAST1) >= last_settings.size())) return; load(last_settings[evt.GetId() - ID_M_FILE_LOADLAST1]); @@ -1190,7 +1193,7 @@ void mmg_dialog::on_chapters_load_last(wxCommandEvent &evt) { - if ((evt.GetId() < ID_M_CHAPTERS_LOADLAST1) || ((evt.GetId() - ID_M_CHAPTERS_LOADLAST1) >= last_chapters.size())) + if ((evt.GetId() < ID_M_CHAPTERS_LOADLAST1) || (static_cast<size_t>(evt.GetId() - ID_M_CHAPTERS_LOADLAST1) >= last_chapters.size())) return; notebook->SetSelection(4); @@ -1323,17 +1326,20 @@ wxString mmg_dialog::suggest_file_name_extension() { - bool has_video = false, has_audio = false; + bool has_video = false, has_audio = false, has_stereo_mode = false; foreach(mmg_track_t *t, tracks) { if (t->is_video()) { has_video = true; - break; + if (t->stereo_mode >= 2) + has_stereo_mode = true; + } else if (t->is_audio()) has_audio = true; } return global_page->cb_webm_mode->IsChecked() ? wxU("webm") + : has_stereo_mode ? wxU("mk3d") : has_video ? wxU("mkv") : has_audio ? wxU("mka") : wxU("mks"); @@ -1351,7 +1357,8 @@ mmg_dialog::on_add_to_jobqueue(wxCommandEvent &evt) { wxString description, line; job_t job; - int i, result; + size_t i; + int result; bool ok; if (!input_page->validate_settings() || @@ -1427,7 +1434,8 @@ void mmg_dialog::load_job_queue() { - int num, i, value; + size_t i; + int num, value; wxString s; wxConfigBase *cfg; job_t job; @@ -1446,7 +1454,7 @@ } jobs.clear(); - for (i = 0; i < num; i++) { + for (i = 0; i < static_cast<size_t>(num); i++) { cfg->SetPath(wxT("/jobs")); s.Printf(wxT("%u"), i); if (!cfg->HasGroup(s)) @@ -1541,6 +1549,8 @@ cfg->Write(wxU("warn_usage"), options.warn_usage); cfg->Write(wxU("gui_debugging"), options.gui_debugging); cfg->Write(wxU("set_delay_from_filename"), options.set_delay_from_filename); + cfg->Write(wxU("disable_a_v_compression"), options.disable_a_v_compression); + cfg->Write(wxU("check_for_updates"), options.check_for_updates); cfg->Write(wxU("popular_languages"), join(wxU(" "), options.popular_languages)); cfg->Flush(); @@ -1575,6 +1585,8 @@ cfg->Read(wxU("warn_usage"), &options.warn_usage, true); cfg->Read(wxU("gui_debugging"), &options.gui_debugging, false); cfg->Read(wxU("set_delay_from_filename"), &options.set_delay_from_filename, true); + cfg->Read(wxU("disable_a_v_compression"), &options.disable_a_v_compression, false); + cfg->Read(wxU("check_for_updates"), &options.check_for_updates, true); cfg->Read(wxU("popular_languages"), &s, wxEmptyString); options.init_popular_languages(s); @@ -1663,8 +1675,17 @@ void mmg_dialog::on_run_header_editor(wxCommandEvent &evt) { - header_editor_frames.push_back(new header_editor_frame_c(this)); - header_editor_frames.back()->Show(); + create_header_editor_window(); +} + +void +mmg_dialog::create_header_editor_window(const wxString &file_name) { + header_editor_frame_c *frame = new header_editor_frame_c(this); + header_editor_frames.push_back(frame); + frame->Show(); + + if (!file_name.IsEmpty()) + frame->open_file(wxFileName(file_name)); } void @@ -1672,12 +1693,122 @@ header_editor_frames.erase(find(header_editor_frames.begin(), header_editor_frames.end(), frame)); } +#if defined(HAVE_CURL_EASY_H) +void +mmg_dialog::maybe_check_for_updates() { + if (!options.check_for_updates) + return; + + long last_check = 0; + wxConfigBase *cfg = wxConfigBase::Get(); + cfg->SetPath(wxT("/GUI/update_check")); + cfg->Read(wxT("last_check"), &last_check, 0); + if ((last_check + 24 * 60 * 60) <= wxGetLocalTime()) + check_for_updates(false); +} + +void +mmg_dialog::on_check_for_updates(wxCommandEvent &evt) { + check_for_updates(true); +} + +void +mmg_dialog::on_update_check_state_changed(wxCommandEvent &evt) { + wxLogMessage(wxT("update state changed, now %d"), (int)evt.GetId()); + int state = evt.GetId(); + + if (UPDATE_CHECK_START == state) { + if (m_interactive_update_check) { + if (NULL != m_update_check_dlg) { + wxLogMessage(wxT("m_update_check_dlg != NULL on start")); + delete m_update_check_dlg; + } + + m_update_check_dlg = new update_check_dlg_c(this); + m_update_check_dlg->update_status(Z("Checking for updates online; please wait")); + m_update_check_dlg->Show(); + } + + } else if (UPDATE_CHECK_DONE_DIALOG_DISMISSED == state) { + wxMutexLocker locker(m_update_check_mutex); + m_checking_for_updates = false; + + } else { + wxConfigBase *cfg = wxConfigBase::Get(); + cfg->SetPath(wxT("/GUI/update_check")); + + wxMutexLocker locker(m_update_check_mutex); + bool show = m_interactive_update_check; + + if (!m_interactive_update_check && (UPDATE_CHECK_DONE_NEW_RELEASE == state)) { + bool already_shown; + cfg->Read(version_key_for_config(), &already_shown, false); + show = !already_shown; + } + + if ((UPDATE_CHECK_DONE_NO_NEW_RELEASE == state) || (UPDATE_CHECK_DONE_NEW_RELEASE == state)) { + cfg->Write(wxT("last_check"), wxGetLocalTime()); + cfg->Write(version_key_for_config(), true); + } + + if (show) { + if (NULL == m_update_check_dlg) { + m_update_check_dlg = new update_check_dlg_c(this); + m_update_check_dlg->Show(); + } + + m_update_check_dlg->update_status( UPDATE_CHECK_DONE_NO_NEW_RELEASE == state ? Z("You are already running the latest version.") + : UPDATE_CHECK_DONE_NEW_RELEASE == state ? Z("There is a new version available online.") + : Z("There was an error querying the update status.")); + m_update_check_dlg->update_info(m_release_version); + + } else + m_checking_for_updates = false; + + m_update_check_dlg = NULL; + + cfg->Flush(); + } +} + +void +mmg_dialog::check_for_updates(bool interactive) { + wxMutexLocker locker(m_update_check_mutex); + if (m_checking_for_updates) + return; + + m_checking_for_updates = true; + m_interactive_update_check = interactive; + + wxLogMessage(wxT("about to check... btw int? %d"), (int)interactive); + + update_check_thread_c *checker = new update_check_thread_c(this); + checker->Create(); + checker->Run(); +} + +void +mmg_dialog::set_release_version(mtx_release_version_t &release_version) { + wxMutexLocker locker(m_update_check_mutex); + m_release_version = release_version; +} + +wxString +mmg_dialog::version_key_for_config() { + wxString version = wxU(m_release_version.latest_source.to_string()); + wxRegEx re(wxT("[^0-9]")); + re.Replace(&version, wxT("_")); + return wxString::Format(wxT("version_%s"), version.c_str()); +} +#endif // defined(HAVE_CURL_EASY_H) + void mmg_dialog::query_mkvmerge_capabilities() { wxString tmp; wxArrayString output; std::vector<wxString> parts; - int result, i; + size_t i; + int result; wxLogMessage(Z("Querying mkvmerge's capabilities")); tmp = wxT("\"") + options.mkvmerge + wxT("\" --capabilities"); @@ -1765,6 +1896,9 @@ EVT_MENU(ID_M_MUXING_ADD_CLI_OPTIONS, mmg_dialog::on_add_cli_options) EVT_MENU(ID_M_HELP_HELP, mmg_dialog::on_help) EVT_MENU(ID_M_HELP_ABOUT, mmg_dialog::on_about) +#if defined(HAVE_CURL_EASY_H) + EVT_MENU(ID_M_HELP_CHECK_FOR_UPDATES, mmg_dialog::on_check_for_updates) +#endif // defined(HAVE_CURL_EASY_H) EVT_MENU(ID_M_FILE_LOADLAST1, mmg_dialog::on_file_load_last) EVT_MENU(ID_M_FILE_LOADLAST2, mmg_dialog::on_file_load_last) EVT_MENU(ID_M_FILE_LOADLAST3, mmg_dialog::on_file_load_last) @@ -1784,4 +1918,7 @@ EVT_MENU(ID_M_WINDOW_GLOBAL, mmg_dialog::on_window_selected) EVT_MENU(ID_M_WINDOW_CHAPTEREDITOR, mmg_dialog::on_window_selected) EVT_CLOSE(mmg_dialog::on_close) +#if defined(HAVE_CURL_EASY_H) + EVT_COMMAND(wxID_ANY, wxEVT_MTX_UPDATE_CHECK_STATE_CHANGED, mmg_dialog::on_update_check_state_changed) +#endif // defined(HAVE_CURL_EASY_H) END_EVENT_TABLE(); diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg_dialog.h mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_dialog.h --- mkvtoolnix-4.0.0/src/mmg/mmg_dialog.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_dialog.h 2011-01-31 20:34:09.000000000 +0000 @@ -19,6 +19,13 @@ #include <wx/html/helpctrl.h> #include <wx/log.h> +#if defined(HAVE_CURL_EASY_H) +# include <wx/thread.h> + +# include "common/version.h" +# include "mmg/update_checker.h" +#endif // defined(HAVE_CURL_EASY_H) + #include "mmg/mmg.h" #define ID_TC_OUTPUT 10000 @@ -29,6 +36,8 @@ #define ID_B_STARTMUXING 10006 #define ID_B_COPYTOCLIPBOARD 10007 #define ID_B_ADD_TO_JOBQUEUE 10008 +#define ID_HLC_DOWNLOAD_URL 10009 +#define ID_B_UPDATE_CHECK_CLOSE 10010 #define ID_M_FILE_NEW 60000 #define ID_M_FILE_LOAD 60001 @@ -71,6 +80,7 @@ #define ID_M_HELP_ABOUT 65000 #define ID_M_HELP_HELP 65001 +#define ID_M_HELP_CHECK_FOR_UPDATES 65002 #define HELP_ID_CONTENTS 1 #define HELP_ID_INTRODUCTION 10000 @@ -86,6 +96,7 @@ class tab_input; class job_dialog; class header_editor_frame_c; +class mmg_dialog; class mmg_dialog: public wxFrame { DECLARE_CLASS(mmg_dialog); @@ -131,6 +142,13 @@ bool m_taskbar_msg_received; #endif +#if defined(HAVE_CURL_EASY_H) + bool m_checking_for_updates, m_interactive_update_check; + wxMutex m_update_check_mutex; + mtx_release_version_t m_release_version; + update_check_dlg_c *m_update_check_dlg; +#endif // defined(HAVE_CURL_EASY_H) + public: mmg_dialog(); virtual ~mmg_dialog(); @@ -193,6 +211,7 @@ void on_run_header_editor(wxCommandEvent &evt); void header_editor_frame_closed(header_editor_frame_c *frame); + void create_header_editor_window(const wxString &file_name = wxEmptyString); void translate_ui(); @@ -218,6 +237,16 @@ wxString suggest_file_name_extension(); +#if defined(HAVE_CURL_EASY_H) + void maybe_check_for_updates(); + void check_for_updates(bool interactive); + void set_release_version(mtx_release_version_t &release_version); + + void on_check_for_updates(wxCommandEvent &evt); + void on_update_check_state_changed(wxCommandEvent &evt); + wxString version_key_for_config(); +#endif // defined(HAVE_CURL_EASY_H) + protected: #if defined(SYS_WINDOWS) virtual WXLRESULT MSWWindowProc(WXUINT msg, WXWPARAM wParam, WXLPARAM lParam); diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg.h mkvtoolnix-4.5.0+dfsg/src/mmg/mmg.h --- mkvtoolnix-4.0.0/src/mmg/mmg.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg.h 2011-01-31 20:34:09.000000000 +0000 @@ -199,6 +199,8 @@ bool warn_usage; bool gui_debugging; bool set_delay_from_filename; + bool disable_a_v_compression; + bool check_for_updates; wxString priority; wxArrayString popular_languages; @@ -212,6 +214,8 @@ , warn_usage(false) , gui_debugging(false) , set_delay_from_filename(false) + , disable_a_v_compression(false) + , check_for_updates(true) { init_popular_languages(); } @@ -235,7 +239,7 @@ extern bool title_was_present; extern std::map<wxString, wxString> capabilities; -wxString &break_line(wxString &line, int break_after = 80); +wxString &break_line(wxString &line, unsigned int break_after = 80); wxString extract_language_code(wxString source); wxString shell_escape(wxString source, bool cmd_exe_mode = false); std::vector<wxString> split(const wxString &src, const wxString &pattern, int max_num = -1); diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg_options.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_options.cpp --- mkvtoolnix-4.0.0/src/mmg/mmg_options.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg_options.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -21,7 +21,7 @@ void mmg_options_t::init_popular_languages(const wxString &list) { - int i; + size_t i; popular_languages.clear(); diff -Nru mkvtoolnix-4.0.0/src/mmg/mmg-resources.rc mkvtoolnix-4.5.0+dfsg/src/mmg/mmg-resources.rc --- mkvtoolnix-4.0.0/src/mmg/mmg-resources.rc 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mmg-resources.rc 2011-01-31 20:34:09.000000000 +0000 @@ -1,10 +1,10 @@ -MATROSKAICON ICON matroskalogo_big.ico +MATROSKAICON ICON "../../share/icons/windows/mkvmergeGUI.ico" #include "wx/msw/wx.rc" 1 VERSIONINFO - FILEVERSION 4, 0, 0, 0 - PRODUCTVERSION 4, 0, 0, 0 + FILEVERSION 4, 5, 0, 0 + PRODUCTVERSION 4, 5, 0, 0 FILEFLAGSMASK 0x3f FILEOS 0x4 BEGIN @@ -14,12 +14,12 @@ BEGIN VALUE "CompanyName", "Moritz Bunkus" VALUE "FileDescription", "mmg" - VALUE "FileVersion", "4.0.0" + VALUE "FileVersion", "4.5.0" VALUE "InternalName", "mmg" VALUE "LegalCopyright", "Released under the GNU Pulic License http://www.gnu.org/licenses/gpl-2.0.html" VALUE "OriginalFilename", "mmg" VALUE "ProductName", "MKVToolNix" - VALUE "ProductVersion", "4.0.0" + VALUE "ProductVersion", "4.5.0" END END END diff -Nru mkvtoolnix-4.0.0/src/mmg/mux_dialog.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/mux_dialog.cpp --- mkvtoolnix-4.0.0/src/mmg/mux_dialog.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/mux_dialog.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -36,6 +36,7 @@ #include "common/common_pch.h" #include "common/fs_sys_helpers.h" +#include "common/strings/editing.h" #include "mmg/mmg.h" #include "mmg/mmg_dialog.h" #include "mmg/mux_dialog.h" @@ -135,7 +136,7 @@ if ((*arg_list)[i].Length() == 0) opt_file->Write(wxT("#EMPTY#")); else { - arg_utf8 = wxMB((*arg_list)[i]); + arg_utf8 = escape(wxMB((*arg_list)[i])); opt_file->Write(arg_utf8.c_str(), arg_utf8.length()); } opt_file->Write(wxT("\n")); @@ -311,8 +312,8 @@ #if defined(SYS_WINDOWS) change_abort_button(); - if ((NULL != m_taskbar_progress) && (0 != status)) - m_taskbar_progress->set_state(TBPF_ERROR); + if (NULL != m_taskbar_progress) + m_taskbar_progress->set_state(0 != status ? TBPF_ERROR : TBPF_NOPROGRESS); #else // SYS_WINDOWS b_abort->Enable(false); #endif // SYS_WINDOWS diff -Nru mkvtoolnix-4.0.0/src/mmg/options/languages.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/options/languages.cpp --- mkvtoolnix-4.0.0/src/mmg/options/languages.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/languages.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -40,8 +40,8 @@ // Setup static variables. if (s_languages.IsEmpty()) { - int start = 0; - int sic_idx; + size_t start = 0; + size_t sic_idx; for (sic_idx = 0; sorted_iso_codes.Count() > sic_idx; ++sic_idx) if (sorted_iso_codes[sic_idx] == Z("---all---")) { start = sic_idx + 1; @@ -58,9 +58,9 @@ // Set the defaults. - int pl_idx; + size_t pl_idx; for (pl_idx = 0; m_options.popular_languages.Count() > pl_idx; ++pl_idx) { - int lang_idx; + size_t lang_idx; for (lang_idx = 0; s_languages.Count() > lang_idx; ++lang_idx) if (extract_language_code(s_languages[lang_idx]) == m_options.popular_languages[pl_idx]) { lb_popular_languages->SetSelection(lang_idx); @@ -106,7 +106,7 @@ m_options.popular_languages.Clear(); - int idx; + size_t idx; for (idx = 0; selections.Count() > idx; ++idx) m_options.popular_languages.Add(extract_language_code(lb_popular_languages->GetString(selections[idx]))); } diff -Nru mkvtoolnix-4.0.0/src/mmg/options/Makefile.in mkvtoolnix-4.5.0+dfsg/src/mmg/options/Makefile.in --- mkvtoolnix-4.0.0/src/mmg/options/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/mmg/options/mkvmerge.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/options/mkvmerge.cpp --- mkvtoolnix-4.0.0/src/mmg/options/mkvmerge.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/mkvmerge.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -63,7 +63,7 @@ cob_priority->SetToolTip(TIP("Sets the priority that mkvmerge will run with.")); - int i; + size_t i; for (i = 0; cob_priority_translations.entries.size() > i; ++i) cob_priority->Append(cob_priority_translations.entries[i].translated); diff -Nru mkvtoolnix-4.0.0/src/mmg/options/mmg.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/options/mmg.cpp --- mkvtoolnix-4.0.0/src/mmg/options/mmg.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/mmg.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -30,6 +30,7 @@ #include "common/strings/editing.h" #include "common/translation.h" #include "common/wx.h" +#include "mmg/cli_options_dlg.h" #include "mmg/mmg_dialog.h" #include "mmg/mmg.h" #include "mmg/options/mmg.h" @@ -96,6 +97,17 @@ "are shown at least once even if you turn " "this feature off.")); + cb_disable_header_removal_compression = new wxCheckBox(this, ID_CB_DISABLE_HRC, Z("Disable header removal compression for audio and video tracks by default")); + cb_disable_header_removal_compression->SetToolTip(TIP("If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. " + "The user can still change the compression setting afterwards.")); + +#if defined(HAVE_CURL_EASY_H) + cb_check_for_updates = new wxCheckBox(this, ID_CB_CHECK_FOR_UPDATES, Z("Check online for the latest release")); + cb_check_for_updates->SetToolTip(TIP("Check online whether or not a new release of MKVToolNix is available on the home page. " + "Will only check when mmg starts and at most once a day. " + "No information is transmitted to the server.")); +#endif // defined(HAVE_CURL_EASY_H) + cb_gui_debugging = new wxCheckBox(this, ID_CB_GUI_DEBUGGING, Z("Show mmg's debug window")); cb_gui_debugging->SetToolTip(TIP("Shows mmg's debug window in which debug messages will appear. " "This is only useful if you're helping the author debug a problem in mmg.")); @@ -142,6 +154,7 @@ cb_warn_usage->SetValue(m_options.warn_usage); cb_gui_debugging->SetValue(m_options.gui_debugging); cb_set_delay_from_filename->SetValue(m_options.set_delay_from_filename); + cb_disable_header_removal_compression->SetValue(m_options.disable_a_v_compression); rb_odm_input_file->SetValue(m_options.output_directory_mode == ODM_FROM_FIRST_INPUT_FILE); rb_odm_previous->SetValue(m_options.output_directory_mode == ODM_PREVIOUS); @@ -151,6 +164,10 @@ set_combobox_selection(cob_ui_language, select_locale); #endif // HAVE_LIBINTL_H +#if defined(HAVE_CURL_EASY_H) + cb_check_for_updates->SetValue(m_options.check_for_updates); +#endif // defined(HAVE_CURL_EASY_H) + enable_output_filename_controls(m_options.autoset_output_filename); // Create the layout. @@ -218,6 +235,14 @@ siz_all->Add(cb_warn_usage, 0, wxLEFT, 5); siz_all->AddSpacer(5); + siz_all->Add(cb_disable_header_removal_compression, 0, wxLEFT, 5); + siz_all->AddSpacer(5); + +#if defined(HAVE_CURL_EASY_H) + siz_all->Add(cb_check_for_updates, 0, wxLEFT, 5); + siz_all->AddSpacer(5); +#endif // defined(HAVE_CURL_EASY_H) + siz_all->Add(cb_gui_debugging, 0, wxLEFT, 5); siz_all->AddSpacer(5); @@ -268,9 +293,13 @@ m_options.warn_usage = cb_warn_usage->IsChecked(); m_options.gui_debugging = cb_gui_debugging->IsChecked(); m_options.set_delay_from_filename = cb_set_delay_from_filename->IsChecked(); + m_options.disable_a_v_compression = cb_disable_header_removal_compression->IsChecked(); m_options.output_directory_mode = rb_odm_input_file->GetValue() ? ODM_FROM_FIRST_INPUT_FILE : rb_odm_previous->GetValue() ? ODM_PREVIOUS : ODM_FIXED; +#if defined(HAVE_CURL_EASY_H) + m_options.check_for_updates = cb_check_for_updates->IsChecked(); +#endif // defined(HAVE_CURL_EASY_H) #if defined(HAVE_LIBINTL_H) std::string new_ui_locale = get_selected_ui_language(); @@ -284,6 +313,7 @@ app->init_ui_locale(); mdlg->translate_ui(); + cli_options_dlg::clear_cli_option_list(); } #endif // HAVE_LIBINTL_H } diff -Nru mkvtoolnix-4.0.0/src/mmg/options/mmg.h mkvtoolnix-4.5.0+dfsg/src/mmg/options/mmg.h --- mkvtoolnix-4.0.0/src/mmg/options/mmg.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/mmg.h 2011-01-31 20:34:09.000000000 +0000 @@ -35,6 +35,8 @@ #define ID_RB_ODM_FIXED 15115 #define ID_COB_UI_LANGUAGE 15116 #define ID_CB_NEW_AFTER_SUCCESSFUL_MUX 15117 +#define ID_CB_DISABLE_HRC 15118 +#define ID_CB_CHECK_FOR_UPDATES 15119 class optdlg_mmg_tab: public optdlg_base_tab { DECLARE_CLASS(optdlg_mmg_tab); @@ -47,6 +49,10 @@ wxCheckBox *cb_filenew_after_successful_mux; wxCheckBox *cb_warn_usage, *cb_gui_debugging; wxCheckBox *cb_set_delay_from_filename; + wxCheckBox *cb_disable_header_removal_compression; +#if defined(HAVE_CURL_EASY_H) + wxCheckBox *cb_check_for_updates; +#endif // defined(HAVE_CURL_EASY_H) wxRadioButton *rb_odm_input_file, *rb_odm_previous, *rb_odm_fixed; wxButton *b_browse_output_directory; diff -Nru mkvtoolnix-4.0.0/src/mmg/options/Rakefile mkvtoolnix-4.5.0+dfsg/src/mmg/options/Rakefile --- mkvtoolnix-4.0.0/src/mmg/options/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/options/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/mmg/Rakefile mkvtoolnix-4.5.0+dfsg/src/mmg/Rakefile --- mkvtoolnix-4.0.0/src/mmg/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/attachments.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/attachments.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/attachments.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/attachments.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -35,7 +35,7 @@ attachments_drop_target_c(tab_attachments *n_owner): owner(n_owner) {}; virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString &dropped_files) { - int i; + size_t i; for (i = 0; i < dropped_files.Count(); i++) owner->add_attachment(dropped_files[i]); @@ -194,7 +194,7 @@ if(dlg.ShowModal() == wxID_OK) { wxArrayString selected_files; - int i; + size_t i; last_open_dir = dlg.GetDirectory(); dlg.GetPaths(selected_files); @@ -286,7 +286,7 @@ void tab_attachments::save(wxConfigBase *cfg) { - uint32_t i, j; + unsigned int i; wxString s; cfg->SetPath(wxT("/attachments")); @@ -298,6 +298,7 @@ cfg->Write(wxT("stored_name"), a->stored_name); cfg->Write(wxT("file_name"), a->file_name); s = wxEmptyString; + size_t j; for (j = 0; j < a->description.Length(); j++) if (a->description[j] == wxT('\n')) s += wxT("!\\N!"); @@ -319,7 +320,8 @@ void tab_attachments::load(wxConfigBase *cfg, int version) { - int num, i; + size_t i; + int num; enable(false); selected_attachment = -1; @@ -427,14 +429,14 @@ void tab_attachments::on_attached_file_enabled(wxCommandEvent &evt) { - int idx = evt.GetSelection(); + size_t idx = evt.GetSelection(); if ((0 <= idx) && (m_attached_files.size() > idx)) m_attached_files[idx]->enabled = clb_attached_files->IsChecked(idx); } void tab_attachments::on_enable_all(wxCommandEvent &evt) { - int idx; + size_t idx; for (idx = 0; m_attached_files.size() > idx; ++idx) { clb_attached_files->Check(idx, true); m_attached_files[idx]->enabled = true; @@ -443,7 +445,7 @@ void tab_attachments::on_disable_all(wxCommandEvent &evt) { - int idx; + size_t idx; for (idx = 0; m_attached_files.size() > idx; ++idx) { clb_attached_files->Check(idx, false); m_attached_files[idx]->enabled = false; diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/chapters.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/chapters.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/chapters.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/chapters.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -29,6 +29,7 @@ #include "common/error.h" #include "common/extern_data.h" #include "common/iso639.h" +#include "common/mm_write_cache_io.h" #include "common/strings/editing.h" #include "common/strings/formatting.h" #include "common/strings/parsing.h" @@ -330,7 +331,7 @@ b_set_values->SetToolTip(TIP("Here you can set the values for the language and the country that you want to apply to all the " "chapters below and including the currently selected entry.")); b_adjust_timecodes->SetLabel(Z("Adjust timecodes")); - b_adjust_timecodes->SetToolTip(TIP("Here you can adjust all the timcdoes of the selected chapter and all its childrend by a specific amount either increasing or decreasing it.")); + b_adjust_timecodes->SetToolTip(TIP("Here you can adjust all the timecodes of the selected chapter and of all its sub-chapters by a specific amount either increasing or decreasing them.")); st_start->SetLabel(Z("Start:")); st_end->SetLabel(Z("End:")); st_uid->SetLabel(Z("UID:")); @@ -521,7 +522,7 @@ void tab_chapters::on_load_chapters(wxCommandEvent &evt) { wxFileDialog dlg(NULL, Z("Choose a chapter file"), last_open_dir, wxEmptyString, - wxString::Format(Z("Chapter files (*.xml;*.txt;*.mka;*.mkv;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.cue|%s"), ALLFILES.c_str()), wxFD_OPEN); + wxString::Format(Z("Chapter files (*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue)|*.xml;*.txt;*.mka;*.mkv;*.mk3d;*.cue|%s"), ALLFILES.c_str()), wxFD_OPEN); if (dlg.ShowModal() == wxID_OK) if (load(dlg.GetPath())) @@ -566,6 +567,8 @@ source_is_kax_file = true; source_is_simple_format = false; + analyzer->close_file(); + } else { new_chapters = parse_chapters(wxMB(name), 0, -1, 0, "", "", true, &source_is_simple_format); @@ -631,7 +634,7 @@ return; wxFileDialog dlg(this, Z("Choose an output file"), last_open_dir, wxEmptyString, - wxString::Format(Z("Matroska files (*.mkv;*.mka)|*.mkv;*.mka|%s"), ALLFILES.c_str()), wxFD_SAVE); + wxString::Format(Z("Matroska files (*.mkv;*.mka;*.mk3d)|*.mkv;*.mka;*.mk3d|%s"), ALLFILES.c_str()), wxFD_SAVE); if (dlg.ShowModal() != wxID_OK) return; @@ -658,6 +661,8 @@ write_chapters_to_matroska_file(); mdlg->set_last_chapters_in_menu(file_name); + + analyzer->close_file(); } void @@ -694,7 +699,7 @@ wxString err; try { - out = new mm_file_io_c(wxMB(file_name), MODE_CREATE); + out = mm_write_cache_io_c::open(wxMB(file_name), 128 * 1024); } catch (...) { err.Printf(Z("Could not open the destination file '%s' for writing. Error code: %d (%s)."), file_name.c_str(), errno, wxUCS(strerror(errno))); wxMessageBox(err, Z("Error opening file"), wxCENTER | wxOK | wxICON_ERROR); @@ -1110,7 +1115,7 @@ KaxChapterDisplay *cdisplay; KaxChapterLanguage *clanguage; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxString label; wxTreeItemId id; @@ -1126,7 +1131,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1147,7 +1152,7 @@ KaxChapterDisplay *cdisplay; KaxChapterCountry *ccountry; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxTreeItemId id; id = tc_chapters->GetSelection(); @@ -1162,7 +1167,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1190,7 +1195,7 @@ tab_chapters::on_chapter_name_changed(wxCommandEvent &evt) { KaxChapterDisplay *cdisplay; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxString label; wxTreeItemId id; @@ -1209,7 +1214,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1286,7 +1291,7 @@ wxTreeItemId id; chapter_node_data_c *t; wxString s; - uint32_t i, n; + size_t i, n; chapter_values_dlg dlg(this); id = tc_chapters->GetSelection(); @@ -1318,7 +1323,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1335,7 +1340,7 @@ wxTreeItemId id; chapter_node_data_c *t; wxString sadjustment; - uint32_t i, n, offset; + size_t i, n, offset; int64_t adjustment, mult; id = tc_chapters->GetSelection(); @@ -1389,7 +1394,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1542,7 +1547,7 @@ tab_chapters::on_add_chapter_name(wxCommandEvent &evt) { KaxChapterDisplay *cdisplay; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxTreeItemId id; wxString s; @@ -1558,7 +1563,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1593,7 +1598,7 @@ tab_chapters::on_remove_chapter_name(wxCommandEvent &evt) { KaxChapterDisplay *cdisplay; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxTreeItemId id; wxString s; @@ -1609,7 +1614,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1634,7 +1639,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1650,7 +1655,7 @@ tab_chapters::on_chapter_name_selected(wxCommandEvent &evt) { KaxChapterDisplay *cdisplay; chapter_node_data_c *t; - uint32_t i, n; + size_t i, n; wxTreeItemId id; wxString s; @@ -1665,7 +1670,7 @@ for (i = 0; i < t->chapter->ListSize(); i++) if (EbmlId(*(*t->chapter)[i]) == KaxChapterDisplay::ClassInfos.GlobalId) { n++; - if (n == (lb_chapter_names->GetSelection() + 1)) { + if (n == static_cast<size_t>(lb_chapter_names->GetSelection() + 1)) { cdisplay = (KaxChapterDisplay *)(*t->chapter)[i]; break; } @@ -1718,7 +1723,7 @@ tab_chapters::on_flag_hidden(wxCommandEvent &evt) { wxTreeItemId selected; chapter_node_data_c *t; - int i; + size_t i; selected = tc_chapters->GetSelection(); if (!selected.IsOk() || (selected == tid_root)) @@ -1742,7 +1747,7 @@ tab_chapters::on_flag_enabled(wxCommandEvent &evt) { wxTreeItemId selected; chapter_node_data_c *t; - int i; + size_t i; selected = tc_chapters->GetSelection(); if (!selected.IsOk() || (selected == tid_root)) diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/input.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/input.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -74,7 +74,7 @@ input_drop_target_c(tab_input *n_owner): owner(n_owner) {} virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString &dropped_files) { - int i; + size_t i; for (i = 0; i < dropped_files.Count(); i++) owner->add_file(dropped_files[i], false); @@ -213,56 +213,18 @@ ti_extra->set_track_mode(t); } -struct file_type_t { - wxString title, extensions; - - file_type_t(const wxString &n_title, const wxString &n_extensions) - : title(n_title) - , extensions(n_extensions) { - } -}; - wxString tab_input::setup_file_type_filter() { if (!media_files.empty()) return media_files; - std::vector<file_type_t> file_types; - - file_types.push_back(file_type_t(Z("A/52 (aka AC3)"), wxU("ac3"))); - file_types.push_back(file_type_t(Z("AAC (Advanced Audio Coding)"), wxU("aac m4a mp4"))); - file_types.push_back(file_type_t(Z("AVC/h.264 elementary streams"), wxU("264 avc h264 x264"))); - file_types.push_back(file_type_t(Z("AVI (Audio/Video Interleaved)"), wxU("avi"))); - file_types.push_back(file_type_t(Z("Dirac"), wxU("drc"))); - file_types.push_back(file_type_t(Z("Dolby TrueHD"), wxU("thd thd+ac3 truehd true-hd"))); - file_types.push_back(file_type_t(Z("DTS/DTS-HD (Digital Theater System)"), wxU("dts dtshd dts-hd"))); - if (capabilities[wxT("FLAC")] == wxT("true")) - file_types.push_back(file_type_t(Z("FLAC (Free Lossless Audio Codec)"), wxU("flac ogg"))); - file_types.push_back(file_type_t(Z("IVF with VP8 video files"), wxU("ivf"))); - file_types.push_back(file_type_t(Z("MP4 audio/video files"), wxU("mp4"))); - file_types.push_back(file_type_t(Z("MPEG audio files"), wxU("mp2 mp3"))); - file_types.push_back(file_type_t(Z("MPEG program streams"), wxU("mpg mpeg m2v evo evob vob"))); - file_types.push_back(file_type_t(Z("MPEG video elementary streams"), wxU("m1v m2v"))); - file_types.push_back(file_type_t(Z("Matroska audio/video files"), wxU("mka mks mkv webm webmv webma"))); - file_types.push_back(file_type_t(Z("QuickTime audio/video files"), wxU("mov"))); - file_types.push_back(file_type_t(Z("Ogg/OGM audio/video files"), wxU("ogg ogm"))); - file_types.push_back(file_type_t(Z("RealMedia audio/video files"), wxU("ra ram rm rmvb rv"))); - file_types.push_back(file_type_t(Z("SRT text subtitles"), wxU("srt"))); - file_types.push_back(file_type_t(Z("SSA/ASS text subtitles"), wxU("ass ssa"))); - file_types.push_back(file_type_t(Z("TTA (The lossless True Audio codec)"), wxU("tta"))); - file_types.push_back(file_type_t(Z("USF text subtitles"), wxU("usf xml"))); - file_types.push_back(file_type_t(Z("VC1 elementary streams"), wxU("vc1"))); - file_types.push_back(file_type_t(Z("VobButtons"), wxU("btn"))); - file_types.push_back(file_type_t(Z("VobSub subtitles"), wxU("idx"))); - file_types.push_back(file_type_t(Z("WAVE (uncompressed PCM audio)"), wxU("wav"))); - file_types.push_back(file_type_t(Z("WAVPACK v4 audio"), wxU("wv"))); - file_types.push_back(file_type_t(Z("WebM audio/video files"), wxU("webm webmv webma"))); + std::vector<file_type_t> &file_types = file_type_t::get_supported(); std::map<wxString, bool> all_extensions_map; wxString filters; foreach(file_type_t &file_type, file_types) { - std::vector<wxString> extensions = split(wxString(file_type.extensions), wxU(" ")); + std::vector<wxString> extensions = split(wxU(file_type.extensions), wxU(" ")); std::vector<wxString> extensions_full; foreach(wxString &extension, extensions) { @@ -278,7 +240,7 @@ } wxString filter_ext = join(wxT(";"), extensions_full); - filters += wxString::Format(wxT("|%s (%s)|%s"), file_type.title.c_str(), filter_ext.c_str(), filter_ext.c_str()); + filters += wxString::Format(wxT("|%s (%s)|%s"), wxU(file_type.title).c_str(), filter_ext.c_str(), filter_ext.c_str()); } std::vector<wxString> all_extensions; @@ -299,7 +261,7 @@ return; wxArrayString selected_files; - int i; + size_t i; dlg.GetPaths(selected_files); for (i = 0; i < selected_files.Count(); i++) @@ -322,7 +284,7 @@ wxString name, command, video_track_name, opt_file_name; wxArrayString output, errors; std::vector<wxString> args, pair; - int result, pos, new_file_pos; + int new_file_pos, result; unsigned int i, k; wxFile *opt_file; std::string arg_utf8; @@ -352,7 +314,7 @@ } opt_file->Write(wxT("--output-charset\nUTF-8\n--identify-for-mmg\n")); - arg_utf8 = wxMB(file_name); + arg_utf8 = escape(wxMB(file_name)); opt_file->Write(arg_utf8.c_str(), arg_utf8.length()); opt_file->Write(wxT("\n")); delete opt_file; @@ -376,7 +338,8 @@ if (3 == result) { wxString container = Z("unknown"); - if (output.Count() && (0 <= (pos = output[0].Find(wxT("container:"))))) + int pos; + if (output.Count() && (wxNOT_FOUND != (pos = output[0].Find(wxT("container:"))))) container = output[0].Mid(pos + 11); wxString info; @@ -431,6 +394,8 @@ default_track_found_for['s'] = -1 != default_track_checked('s'); for (i = 0; i < output.Count(); i++) { + int pos; + if (output[i].Find(wxT("Track")) == 0) { mmg_track_cptr track(new mmg_track_t); @@ -533,7 +498,12 @@ cfg->Flush(); } - } else if ((pos = output[i].Find(wxT("container:"))) > 0) { + if ( mdlg->options.disable_a_v_compression + && !track->appending + && (('v' == track->type) || ('a' == track->type))) + track->compression = wxU("none"); + + } else if ((pos = output[i].Find(wxT("container:"))) != wxNOT_FOUND) { wxString container = output[i].Mid(pos + 11).BeforeFirst(wxT(' ')); wxString info = output[i].Mid(pos + 11).AfterFirst(wxT('[')).BeforeLast(wxT(']')); @@ -658,7 +628,7 @@ else { do { ++new_file_pos; - } while ((files.size() > new_file_pos) && files[new_file_pos]->appending); + } while ((files.size() > static_cast<size_t>(new_file_pos)) && files[new_file_pos]->appending); } } @@ -697,9 +667,9 @@ // Then I have to skip over all the other tracks that are already appended // to that n'th track. The insertion point is right after that. if (append) { - int nth_old_track = 0; - new_track_pos = 0; - while ((tracks.size() > new_track_pos) && (nth_old_track < (i + 1))) { + unsigned int nth_old_track = 0; + new_track_pos = 0; + while ((tracks.size() > static_cast<size_t>(new_track_pos)) && (nth_old_track < (i + 1))) { if (tracks[new_track_pos]->source == (new_file_pos - 1)) ++nth_old_track; ++new_track_pos; @@ -710,7 +680,7 @@ // at the end and let the user figure out which track he really wants // to append it to. if (nth_old_track == (i + 1)) - while ((tracks.size() > new_track_pos) && tracks[new_track_pos]->appending) + while ((tracks.size() > static_cast<size_t>(new_track_pos)) && tracks[new_track_pos]->appending) ++new_track_pos; } else @@ -873,7 +843,7 @@ void tab_input::on_move_track_down(wxCommandEvent &evt) { - if ((0 > selected_track) || (selected_track >= tracks.size() - 1)) + if ((0 > selected_track) || (static_cast<size_t>(selected_track) >= tracks.size() - 1)) return; // Appended tracks may not be at the top. @@ -897,7 +867,7 @@ current_track++; b_track_up->Enable(true); - b_track_down->Enable(current_track < (tracks.size() - 1)); + b_track_down->Enable(current_track < static_cast<int>(tracks.size() - 1)); selected_track = current_track; dont_copy_values_now = false; @@ -929,7 +899,7 @@ mmg_track_t *t = tracks[new_sel]; b_track_up->Enable(new_sel > 0); - b_track_down->Enable(new_sel < (tracks.size() - 1)); + b_track_down->Enable(new_sel < static_cast<int>(tracks.size() - 1)); set_track_mode(t); @@ -1246,7 +1216,7 @@ strip(s); if (s.length() > 0) { std::vector<wxString> entries = split(s, (wxString)wxT(",")); - int i; + size_t i; for (i = 0; i < entries.size(); i++) { std::vector<wxString> pair = split(entries[i], (wxString)wxT(":")); if (pair.size() != 2) @@ -1256,14 +1226,14 @@ "Moritz Bunkus <moritz@bunkus.org>\n\n" "(Problem occured in tab_input::load(), #1)")); long tidx; - if (!pair[0].ToLong(&fidx) || !pair[1].ToLong(&tidx) || (fidx >= files.size())) + if (!pair[0].ToLong(&fidx) || !pair[1].ToLong(&tidx) || (fidx >= static_cast<long>(files.size()))) wxdie(Z("The job file could not have been parsed correctly.\n" "Either it is invalid / damaged, or you've just found\n" "a bug in mmg. Please report this to the author\n" "Moritz Bunkus <moritz@bunkus.org>\n\n" "(Problem occured in tab_input::load(), #2)")); bool found = false; - int j; + size_t j; for (j = 0; j < files[fidx]->tracks.size(); j++) if (files[fidx]->tracks[j]->id == tidx) { found = true; @@ -1383,7 +1353,7 @@ strip(s); if (s.length() > 0) { bool dot_present = false; - int i = 0; + size_t i = 0; bool ok = true; while (i < s.length()) { if (isdigit(s[i]) || (!dot_present && ((s[i] == '.') || (s[i] == ',')))) { diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/input_extra.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_extra.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/input_extra.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_extra.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -52,7 +52,6 @@ siz_fg->Add(st_cues, 0, wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); cob_cues = new wxMTX_COMBOBOX_TYPE(this, ID_CB_CUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); - cob_cues->SetToolTip(TIP("Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations.")); cob_cues->SetSizeHints(0, -1); siz_fg->Add(cob_cues, 1, wxGROW | wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); @@ -61,8 +60,6 @@ siz_fg->Add(st_compression, 0, wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); cob_compression = new wxMTX_COMBOBOX_TYPE(this, ID_CB_COMPRESSION, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); - cob_compression->SetToolTip(TIP("Sets the compression used for VobSub subtitles. If nothing is chosen then the " - "VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger.")); cob_compression->SetSizeHints(0, -1); siz_fg->Add(cob_compression, 1, wxGROW | wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); @@ -71,9 +68,6 @@ siz_fg->Add(st_user_defined, 0, wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); tc_user_defined = new wxTextCtrl(this, ID_TC_USER_DEFINED, wxEmptyString); - tc_user_defined->SetToolTip(TIP("Free-form edit field for user defined options for this track. What you input here is added after all the other options " - "mmg adds so that you could overwrite any of mmg's options for this track. " - "All occurences of the string \"<TID>\" will be replaced by the track's track ID.")); tc_user_defined->SetSizeHints(0, -1); tc_user_defined->Enable(false); siz_fg->Add(tc_user_defined, 1, wxGROW | wxALIGN_CENTER_VERTICAL | wxALL, STDSPACING); @@ -93,12 +87,12 @@ cob_cues_translations.add(wxT("for all frames"), Z("for all frames")); cob_cues_translations.add(wxT("none"), Z("none")); - int i; + size_t i; if (0 == cob_cues->GetCount()) for (i = 0; cob_cues_translations.entries.size() > i; ++i) cob_cues->Append(cob_cues_translations.entries[i].translated); else { - int selection = cob_cues->GetSelection(); + size_t selection = cob_cues->GetSelection(); for (i = 0; cob_cues_translations.entries.size() > i; ++i) cob_cues->SetString(i, cob_cues_translations.entries[i].translated); cob_cues->SetSelection(selection); @@ -130,8 +124,9 @@ st_cues->SetLabel(Z("Cues:")); cob_cues->SetToolTip(TIP("Selects for which blocks mkvmerge will produce index entries ( = cue entries). \"default\" is a good choice for almost all situations.")); st_compression->SetLabel(Z("Compression:")); - cob_compression->SetToolTip(TIP("Sets the compression used for VobSub subtitles. If nothing is chosen then the " - "VobSubs will be automatically compressed with zlib. 'none' results is files that are a lot larger.")); + cob_compression->SetToolTip(TIP("Sets the compression algorithm to be used for this track. " + "If no option is selected mkvmerge will decide whether or not to compress and which algorithm to use based on the track type. " + "Most track types are not compressed at all. ")); st_user_defined->SetLabel(Z("User defined options:")); tc_user_defined->SetToolTip(TIP("Free-form edit field for user defined options for this track. What you input here is added after all the other options " "mmg adds so that you could overwrite any of mmg's options for this track. " @@ -143,18 +138,16 @@ void tab_input_extra::set_track_mode(mmg_track_t *t) { - bool enable = (NULL != t) && !t->appending; - bool normal_track = (NULL != t) && (('a' == t->type) || ('s' == t->type) || ('v' == t->type)); - wxString ctype = t ? t->ctype : wxT(""); - - ctype.MakeLower(); - - st_cues->Enable(enable && normal_track); - cob_cues->Enable(enable && normal_track); - st_compression->Enable((ctype.Find(wxT("vobsub")) >= 0) && !t->appending); - cob_compression->Enable((ctype.Find(wxT("vobsub")) >= 0) && !t->appending); - st_user_defined->Enable((NULL != t) && normal_track); - tc_user_defined->Enable((NULL != t) && normal_track); + bool not_appending = (NULL != t) && !t->appending; + bool normal_track = (NULL != t) && (('a' == t->type) || ('s' == t->type) || ('v' == t->type)); + wxString ctype = t ? t->ctype.Lower() : wxT(""); + + st_cues->Enable(not_appending && normal_track); + cob_cues->Enable(not_appending && normal_track); + st_compression->Enable(not_appending && normal_track); + cob_compression->Enable(not_appending && normal_track); + st_user_defined->Enable(normal_track); + tc_user_defined->Enable(normal_track); if (NULL != t) return; diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/input_format.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_format.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/input_format.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_format.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -26,6 +26,7 @@ #include "common/common_pch.h" #include "common/extern_data.h" #include "common/iso639.h" +#include "common/stereo_mode.h" #include "merge/mkvmerge.h" #include "mmg/mmg.h" #include "mmg/mmg_dialog.h" @@ -159,20 +160,20 @@ void tab_input_format::setup_control_contents() { - int i, selection; + size_t i; + int selection; if (0 == cob_fourcc->GetCount()) for (i = 0; NULL != predefined_fourccs[i]; ++i) cob_fourcc->Append(predefined_fourccs[i]); + unsigned int num_stereo_modes = stereo_mode_c::max_index() + 1; if (0 == cob_stereo_mode->GetCount()) - for (i = 0; 5 > i; ++i) + for (i = 0; num_stereo_modes >= i; ++i) cob_stereo_mode->Append(wxEmptyString); selection = cob_stereo_mode->GetSelection(); - cob_stereo_mode->SetString(1, Z("None")); - cob_stereo_mode->SetString(2, Z("Left eye")); - cob_stereo_mode->SetString(3, Z("Right eye")); - cob_stereo_mode->SetString(4, Z("Both eyes")); + for (i = 1; num_stereo_modes >= i; ++i) + cob_stereo_mode->SetString(i, wxString::Format(wxT("%s (%u; %s)"), wxU(stereo_mode_c::translate(i - 1)).c_str(), i - 1, wxU(stereo_mode_c::s_modes[i - 1]).c_str())); cob_stereo_mode->SetSelection(selection); if (0 == cob_fps->GetCount()) { @@ -399,7 +400,9 @@ if (input->dont_copy_values_now || (input->selected_track == -1)) return; - tracks[input->selected_track]->stereo_mode = cob_stereo_mode->GetSelection(); + mmg_track_t *track = tracks[input->selected_track]; + track->stereo_mode = cob_stereo_mode->GetSelection(); + mdlg->set_output_maybe(files[track->source]->file_name); } void diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/input_general.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_general.cpp --- mkvtoolnix-4.0.0/src/mmg/tabs/input_general.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/input_general.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -107,12 +107,12 @@ cob_default_translations.add(wxT("yes"), Z("yes")); cob_default_translations.add(wxT("no"), Z("no")); - int i; + size_t i; if (0 == cob_default->GetCount()) for (i = 0; cob_default_translations.entries.size() > i; ++i) cob_default->Append(wxEmptyString); - int selection = cob_default->GetSelection(); + size_t selection = cob_default->GetSelection(); for (i = 0; cob_default_translations.entries.size() > i; ++i) cob_default->SetString(i, cob_default_translations.entries[i].translated); cob_default->SetSelection(selection); @@ -124,12 +124,12 @@ cob_forced_translations.add(wxT("no"), Z("no")); cob_forced_translations.add(wxT("yes"), Z("yes")); - int i; + size_t i; if (0 == cob_forced->GetCount()) for (i = 0; cob_forced_translations.entries.size() > i; ++i) cob_forced->Append(wxEmptyString); - int selection = cob_forced->GetSelection(); + size_t selection = cob_forced->GetSelection(); for (i = 0; cob_forced_translations.entries.size() > i; ++i) cob_forced->SetString(i, cob_forced_translations.entries[i].translated); cob_forced->SetSelection(selection); @@ -137,7 +137,7 @@ void tab_input_general::setup_languages() { - int i; + size_t i; sorted_iso_codes.Clear(); sorted_iso_codes.Add(Z("und (Undetermined)")); @@ -167,7 +167,7 @@ if ((0 == i) || (temp[i - 1].Lower() != temp[i].Lower())) sorted_iso_codes.Add(temp[i]); - int selection = cob_language->GetSelection(); + size_t selection = cob_language->GetSelection(); cob_language->Clear(); for (i = 0; i < sorted_iso_codes.Count(); i++) cob_language->Append(sorted_iso_codes[i]); diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/Makefile.in mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/Makefile.in --- mkvtoolnix-4.0.0/src/mmg/tabs/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/mmg/tabs/Rakefile mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/Rakefile --- mkvtoolnix-4.0.0/src/mmg/tabs/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/tabs/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/mmg/update_checker.cpp mkvtoolnix-4.5.0+dfsg/src/mmg/update_checker.cpp --- mkvtoolnix-4.0.0/src/mmg/update_checker.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/update_checker.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,145 @@ +/* + mkvmerge GUI -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + update checker thread & dialog + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/os.h" + +#if defined(HAVE_CURL_EASY_H) + +# include <wx/wx.h> +# include <wx/thread.h> + +# include "common/version.h" +# include "mmg/mmg_dialog.h" +# include "mmg/update_checker.h" + +DEFINE_EVENT_TYPE(wxEVT_MTX_UPDATE_CHECK_STATE_CHANGED); +update_check_thread_c::update_check_thread_c(mmg_dialog *mdlg) + : wxThread(wxTHREAD_DETACHED) + , m_mdlg(mdlg) +{ +} + +void * +update_check_thread_c::Entry() { + wxCommandEvent event(wxEVT_MTX_UPDATE_CHECK_STATE_CHANGED, UPDATE_CHECK_START); + wxPostEvent(m_mdlg, event); + + mtx_release_version_t release = get_latest_release_version(); + + if (!release.valid) + event.SetId(UPDATE_CHECK_DONE_ERROR); + + else { + m_mdlg->set_release_version(release); + event.SetId(release.current_version < release.latest_source ? UPDATE_CHECK_DONE_NEW_RELEASE : UPDATE_CHECK_DONE_NO_NEW_RELEASE); + } + + wxPostEvent(m_mdlg, event); + + return NULL; +} + +// ------------------------------------------------------------ + +update_check_dlg_c::update_check_dlg_c(wxWindow *parent) + : wxDialog(parent, -1, Z("Online check for updates")) +{ + wxStaticText *st_status_label = new wxStaticText(this, wxID_STATIC, Z("Status:")); + m_st_status = new wxStaticText(this, wxID_STATIC, wxEmptyString); + + wxStaticText *st_current_version_label = new wxStaticText(this, wxID_STATIC, Z("Current version:")); + wxStaticText *st_current_version = new wxStaticText(this, wxID_STATIC, wxU(get_current_version().to_string())); + + wxStaticText *st_available_version_label = new wxStaticText(this, wxID_STATIC, Z("Available version:")); + m_st_available_version = new wxStaticText(this, wxID_STATIC, wxEmptyString); + + wxStaticText *st_download_url_label = new wxStaticText(this, wxID_STATIC, Z("Download URL:")); + m_hlc_download_url = new wxHyperlinkCtrl(this, ID_HLC_DOWNLOAD_URL, wxEmptyString, wxEmptyString); + + m_b_close = new wxButton(this, ID_B_UPDATE_CHECK_CLOSE, Z("&Close")); + m_b_close->Enable(false); + + wxFlexGridSizer *siz_fg = new wxFlexGridSizer(2, 5, 5); + siz_fg->AddGrowableCol(0); + siz_fg->AddGrowableCol(1); + + siz_fg->Add(st_status_label); + siz_fg->Add(m_st_status); + + siz_fg->Add(st_current_version_label); + siz_fg->Add(st_current_version); + + siz_fg->Add(st_available_version_label); + siz_fg->Add(m_st_available_version); + + siz_fg->Add(st_download_url_label); + siz_fg->Add(m_hlc_download_url); + + wxBoxSizer *siz_button = new wxBoxSizer(wxHORIZONTAL); + siz_button->AddStretchSpacer(); + siz_button->Add(m_b_close); + + m_siz_all = new wxBoxSizer(wxVERTICAL); + m_siz_all->Add(siz_fg, 0, wxALL | wxGROW, 5); + m_siz_all->Add(siz_button, 0, wxLEFT | wxRIGHT | wxBOTTOM | wxGROW, 5); + + SetSizer(m_siz_all); +} + +void +update_check_dlg_c::update_status(const wxString &status) { + m_st_status->SetLabel(status); + readjust(); +} + +void +update_check_dlg_c::update_info(mtx_release_version_t &release) { + if (release.valid) { + m_st_available_version->SetLabel(wxU(release.latest_source.to_string())); + m_hlc_download_url->SetLabel(wxU(release.source_download_url)); + m_hlc_download_url->SetURL(wxU(release.source_download_url)); + } + m_b_close->Enable(true); + readjust(); +} + +void +update_check_dlg_c::readjust() { + m_siz_all->RecalcSizes(); + m_siz_all->SetSizeHints(this); + CenterOnParent(); +} + +void +update_check_dlg_c::on_close(wxCloseEvent &evt) { + close_dialog(); +} + +void +update_check_dlg_c::on_close_pressed(wxCommandEvent &evt) { + close_dialog(); +} + +void +update_check_dlg_c::close_dialog() { + wxCommandEvent event(wxEVT_MTX_UPDATE_CHECK_STATE_CHANGED, UPDATE_CHECK_DONE_DIALOG_DISMISSED); + wxPostEvent(GetParent(), event); + Destroy(); +} + +IMPLEMENT_CLASS(update_check_dlg_c, wxDialog); +BEGIN_EVENT_TABLE(update_check_dlg_c, wxDialog) + EVT_BUTTON(ID_B_UPDATE_CHECK_CLOSE, update_check_dlg_c::on_close_pressed) + EVT_CLOSE(update_check_dlg_c::on_close) +END_EVENT_TABLE(); +#endif // defined(HAVE_CURL_EASY_H) diff -Nru mkvtoolnix-4.0.0/src/mmg/update_checker.h mkvtoolnix-4.5.0+dfsg/src/mmg/update_checker.h --- mkvtoolnix-4.0.0/src/mmg/update_checker.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg/update_checker.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,67 @@ +/* + mkvmerge GUI -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + update checker thread & dialog + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __MMG_UPDATE_CHECKER_H +# define __MMG_UPDATE_CHECKER_H + +# include "common/os.h" + +# if defined(HAVE_CURL_EASY_H) + +# include <wx/button.h> +# include <wx/hyperlink.h> +# include <wx/sizer.h> +# include <wx/thread.h> +# include "common/version.h" + +class mmg_dialog; + +class update_check_thread_c: public wxThread { +private: + mmg_dialog *m_mdlg; + +public: + update_check_thread_c(mmg_dialog *mdlg); + virtual void *Entry(); +}; + +class update_check_dlg_c: public wxDialog { + DECLARE_CLASS(update_check_dlg_c); + DECLARE_EVENT_TABLE(); +private: + wxStaticText *m_st_status, *m_st_current_version, *m_st_available_version, *m_st_download_url_label; + wxHyperlinkCtrl *m_hlc_download_url; + wxButton *m_b_close; + wxBoxSizer *m_siz_all; + +public: + update_check_dlg_c(wxWindow *parent); + void update_status(const wxString &status); + void update_info(mtx_release_version_t &release); + void on_close_pressed(wxCommandEvent &evt); + void on_close(wxCloseEvent &evt); +private: + void readjust(); + void close_dialog(); +}; + +extern const wxEventType wxEVT_MTX_UPDATE_CHECK_STATE_CHANGED; + +# define UPDATE_CHECK_START 1 +# define UPDATE_CHECK_DONE_NO_NEW_RELEASE 2 +# define UPDATE_CHECK_DONE_NEW_RELEASE 3 +# define UPDATE_CHECK_DONE_ERROR 4 +# define UPDATE_CHECK_DONE_DIALOG_DISMISSED 5 + +# endif // defined(HAVE_CURL_EASY_H) +#endif // __MMG_UPDATE_CHECKER_H diff -Nru mkvtoolnix-4.0.0/src/mmg-qt/tab_input.cpp mkvtoolnix-4.5.0+dfsg/src/mmg-qt/tab_input.cpp --- mkvtoolnix-4.0.0/src/mmg-qt/tab_input.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mmg-qt/tab_input.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -36,8 +36,8 @@ raw_list << file_type_and_ext_t(Q(Y("DTS (Digital Theater System)")), Q("dts")); if (m_capabilities[Q("FLAC")] == "true") raw_list << file_type_and_ext_t(Q(Y("FLAC (Free Lossless Audio Codec)")), Q("flac ogg")); - raw_list << file_type_and_ext_t(Q(Y("Matroska audio/video files")), Q("mka mks mkv")); - raw_list << file_type_and_ext_t(Q(Y("MP4 audio/video files")), Q("mp4")); + raw_list << file_type_and_ext_t(Q(Y("Matroska audio/video files")), Q("mka mks mkv mk3d")); + raw_list << file_type_and_ext_t(Q(Y("MP4 audio/video files")), Q("mp4 m4v")); raw_list << file_type_and_ext_t(Q(Y("MPEG audio files")), Q("mp2 mp3")); raw_list << file_type_and_ext_t(Q(Y("MPEG program streams")), Q("mpg mpeg m2v evo evob vob")); raw_list << file_type_and_ext_t(Q(Y("MPEG video elementary streams")), Q("m1v m2v")); diff -Nru mkvtoolnix-4.0.0/src/mpegparser/CircBuffer.cpp mkvtoolnix-4.5.0+dfsg/src/mpegparser/CircBuffer.cpp --- mkvtoolnix-4.0.0/src/mpegparser/CircBuffer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mpegparser/CircBuffer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -40,8 +40,8 @@ int32_t CircBuffer::Skip(uint32_t numBytes){ assert(numBytes > 0); if(can_read(numBytes)){ - int32_t bbw = bytes_before_wrap_read(); //how many bytes we have before the buffer must be wrapped - if(bbw >= numBytes){ + unsigned int bbw = bytes_before_wrap_read(); //how many bytes we have before the buffer must be wrapped + if (bbw >= numBytes) { move_pointer(&read_ptr, numBytes); bytes_in_buf -= numBytes; }else{ @@ -61,8 +61,8 @@ int32_t CircBuffer::Read(binary* dest, uint32_t numBytes){ if(can_read(numBytes)){ - int32_t bbw = bytes_before_wrap_read(); //how many bytes we have before the buffer must be wrapped - if(bbw >= numBytes){ + unsigned int bbw = bytes_before_wrap_read(); //how many bytes we have before the buffer must be wrapped + if (bbw >= numBytes) { memcpy(dest, read_ptr, numBytes); move_pointer(&read_ptr, numBytes); bytes_in_buf -= numBytes; @@ -86,8 +86,8 @@ int32_t CircBuffer::Write(binary* data, uint32_t length){ if(can_write(length)){ - int32_t bbw = bytes_before_wrap_write(); - if(bbw >= length){ + unsigned int bbw = bytes_before_wrap_write(); + if (bbw >= length) { memcpy(write_ptr, data, length); move_pointer(&write_ptr, length); bytes_in_buf += length; diff -Nru mkvtoolnix-4.0.0/src/mpegparser/Makefile.in mkvtoolnix-4.5.0+dfsg/src/mpegparser/Makefile.in --- mkvtoolnix-4.0.0/src/mpegparser/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mpegparser/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/mpegparser/MPEGVideoBuffer.cpp mkvtoolnix-4.5.0+dfsg/src/mpegparser/MPEGVideoBuffer.cpp --- mkvtoolnix-4.0.0/src/mpegparser/MPEGVideoBuffer.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mpegparser/MPEGVideoBuffer.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -21,8 +21,21 @@ **/ #include "MPEGVideoBuffer.h" +#include <cstring> #include <stddef.h> +MPEG2SequenceHeader::MPEG2SequenceHeader() { + memset(this, 0, sizeof(*this)); +} + +MPEG2GOPHeader::MPEG2GOPHeader() { + memset(this, 0, sizeof(*this)); +} + +MPEG2PictureHeader::MPEG2PictureHeader() { + memset(this, 0, sizeof(*this)); +} + int32_t MPEGVideoBuffer::FindStartCode(uint32_t startPos){ //How many bytes can we look through? uint32_t window = myBuffer->GetLength() - startPos; diff -Nru mkvtoolnix-4.0.0/src/mpegparser/MPEGVideoBuffer.h mkvtoolnix-4.5.0+dfsg/src/mpegparser/MPEGVideoBuffer.h --- mkvtoolnix-4.0.0/src/mpegparser/MPEGVideoBuffer.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mpegparser/MPEGVideoBuffer.h 2011-01-31 20:34:09.000000000 +0000 @@ -51,6 +51,8 @@ float frameOrFieldRate; uint8_t profileLevelIndication; uint8_t progressiveSequence; + + MPEG2SequenceHeader(); }MPEG2SequenceHeader; typedef struct MPEG2GOPHeader{ @@ -60,6 +62,8 @@ uint32_t timeSeconds; uint32_t timeMinutes; uint32_t timeHours; + + MPEG2GOPHeader(); }MPEG2GOPHeader; #define MPEG2_PICTURE_TYPE_FRAME 0x03 @@ -73,6 +77,8 @@ uint8_t repeatFirstField; uint8_t topFieldFirst; uint8_t progressive; + + MPEG2PictureHeader(); }MPEG2PictureHeader; class MPEGChunk{ diff -Nru mkvtoolnix-4.0.0/src/mpegparser/Rakefile mkvtoolnix-4.5.0+dfsg/src/mpegparser/Rakefile --- mkvtoolnix-4.0.0/src/mpegparser/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/mpegparser/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/output/Makefile.in mkvtoolnix-4.5.0+dfsg/src/output/Makefile.in --- mkvtoolnix-4.0.0/src/output/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/output/p_ac3.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_ac3.cpp --- mkvtoolnix-4.0.0/src/output/p_ac3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_ac3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -44,6 +44,7 @@ set_track_type(track_audio); set_track_default_duration(m_single_packet_duration); + set_default_compression_method(COMPRESSION_AC3); enable_avi_audio_sync(true); } @@ -60,14 +61,14 @@ ac3_packetizer_c::get_ac3_packet(unsigned long *header, ac3_header_t *ac3header) { unsigned char *packet_buffer = m_byte_buffer.get_buffer(); - int size = m_byte_buffer.get_size(); + size_t size = m_byte_buffer.get_size(); if (NULL == packet_buffer) return NULL; int pos = find_ac3_header(packet_buffer, size, ac3header, m_first_packet || m_first_ac3_header.has_dependent_frames); - if ((0 > pos) || ((pos + ac3header->bytes) > size)) + if ((0 > pos) || (static_cast<size_t>(pos + ac3header->bytes) > size)) return NULL; m_bytes_skipped += pos; diff -Nru mkvtoolnix-4.0.0/src/output/p_avc.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_avc.cpp --- mkvtoolnix-4.0.0/src/output/p_avc.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_avc.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -61,6 +61,9 @@ // duration/FPS itself. if (m_ti.m_ext_timecodes.empty()) m_timecode_factory.clear(); + + if (4 == m_parser.get_nalu_size_length()) + set_default_compression_method(COMPRESSION_MPEG4_P10); } void diff -Nru mkvtoolnix-4.0.0/src/output/p_dirac.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_dirac.cpp --- mkvtoolnix-4.0.0/src/output/p_dirac.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_dirac.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -32,6 +32,7 @@ set_track_type(track_video); set_codec_id(MKV_V_DIRAC); + set_default_compression_method(COMPRESSION_DIRAC); // Dummy values m_seqhdr.pixel_width = 123; diff -Nru mkvtoolnix-4.0.0/src/output/p_dts.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_dts.cpp --- mkvtoolnix-4.0.0/src/output/p_dts.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_dts.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -30,66 +30,43 @@ : generic_packetizer_c(p_reader, p_ti) , m_samples_written(0) , m_bytes_written(0) - , m_packet_buffer(NULL) - , m_buffer_size(0) + , m_packet_buffer(128 * 1024) , m_get_first_header_later(get_first_header_later) , m_first_header(dtsheader) , m_previous_header(dtsheader) , m_skipping_is_normal(false) { set_track_type(track_audio); + set_default_compression_method(COMPRESSION_DTS); } dts_packetizer_c::~dts_packetizer_c() { - safefree(m_packet_buffer); -} - -void -dts_packetizer_c::add_to_buffer(unsigned char *buf, - int size) { - unsigned char *new_buffer = (unsigned char *)saferealloc(m_packet_buffer, m_buffer_size + size); - - memcpy(new_buffer + m_buffer_size, buf, size); - m_packet_buffer = new_buffer; - m_buffer_size += size; -} - -bool -dts_packetizer_c::dts_packet_available() { - if (NULL == m_packet_buffer) - return false; - - dts_header_t dtsheader; - int pos = find_dts_header(m_packet_buffer, m_buffer_size, &dtsheader, m_get_first_header_later ? false : !m_first_header.dts_hd); - - return 0 <= pos; -} - -void -dts_packetizer_c::remove_dts_packet(int pos, - int framesize) { - unsigned char *temp_buf; - - int new_size = m_buffer_size - (pos + framesize); - if (0 != new_size) - temp_buf = (unsigned char *)safememdup(&m_packet_buffer[pos + framesize], new_size); - else - temp_buf = NULL; - safefree(m_packet_buffer); - m_packet_buffer = temp_buf; - m_buffer_size = new_size; } unsigned char * dts_packetizer_c::get_dts_packet(dts_header_t &dtsheader) { - if (NULL == m_packet_buffer) + if (0 == m_packet_buffer.get_size()) return NULL; - int pos = find_dts_header(m_packet_buffer, m_buffer_size, &dtsheader, m_get_first_header_later ? false : !m_first_header.dts_hd); - if (0 > pos) + const unsigned char *buf = m_packet_buffer.get_buffer(); + int buf_size = m_packet_buffer.get_size(); + int pos = find_dts_sync_word(buf, buf_size); + + if (0 > pos) { + if (4 < buf_size) + m_packet_buffer.remove(buf_size - 4); return NULL; + } - if ((pos + dtsheader.frame_byte_size) > m_buffer_size) + if (0 < pos) { + m_packet_buffer.remove(pos); + buf = m_packet_buffer.get_buffer(); + buf_size = m_packet_buffer.get_size(); + } + + pos = find_dts_header(buf, buf_size, &dtsheader, m_get_first_header_later ? false : !m_first_header.dts_hd); + + if ((0 > pos) || (static_cast<int>(pos + dtsheader.frame_byte_size) > buf_size)) return NULL; if (m_get_first_header_later) { @@ -114,7 +91,7 @@ bool all_zeroes = true; for (i = 0; i < pos; ++i) - if (m_packet_buffer[i]) { + if (buf[i]) { all_zeroes = false; break; } @@ -123,11 +100,11 @@ mxwarn_tid(m_ti.m_fname, m_ti.m_id, boost::format(Y("Skipping %1% bytes (no valid DTS header found). This might cause audio/video desynchronisation.\n")) % pos); } - unsigned char *buf = (unsigned char *)safememdup(m_packet_buffer + pos, dtsheader.frame_byte_size); + unsigned char *packet_buf = (unsigned char *)safememdup(buf + pos, dtsheader.frame_byte_size); - remove_dts_packet(pos, dtsheader.frame_byte_size); + m_packet_buffer.remove(pos + dtsheader.frame_byte_size); - return buf; + return packet_buf; } void @@ -140,6 +117,8 @@ else set_audio_channels(m_first_header.audio_channels); + set_track_default_duration(get_dts_packet_length_in_nanoseconds(&m_first_header)); + generic_packetizer_c::set_headers(); } @@ -148,7 +127,7 @@ dts_header_t dtsheader; unsigned char *dts_packet; - add_to_buffer(packet->data->get_buffer(), packet->data->get_size()); + m_packet_buffer.add(packet->data->get_buffer(), packet->data->get_size()); while ((dts_packet = get_dts_packet(dtsheader)) != NULL) { int64_t new_timecode = -1 == packet->timecode ? (int64_t)(((double)m_samples_written * 1000000000.0) / ((double)dtsheader.core_sampling_frequency)) : packet->timecode; diff -Nru mkvtoolnix-4.0.0/src/output/p_dts.h mkvtoolnix-4.5.0+dfsg/src/output/p_dts.h --- mkvtoolnix-4.0.0/src/output/p_dts.h 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_dts.h 2011-01-31 20:34:09.000000000 +0000 @@ -17,15 +17,15 @@ #include "common/common_pch.h" -#include "merge/pr_generic.h" +#include "common/byte_buffer.h" #include "common/dts.h" +#include "merge/pr_generic.h" class dts_packetizer_c: public generic_packetizer_c { private: int64_t m_samples_written, m_bytes_written; - unsigned char *m_packet_buffer; - int m_buffer_size; + byte_buffer_c m_packet_buffer; bool m_get_first_header_later; dts_header_t m_first_header, m_previous_header; @@ -49,10 +49,7 @@ virtual connection_result_e can_connect_to(generic_packetizer_c *src, std::string &error_message); private: - virtual void add_to_buffer(unsigned char *buf, int size); virtual unsigned char *get_dts_packet(dts_header_t &dts_header); - virtual bool dts_packet_available(); - virtual void remove_dts_packet(int pos, int framesize); }; #endif // __P_DTS_H diff -Nru mkvtoolnix-4.0.0/src/output/p_mp3.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_mp3.cpp --- mkvtoolnix-4.0.0/src/output/p_mp3.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_mp3.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -43,6 +43,7 @@ { set_track_type(track_audio); set_track_default_duration(m_single_packet_duration); + set_default_compression_method(COMPRESSION_MP3); enable_avi_audio_sync(true); } diff -Nru mkvtoolnix-4.0.0/src/output/p_mpeg1_2.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg1_2.cpp --- mkvtoolnix-4.0.0/src/output/p_mpeg1_2.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg1_2.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -66,10 +66,10 @@ bool mpeg1_2_video_packetizer_c::put_sequence_headers_into_codec_state(packet_cptr packet) { - unsigned char *buf = packet->data->get_buffer(); - int pos = 4; - int size = packet->data->get_size(); - int marker = get_uint32_be(buf); + unsigned char *buf = packet->data->get_buffer(); + size_t pos = 4; + size_t size = packet->data->get_size(); + unsigned int marker = get_uint32_be(buf); while ((pos < size) && (MPEGVIDEO_SEQUENCE_START_CODE != marker)) { marker <<= 8; @@ -80,9 +80,9 @@ if ((MPEGVIDEO_SEQUENCE_START_CODE != marker) || ((pos + 4) >= size)) return false; - int start = pos - 4; - marker = get_uint32_be(&buf[pos]); - pos += 4; + size_t start = pos - 4; + marker = get_uint32_be(&buf[pos]); + pos += 4; while ((pos < size) && ((MPEGVIDEO_EXT_START_CODE == marker) || (0x00000100 != (marker & 0xffffff00)))) { marker <<= 8; @@ -93,8 +93,8 @@ if (pos >= size) return false; - pos -= 4; - int sh_size = pos - start; + pos -= 4; + size_t sh_size = pos - start; if (NULL == m_hcodec_private) { set_codec_private(&buf[start], sh_size); diff -Nru mkvtoolnix-4.0.0/src/output/p_mpeg4_p10.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg4_p10.cpp --- mkvtoolnix-4.0.0/src/output/p_mpeg4_p10.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg4_p10.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -33,13 +33,15 @@ , m_nalu_size_len_dst(0) , m_max_nalu_size(0) { - m_relaxed_timecode_checking = true; - if ((NULL != m_ti.m_private_data) && (0 < m_ti.m_private_size)) { - setup_nalu_size_len_change(); + setup_nalu_size_len_change(); + + if ((NULL != m_ti.m_private_data) && (0 < m_ti.m_private_size)) set_codec_private(m_ti.m_private_data, m_ti.m_private_size); - } + + if (4 == m_nalu_size_len_dst) + set_default_compression_method(COMPRESSION_MPEG4_P10); } void @@ -78,7 +80,7 @@ m_ref_timecode = packet->timecode; - if (m_nalu_size_len_dst) + if (m_nalu_size_len_dst && (m_nalu_size_len_dst != m_nalu_size_len_src)) change_nalu_size_len(packet); add_packet(packet); @@ -111,6 +113,7 @@ return; m_nalu_size_len_src = (m_ti.m_private_data[4] & 0x03) + 1; + m_nalu_size_len_dst = m_nalu_size_len_src; if (!m_ti.m_nalu_size_length || (m_ti.m_nalu_size_length == m_nalu_size_len_src)) return; @@ -169,7 +172,7 @@ src_pos = 0; int dst_pos = 0; - int i; + size_t i; for (i = 0; nalu_sizes.size() > i; ++i) { int nalu_size = nalu_sizes[i]; diff -Nru mkvtoolnix-4.0.0/src/output/p_mpeg4_p2.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg4_p2.cpp --- mkvtoolnix-4.0.0/src/output/p_mpeg4_p2.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_mpeg4_p2.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -358,7 +358,7 @@ if (mpeg4::p2::extract_size(buffer, size, xtr_width, xtr_height)) { m_size_extracted = true; - if (!m_reader->m_appending && ((xtr_width != m_hvideo_pixel_width) || (xtr_height != m_hvideo_pixel_height))) { + if (!m_reader->m_appending && ((xtr_width != static_cast<uint32_t>(m_hvideo_pixel_width)) || (xtr_height != static_cast<uint32_t>(m_hvideo_pixel_height)))) { set_video_pixel_width(xtr_width); set_video_pixel_height(xtr_height); diff -Nru mkvtoolnix-4.0.0/src/output/p_pcm.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_pcm.cpp --- mkvtoolnix-4.0.0/src/output/p_pcm.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_pcm.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -86,7 +86,7 @@ m_buffer.add(packet->data->get_buffer(), packet->data->get_size()); while (m_buffer.get_size() >= m_packet_size) { - add_packet(new packet_t(new memory_c(m_buffer.get_buffer(), m_packet_size, false), m_samples_output * m_s2tc, m_samples_per_packet * m_s2tc)); + add_packet(new packet_t(clone_memory(m_buffer.get_buffer(), m_packet_size), m_samples_output * m_s2tc, m_samples_per_packet * m_s2tc)); m_buffer.remove(m_packet_size); m_samples_output += m_samples_per_packet; @@ -100,7 +100,7 @@ uint32_t size = m_buffer.get_size(); if (0 < size) { int64_t samples_here = size * 8 / m_channels / m_bits_per_sample; - add_packet(new packet_t(new memory_c(m_buffer.get_buffer(), size, false), m_samples_output * m_s2tc, samples_here * m_s2tc)); + add_packet(new packet_t(clone_memory(m_buffer.get_buffer(), size), m_samples_output * m_s2tc, samples_here * m_s2tc)); m_samples_output += samples_here; m_buffer.remove(size); diff -Nru mkvtoolnix-4.0.0/src/output/p_pgs.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_pgs.cpp --- mkvtoolnix-4.0.0/src/output/p_pgs.cpp 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_pgs.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,55 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + PGS packetizer + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#include "common/common_pch.h" + +#include <matroska/KaxContentEncoding.h> + +#include "common/compression.h" +#include "common/matroska.h" +#include "output/p_pgs.h" + +using namespace libmatroska; + +pgs_packetizer_c::pgs_packetizer_c(generic_reader_c *p_reader, + track_info_c &p_ti) + : generic_packetizer_c(p_reader, p_ti) +{ + set_track_type(track_subtitle); + set_default_compression_method(COMPRESSION_ZLIB); +} + +pgs_packetizer_c::~pgs_packetizer_c() { +} + +void +pgs_packetizer_c::set_headers() { + set_codec_id(MKV_S_HDMV_PGS); + + generic_packetizer_c::set_headers(); + + m_track_entry->EnableLacing(false); +} + +int +pgs_packetizer_c::process(packet_cptr packet) { + add_packet(packet); + + return FILE_STATUS_MOREDATA; +} + +connection_result_e +pgs_packetizer_c::can_connect_to(generic_packetizer_c *src, + std::string &error_message) { + return dynamic_cast<pgs_packetizer_c *>(src) == NULL ? CAN_CONNECT_NO_FORMAT : CAN_CONNECT_YES; +} diff -Nru mkvtoolnix-4.0.0/src/output/p_pgs.h mkvtoolnix-4.5.0+dfsg/src/output/p_pgs.h --- mkvtoolnix-4.0.0/src/output/p_pgs.h 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_pgs.h 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,36 @@ +/* + mkvmerge -- utility for splicing together matroska files + from component media subtypes + + Distributed under the GPL + see the file COPYING for details + or visit http://www.gnu.org/copyleft/gpl.html + + class definition for the PGS output module + + Written by Moritz Bunkus <moritz@bunkus.org>. +*/ + +#ifndef __P_PGS_H +#define __P_PGS_H + +#include "common/common_pch.h" + +#include "common/compression.h" +#include "merge/pr_generic.h" + +class pgs_packetizer_c: public generic_packetizer_c { +public: + pgs_packetizer_c(generic_reader_c *p_reader, track_info_c &p_ti); + virtual ~pgs_packetizer_c(); + + virtual int process(packet_cptr packet); + virtual void set_headers(); + + virtual const char *get_format_name() { + return "PGS"; + } + virtual connection_result_e can_connect_to(generic_packetizer_c *src, std::string &error_message); +}; + +#endif // __P_PGS_H diff -Nru mkvtoolnix-4.0.0/src/output/p_textsubs.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_textsubs.cpp --- mkvtoolnix-4.0.0/src/output/p_textsubs.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_textsubs.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -14,6 +14,7 @@ #include "common/common_pch.h" #include "common/matroska.h" +#include "merge/packet_extensions.h" #include "merge/pr_generic.h" #include "output/p_textsubs.h" @@ -62,8 +63,11 @@ int textsubs_packetizer_c::process(packet_cptr packet) { + ++m_packetno; + if (0 > packet->duration) { - mxwarn_tid(m_ti.m_fname, m_ti.m_id, Y("Ignoring an entry which starts after it ends.\n")); + subtitle_number_packet_extension_c *extension = dynamic_cast<subtitle_number_packet_extension_c *>(packet->find_extension(packet_extension_c::SUBTITLE_NUMBER)); + mxwarn_tid(m_ti.m_fname, m_ti.m_id, boost::format(Y("Ignoring an entry which starts after it ends (%1%).\n")) % (NULL != extension ? extension->get_number() : static_cast<unsigned int>(m_packetno))); return FILE_STATUS_MOREDATA; } diff -Nru mkvtoolnix-4.0.0/src/output/p_truehd.cpp mkvtoolnix-4.5.0+dfsg/src/output/p_truehd.cpp --- mkvtoolnix-4.0.0/src/output/p_truehd.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/p_truehd.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -138,7 +138,7 @@ void truehd_packetizer_c::flush_frames_separate() { - int i; + size_t i; for (i = 0; m_frames.size() > i; ++i) { if (m_frames[i]->is_sync()) m_current_samples_per_frame = m_frames[i]->m_samples_per_frame; @@ -158,9 +158,9 @@ void truehd_packetizer_c::flush_frames_merged() { - int full_size = 0; - int samples = 0; - int i; + size_t full_size = 0; + unsigned int samples = 0; + size_t i; for (i = 0; m_frames.size() > i; ++i) { if (m_frames[i]->is_sync()) m_current_samples_per_frame = m_frames[i]->m_samples_per_frame; @@ -171,7 +171,7 @@ memory_cptr data = memory_c::alloc(full_size); - int offset = 0; + unsigned int offset = 0; for (i = 0; m_frames.size() > i; ++i) { memcpy(data->get_buffer() + offset, m_frames[i]->m_data->get_buffer(), m_frames[i]->m_data->get_size()); offset += m_frames[i]->m_data->get_size(); diff -Nru mkvtoolnix-4.0.0/src/output/Rakefile mkvtoolnix-4.5.0+dfsg/src/output/Rakefile --- mkvtoolnix-4.0.0/src/output/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/output/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/propedit/change.cpp mkvtoolnix-4.5.0+dfsg/src/propedit/change.cpp --- mkvtoolnix-4.0.0/src/propedit/change.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/propedit/change.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -108,7 +108,7 @@ void change_c::parse_ascii_string() { - int i; + size_t i; for (i = 0; m_value.length() > i; ++i) if (127 < static_cast<unsigned char>(m_value[i])) mxerror(boost::format(Y("The property value contains non-ASCII characters, but the property is not a Unicode string in '%1%'. %2%\n")) % get_spec() % FILE_NOT_MODIFIED); @@ -173,8 +173,8 @@ void change_c::execute_delete() { - int idx = 0; - int num_deleted = 0; + size_t idx = 0; + unsigned int num_deleted = 0; while (m_master->ListSize() > idx) { if (m_property.m_callbacks->GlobalId == (*m_master)[idx]->Generic().GlobalId) { m_master->Remove(idx); @@ -189,8 +189,8 @@ void change_c::execute_add_or_set() { - int idx; - int num_found = 0; + size_t idx; + unsigned int num_found = 0; for (idx = 0; m_master->ListSize() > idx; ++idx) { if (m_property.m_callbacks->GlobalId != (*m_master)[idx]->Generic().GlobalId) continue; diff -Nru mkvtoolnix-4.0.0/src/propedit/Makefile.in mkvtoolnix-4.5.0+dfsg/src/propedit/Makefile.in --- mkvtoolnix-4.0.0/src/propedit/Makefile.in 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/propedit/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -all %: - @$(MAKE) -C ../.. V=$(V) $@ diff -Nru mkvtoolnix-4.0.0/src/propedit/Rakefile mkvtoolnix-4.5.0+dfsg/src/propedit/Rakefile --- mkvtoolnix-4.0.0/src/propedit/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/propedit/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/propedit/resources.rc mkvtoolnix-4.5.0+dfsg/src/propedit/resources.rc --- mkvtoolnix-4.0.0/src/propedit/resources.rc 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/propedit/resources.rc 2011-01-31 20:34:09.000000000 +0000 @@ -1,10 +1,10 @@ -MATROSKAICON ICON "../mmg/matroskalogo_big.ico" +MATROSKAICON ICON "../../share/icons/windows/mkvmergeGUI.ico" #include "wx/msw/wx.rc" 1 VERSIONINFO - FILEVERSION 4, 0, 0, 0 - PRODUCTVERSION 4, 0, 0, 0 + FILEVERSION 4, 5, 0, 0 + PRODUCTVERSION 4, 5, 0, 0 FILEFLAGSMASK 0x3f FILEOS 0x4 BEGIN @@ -14,12 +14,12 @@ BEGIN VALUE "CompanyName", "Moritz Bunkus" VALUE "FileDescription", "mkvpropedit" - VALUE "FileVersion", "4.0.0" + VALUE "FileVersion", "4.5.0" VALUE "InternalName", "mkvpropedit" VALUE "LegalCopyright", "Released under the GNU Pulic License http://www.gnu.org/licenses/gpl-2.0.html" VALUE "OriginalFilename", "mkvpropedit" VALUE "ProductName", "MKVToolNix" - VALUE "ProductVersion", "4.0.0" + VALUE "ProductVersion", "4.5.0" END END END diff -Nru mkvtoolnix-4.0.0/src/propedit/target.cpp mkvtoolnix-4.5.0+dfsg/src/propedit/target.cpp --- mkvtoolnix-4.0.0/src/propedit/target.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/propedit/target.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -203,10 +203,10 @@ if (target_c::tt_track != m_type) assert(false); - std::map<uint8, int> num_tracks_by_type; - int num_tracks_total = 0; + std::map<uint8, unsigned int> num_tracks_by_type; + unsigned int num_tracks_total = 0; - int i; + size_t i; for (i = 0; level1_element->ListSize() > i; ++i) { if (!is_id((*level1_element)[i], KaxTrackEntry)) continue; diff -Nru mkvtoolnix-4.0.0/src/Rakefile mkvtoolnix-4.5.0+dfsg/src/Rakefile --- mkvtoolnix-4.0.0/src/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,4 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +import ['..', '../..', '../../..'].collect { |subdir| FileList[File.dirname(__FILE__) + "/#{subdir}/build-config.in"].to_a }.flatten.compact.first.gsub(/build-config.in/, 'Rakefile') diff -Nru mkvtoolnix-4.0.0/src/scripts/scan_boost_format_strings.pl mkvtoolnix-4.5.0+dfsg/src/scripts/scan_boost_format_strings.pl --- mkvtoolnix-4.0.0/src/scripts/scan_boost_format_strings.pl 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/scripts/scan_boost_format_strings.pl 2011-01-31 20:34:09.000000000 +0000 @@ -108,14 +108,14 @@ $fishy = 0 if ( $rest =~ m/^\%/ || $rest =~ m/^\d+\%/ - || $rest =~ m/^\|\d+\$\d+[duxX]\|/ + || $rest =~ m/^\|\d+\$\d*[duxX]\|/ || $rest =~ m/^\|\d+\$[\+\-]?\d+[fs]\|/ || $rest =~ m/^\|\d+\$[\+\-]?\d*\.\d+[fs]\|/); my $format = $&; my $checksum = sha1_base64($file_name . $format_cont); if ($fishy) { - push @errors, "Fishy format at ${file_name}:${line_number}:" . ($pos - 1) . " $checksum\n"; + push @errors, "Fishy format at ${file_name}:${line_number} (" . ($pos - 1) . ") $checksum\n"; $pos++; $num_fishs++; @@ -123,7 +123,7 @@ $nth_arg++ if ($format ne '%'); if (($format =~ m/^(\d+)\%$/) || ($format =~ m/^\|(\d+)\$/)) { if (($nth_arg != ($1 * 1)) && !$ignore{$checksum}) { - push @errors, "Bad arg at ${file_name}:${line_number}:" . ($pos - 1) . " (expected $nth_arg, got $1) $checksum\n"; + push @errors, "Bad arg at ${file_name}:${line_number} (" . ($pos - 1) . ") (expected $nth_arg, got $1) $checksum\n"; } $format =~ s/^\|\d+\$/|1\$/; } diff -Nru mkvtoolnix-4.0.0/src/scripts/verify_format_srings_in_translations.rb mkvtoolnix-4.5.0+dfsg/src/scripts/verify_format_srings_in_translations.rb --- mkvtoolnix-4.0.0/src/scripts/verify_format_srings_in_translations.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/scripts/verify_format_srings_in_translations.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,56 @@ +#!/usr/bin/env ruby + +require 'pp' + +def read_entries file_name + entries = Array.new + + IO.readlines(file_name).each_with_index do |line, line_number| + line.gsub! /[\r\n]/, '' + + if /^msgid/.match line + entries << { :id => line, :line_number => line_number + 1 } + + elsif /^msgstr/.match line + entries[-1][:str] = line + + elsif /^"/.match line + entry = entries[-1] + idx = entry[:str] ? :str : :id + entry[idx] = entry[idx][0 .. entry[idx].length - 2] + line[1 .. line.length - 1] + end + end + + entries +end + +def process_file file_name + matcher = /%(?: + % + | \|[0-9$a-zA-Z\.\-]+\| + | -?\.?\s?[0-9]*l?l?[a-zA-Z] + | [0-9]+%? + )/ix + + errors = read_entries(file_name).select { |entry| !entry[:id].nil? && !entry[:str].nil? && (entry[:str] != 'msgstr ""') }.collect do |entry| + formats = Hash[ *[:id, :str].collect { |idx| [idx, entry[idx].scan(matcher).uniq.sort ] }.flatten(1) ] + + missing = formats[:id] - formats[:str] + added = formats[:str] - formats[:id] + + next nil if missing.empty? && added.empty? + + { :line_number => entry[:line_number], + :added => added, + :missing => missing } + end.compact + + errors.each do |error| + messages = [] + messages << ("- " + error[:missing].join(' ')) if !error[:missing].empty? + messages << ("+ " + error[:added ].join(' ')) if !error[:added ].empty? + puts "#{file_name}:#{error[:line_number]}: error: #{messages.join('; ')}" + end +end + +ARGV.each { |file| process_file file } diff -Nru mkvtoolnix-4.0.0/src/src.proj mkvtoolnix-4.5.0+dfsg/src/src.proj --- mkvtoolnix-4.0.0/src/src.proj 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/src.proj 2011-01-31 20:34:09.000000000 +0000 @@ -29,6 +29,7 @@ SOURCE input/r_dts.cpp SOURCE input/r_flac.cpp SOURCE input/r_flv.cpp + SOURCE input/r_ivf.cpp SOURCE input/r_matroska.cpp SOURCE input/r_mp3.cpp SOURCE input/r_mpeg_es.cpp @@ -36,6 +37,7 @@ SOURCE input/r_mpeg_ts.cpp SOURCE input/r_ogm.cpp SOURCE input/r_ogm_flac.cpp + SOURCE input/r_pgssup.cpp SOURCE input/r_qtmp4.cpp SOURCE input/r_real.cpp SOURCE input/r_srt.cpp @@ -62,6 +64,7 @@ SOURCE output/p_mpeg4_p10.cpp SOURCE output/p_passthrough.cpp SOURCE output/p_pcm.cpp + SOURCE output/p_pgs.cpp SOURCE output/p_realaudio.cpp SOURCE output/p_textsubs.cpp SOURCE output/p_theora.cpp @@ -96,6 +99,7 @@ HEADER input/r_dts.h HEADER input/r_flac.h HEADER input/r_flv.h + HEADER input/r_ivf.h HEADER input/r_matroska.h HEADER input/r_mp3.h HEADER input/r_mpeg_es.h @@ -103,6 +107,7 @@ HEADER input/r_mpeg_ts.h HEADER input/r_ogm.h HEADER input/r_ogm_flac.h + HEADER input/r_pgssup.h HEADER input/r_qtmp4.h HEADER input/r_real.h HEADER input/r_srt.h @@ -129,6 +134,7 @@ HEADER output/p_mpeg4_p10.h HEADER output/p_passthrough.h HEADER output/p_pcm.h + HEADER output/p_pgs.h HEADER output/p_realaudio.h HEADER output/p_textsubs.h HEADER output/p_theora.h @@ -196,6 +202,7 @@ SOURCE extract/xtr_avi.cpp SOURCE extract/xtr_base.cpp SOURCE extract/xtr_cpic.cpp + SOURCE extract/xtr_ivf.cpp SOURCE extract/xtr_mpeg1_2.cpp SOURCE extract/xtr_ogg.cpp SOURCE extract/xtr_pgs.cpp @@ -214,6 +221,7 @@ HEADER extract/xtr_avi.h HEADER extract/xtr_base.h HEADER extract/xtr_cpic.h + HEADER extract/xtr_ivf.h HEADER extract/xtr_mpeg1_2.h HEADER extract/xtr_ogg.h HEADER extract/xtr_pgs.h @@ -301,10 +309,12 @@ SOURCE common/dts.cpp SOURCE common/endian.cpp SOURCE common/extern_data.cpp + SOURCE common/file_types.cpp SOURCE common/fs_sys_helpers.cpp SOURCE common/hacks.cpp SOURCE common/id3.cpp SOURCE common/iso639.cpp + SOURCE common/ivf.cpp SOURCE common/kate.cpp SOURCE common/kax_analyzer.cpp SOURCE common/kax_file.cpp @@ -315,6 +325,7 @@ SOURCE(TARGET_WIN) common/mm_io_win.cpp SOURCE common/mm_io.cpp SOURCE common/mm_multi_file_io.cpp + SOURCE common/mm_write_cache_io.cpp SOURCE common/mp3.cpp SOURCE common/mpeg1_2.cpp SOURCE common/mpeg4_p2.cpp @@ -361,9 +372,11 @@ HEADER common/dts.h HEADER common/error.h HEADER common/extern_data.h + HEADER common/file_types.h HEADER common/hacks.h HEADER common/id3.h HEADER common/iso639.h + HEADER common/ivf.h HEADER common/kate.h HEADER common/kax_analyzer.h HEADER common/kax_file.h @@ -373,6 +386,7 @@ HEADER common/memory.h HEADER common/mm_io.h HEADER common/mm_multi_file_io.h + HEADER common/mm_write_cache_io.h HEADER common/mp3.h HEADER common/mpeg1_2.h HEADER common/mpeg4_p2.h diff -Nru mkvtoolnix-4.0.0/src/tools/base64tool.cpp mkvtoolnix-4.5.0+dfsg/src/tools/base64tool.cpp --- mkvtoolnix-4.0.0/src/tools/base64tool.cpp 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/tools/base64tool.cpp 2011-01-31 20:34:09.000000000 +0000 @@ -21,6 +21,7 @@ #include "common/command_line.h" #include "common/common_pch.h" #include "common/mm_io.h" +#include "common/mm_write_cache_io.h" #include "common/strings/editing.h" #include "common/strings/parsing.h" #include "common/version.h" @@ -83,7 +84,7 @@ } try { - out = new mm_file_io_c(argv[3], MODE_CREATE); + out = mm_write_cache_io_c::open(argv[3], 128 * 1024); } catch(...) { mxerror(boost::format(Y("The file '%1%' could not be opened for writing (%2%, %3%).\n")) % argv[3] % errno % strerror(errno)); } diff -Nru mkvtoolnix-4.0.0/src/tools/Makefile mkvtoolnix-4.5.0+dfsg/src/tools/Makefile --- mkvtoolnix-4.0.0/src/tools/Makefile 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/tools/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -all_with_tools: - +make -C .. TOOLS=1 - -APPLICATIONS += src/tools/base64tool$(EXEEXT) src/tools/diracparser$(EXEEXT) src/tools/vc1parser$(EXEEXT) src/tools/ebml_validator$(EXEEXT) -ALL_SOURCES += $(wildcard src/tools/*.cpp) - -vc1parser_SOURCES = src/tools/vc1parser.cpp -vc1parser_OBJECTS = $(patsubst %.cpp,%.o,$(vc1parser_SOURCES)) -vc1parser_DEPENDENCIES = $(DEP_COMMON) -vc1parser_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \ - -lz $(COMPRESSION_LIBRARIES) -lexpat $(ICONV_LIBS) \ - $(LIBINTL_LIBS) $(LIBRPCRT) $(BOOST_REGEX_LIB) - -diracparser_SOURCES = src/tools/diracparser.cpp -diracparser_OBJECTS = $(patsubst %.cpp,%.o,$(diracparser_SOURCES)) -diracparser_DEPENDENCIES = $(DEP_COMMON) -diracparser_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \ - -lz $(COMPRESSION_LIBRARIES) -lexpat $(ICONV_LIBS) \ - $(LIBINTL_LIBS) $(LIBRPCRT) $(BOOST_REGEX_LIB) - -base64tool_SOURCES = src/tools/base64tool.cpp -base64tool_OBJECTS = $(patsubst %.cpp,%.o,$(base64tool_SOURCES)) -base64tool_DEPENDENCIES += $(DEP_COMMON) -base64tool_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml -lexpat $(ICONV_LIBS) \ - $(LIBINTL_LIBS) $(LIBRPCRT) $(BOOST_REGEX_LIB) - -ebml_validator_SOURCES = src/tools/ebml_validator.cpp src/tools/element_info.cpp -ebml_validator_OBJECTS = $(patsubst %.cpp,%.o,$(ebml_validator_SOURCES)) -ebml_validator_DEPENDENCIES = $(DEP_COMMON) -ebml_validator_LDADD = -lmtxcommon $(MAGIC_LIBS) -lmatroska -lebml \ - -lz $(COMPRESSION_LIBRARIES) -lexpat $(ICONV_LIBS) \ - $(LIBINTL_LIBS) $(LIBRPCRT) $(BOOST_REGEX_LIB) - - -base64tool: src/tools/base64tool$(EXEEXT) - -src/tools/base64tool$(EXEEXT): $(base64tool_OBJECTS) $(base64tool_DEPENDENCIES) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(base64tool_OBJECTS) $(base64tool_LDADD) - -diracparser: src/tools/diracparser$(EXEEXT) - -src/tools/diracparser$(EXEEXT): $(diracparser_OBJECTS) $(diracparser_DEPENDENCIES) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(diracparser_OBJECTS) $(diracparser_LDADD) - -vc1parser: src/tools/vc1parser$(EXEEXT) - -src/tools/vc1parser$(EXEEXT): $(vc1parser_OBJECTS) $(vc1parser_DEPENDENCIES) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(vc1parser_OBJECTS) $(vc1parser_LDADD) - -ebml_validator: src/tools/ebml_validator$(EXEEXT) - -src/tools/ebml_validator$(EXEEXT): $(ebml_validator_OBJECTS) $(ebml_validator_DEPENDENCIES) - @echo ' LINK ' $@ - $(Q)$(LINK) -o $@ $(ebml_validator_OBJECTS) $(ebml_validator_LDADD) diff -Nru mkvtoolnix-4.0.0/src/tools/Rakefile mkvtoolnix-4.5.0+dfsg/src/tools/Rakefile --- mkvtoolnix-4.0.0/src/tools/Rakefile 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/src/tools/Rakefile 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,6 @@ +#!/usr/bin/env rake +# -*- mode: ruby; -*- + +$build_tools = true + +import File.dirname(__FILE__) + "/../../Rakefile" diff -Nru mkvtoolnix-4.0.0/tests/new_test mkvtoolnix-4.5.0+dfsg/tests/new_test --- mkvtoolnix-4.0.0/tests/new_test 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/new_test 2011-01-31 20:34:09.000000000 +0000 @@ -16,12 +16,12 @@ class T_${next_num}${name} < Test def description - return "INSERT DESCRIPTION" + "INSERT DESCRIPTION" end def run # INSERT COMMANDS - return nil + hash_tmp end end diff -Nru mkvtoolnix-4.0.0/tests/results.txt mkvtoolnix-4.5.0+dfsg/tests/results.txt --- mkvtoolnix-4.0.0/tests/results.txt 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/results.txt 2011-01-31 20:34:09.000000000 +0000 @@ -1,121 +1,136 @@ -T_001mp3:20765934e54867fc1e752d1d2d4dd778:passed:20040825-175700 -T_002aac:be50078d509ae220099bf168c092dfc5:passed:20040825-175700 -T_003ac3:957aefb9a4a161b121e92d7236dd6ed7:passed:20040825-175700 -T_004aacmp4:be50078d509ae220099bf168c092dfc5:passed:20040825-175700 -T_005flac:312c48c84710092b9463a5d722320712:passed:20040825-175700 -T_006oggflac:0118b2d21959291b3b6b0f2f99a0c1ac:passed:20040825-175700 -T_007oggvorbis:e504d9b09f4e0028219744c9b261b210:passed:20040825-175700 -T_008avi_divx3_mp3:f68f9206152c829cbb382051bc3e6698:passed:20040825-175700 -T_009realvideo_3:5502e51a2986bf5a93551e1a9b4c41b7:passed:20040825-175700 -T_010realvideo_4:d49ca673f4fc130b68c3a6792b96fb22:passed:20040825-175700 -T_011srt:1c36578b1ca5d790ccd767a45f6ef271:passed:20040825-175700 -T_012ssa:048b0931b4cfb8e4ad5530eddaf82039:passed:20040825-175700 -T_013vobsubs:50fd45b344d195989203902446c76da7:passed:20040825-175700 -T_014splitting_by_size:aadb863b645962adc537b7d8990222bc-3e4b01930dceeb02b7a73ba71ff704f2:passed:20040825-175700 -T_015splitting_by_time:cbed576c4fd85cb8254b31a2a535f5c4-e612cd91a5b235ca42c77b83dca8cc54:passed:20040825-175700 -T_016cuesheet:7acfdc020e6f16c06a94ffc387b4ff99:passed:20040825-175700 -T_017chapters:428f7f5950c6c0b8257e7abf9741ed40-055f1552fd43c1b3130d37a21d96c6d6:passed:20040825-175700 -T_018attachments:3fd922ae59e33e6c7def177f2b3b2ea5-fbfb2d48c6b20ab81b5e6967c52d6a60:passed:20040825-175700 -T_019attachments2:93a785615b4acb314559e00149ba69e7-ac4c35c01f873f0376f890afb347c2a8-93a785615b4acb314559e00149ba69e7-888d66e13341715b3eb28105368fbae6:passed:20040825-175700 -T_020languages:8df58062ecd964efaca6346571574a60:passed:20040825-234208 -T_021aspect_ratio:8a2bb4c2326dbaebda626f60562c8d55-022b0ba3595e595b0e71c20b7648533c:passed:20040825-234244 -T_022display_dimensions:ea5ebc87d61a16d7459c36ca2a67ffe1:passed:20040825-234339 -T_023no_x:5e4443837625cf6c96d5389dca5f3fba-25c67f9d2e7dd95855fefb1d8772d53f-2276320ae2ccf9a2239a9aeca91dfb7e:passed:20040825-234343 -T_024sync_mp3:7afdd50e7891e4047f0f26e6004fdb4f-99a066509b1e2e9e04f4c4588241fd17:passed:20040825-234344 -T_025sync_vorbis:1dfa27cc3af205f6d725a6332f374bba-eecc259c607fa09eb777a2c1fc2dd551:passed:20040825-234344 -T_026sync_pcm:c854c70663621a55592b96563c62afe3-3bff96782794aed1e744b77f91d608b9:passed:20040825-234346 -T_027default_track:7fc0c7dbdf3be27ebfce3226e2b7c462:passed:20040825-234348 -T_028compression:804f91ade81f76ab52db2163725e1f46:passed:20040825-234348 -T_029link:all ok:passed:20040825-235039 -T_032cues:1fab49d72b01d2447dd086979ee5205d:passed:20040825-235040 -T_033timecode_scale:0f37bf500123f53eaa2b8766a4c9acd2-a456391b3bb6244f0805972c6cb554a8:passed:20040825-235040 -T_034ac3misdetected_as_mp2:efeb46f0692b47dcdbdf7a90b5401b70:passed:20040920-100447 -T_035X_vfw_video:5bcb3426b2635ae5c89a5e5fe46aa416:passed:20040920-185358 -T_036X_mp3:b3bb67d316e20da12926d5c1d628f6e5:passed:20040920-190109 -T_037X_aac:66ccc4dde4eb9b3109b810b5a2be99ee:passed:20040920-190110 -T_038X_ac3:6ca341797c5f93e273c8502f4d6f4fba:passed:20040920-185449 -T_039X_flac:e0d2c003502fd5eddfc71f63d62b8072:passed:20040920-185252 -T_041X_mp2:a2b37e3016b664cf96f75fa27d23b997:passed:20040920-190645 -T_042X_vorbis:9d154345772ce7c701518869daf405b8:passed:20040920-190645 -T_043X_wav:4484dfcd1a07358fd0d6be8aed81af00:passed:20040920-190646 -T_044X_srt:e811bbfaa7fabc16d14310db3092dbe3:passed:20040920-190646 -T_045X_ssa:702cb49d23f4d1985471c1dc46053576:passed:20040920-190646 -T_046X_chapters:f240df9a576de2cc683e1f4ef0fa6e23:passed:20040920-192348 -T_047X_tags:3f151ff52e43ed1df3c173e5b0c78ee2:passed:20040920-192348 -T_048X_chapters_ogmstyle:5ecb42d20d78b4f73fc2340a2e4f0803:passed:20040920-192349 -T_049ass:e649f56ee62156a897e842983249f107:passed:20040929-113852 -T_050X_ass:6aeb4aef55511282630e9f0e69777c46-d65638e96a393b01deb6d5e132d35552:passed:20040929-113852 -T_051ogm:c510b4b2fac5f6fd81b53f417af514ba:passed:20071223-112225 -T_200mp2_from_mp4:1305b331c27e8e037fe8fbf76a8a2fac:passed:20040917-185156 -T_201avc_from_mp4_with_par:ae34f05ad29603d1febf1eb372f663fb:passed:20050125-224528 -T_202avc_from_mp4_with_par_bframes:f5fb3634fabf127bc9e988b863628df8:passed:20050125-224635 -T_203wavpack_with_correctiondata:1aa3f44f45e42ab6b7952bb36e341f4f:passed:20050201-094411 -T_204wavpack_without_correctiondata:7c8b3f4e0566786ab5ab70899157ed64:passed:20050201-094414 -T_205X_cuesheets:3b00b00c7d185137e30d7e95e3123d33-b3bb67d316e20da12926d5c1d628f6e5:passed:20050210-211853 -T_206X_vobsub:93c40bd212b1165b14b03d00148fecab-f0b88ab55ffda1f9cc447a784829bcba-2c2cb8dd42f5c15e64bc0f62ba2234b4-39e6f66ff3e0287735c4a577487de878-50fd45b344d195989203902446c76da7:passed:20050211-231728 -T_207segmentinfo:9c757dc551197b0bb412ae88a579c3e7:passed:20050211-234856 -T_208cat_and_splitting:aadb863b645962adc537b7d8990222bc-024c9e0af34d9315abe20d4d86b00e67:passed:20050306-152640 -T_209ac3misdeetected_as_mpeges:6ee152d357faa44ba9b1d0f933cc3ef4:passed:20050315-092851 -T_210splitting_and_chapters:be90f7c86d036ad8de4abdffab7d6e65-733f360459937783bad9d98be7332438-d06e458b3784049ff64b226c3229c573-1300df8a87f1ae60e2bfc189b9e73f0b:passed:20050406-165104 -T_211bug_segfault_reading_mp4:2a4a943a2696e4e7438aeff6c95c282f:passed:20050728-083402 -T_212ssa_attachments:62dcdaee603e870573a073a3c9c8af90-9a5a5ed80808c9d448ca5b44b640d8aa-c9a562c38a809df96ba6bd78220bb930-6ee73fb6f296ec5a9d9322c8ec556bc3-4eb416595961ac7062f7cba987c377d8:passed:20050824-131320 -T_213mp4_broken_pixel_dimensions:e8b2986281391e8926c26c60198bd8e0:passed:20050919-094831 -T_214one_frame_avi:8b5003e62e885d084c555f80020f1b30:passed:20051004-192755 -T_215X_codec_extradata_avi:7d80b9e5afff4512045b3e901ffa5480-3fabc505fdd377c05ce4557b1bc13545:passed:20051004-194707 -T_216mp4_editlists:7bb3d911659d0e15cd147bb098b43981:passed:20051118-191453 -T_217file_identification:ef3c502529537c1d3699d0e0487751c3-dd7745b18697c7222e27405eccf39e69-ec4377c7943a03e6991964a05fc27240-33d259663750bd850437be5178f39f37-57f72aff43b852c96e8929495d91bebf-219cf8747fb7698d0bb70f145583a677-d7678dc91cba91a946c22e5b96f3b3b6-3f60e3a03129d1e4610ae668459457cc-c170654ad0688c40fc9e2ceeb9ef0b9f-6b44c4e351ac48b7fdb63355c65783eb-d701319c3f77c58adfee92b1186a3993-12aa395d3bc0431c5acb81bc4407b70f-3e7956db47487933b47241fc7bc76359-52dfc8091ce64db9f8ad44aee34748ec-6b7149a5774a37d214b8085c6409aab3-15beba0108723bff77bf8d88876f8f31-72fabb6ff0194c82321db1c317b11c63-2b03944260062946d1ceabde9c71e007-87cb6b0e3933210309228a79d3a3f823-34b0b13ac1b1b3ced17cbb31df973d62-e592a5d28c92ebb23fe6d7ea901ec0a9-f997737ca7eff867d33ee58af611e741:passed:20051209-180815 -T_218theora:8dab5a55432807fe10fe14962d4b4254-69f94e0413c616484fe9d0cc95a2c2e1:passed:20060428-105054 -T_219srt_short_timecodes:cd5dd246e9ec03aeb8b1d0d945c92589:passed:20060926-112658 -T_220ass_with_comments_at_start:8d13923b326079c0e036e63862ca6326:passed:20060926-120101 -T_221aac_lc_misdetected_as_sbr:aec2d52214eb5ff0574cea97df1597d3:passed:20061103-174221 -T_222stereo_mode:e9e3b61c579d90afdd52d9480a049936-27e18218ec2153e944e5f06d3bd93b1b-39def32470a3b60b8c587476f6ec42ba:passed:20061107-092251 -T_223ra_cook_keyframes:08b7c346362512c20bb0eb3ab4b5756c:passed:20061228-150947 -T_224dts:3efcf8562bdcc7866b046db92f9efa06-3e6b108cb3365ffc26df9756625f6740:passed:20070206-174735 -T_225dts_in_wav:1e9390c11fc2c27cbd9fb9fa05c5c94d-1a5b5a45d7b98f534c454686a17d8fe0:passed:20070206-174726 -T_226h264:cd5c9b484a5860f0d24c424ca00965f1:passed:20070208-103558 -T_227h264_with_garbage:9ecdd5b58022431d04f051b51481439b:passed:20070208-103656 -T_228h264_no_idr_slices:58a7ac8ead3009da496986e033df122d:passed:20070426-103130 -T_229rav3_in_rm:885d327a1eb5d3d70bfe317cb3face86:passed:20070619-220659 -T_230h264_nalu_size_len_change:2abbf077efd8f03c1b1bca05f3670b5f-a96c745031911ac0d0352011a21cb203:passed:20070622-103843 -T_231X_ac3_header_removal:6ca341797c5f93e273c8502f4d6f4fba:passed:20070623-111240 -T_232h264_changing_sps_pps:c229327867e673044183dfe0ba66d69f:passed:20070815-211934 -T_233srt_with_coordinates:e2c135ac94a13136463d45a961fc1972:passed:20070819-203105 -T_234avi_aac_codecid_0x706d:8bb37db99045cf988cbeca7c7ed28cdf:passed:20080223-174500 -T_235wav_fmt_chunk_length:829c91877035d54aa944e292cb397bb5:passed:20080226-134540 -T_236ac3_in_mov:6497719a77d5917fcc56a8ea2964ce5a:passed:20080229-103912 -T_237ac3_in_wav_iec61937_mode:957aefb9a4a161b121e92d7236dd6ed7:passed:20080229-152103 -T_238ac3_in_wav_acm_mode:826e14f12947bdbea83afc88a4bda5c0:passed:20080229-152339 -T_239aac_with_id3_tags:824c4982dcfc3f17c4596002efb8b74b:passed:20080309-170151 -T_240dts_hd:760e8142884a47c53830a4acc2b3985a-6892ffaf58ce99dab4b97c89535b7290:passed:20080309-170749 -T_241ac3_with_id3_tags:957aefb9a4a161b121e92d7236dd6ed7:passed:20080309-183547 -T_242ogm_with_chapters:1b4b6f4597ddfaadfb6c515312f360e3:passed:20080420-204932 -T_243avi_with_audio_garbage:bb8515078e99645b4b1d69ee583c47bc:passed:20080913-185346 -T_244iconv_missing_character:32dfd357760b7401f3b7fb1b9072d02e:passed:20081004-213713 -T_245srt_timecode_formats:443cb5bf7041155c3a630441b23c45e9-443cb5bf7041155c3a630441b23c45e9:passed:20081202-141604 -T_246theora_pixel_aspect_ratio:343b8578dc6ecd1a7e2b6e3ccc33aa7d:passed:20081205-174857 -T_247attachment_selection:acbd7ac07f311632eaaa236a1e2ec9c5-04dd7b68b1e528651c0e833c415b99c0-b0d97d156e0ea6a58de29f59fa73575c-936a87d2bcbee333f4f074443d0ed6df+575c3e701e7b702b1f503e239f06f052:passed:20090228-191612 -T_248mpeg2:4dd09cf1679e0e29a5854f418a07042b-1886bda118c04436486ad5bd0ab586ca:passed:20090531-132819 -T_249mpeg2_no_codecprivate:dedf67cd6018e3228b7ba06f7694687c:passed:20090531-132821 -T_250tag_selection:8011c914a3962469a65476d2e34c0553-22f27b6555a1a29a13ed31703c194fb4-4d46e2b8ae03d20b10a3f8b8dec0f7f3-4df3c4a096dd9efad5f2e7b5a376eef9-1b1a5ce840624e9a3b04bfe622deda47-1b1a5ce840624e9a3b04bfe622deda47-85c445a535014ac48850b74c48f07ca6:passed:20090531-205640 -T_251vc1_truehd_eac3_from_evo:a34b8ce596dd641602cf4143ed521127:passed:20090606-220945 -T_252native_mpeg4:28108549b120fc100de25800c7972b64:passed:20090620-163119 -T_253ui_language:7783b20c4ca919a54b6dbb14c5dddac5-0daf58d02c0e2a26ac76e8b123c6f637-7caf883aaccc2eadf0eb381d109ca66a-2f820ee8e3439156ec88224f53c7bddb-0eac6bc533840659692662bd770506b1-708333b3fb381091660324e35d1a8603-b1b8a4c4e543db2c3a4d8899ab607919-00183fe08e1ca2de7b69e5d99cda7a72-3b2842334556e7cc77fa13b2539a403c-ef2b55241a2638e90ee7bab5182ad67d-7783b20c4ca919a54b6dbb14c5dddac5-0daf58d02c0e2a26ac76e8b123c6f637-edbbc28f651ff23062d9a6c1d6694da8-eb94a79d2155faa86b55739ffd548003-df53b75ab89fb0855e56531e64a82a5c-3eb3cf6188f35e69512b1b4a83158bdd:passed:20090706-235831 -T_254avi_with_subs:5413bf7a60ef4b3e12d2b3887ae53172-5413bf7a60ef4b3e12d2b3887ae53172-d26ae26f5b315f3692dc3823defee875-6bb84413589b7f9dfcff021ae850b8e0-bd9be5a2cb06b2c39d6c023d7e9901a0:passed:20091025-104213 -T_255aspect_ratio_display_dimensions:0[4254x815-4254x815-1212x2424-1800x360-3600x360]1[3600x360-3600x360-1212x2424-1800x360-3600x360]2[7200x360-7200x360-1212x2424-1800x360-3600x360]:passed:20091025-164606 -T_256cropping_stereo_mode:0[S2-1-2-3-4]1[S1-5-6-7-8]:passed:20091025-204854 -T_257theora_v1_1:331f3a1781438b0ee074cf77991e318b-9ab14b6dcfad20cb58c1c6aa3203b12a:passed:20091217-134109 -T_258srt_negative_timecodes:e82765ab7a71a347fa36d43f17a3c4f5:passed:20091226-220350 -T_259mp4_chapters_text_trak:cdb41c44c5610aae7d9da77772088df9-147c53b10d9cdb91cb5d5f343084854e:passed:20091230-221546 -T_260version_numbers:ok:passed:20100120-131720 -T_261line_endings_in_text_files:2f152fbb4f34a2430c055280175d4bda-2f152fbb4f34a2430c055280175d4bda-2f152fbb4f34a2430c055280175d4bda:passed:20100315-151719 -T_262level1_with_size_0:74891137adb818a1092ead13ed53b6ad:passed:20100407-131350 -T_263ass_missing_text_in_format:2640dcc0b1ae1e80baf05e17abfab5ca-273e8eb33584686874e52a94a0304cf7:passed:20100411-181436 -T_264avc_es_from_lavf_with_native_codecid:558b41f9b3193232b91370337e9c3ae8:passed:20100427-123025 -T_265mkvinfo_clusters_with_unknown_size:8b64061e559ad0ca81fd8adb448f9983:passed:20100522-213708 -T_266mkvmerge_clusters_with_unknown_size:a4ab238d6309404acaa948ad6eeef7f4:passed:20100523-154308 -T_267mkvextract_clusters_with_unknown_size:b994ef83db70b5193696121cf1399adf:passed:20100523-154920 -T_268X_vp8:c53158209dbc17baa518129377d74edd:passed:20100527-140446 -T_269X_vp8_without_default_duration:94cbe19ff77f18ae6ec027e15db17983:passed:20100527-143214 -T_270ivf:030b6cba93b802a9dc97218d69821042-6821f8278a08b525c453fd02f4b90f9d-481ad0d1ebc6117551e0a946b7b40593:passed:20100527-145644 -T_271ogg_flac_1_1_1:83da54c34efcce217a3ef16fcd70940f:passed:20100528-150526 -T_272dirac:df217fd56bc14f601431c744aa435465:passed:20100530-144232 +T_001mp3:259c2566a4fd8475c479226e036a8f9a:passed:20040825-175700:0.090841728 +T_002aac:be50078d509ae220099bf168c092dfc5:passed:20040825-175700:0.10413258 +T_003ac3:c041c6953a96568d1e2b8da91622ae6c:passed:20040825-175700:0.211621622 +T_004aacmp4:be50078d509ae220099bf168c092dfc5:passed:20040825-175700:0.110513168 +T_005flac:312c48c84710092b9463a5d722320712:passed:20040825-175700:0.390228628 +T_006oggflac:0118b2d21959291b3b6b0f2f99a0c1ac:passed:20040825-175700:0.138122876 +T_007oggvorbis:e504d9b09f4e0028219744c9b261b210:passed:20040825-175700:0.116081132 +T_008avi_divx3_mp3:ffba189d027a06ff30a3f23aed5f4a74:passed:20040825-175700:0.341198306 +T_009realvideo_3:db00cb965764505ee6d56f6a2eb29f58:passed:20040825-175700:0.422827822 +T_010realvideo_4:afeed27773ca81b5403d77055faf3003:passed:20040825-175700:0.131883388 +T_011srt:692b6f190e8fc39ebc9d256fbb636f44:passed:20040825-175700:0.023974274 +T_012ssa:048b0931b4cfb8e4ad5530eddaf82039:passed:20040825-175700:0.021838823 +T_013vobsubs:d2ec993d4a6186e032afeff8df7373dd:passed:20040825-175700:0.075792057 +T_014splitting_by_size:d30162e492b47a69a9e92d99342c4aa8-073ca4cb8bf5af3e2e6facc69af28e26:passed:20040825-175700:0.25416941 +T_015splitting_by_time:dc2151a325bfc7a04bc6c81ca3c75a17-4b150b2570d2ee6f1b2a2be37455d4a8:passed:20040825-175700:0.355822182 +T_016cuesheet:6e66ab279ec156009e28f889931b6713:passed:20040825-175700:0.061554573 +T_017chapters:5fbd7cbd053f2f5a3d20c7c646d77d7d-75d2ca9210865c771e1358c654254538:passed:20040825-175700:0.110488031 +T_018attachments:8e3b783aa97a1158c937c38afefddec6-28cf9f922c66e178e0c87c12f1eeead4:passed:20040825-175700:0.107079157 +T_019attachments2:85c40d4e7edfa8918b2b2a885b60a980-7469792d9b1d75c8d566eeaf2b0d434d-85c40d4e7edfa8918b2b2a885b60a980-073ca4cb8bf5af3e2e6facc69af28e26:passed:20040825-175700:0.569781878 +T_020languages:2d6afdab67f156a542ad52fb4d1bcc9f:passed:20040825-234208:2.664362331 +T_021aspect_ratio:31aaa532929bda6b71a6fbe8c4e2c7a5-1f2b7c7173a528116da942b38014fb80:passed:20040825-234244:0.514356459 +T_022display_dimensions:38dfa8c28ef5e241eb9e34b80a625759:passed:20040825-234339:0.192789264 +T_023no_x:21457fd605c96b6a63cafbb96ab00034-336fccac171d7a6b3b8635c6634b2536-e871be0ee3f9517a2279becf63ff3040:passed:20040825-234343:5.1592473 +T_024sync_mp3:067b01c749bff2d26d932f88780a660a-1e9aea9b2cac09cdf0b286ca16b7a212:passed:20040825-234344:0.287295676 +T_025sync_vorbis:1dfa27cc3af205f6d725a6332f374bba-eecc259c607fa09eb777a2c1fc2dd551:passed:20040825-234344:0.233511235 +T_026sync_pcm:c854c70663621a55592b96563c62afe3-3bff96782794aed1e744b77f91d608b9:passed:20040825-234346:0.762335495 +T_027default_track:ba9b491cfc042eb133114c5921fa217d:passed:20040825-234348:2.892449112 +T_028compression:e09130d9bdb2a0ab6b72c0f4d1bf448e:passed:20040825-234348:0.104089461 +T_029link:all ok:passed:20040825-235039:1.931040676 +T_032cues:9513b8fd6e548dcbf29848f7a34664cc:passed:20040825-235040:0.420735656 +T_033timecode_scale:1c4a71b016ecfb07918a6a3fc2ada719-f6864edd1bee0081446b357f2dd155d6:passed:20040825-235040:0.365151088 +T_034ac3misdetected_as_mp2:5c6ff9b4c7cc01823f8deb33e1752dfb:passed:20040920-100447:0.053915627 +T_035X_vfw_video:5bcb3426b2635ae5c89a5e5fe46aa416:passed:20040920-185358:0.500151391 +T_036X_mp3:b3bb67d316e20da12926d5c1d628f6e5:passed:20040920-190109:0.249424811 +T_037X_aac:66ccc4dde4eb9b3109b810b5a2be99ee:passed:20040920-190110:0.97727415 +T_038X_ac3:6ca341797c5f93e273c8502f4d6f4fba:passed:20040920-185449:0.460074014 +T_039X_flac:e0d2c003502fd5eddfc71f63d62b8072:passed:20040920-185252:0.376855145 +T_041X_mp2:a2b37e3016b664cf96f75fa27d23b997:passed:20040920-190645:0.566600066 +T_042X_vorbis:9d154345772ce7c701518869daf405b8:passed:20040920-190645:0.486623919 +T_043X_wav:4484dfcd1a07358fd0d6be8aed81af00:passed:20040920-190646:0.750510054 +T_044X_srt:e811bbfaa7fabc16d14310db3092dbe3:passed:20040920-190646:0.340488381 +T_045X_ssa:702cb49d23f4d1985471c1dc46053576:passed:20040920-190646:0.343381836 +T_046X_chapters:f240df9a576de2cc683e1f4ef0fa6e23:passed:20040920-192348:0.04180051 +T_047X_tags:3f151ff52e43ed1df3c173e5b0c78ee2:passed:20040920-192348:0.037000972 +T_048X_chapters_ogmstyle:5ecb42d20d78b4f73fc2340a2e4f0803:passed:20040920-192349:0.017777357 +T_049ass:623d8d0d0d5582ea74cc7eaf28cf3f68:passed:20040929-113852:0.272016617 +T_050X_ass:6aeb4aef55511282630e9f0e69777c46-d65638e96a393b01deb6d5e132d35552:passed:20040929-113852:0.387583041 +T_051ogm:1cbafa3de11fbfd22468bf758a7a312b:passed:20071223-112225:0.33698395 +T_200mp2_from_mp4:8b30f207d2fb452af907455884e6b693:passed:20040917-185156:0.144898384 +T_201avc_from_mp4_with_par:371f6e2399e00db520601d9452096b13:passed:20050125-224528:0.10947371 +T_202avc_from_mp4_with_par_bframes:b96c1b84bff8474273fb5d5c54d36c3a:passed:20050125-224635:0.149068649 +T_203wavpack_with_correctiondata:1aa3f44f45e42ab6b7952bb36e341f4f:passed:20050201-094411:0.041437418 +T_204wavpack_without_correctiondata:7c8b3f4e0566786ab5ab70899157ed64:passed:20050201-094414:0.035798417 +T_205X_cuesheets:3b00b00c7d185137e30d7e95e3123d33-b3bb67d316e20da12926d5c1d628f6e5:passed:20050210-211853:0.276682618 +T_206X_vobsub:93c40bd212b1165b14b03d00148fecab-f0b88ab55ffda1f9cc447a784829bcba-2c2cb8dd42f5c15e64bc0f62ba2234b4-39e6f66ff3e0287735c4a577487de878-d2ec993d4a6186e032afeff8df7373dd:passed:20050211-231728:0.162895256 +T_207segmentinfo:e8c5c31d7168a8837f28dd9d710505d0:passed:20050211-234856:0.091020629 +T_208cat_and_splitting:d30162e492b47a69a9e92d99342c4aa8-8790bfc46ddef7d60d2d14a28baf02b7:passed:20050306-152640:0.813376987 +T_209ac3misdeetected_as_mpeges:0076e5fc4bb87e34db2c831bfdec3591:passed:20050315-092851:0.062952875 +T_210splitting_and_chapters:a9cfb01285a9ccabb531f5d345402233-d906f97b01f4f53813136cf3eb149b93-932e7f6c9e20c8d256fa32a2e205a87e-71098d2949d58f7a62b3d424ba5c5615:passed:20050406-165104:0.491468753 +T_211bug_segfault_reading_mp4:3948002d9107049ce2c33ef0b550c97d:passed:20050728-083402:0.203990767 +T_212ssa_attachments:62dcdaee603e870573a073a3c9c8af90-9a5a5ed80808c9d448ca5b44b640d8aa-c9a562c38a809df96ba6bd78220bb930-6ee73fb6f296ec5a9d9322c8ec556bc3-4eb416595961ac7062f7cba987c377d8:passed:20050824-131320:2.052268706 +T_213mp4_broken_pixel_dimensions:4ab136f8ed75613590de7ded9d4bbb81:passed:20050919-094831:0.060808417 +T_214one_frame_avi:8b5003e62e885d084c555f80020f1b30:passed:20051004-192755:0.033334586 +T_215X_codec_extradata_avi:3876bc3722144c16d4b1aec484d98c34-3fabc505fdd377c05ce4557b1bc13545:passed:20051004-194707:0.082329916 +T_216mp4_editlists:c67d7eda9eda56e99cf4b9a85d2aa0f2:passed:20051118-191453:0.040645125 +T_217file_identification:ef3c502529537c1d3699d0e0487751c3-dd7745b18697c7222e27405eccf39e69-ec4377c7943a03e6991964a05fc27240-33d259663750bd850437be5178f39f37-57f72aff43b852c96e8929495d91bebf-219cf8747fb7698d0bb70f145583a677-d7678dc91cba91a946c22e5b96f3b3b6-3f60e3a03129d1e4610ae668459457cc-c170654ad0688c40fc9e2ceeb9ef0b9f-6b44c4e351ac48b7fdb63355c65783eb-d701319c3f77c58adfee92b1186a3993-12aa395d3bc0431c5acb81bc4407b70f-3e7956db47487933b47241fc7bc76359-52dfc8091ce64db9f8ad44aee34748ec-6b7149a5774a37d214b8085c6409aab3-15beba0108723bff77bf8d88876f8f31-72fabb6ff0194c82321db1c317b11c63-2b03944260062946d1ceabde9c71e007-87cb6b0e3933210309228a79d3a3f823-34b0b13ac1b1b3ced17cbb31df973d62-e592a5d28c92ebb23fe6d7ea901ec0a9-f997737ca7eff867d33ee58af611e741:passed:20051209-180815:0.841701857 +T_218theora:59986cbebb1a61762c16ae591ae8c345-88d9297a7f549c68aea49c3b4abf007a:passed:20060428-105054:0.71619861 +T_219srt_short_timecodes:1350b59f405cabe1107c752f009f2f2a:passed:20060926-112658:0.213195421 +T_220ass_with_comments_at_start:4aad786f675e15a5efd623cb8d822cff:passed:20060926-120101:0.839985533 +T_221aac_lc_misdetected_as_sbr:aec2d52214eb5ff0574cea97df1597d3:passed:20061103-174221:0.021446207 +T_222stereo_mode:38e706ff1feab6cfe2c5fe529eb6f81c-81009b5a731256511eafed6401d86089-7d8639113bca1e08bd9636e931e27230:passed:20061107-092251:5.282790646 +T_223ra_cook_keyframes:08b7c346362512c20bb0eb3ab4b5756c:passed:20061228-150947:4.592656226 +T_224dts:82f463460ce940e845084511b7308445-c2e94ffc5db0b5e9ff80cd9df6991d01:passed:20070206-174735:3.294211551 +T_225dts_in_wav:c4dd95c4c03612f468761b4b376e0b20-bb4c0ecc736bf7858f4db724f6a5afce:passed:20070206-174726:5.474995493 +T_226h264:2044e2d64ddee46460e5d6e0c527688c:passed:20070208-103558:13.467231328 +T_227h264_with_garbage:0ba950c5aca41d5326104f5da4b01fbe:passed:20070208-103656:14.242252439 +T_228h264_no_idr_slices:2522c46ab5190b0ad81265a648797922:passed:20070426-103130:8.717134522 +T_229rav3_in_rm:35570fff88fe058c5654f5fae73ded75:passed:20070619-220659:0.04969563 +T_230h264_nalu_size_len_change:ff6b0ececb03a9f7a9f59683f41aa9b0-d26860b6cc877557ee1e12ec3dbf01bc:passed:20070622-103843:0.385560637 +T_231X_ac3_header_removal:6ca341797c5f93e273c8502f4d6f4fba:passed:20070623-111240:0.13923525 +T_232h264_changing_sps_pps:f929032aa423b3f92bd3e9b48daea54b:passed:20070815-211934:12.174032371 +T_233srt_with_coordinates:4275c20e70d4249f3c82e9413b3efc51:passed:20070819-203105:0.397343706 +T_234avi_aac_codecid_0x706d:096f5c7b313ecd397365a64f61c4f8cf:passed:20080223-174500:3.42145391 +T_235wav_fmt_chunk_length:58e88ff49d74655d05926eb88e43fcb8:passed:20080226-134540:0.424195517 +T_236ac3_in_mov:93a79cc58b08e2fbeae0814d8de2fecd:passed:20080229-103912:0.075465398 +T_237ac3_in_wav_iec61937_mode:c041c6953a96568d1e2b8da91622ae6c:passed:20080229-152103:0.296750854 +T_238ac3_in_wav_acm_mode:cca52e26a2a6f99788ff2dc21f7f55de:passed:20080229-152339:0.056312684 +T_239aac_with_id3_tags:824c4982dcfc3f17c4596002efb8b74b:passed:20080309-170151:0.121431245 +T_240dts_hd:15ba09ebca5f08531b86fb667cb6c01f-0aa1f21da75bddd0e477e1f714d8ef6c:passed:20080309-170749:2.569312073 +T_241ac3_with_id3_tags:c041c6953a96568d1e2b8da91622ae6c:passed:20080309-183547:0.163947712 +T_242ogm_with_chapters:1b4b6f4597ddfaadfb6c515312f360e3:passed:20080420-204932:0.049524344 +T_243avi_with_audio_garbage:51d92ef2c25440bfb1c592e82cba08bb:passed:20080913-185346:0.19121142 +T_244iconv_missing_character:3a0d568b234c0aae17ebf40897e6c637:passed:20081004-213713:0.597966794 +T_245srt_timecode_formats:2fb4f1e1550e6919b76dae4ae64c1a68-2fb4f1e1550e6919b76dae4ae64c1a68:passed:20081202-141604:0.561417813 +T_246theora_pixel_aspect_ratio:ce7e0bb9e7122ae81fdda77c909f01da:passed:20081205-174857:0.096322141 +T_247attachment_selection:78c6920cb7ff8c7ba33f4fb4f815a724-9861a43abe9d65c22ecb9060ea4a6e70-cd005597d2fa1645e7cc17219326b11d-3a3f992c12983ebba60aee0e4235eb7f+9c9b974b6cc55aa913c1c163c05117d3:passed:20090228-191612:0.107274915 +T_248mpeg2:dbfcb0cf5c2b4582165cdb252479f300-9fc49239ae4c078f1016a94d384ada8a:passed:20090531-132819:37.988995074 +T_249mpeg2_no_codecprivate:3b68b55806e974f2aeaf19665a1f1d92:passed:20090531-132821:2.301109793 +T_250tag_selection:f0f55b985f0be4a4b271f47ed92e8f62-2c2a54f534fca06efe05981d022070a6-b22d97ee522b50db77c8abc2cdf15af0-9314c66c777145dc566d4a47a5571fff-71f432d2ef9465794c0ad471017887c2-71f432d2ef9465794c0ad471017887c2-23d5c3955b59bbfe7278ca02c4659824:passed:20090531-205640:2.496974031 +T_251vc1_truehd_eac3_from_evo:c511a94fdd16754716e43689b2369429:passed:20090606-220945:2.081741424 +T_252native_mpeg4:8d91a365780d5208b3ad383b46354a44:passed:20090620-163119:10.611827616 +T_253ui_language:7783b20c4ca919a54b6dbb14c5dddac5-0daf58d02c0e2a26ac76e8b123c6f637-7caf883aaccc2eadf0eb381d109ca66a-2f820ee8e3439156ec88224f53c7bddb-0eac6bc533840659692662bd770506b1-e71cc98c7d484f6870dae7c59651b8a0-c801213560bed5d558645858f0e29eb1-2ae352cb6533568da729115bac2bb151-8ed3ff812fd9ce9666a311c75bb2c783-17c7df381dba0d8c9c869af92df186f1-7783b20c4ca919a54b6dbb14c5dddac5-0daf58d02c0e2a26ac76e8b123c6f637-edbbc28f651ff23062d9a6c1d6694da8-eb94a79d2155faa86b55739ffd548003-df53b75ab89fb0855e56531e64a82a5c-3eb3cf6188f35e69512b1b4a83158bdd:passed:20090706-235831:1.993534351 +T_254avi_with_subs:83a021026d102f8aea8ca760a56f293c-83a021026d102f8aea8ca760a56f293c-08c55e088b901e36e411b49f580112a8-5f6bb224635390784e23dbbb8d27bd03-c2064cb6ce72891bbbfc96ea5d0cb4a1:passed:20091025-104213:2.313283245 +T_255aspect_ratio_display_dimensions:0[4254x815-4254x815-1212x2424-1800x360-3600x360]1[3600x360-3600x360-1212x2424-1800x360-3600x360]2[7200x360-7200x360-1212x2424-1800x360-3600x360]:passed:20091025-164606:1.594118813 +T_256cropping_stereo_mode:0[S2-1-2-3-4]1[S1-5-6-7-8]:passed:20091025-204854:0.254589465 +T_257theora_v1_1:0c6314c73e5dc85b0ed9752135326f6c-3f769c165d36daa3d75ed9a37873fff6:passed:20091217-134109:7.926951499 +T_258srt_negative_timecodes:8eaf7aa2b80c8c9ab9e3ba30feb63b1a:passed:20091226-220350:0.767405705 +T_259mp4_chapters_text_trak:7b0a9d65b20f118ff373abc9a4dc8537-c632c071524ff28e3885de867ae2c663:passed:20091230-221546:7.173422678 +T_260version_numbers:ok:passed:20100120-131720:0.11054881 +T_261line_endings_in_text_files:9668cce98022e6dddf7016d7e33db61a-9668cce98022e6dddf7016d7e33db61a-9668cce98022e6dddf7016d7e33db61a:passed:20100315-151719:0.450051847 +T_262level1_with_size_0:74891137adb818a1092ead13ed53b6ad:passed:20100407-131350:0.026735478 +T_263ass_missing_text_in_format:2640dcc0b1ae1e80baf05e17abfab5ca-273e8eb33584686874e52a94a0304cf7:passed:20100411-181436:0.0440883 +T_264avc_es_from_lavf_with_native_codecid:1f369f8ff237006337abb1db041babdd:passed:20100427-123025:0.659978373 +T_265mkvinfo_clusters_with_unknown_size:c000bd8278324fd44453401d4445a2bc:passed:20100522-213708:0.136647244 +T_266mkvmerge_clusters_with_unknown_size:3884f57ff3c658f09057fc7e13bcff24:passed:20100523-154308:0.033866281 +T_267mkvextract_clusters_with_unknown_size:b994ef83db70b5193696121cf1399adf:passed:20100523-154920:0.073366234 +T_268X_vp8:c53158209dbc17baa518129377d74edd:passed:20100527-140446:0.070315481 +T_269X_vp8_without_default_duration:94cbe19ff77f18ae6ec027e15db17983:passed:20100527-143214:3.947392579 +T_270ivf:8d61a67169d7e19d0b14bfca04488932-6821f8278a08b525c453fd02f4b90f9d-05ee5d7d6b0fd84f5a69badc48066fab:passed:20100527-145644:4.977367166 +T_271ogg_flac_1_1_1:83da54c34efcce217a3ef16fcd70940f:passed:20100528-150526:0.060864984 +T_272dirac:c1932cebca8f3706289fea22777e80c0:passed:20100530-144232:1.137824074 +T_273pgssup:1bc2b076a7c76e0f29247fa244cee279-1bc2b076a7c76e0f29247fa244cee279-dbba8798fb51a54a748a0a5a7a85f452:passed:20100618-122332:0.122067244 +T_274h264_in_nalus_in_avi:8ea9e4851a32a5afd8c042eaa9a4d014:passed:20100629-090725:0.092856067 +T_275srt_mixed_eol_styles:99c107c5c61d8ceab4f955ff51e6eb55:passed:20100706-090848:0.414861741 +T_276h264_without_nalus_in_avi:568d6322703c9f6763addfbafc31dab2:passed:20100706-224102:0.922168875 +T_277display_dimensions_fixing_aspect_ratio_usage:2f5549932b476c234e72b9f7ea3ed19c-f269a5ac10c490998300ab3ed37706b7-39de27669f5926c9ae3b93f0d283622a:passed:20100718-201627:2.586261178 +T_278turning_off_compression:3461183816a7126fb01f4cde9c4aa52c-3461183816a7126fb01f4cde9c4aa52c:passed:20100728-121842:0.806040817 +T_279packet_queue_not_empty_ivf:bdf5cd8ef11a173be74c86cd163a659c:passed:20100805-230439:0.039703223 +T_280replace_one_byte_with_ebmlvoid:1b79d74382a4424cce0d356ac72e5a82:passed:20100824-201249:0.058314813 +T_281idr_after_non_idr_not_recognized:9e512b7e46d5bacf4c6f396141622611:passed:20100828-194029:0.763712844 +T_282mkvextract_error_on_non_existing_file:true:passed:20100901-230139:0.0 +T_283no_video_on_avi:259c2566a4fd8475c479226e036a8f9a:passed:20100919-111902:0.04771006 +T_284merging_chapter_editions_when_appending:eb0b0a07f718f2e0b60a64f905ca7503:passed:20100919-234941:0.996070674 +T_285h264_misdetected_as_mp3:69ae2a6361c8ed76cfdaffa4f6174cba:passed:20101031-105119:0.616260679 +T_286vp8_in_ogg:858944f0b5080149e89f6d845f752e49:passed:20101222-113225:1.052177834 +T_287mkvextract_exit_codes:2-2-2-2-2-2:passed:20101222-120655:0.099966851 diff -Nru mkvtoolnix-4.0.0/tests/run.rb mkvtoolnix-4.5.0+dfsg/tests/run.rb --- mkvtoolnix-4.0.0/tests/run.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/run.rb 2011-01-31 20:34:09.000000000 +0000 @@ -1,4 +1,184 @@ -#!/usr/bin/ruby +#!/usr/bin/env ruby + +require "pp" + +$message_mutex = Mutex.new +def show_message(message) + $message_mutex.lock + puts message + $message_mutex.unlock +end + +def error_and_exit(text, exit_code = 2) + puts text + exit exit_code +end + +class TestController + attr_accessor :test_failed, :test_new, :test_date_after, :teset_date_before, :update_failed, :num_failed, :record_duration + attr_reader :num_threads + + def initialize + @results = Results.new(self) + @test_failed = false + @test_new = false + @test_date_after = nil + @test_date_before = nil + @update_failed = false + @num_threads = self.get_num_processors + @record_duration = false + + @tests = Array.new + @dir_entries = Dir.entries(".") + end + + def get_num_processors + IO.readlines("/proc/cpuinfo").collect { |line| /^processor\s+:\s+(\d+)/.match(line) ? $1.to_i : 0 }.max + 1 + end + + def num_threads=(num) + error_and_exit "Invalid number of threads: must be > 0" if 0 >= num + @num_threads = num + end + + def add_test_case(num) + @tests += @dir_entries.select { |entry| /^test-#{num}/.match(entry) } + end + + def get_tests_to_run + test_all = !@test_failed && !@test_new + + return (@tests.empty? ? @dir_entries : @tests).collect do |entry| + if (FileTest.file?(entry) && (entry =~ /^test-.*\.rb$/)) + class_name = self.class.file_name_to_class_name entry + test_this = test_all + test_this ||= (@results.exist?(class_name) && ((@test_failed && (@results.status?(class_name) == :failed)) || (@test_new && (@results.status?(class_name) == :new))) || + (@test_date_after && (@results.date_added?(class_name) < @test_date_after)) || + (@test_date_before && (@results.date_added?(class_name) > @test_date_before))) + test_this ||= !@results.exist?(class_name) && (@test_new || @test_failed) + + test_this ? class_name : nil + else + nil + end + end.compact.sort_by { |class_name| @results.duration? class_name }.reverse + end + + def self.file_name_to_class_name(file_name) + "T_" + file_name.gsub(/^test-/, "").gsub(/\.rb$/, "") + end + + def self.class_name_to_file_name(class_name) + class_name.gsub(/^T_/, "test-") + ".rb" + end + + def go + @num_failed = 0 + @tests_to_run = self.get_tests_to_run + num_tests = @tests_to_run.size + + @tests_mutex = Mutex.new + @results_mutex = Mutex.new + + start = Time.now + + self.run_threads + self.join_threads + + duration = Time.now - start + + show_message "#{@num_failed}/#{num_tests} failed (" + (num_tests > 0 ? (@num_failed * 100 / num_tests).to_s : "0") + "%). " + "Tests took #{duration}s." + end + + def run_threads + @threads = Array.new + + (1..@num_threads).each do |number| + @threads << Thread.new(number) do |thread_number| + Thread.current[:number] = thread_number + + while true + @tests_mutex.lock + class_name = @tests_to_run.shift + @tests_mutex.unlock + + break unless class_name + self.run_test class_name + end + end + end + end + + def join_threads + @threads.each &:join + end + + def run_test(class_name) + file_name = self.class.class_name_to_file_name class_name + + if (!require("./#{file_name}")) + self.add_result class_name, :failed, :message => " Failed to load '#{file_name}'." + return + end + + begin + current_test = eval "#{class_name}.new" + rescue + self.add_result class_name, :failed, :message => " Failed to create an instance of class '#{class_name}'." + return + end + + if (current_test.description == "INSERT DESCRIPTION") + show_message "Skipping '#{class_name}': Not implemented yet" + return + end + + show_message "Running '#{class_name}': #{current_test.description}" + + start = Time.now + result = current_test.run_test + duration = Time.now - start + + if (result) + if (!@results.exist? class_name) + self.add_result class_name, :passed, :message => " NEW test. Storing result '#{result}'.", :checksum => result, :duration => duration + + elsif (@results.hash?(class_name) != result) + msg = " FAILED: checksum is different. Commands:\n" + msg << " " + current_test.commands.join("\n ") + "\n" + + if (update_failed) + self.add_result class_name, :passed, :message => msg + " UPDATING result\n", :checksum => result, :duration => duration + else + self.add_result class_name, :failed, :message => msg + end + else + self.add_result class_name, :passed, :duration => duration + end + + else + self.add_result class_name, :failed, :message => " FAILED: no result from test" + end + end + + def add_result(class_name, result, opts = {}) + @results_mutex.lock + + show_message opts[:message] if opts[:message] + @num_failed += 1 if result == :failed + + if !@results.exist? class_name + @results.add class_name, opts[:checksum] + else + @results.set class_name, result + @results.set_hash class_name, opts[:checksum] if opts[:checksum] + end + + @results.set_duration class_name, opts[:duration] if opts[:duration] && (result == :passed) + + @results_mutex.unlock + end +end class SubtestError < RuntimeError end @@ -8,8 +188,9 @@ attr_reader :debug_commands def initialize - @tmp_num = 0 - @commands = Array.new + @tmp_num = 0 + @tmp_num_mutex = Mutex.new + @commands = Array.new @debug_commands = Array.new end @@ -23,331 +204,206 @@ def unlink_tmp_files return if (ENV["KEEP_TMPFILES"] == "1") - n = "mkvtoolnix-auto-test-" + $$.to_s + "-" - Dir.entries("/tmp").each do |e| - File.unlink("/tmp/#{e}") if ((e =~ /^#{n}/) and - File.exists?("/tmp/#{e}")) + re = /^#{self.tmp_name_prefix}/ + Dir.entries("/tmp").each do |entry| + file = "/tmp/#{entry}" + File.unlink(file) if re.match(file) and File.exists?(file) end end def run_test + result = nil begin - return run + result = run rescue RuntimeError => ex - unlink_tmp_files - puts(ex.to_s) - return nil + show_message ex.to_s end + unlink_tmp_files + result end def error(reason) - puts(" Failed. Reason: #{reason}") + show_message " Failed. Reason: #{reason}" raise "test failed" end def sys(command, *arg) - @commands.push(command) - @debug_commands.push(command) - command += " >/dev/null 2>/dev/null " unless (/>/.match(command)) - if (!system(command)) - if ((arg.size == 0) || ((arg[0] << 8) != $?)) - error("system command failed: #{command} (" + ($? >> 8).to_s + ")") - end - end + @commands << command + @debug_commands << command + command << " >/dev/null 2>/dev/null " unless (/>/.match(command)) + + error "system command failed: #{command} (" + ($? >> 8).to_s + ")" if !system(command) && ((arg.size == 0) || ((arg[0] << 8) != $?)) + end + + def tmp_name_prefix + [ "/tmp/mkvtoolnix-auto-test", $$.to_s, Thread.current[:number] ].join("-") + "-" end def tmp_name + @tmp_num_mutex.lock @tmp_num ||= 0 - @tmp_num += 1 - return "/tmp/mkvtoolnix-auto-test-" + $$.to_s + "-" + @tmp_num.to_s + @tmp_num += 1 + result = self.tmp_name_prefix + @tmp_num.to_s + @tmp_num_mutex.unlock + + result end def tmp @tmp ||= tmp_name - return @tmp end def hash_file(name) - @debug_commands.push("md5sum #{name}") - return `md5sum #{name}`.chomp.gsub(/\s+.*/, "") + @debug_commands << "md5sum #{name}" + `md5sum #{name}`.chomp.gsub(/\s+.*/, "") end def hash_tmp(erase = true) - output = hash_file(@tmp) - if (erase) - File.unlink(@tmp) if (File.exists?(@tmp) && (ENV["KEEP_TMPFILES"] != "1")) - @debug_commands.push("rm #{@tmp}") + output = hash_file @tmp + + if erase + File.unlink(@tmp) if File.exists?(@tmp) && (ENV["KEEP_TMPFILES"] != "1") + @debug_commands << "rm #{@tmp}" @tmp = nil end - return output + + output end def merge(*args) - command = "../src/mkvmerge --engage no_variable_data " - string_args = Array.new - retcode = 0 - args.each do |a| - if (a.class == String) - string_args.push(a) - else - retcode = a - end - end + retcode = args.detect { |a| !a.is_a? String } || 0 + args.reject! { |a| !a.is_a? String } - if ((string_args.size == 0) or (string_args.size > 2)) - raise "Wrong use of the 'merge' function." - elsif (string_args.size == 1) - command += "-o " + tmp + " " + string_args[0] - else - command += "-o " + string_args[0] + " " + string_args[1] - end - sys(command, retcode) + raise "Wrong use of the 'merge' function." if args.empty? || (2 < args.size) + + command = "../src/mkvmerge --engage no_variable_data -o " + (args.size == 1 ? tmp : args.shift) + " " + args.shift + sys command, retcode end def xtr_tracks_s(*args) - command = "../src/mkvextract tracks data/mkv/complex.mkv " + - "--no-variable-data " - command += args.join(" ") - command += ":#{tmp}" - sys(command, 0) - return hash_tmp + command = "../src/mkvextract tracks data/mkv/complex.mkv --no-variable-data " + args.join(" ") + ":#{tmp}" + sys command, 0 + hash_tmp end def xtr_tracks(*args) - command = "../src/mkvextract tracks " - command += args[0] - command += " --no-variable-data " - command += args[1..args.size - 1].join(" ") - sys(command, 0) + command = "../src/mkvextract tracks #{args.shift} --no-variable-data " + args.join(" ") + sys command, 0 end end class Results - def initialize + def initialize(controller) + @controller = controller + load end def load @results = Hash.new - return unless (FileTest.exist?("results.txt")) + return unless FileTest.exist?("results.txt") + IO.readlines("results.txt").each do |line| - parts = line.chomp.split(/:/) - parts[3] =~ - /([0-9]{4})([0-9]{2})([0-9]{2})-([0-9]{2})([0-9]{2})([0-9]{2})/ - @results[parts[0]] = {"hash" => parts[1], "status" => parts[2], - "date_added" => Time.local($1, $2, $3, $4, $5, $6) } + parts = line.chomp.split(/:/) + parts[3] =~ /([0-9]{4})([0-9]{2})([0-9]{2})-([0-9]{2})([0-9]{2})([0-9]{2})/ + parts << 0 if 4 <= parts.size + + @results[parts[0]] = { + :hash => parts[1], + :status => parts[2].to_sym, + :date_added => Time.local($1, $2, $3, $4, $5, $6), + :duration => parts[4].to_f, + } end end def save - f = File.new("results.txt", "w") + f = File.new "results.txt", "w" @results.keys.sort.each do |key| - f.puts("#{key}:" + @results[key]['hash'] + ":" + - @results[key]['status'] + ":" + - @results[key]['date_added'].strftime("%Y%m%d-%H%M%S")) + f.puts [ key, @results[key][:hash], @results[key][:status], @results[key][:date_added].strftime("%Y%m%d-%H%M%S"), @results[key][:duration] ].collect { |item| item.to_s }.join(":") end f.close end def exist?(name) - return @results.has_key?(name) + @results.has_key? name end - def hash?(name) - raise "No such result" unless (exist?(name)) - return @results[name]['hash'] - end - - def status?(name) - raise "No such result" unless (exist?(name)) - return @results[name]['status'] + def test_attr(name, attribute, default = nil) + if !exist? name + return default if default + raise "No such result #{name}" + end + @results[name][attribute] end - def date_added?(name) - raise "No such result" unless (exist?(name)) - return @results[name]['date_added'] + %w{hash status date_added duration}.each do |attribute| + define_method("#{attribute}?") do |name| + test_attr name, attribute.to_sym, attribute == "duration" ? 0 : nil + end end - def add(name, hash) - raise "Test does already exist" if (exist?(name)) - @results[name] = {"hash" => hash, "status" => "new", - "date_added" => Time.now } + def add(name, hash, duration = 0) + raise "Test does already exist" if exist? name + @results[name] = { + :hash => hash, + :status => :new, + :date_added => Time.now, + :duration => duration, + } save end def set(name, status) - return unless (exist?(name)) - @results[name]["status"] = status + return unless exist? name + @results[name][:status] = status save end def set_hash(name, hash) - raise "Test does not exist" unless (exist?(name)) - @results[name]["hash"] = hash + raise "Test does not exist" unless exist? name + @results[name][:hash] = hash + save + end + + def set_duration(name, duration) + return unless exist?(name) && @controller.record_duration + @results[name][:duration] = duration save end end def main ENV['LC_ALL'] = "en_US.UTF-8" + ENV['PATH'] = "../src:" + ENV['PATH'] - results = Results.new + controller = TestController.new - test_failed = false - test_new = false - test_date_after = nil - test_date_before = nil - update_failed = false - tests = Array.new - dir_entries = Dir.entries(".") ARGV.each do |arg| if ((arg == "-f") or (arg == "--failed")) - test_failed = true + controller.test_failed = true elsif ((arg == "-n") or (arg == "--new")) - test_new = true + controller.test_new = true elsif ((arg == "-u") or (arg == "--update-failed")) - update_failed = true + controller.update_failed = true + elsif ((arg == "-r") or (arg == "--record-duration")) + controller.record_duration = true elsif (arg =~ /-d([0-9]{4})([0-9]{2})([0-9]{2})-([0-9]{2})([0-9]{2})/) - test_date_after = Time.local($1, $2, $3, $4, $5, $6) + controller.test_date_after = Time.local($1, $2, $3, $4, $5, $6) elsif (arg =~ /-D([0-9]{4})([0-9]{2})([0-9]{2})-([0-9]{2})([0-9]{2})/) - test_date_before = Time.local($1, $2, $3, $4, $5, $6) + controller.test_date_before = Time.local($1, $2, $3, $4, $5, $6) elsif (arg =~ /^[0-9]{3}$/) - dir_entries.each { |e| tests.push(e) if (e =~ /^test-#{arg}/) } - else - puts("Unknown argument '#{arg}'.") - exit(2) - end - end - test_all = (!test_failed && !test_new) - tests = dir_entries unless (tests.size > 0) - - ENV['PATH'] = "../src:" + ENV['PATH'] - - if (ENV["DEBUG"] == "1") - $stderr.puts("#!/bin/bash\n\n") - $stderr.puts("export LD_LIBRARY_PATH=/usr/local/lib\n\n") - $stderr.puts("rm new_results.txt &> /dev/null") - $stderr.puts("touch new_results.txt\n\n") - end - - num_tests = 0 - num_failed = 0 - start = Time.now - tests.sort.each do |entry| - next unless (FileTest.file?(entry) and (entry =~ /^test-.*\.rb$/)) - - class_name = "T_" + entry.gsub(/^test-/, "").gsub(/\.rb$/, "") - test_this = test_all - if (results.exist?(class_name)) - if (test_failed and (results.status?(class_name) == "failed")) - test_this = true - elsif (test_new and (results.status?(class_name) == "new")) - test_this = true - end - elsif (test_new || test_failed) - test_this = true - end - if (results.exist?(class_name)) - if (test_date_after and - (results.date_added?(class_name) < test_date_after)) - test_this = false - elsif (test_date_before and - (results.date_added?(class_name) > test_date_before)) - test_this = false - end - end - next unless (test_this) - - num_tests += 1 - - if (!require("./" + entry)) - puts(" Failed to load '#{entry}'.") - results.set(class_name, "failed") - num_failed += 1 - next - end - - begin - current_test = eval(class_name + ".new") - rescue - puts(" Failed to create an instance of class '#{class_name}'.") - results.set(class_name, "failed") - num_failed += 1 - next - end - - if (current_test.description == "INSERT DESCRIPTION") - puts("Skipping '#{class_name}': Not implemented yet") - next - end - puts("Running '#{class_name}': #{current_test.description}") - result = current_test.run_test - if (result) - if (!results.exist?(class_name)) - puts(" NEW test. Storing result '#{result}'.") - results.add(class_name, result) - elsif (results.hash?(class_name) != result) - puts(" FAILED: checksum is different. Commands:") - puts(" " + current_test.commands.join("\n ")) - if (update_failed) - puts(" UPDATING result") - results.set_hash(class_name, result) - results.set(class_name, "passed") - else - results.set(class_name, "failed") - num_failed += 1 - end - else - results.set(class_name, "passed") - end + controller.add_test_case arg + elsif arg =~ /-j(\d+)/ + controller.num_threads = $1.to_i else - puts(" FAILED: no result from test") - results.set(class_name, "failed") - num_failed += 1 - end - - if (ENV["DEBUG"] == "1") - $stderr.puts("echo -n Running #{class_name}") - $stderr.puts("FAILED=0") - $stderr.puts("echo -n #{class_name}: >> new_results.txt") - first = true - current_test.debug_commands.each do |c| - c.gsub!(/\/tmp\//, "$HOME/tmp/") - if (c =~ /^md5sum/) - $stderr.puts("echo -n - >> new_results.txt") unless (first) - first = false - $stderr.puts("SUM=`" + c + " | gawk '{print $1}'`") - $stderr.puts("echo -n $SUM >> new_results.txt") - else - if (c =~ />/) - $stderr.puts(c) - else - $stderr.puts(c + " >/dev/null 2>/dev/null") - end - $stderr.puts("if [ $? -ne 0 -a $? -ne 1 ]; then") - $stderr.puts(" FAILED=1") - $stderr.puts("fi") - end - end - da = results.date_added?(class_name).strftime("%Y%m%d-%H%M%S") - $stderr.puts("if [ $FAILED -eq 1 ]; then") - $stderr.puts(" echo :failed:#{da} >> new_results.txt") - $stderr.puts(" echo ' FAILED'") - $stderr.puts("else") - $stderr.puts(" echo :passed:#{da} >> new_results.txt") - $stderr.puts(" echo ' ok'") - $stderr.puts("fi") - $stderr.puts("rm ~/tmp/mkvtoolnix-auto-test-* >/dev/null 2>/dev/null\n\n") + error_and_exit "Unknown argument '#{arg}'." end - end - duration = Time.now - start - puts("#{num_failed}/#{num_tests} failed (" + - (num_tests > 0 ? (num_failed * 100 / num_tests).to_s : "0") + "%). " + - "Tests took #{duration}s.") + controller.go - exit(num_failed > 0 ? 1 : 0) + exit controller.num_failed > 0 ? 1 : 0 end main diff -Nru mkvtoolnix-4.0.0/tests/test-029link.rb mkvtoolnix-4.5.0+dfsg/tests/test-029link.rb --- mkvtoolnix-4.0.0/tests/test-029link.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-029link.rb 2011-01-31 20:34:09.000000000 +0000 @@ -87,10 +87,8 @@ (valid_next_uid?(nil, true, false)) rescue SubtestError => e puts(" failed subtest: " + e.to_s) - unlink_tmp_files return e.to_s end - unlink_tmp_files return "all ok" end end diff -Nru mkvtoolnix-4.0.0/tests/test-205X_cuesheets.rb mkvtoolnix-4.5.0+dfsg/tests/test-205X_cuesheets.rb --- mkvtoolnix-4.0.0/tests/test-205X_cuesheets.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-205X_cuesheets.rb 2011-01-31 20:34:09.000000000 +0000 @@ -11,7 +11,6 @@ hash = hash_tmp(false) sys("../src/mkvextract tracks #{tmp}-src --no-variable-data --cuesheet 1:#{tmp} > /dev/null 2>/dev/null") hash += "-" + hash_tmp("#{tmp}.cue") - unlink_tmp_files return hash end end diff -Nru mkvtoolnix-4.0.0/tests/test-206X_vobsub.rb mkvtoolnix-4.5.0+dfsg/tests/test-206X_vobsub.rb --- mkvtoolnix-4.0.0/tests/test-206X_vobsub.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-206X_vobsub.rb 2011-01-31 20:34:09.000000000 +0000 @@ -14,7 +14,6 @@ hash += "-" + hash_file("#{tmp}.idx") + "-" + hash_file("#{tmp}.sub") merge("#{tmp}.idx") hash += "-" + hash_tmp - unlink_tmp_files return hash end end diff -Nru mkvtoolnix-4.0.0/tests/test-215X_codec_extradata_avi.rb mkvtoolnix-4.5.0+dfsg/tests/test-215X_codec_extradata_avi.rb --- mkvtoolnix-4.0.0/tests/test-215X_codec_extradata_avi.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-215X_codec_extradata_avi.rb 2011-01-31 20:34:09.000000000 +0000 @@ -10,7 +10,6 @@ hash = hash_file(tmp) + "-" xtr_tracks(tmp, "1:#{tmp}-x.avi") hash += hash_file("#{tmp}-x.avi") - unlink_tmp_files return hash end end diff -Nru mkvtoolnix-4.0.0/tests/test-222stereo_mode.rb mkvtoolnix-4.5.0+dfsg/tests/test-222stereo_mode.rb --- mkvtoolnix-4.0.0/tests/test-222stereo_mode.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-222stereo_mode.rb 2011-01-31 20:34:09.000000000 +0000 @@ -7,10 +7,10 @@ def run merge(tmp + "-1", - "-A --stereo-mode 0:none data/avi/v.avi " + - "-A --stereo-mode 0:right data/avi/v.avi " + - "-A --stereo-mode 0:left data/avi/v.avi " + - "-A --stereo-mode 0:both data/avi/v.avi ") + "-A --stereo-mode 0:mono data/avi/v.avi " + + "-A --stereo-mode 0:side_by_side_left_first data/avi/v.avi " + + "-A --stereo-mode 0:top_bottom_right_first data/avi/v.avi " + + "-A --stereo-mode 0:top_bottom_left_first data/avi/v.avi ") if (!FileTest.exist?(tmp + "-1")) error("First merge failed") end @@ -18,8 +18,8 @@ hash = hash_file(tmp + "-1") merge(tmp + "-2", - "--stereo-mode 4:none --stereo-mode 3:right " + - "--stereo-mode 2:left --stereo-mode 1:both #{tmp}-1") + "--stereo-mode 4:mono --stereo-mode 3:side_by_side_left_first " + + "--stereo-mode 2:top_bottom_right_first --stereo-mode 1:top_bottom_left_first #{tmp}-1") File.unlink(tmp + "-1") if (!FileTest.exist?(tmp + "-2")) error("Second merge failed") diff -Nru mkvtoolnix-4.0.0/tests/test-230h264_nalu_size_len_change.rb mkvtoolnix-4.5.0+dfsg/tests/test-230h264_nalu_size_len_change.rb --- mkvtoolnix-4.0.0/tests/test-230h264_nalu_size_len_change.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-230h264_nalu_size_len_change.rb 2011-01-31 20:34:09.000000000 +0000 @@ -10,7 +10,6 @@ hash = hash_file(tmp) + "-" merge("#{tmp}.1", "--nalu-size-length 1:4 #{tmp}") hash += hash_file("#{tmp}.1") - unlink_tmp_files return hash end end diff -Nru mkvtoolnix-4.0.0/tests/test-247attachment_selection.rb mkvtoolnix-4.5.0+dfsg/tests/test-247attachment_selection.rb --- mkvtoolnix-4.0.0/tests/test-247attachment_selection.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-247attachment_selection.rb 2011-01-31 20:34:09.000000000 +0000 @@ -19,9 +19,6 @@ merge("--split 40s --split-max-files 2 --attachments 1:all,2:first,3:first,4:first,5:all #{src}") result += "-" + hash_file("#{tmp}-001") + "+" + hash_file("#{tmp}-002") - unlink_tmp_files - return result end end - diff -Nru mkvtoolnix-4.0.0/tests/test-255aspect_ratio_display_dimensions.rb mkvtoolnix-4.5.0+dfsg/tests/test-255aspect_ratio_display_dimensions.rb --- mkvtoolnix-4.0.0/tests/test-255aspect_ratio_display_dimensions.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-255aspect_ratio_display_dimensions.rb 2011-01-31 20:34:09.000000000 +0000 @@ -17,8 +17,6 @@ result += "-" + get_display_dimensions("#{tmp}#{idx}") end - unlink_tmp_files - return result end diff -Nru mkvtoolnix-4.0.0/tests/test-256cropping_stereo_mode.rb mkvtoolnix-4.5.0+dfsg/tests/test-256cropping_stereo_mode.rb --- mkvtoolnix-4.0.0/tests/test-256cropping_stereo_mode.rb 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-256cropping_stereo_mode.rb 2011-01-31 20:34:09.000000000 +0000 @@ -18,8 +18,8 @@ def run result = "" - merge "--cropping 3:1,2,3,4 --stereo-mode 3:left -A data/mp4/rain_800.mp4" - [ "", "--cropping 1:5,6,7,8 --stereo-mode 1:right" ].each_with_index do |args, idx| + merge "--cropping 3:1,2,3,4 --stereo-mode 3:top_bottom_right_first -A data/mp4/rain_800.mp4" + [ "", "--cropping 1:5,6,7,8 --stereo-mode 1:side_by_side_left_first" ].each_with_index do |args, idx| merge "#{tmp}#{idx}", "#{args} #{tmp}" result += "#{idx}[" + get_info("#{tmp}#{idx}") + "]" end diff -Nru mkvtoolnix-4.0.0/tests/test-273pgssup.rb mkvtoolnix-4.5.0+dfsg/tests/test-273pgssup.rb --- mkvtoolnix-4.0.0/tests/test-273pgssup.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-273pgssup.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,23 @@ +#!/usr/bin/ruby -w + +class T_273pgssup < Test + def description + return "mkvmerge & mkvextract / PGS SUP files" + end + + def run + hashes = Array.new + merge "data/subtitles/pgs/x.sup" + hashes << hash_tmp + + merge "#{tmp}-1", "data/subtitles/pgs/x.sup" + merge "#{tmp}-2", "#{tmp}-1" + hashes << hash_file("#{tmp}-2") + + xtr_tracks "#{tmp}-1", "1:#{tmp}-3" + hashes << hash_file("#{tmp}-3") + + return hashes.join "-" + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-274h264_in_nalus_in_avi.rb mkvtoolnix-4.5.0+dfsg/tests/test-274h264_in_nalus_in_avi.rb --- mkvtoolnix-4.0.0/tests/test-274h264_in_nalus_in_avi.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-274h264_in_nalus_in_avi.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_274h264_in_nalus_in_avi < Test + def description + return "mkvmerge / h264 in NALUs inside AVI" + end + + def run + merge "data/avi/h264-in-nalus.avi" + return hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-275srt_mixed_eol_styles.rb mkvtoolnix-4.5.0+dfsg/tests/test-275srt_mixed_eol_styles.rb --- mkvtoolnix-4.0.0/tests/test-275srt_mixed_eol_styles.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-275srt_mixed_eol_styles.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_275srt_mixed_eol_styles < Test + def description + return "mkvmerge / SRT files with mixed end-of-line markings" + end + + def run + merge "'data/textsubs/Space Buddies (2009) AVCHD 1080p DTS.srt'" + return hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-276h264_without_nalus_in_avi.rb mkvtoolnix-4.5.0+dfsg/tests/test-276h264_without_nalus_in_avi.rb --- mkvtoolnix-4.0.0/tests/test-276h264_without_nalus_in_avi.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-276h264_without_nalus_in_avi.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_276h264_without_nalus_in_avi < Test + def description + return "mkvmerge / h.264 without NALUs in AVI" + end + + def run + merge "data/avi/h264-without-nalus.avi" + return hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-277display_dimensions_fixing_aspect_ratio_usage.rb mkvtoolnix-4.5.0+dfsg/tests/test-277display_dimensions_fixing_aspect_ratio_usage.rb --- mkvtoolnix-4.0.0/tests/test-277display_dimensions_fixing_aspect_ratio_usage.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-277display_dimensions_fixing_aspect_ratio_usage.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_277display_dimensions_fixing_aspect_ratio_usage < Test + def description + return "mkvmerge / fixing DisplayWidth/Height containing aspect ratio only" + end + + def run + %w{ac3.mkv ar.mkv Handbrake-3441.mkv}.collect { |file| merge "data/mkv/aspect_ratio/#{file}" ; hash_tmp }.join "-" + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-278turning_off_compression.rb mkvtoolnix-4.5.0+dfsg/tests/test-278turning_off_compression.rb --- mkvtoolnix-4.0.0/tests/test-278turning_off_compression.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-278turning_off_compression.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/ruby -w + +class T_278turning_off_compression < Test + def description + return "mkvmerge / Matroska with compression, turning off compression" + end + + def run + merge "--compression -1:none data/mkv/compression/16.nocomp.mkv + --compression -1:none data/mkv/compression/17.comp.mkv" + result = hash_tmp + merge "--compression -1:none data/mkv/compression/16.comp.mkv + --compression -1:none data/mkv/compression/17.nocomp.mkv" + result + "-" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-279packet_queue_not_empty_ivf.rb mkvtoolnix-4.5.0+dfsg/tests/test-279packet_queue_not_empty_ivf.rb --- mkvtoolnix-4.0.0/tests/test-279packet_queue_not_empty_ivf.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-279packet_queue_not_empty_ivf.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_279packet_queue_not_empty_ivf < Test + def description + "mkvmerge / 'packet queue not empty' with IVF files" + end + + def run + merge "--default-duration 0:25fps data/webm/packet-queue-not-empty.ivf" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-280replace_one_byte_with_ebmlvoid.rb mkvtoolnix-4.5.0+dfsg/tests/test-280replace_one_byte_with_ebmlvoid.rb --- mkvtoolnix-4.0.0/tests/test-280replace_one_byte_with_ebmlvoid.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-280replace_one_byte_with_ebmlvoid.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,14 @@ +#!/usr/bin/ruby -w + +class T_280replace_one_byte_with_ebmlvoid < Test + def description + return "mkvpropedit / Replace one byte with en EbmlVoid" + end + + def run + sys "cp data/mkv/sample-bug536.mkv #{tmp}" + sys "../src/mkvpropedit #{tmp} --edit track:v1 --set display-width=1600 --set display-height=768" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-281idr_after_non_idr_not_recognized.rb mkvtoolnix-4.5.0+dfsg/tests/test-281idr_after_non_idr_not_recognized.rb --- mkvtoolnix-4.0.0/tests/test-281idr_after_non_idr_not_recognized.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-281idr_after_non_idr_not_recognized.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_281idr_after_non_idr_not_recognized < Test + def description + return "mkvmerge / h264: IDR slice after non-IDR slice not recognized as key frame" + end + + def run + merge "data/h264/test_frameloss_track1.h264" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-282mkvextract_error_on_non_existing_file.rb mkvtoolnix-4.5.0+dfsg/tests/test-282mkvextract_error_on_non_existing_file.rb --- mkvtoolnix-4.0.0/tests/test-282mkvextract_error_on_non_existing_file.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-282mkvextract_error_on_non_existing_file.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_282mkvextract_error_on_non_existing_file < Test + def description + "mkvextract / exit code 2 for non existing files" + end + + def run + sys "../src/mkvextract tracks thisfiledoesnotexist982734981q27 1:x.avi", 2 + (($? >> 8) == 2).to_s + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-283no_video_on_avi.rb mkvtoolnix-4.5.0+dfsg/tests/test-283no_video_on_avi.rb --- mkvtoolnix-4.0.0/tests/test-283no_video_on_avi.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-283no_video_on_avi.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_283no_video_on_avi < Test + def description + "mkvmerge / --no-video for AVI files / in(AVI)" + end + + def run + merge "--no-video data/avi/v.avi" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-284merging_chapter_editions_when_appending.rb mkvtoolnix-4.5.0+dfsg/tests/test-284merging_chapter_editions_when_appending.rb --- mkvtoolnix-4.0.0/tests/test-284merging_chapter_editions_when_appending.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-284merging_chapter_editions_when_appending.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/ruby -w + +class T_284merging_chapter_editions_when_appending < Test + def description + "mkvmerge / merging chapter editions when appending files" + end + + def run + merge "#{tmp}-1", "data/avi/v.avi --chapters data/text/chap1.txt" + merge "#{tmp}-2", "data/avi/v.avi --chapters data/text/chap2.txt" + merge "#{tmp}-1 + #{tmp}-2" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-285h264_misdetected_as_mp3.rb mkvtoolnix-4.5.0+dfsg/tests/test-285h264_misdetected_as_mp3.rb --- mkvtoolnix-4.0.0/tests/test-285h264_misdetected_as_mp3.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-285h264_misdetected_as_mp3.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_285h264_misdetected_as_mp3 < Test + def description + "mkvmerge / h264 ES mis-detected as MP3" + end + + def run + sys "../src/mkvmerge --identify-verbose data/h264/bug574.h264 > #{tmp}", 0 + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-286vp8_in_ogg.rb mkvtoolnix-4.5.0+dfsg/tests/test-286vp8_in_ogg.rb --- mkvtoolnix-4.0.0/tests/test-286vp8_in_ogg.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-286vp8_in_ogg.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_286vp8_in_ogg < Test + def description + "mkvmerge / VP8 video tracks in Ogg files / in(Ogg)" + end + + def run + merge "data/ogg/vp8.ogg" + hash_tmp + end +end + diff -Nru mkvtoolnix-4.0.0/tests/test-287mkvextract_exit_codes.rb mkvtoolnix-4.5.0+dfsg/tests/test-287mkvextract_exit_codes.rb --- mkvtoolnix-4.0.0/tests/test-287mkvextract_exit_codes.rb 1970-01-01 00:00:00.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/tests/test-287mkvextract_exit_codes.rb 2011-01-31 20:34:09.000000000 +0000 @@ -0,0 +1,25 @@ +#!/usr/bin/ruby -w + +class T_287mkvextract_exit_codes < Test + def description + "mkvextract / exit codes in various situations" + end + + def run + result = [] + + [ "", # Show help if no mode given + "gnufudel", # Unknown mode + "tracks data/mkv/complex.mkv", # No track ID given + "tracks data/mkv/complex.mkv 12345:doesnotexist", # Non-existing track ID + "attachments data/mkv/complex.mkv", # No attachment ID given + "attachments data/mkv/complex.mkv 12345:doesnotexist", # Non-existing attachment ID + ].each do |args| + sys "../src/mkvextract #{args}", 2 + result << ($? >> 8) + end + + result.collect(&:to_s).join('-') + end +end + diff -Nru mkvtoolnix-4.0.0/TODO mkvtoolnix-4.5.0+dfsg/TODO --- mkvtoolnix-4.0.0/TODO 2010-06-05 12:24:39.000000000 +0000 +++ mkvtoolnix-4.5.0+dfsg/TODO 2011-01-31 20:34:09.000000000 +0000 @@ -1,3 +1,11 @@ +# -*- mode: text; -*- + The contents of this file have been moved to by bug tracking system. https://www.bunkus.org/bugzilla/buglist.cgi?query_format=advanced&product=mkvtoolnix&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement + +Apart from that as a short reminder list for myself for the near future: + +- Fix bitstream AR to match container AR in video tracks + +- Let mmg interpret files listed on the command line as files to add